java-wrapper.3.2.0.source-code.rosaenlg_tiny_en_US_3.2.0_comp.js Maven / Gradle / Ivy
Show all versions of java-wrapper Show documentation
/**
* Bundle of RosaeNLG, for en (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_en_US={})}(this,(function(e){"use strict";console.log("using RosaeNLG (Apache 2.0) version 3.2.0 for en (with comp)");var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}var i=n,a=r;function s(e){if(i===setTimeout)return setTimeout(e,0);if((i===n||!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&&(a=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=s(p);l=!0;for(var t=u.length;t;){for(o=u,u=[];++c1)for(var n=1;n=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var F=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,I=function(e){return F.exec(e).slice(1)};function O(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=_(L(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function N(e){var t=j(e),n="/"===B(e,-1);return(e=_(L(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function j(e){return"/"===e.charAt(0)}var M={extname:function(e){return I(e)[3]},basename:function(e,t){var n=I(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},dirname:function(e){var t=I(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},sep:"/",delimiter:":",relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=O(e).substr(1),t=O(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o>18&63]+R[i>>12&63]+R[i>>6&63]+R[63&i]);return a.join("")}function H(e){var t;W||z();for(var n=e.length,r=n%3,i="",a=[],s=16383,o=0,u=n-r;ou?u:o+s));return 1===r?(t=e[n-1],i+=R[t>>2],i+=R[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=R[t>>10],i+=R[t>>4&63],i+=R[t<<2&63],i+="="),a.push(i),a.join("")}function X(e,t,n,r,i){var a,s,o=8*i-r-1,u=(1<>1,c=-7,p=n?i-1:0,h=n?-1:1,d=e[t+p];for(p+=h,a=d&(1<<-c)-1,d>>=-c,c+=o;c>0;a=256*a+e[t+p],p+=h,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=r;c>0;s=256*s+e[t+p],p+=h,c-=8);if(0===a)a=1-l;else{if(a===u)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),a-=l}return(d?-1:1)*s*Math.pow(2,a-r)}function J(e,t,n,r,i,a){var s,o,u,l=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:a-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+p>=1?h/u:h*Math.pow(2,1-p))*u>=2&&(s++,u/=2),s+p>=c?(o=0,s=c):s+p>=1?(o=(t*u-1)*Math.pow(2,i),s+=p):(o=t*Math.pow(2,p-1)*Math.pow(2,i),s=0));i>=8;e[n+d]=255&o,d+=f,o/=256,i-=8);for(s=s<0;e[n+d]=255&s,d+=f,s/=256,l-=8);e[n+d-f]|=128*m}var $={}.toString,Y=Array.isArray||function(e){return"[object Array]"==$.call(e)};function K(){return Q.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function G(e,t){if(K()=K())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K().toString(16)+" bytes");return 0|e}function ie(e){return!(null==e||!e._isBuffer)}function ae(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 n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Ie(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Oe(e).length;default:if(r)return Ie(e).length;t=(""+t).toLowerCase(),r=!0}}function se(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ee(this,t,n);case"utf8":case"utf-8":return ge(this,t,n);case"ascii":return ve(this,t,n);case"latin1":case"binary":return xe(this,t,n);case"base64":return ye(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return De(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function oe(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function ue(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=Q.from(t,r)),ie(t))return 0===t.length?-1:le(e,t,n,r,i);if("number"==typeof t)return t&=255,Q.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):le(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function le(e,t,n,r,i){var a,s=1,o=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,o/=2,u/=2,n/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var c=-1;for(a=n;ao&&(n=o-u),a=n;a>=0;a--){for(var p=!0,h=0;hi&&(r=i):r=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var s=0;s>8,i=n%256,a.push(i),a.push(r);return a}(t,e.length-n),e,n,r)}function ye(e,t,n){return 0===t&&n===e.length?H(e):H(e.slice(t,n))}function ge(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:l>223?3:l>191?2:1;if(i+p<=n)switch(p){case 1:l<128&&(c=l);break;case 2:128==(192&(a=e[i+1]))&&(u=(31&l)<<6|63&a)>127&&(c=u);break;case 3:a=e[i+1],s=e[i+2],128==(192&a)&&128==(192&s)&&(u=(15&l)<<12|(63&a)<<6|63&s)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:a=e[i+1],s=e[i+2],o=e[i+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(u=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&u<1114112&&(c=u)}null===c?(c=65533,p=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=p}return function(e){var t=e.length;if(t<=be)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},Q.prototype.compare=function(e,t,n,r,i){if(!ie(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),o=Math.min(a,s),u=this.slice(r,i),l=e.slice(t,n),c=0;ci)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return ce(this,e,t,n);case"utf8":case"utf-8":return pe(this,e,t,n);case"ascii":return he(this,e,t,n);case"latin1":case"binary":return de(this,e,t,n);case"base64":return fe(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},Q.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var be=4096;function ve(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",a=t;an)throw new RangeError("Trying to access beyond buffer length")}function Te(e,t,n,r,i,a){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,n,r){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function we(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function Pe(e,t,n,r,i,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Ce(e,t,n,r,i){return i||Pe(e,0,n,4),J(e,t,n,r,23,4),n+4}function ke(e,t,n,r,i){return i||Pe(e,0,n,8),J(e,t,n,r,52,8),n+8}Q.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},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,n){e|=0,t|=0,n||Se(e,t,this.length);for(var r=this[e],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*t)),r},Q.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Se(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},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 n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Q.prototype.readInt16BE=function(e,t){t||Se(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},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),X(this,e,!0,23,4)},Q.prototype.readFloatBE=function(e,t){return t||Se(e,4,this.length),X(this,e,!1,23,4)},Q.prototype.readDoubleLE=function(e,t){return t||Se(e,8,this.length),X(this,e,!0,52,8)},Q.prototype.readDoubleBE=function(e,t){return t||Se(e,8,this.length),X(this,e,!1,52,8)},Q.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Te(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+n},Q.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||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,n){return e=+e,t|=0,n||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,n){return e=+e,t|=0,n||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,n){return e=+e,t|=0,n||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):we(this,e,t,!0),t+4},Q.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||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):we(this,e,t,!1),t+4},Q.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Te(this,e,t,n,i-1,-i)}var a=0,s=1,o=0;for(this[t]=255&e;++a>0)-o&255;return t+n},Q.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Te(this,e,t,n,i-1,-i)}var a=n-1,s=1,o=0;for(this[t+a]=255&e;--a>=0&&(s*=256);)e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+n},Q.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||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,n){return e=+e,t|=0,n||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,n){return e=+e,t|=0,n||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,n){return e=+e,t|=0,n||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):we(this,e,t,!0),t+4},Q.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||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):we(this,e,t,!1),t+4},Q.prototype.writeFloatLE=function(e,t,n){return Ce(this,e,t,!0,n)},Q.prototype.writeFloatBE=function(e,t,n){return Ce(this,e,t,!1,n)},Q.prototype.writeDoubleLE=function(e,t,n){return ke(this,e,t,!0,n)},Q.prototype.writeDoubleBE=function(e,t,n){return ke(this,e,t,!1,n)},Q.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(a<1e3||!Q.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function Oe(e){return function(e){var t,n,r,i,a,s;W||z();var o=e.length;if(o%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a="="===e[o-2]?2:"="===e[o-1]?1:0,s=new V(3*o/4-a),r=a>0?o-4:o;var u=0;for(t=0,n=0;t>16&255,s[u++]=i>>8&255,s[u++]=255&i;return 2===a?(i=U[e.charCodeAt(t)]<<2|U[e.charCodeAt(t+1)]>>4,s[u++]=255&i):1===a&&(i=U[e.charCodeAt(t)]<<10|U[e.charCodeAt(t+1)]<<4|U[e.charCodeAt(t+2)]>>2,s[u++]=i>>8&255,s[u++]=255&i),s}(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,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=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 n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};function Be(e,t){var n={seen:[],stylize:Ue};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),qe(t)?n.showHidden=t:t&&tt(n,t),Je(n.showHidden)&&(n.showHidden=!1),Je(n.depth)&&(n.depth=2),Je(n.colors)&&(n.colors=!1),Je(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Re),Ve(n,e,n.depth)}function Re(e,t){var n=Be.styles[t];return n?"["+Be.colors[n][0]+"m"+e+"["+Be.colors[n][1]+"m":e}function Ue(e,t){return e}function Ve(e,t,n){if(e.customInspect&&t&&Qe(t.inspect)&&t.inspect!==Be&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Xe(r)||(r=Ve(e,r,n)),r}var i=function(e,t){if(Je(t))return e.stylize("undefined","undefined");if(Xe(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(r=t,"number"==typeof r)return e.stylize(""+t,"number");var r;if(qe(t))return e.stylize(""+t,"boolean");if(He(t))return e.stylize("null","null")}(e,t);if(i)return i;var a=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Ge(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return We(t);if(0===a.length){if(Qe(t)){var o=t.name?": "+t.name:"";return e.stylize("[Function"+o+"]","special")}if($e(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Ke(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Ge(t))return We(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 $e(t)&&(c=" "+RegExp.prototype.toString.call(t)),Ke(t)&&(c=" "+Date.prototype.toUTCString.call(t)),Ge(t)&&(c=" "+We(t)),0!==a.length||p&&0!=t.length?n<0?$e(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=p?function(e,t,n,r,i){for(var a=[],s=0,o=t.length;s60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(l,c,h)):h[0]+c+h[1]}function We(e){return"["+Error.prototype.toString.call(e)+"]"}function ze(e,t,n,r,i,a){var s,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")),nt(r,i)||(s="["+i+"]"),o||(e.seen.indexOf(u.value)<0?(o=He(n)?Ve(e,u.value,null):Ve(e,u.value,n-1)).indexOf("\n")>-1&&(o=a?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")),Je(s)){if(a&&i.match(/^\d+$/))return o;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+o}function qe(e){return"boolean"==typeof e}function He(e){return null===e}function Xe(e){return"string"==typeof e}function Je(e){return void 0===e}function $e(e){return Ye(e)&&"[object RegExp]"===et(e)}function Ye(e){return"object"==typeof e&&null!==e}function Ke(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 n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}function nt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function rt(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i=0){var s=r.indexOf("\n",a+1);r=r.substring(s+1)}this.stack=r}}}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[s=u[o]],t[s],n,r))return!1;return!0}(e,t,n,r))}return n?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,n,r){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!i&>(i,n,"Missing expected exception"+r);var a="string"==typeof r,s=!e&&i&&!n;if((!e&&Ge(i)&&a&&Et(i,n)||s)&>(i,n,"Got unwanted exception"+r),e&&i&&n&&!Et(i,n)||!e&&i)throw i}pt.AssertionError=ft,Le(ft,Error),pt.fail=gt,pt.ok=bt,pt.equal=function e(t,n,r){t!=n&>(t,n,r,"==",e)},pt.notEqual=function e(t,n,r){t==n&>(t,n,r,"!=",e)},pt.deepEqual=function e(t,n,r){vt(t,n,!1)||gt(t,n,r,"deepEqual",e)},pt.deepStrictEqual=function e(t,n,r){vt(t,n,!0)||gt(t,n,r,"deepStrictEqual",e)},pt.notDeepEqual=function e(t,n,r){vt(t,n,!1)&>(t,n,r,"notDeepEqual",e)},pt.notDeepStrictEqual=function e(t,n,r){vt(t,n,!0)&>(t,n,r,"notDeepStrictEqual",e)},pt.strictEqual=function e(t,n,r){t!==n&>(t,n,r,"===",e)},pt.notStrictEqual=function e(t,n,r){t===n&>(t,n,r,"!==",e)},pt.throws=function(e,t,n){Dt(!0,e,t,n)},pt.doesNotThrow=function(e,t,n){Dt(!1,e,t,n)},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"},wt=/^in(stanceof)?$/,Pt="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Ct="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",kt=new RegExp("["+Pt+"]"),_t=new RegExp("["+Pt+Ct+"]");Pt=Ct=null;var Ft=[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],It=[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 n=65536,r=0;re)return!1;if((n+=t[r+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,Ft)))}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,Ft)||Ot(e,It)))))}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 Wt={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})},zt=/\r\n?|\n|\u2028|\u2029/,qt=new RegExp(zt.source,"g");function Ht(e,t){return 10===e||13===e||!t&&(8232===e||8233===e)}var Xt=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Jt=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,$t=Object.prototype,Yt=$t.hasOwnProperty,Kt=$t.toString;function Gt(e,t){return Yt.call(e,t)}var Qt=Array.isArray||function(e){return"[object Array]"===Kt.call(e)};function Zt(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var en=function(e,t){this.line=e,this.column=t};en.prototype.offset=function(e){return new en(this.line,this.column+e)};var tn=function(e,t,n){this.start=t,this.end=n,null!==e.sourceFile&&(this.source=e.sourceFile)};function nn(e,t){for(var n=1,r=0;;){qt.lastIndex=r;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 r=t.onToken;t.onToken=function(e){return r.push(e)}}return Qt(t.onComment)&&(t.onComment=function(e,t){return function(n,r,i,a,s,o){var u={type:n?"Block":"Line",value:r,start:i,end:a};e.locations&&(u.loc=new tn(this,s,o)),e.ranges&&(u.range=[i,a]),t.push(u)}}(t,t.onComment)),t}function sn(e,t){return 2|(e?4:0)|(t?8:0)}var on=function(e,t,n){this.options=e=an(e),this.sourceFile=e.sourceFile,this.keywords=Zt(At[e.ecmaVersion>=6?6:"module"===e.sourceType?"5module":5]);var r="";if(!0!==e.allowReserved){for(var i=e.ecmaVersion;!(r=St[i]);i--);"module"===e.sourceType&&(r+=" await")}this.reservedWords=Zt(r);var a=(r?r+" ":"")+St.strict;this.reservedWordsStrict=Zt(a),this.reservedWordsStrictBind=Zt(a+" "+St.strictBind),this.input=String(t),this.containsEsc=!1,n?(this.pos=n,this.lineStart=this.input.lastIndexOf("\n",n-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(zt).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=Wt.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},un={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};on.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},un.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},un.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},un.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},un.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},un.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},un.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},on.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},on.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,r=0;r=,?^&]/.test(i)||"!"===i&&"="===this.input.charAt(r+1))}e+=t[0].length,Jt.lastIndex=e,e+=Jt.exec(this.input)[0].length,";"===this.input[e]&&e++}},ln.eat=function(e){return this.type===e&&(this.next(),!0)},ln.isContextual=function(e){return this.type===Wt.name&&this.value===e&&!this.containsEsc},ln.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},ln.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},ln.canInsertSemicolon=function(){return this.type===Wt.eof||this.type===Wt.braceR||zt.test(this.input.slice(this.lastTokEnd,this.start))},ln.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ln.semicolon=function(){this.eat(Wt.semi)||this.insertSemicolon()||this.unexpected()},ln.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},ln.expect=function(e){this.eat(e)||this.unexpected()},ln.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")},ln.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,"Parenthesized pattern")}},ln.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,r=e.doubleProto;if(!t)return n>=0||r>=0;n>=0&&this.raise(n,"Shorthand property assignments are valid only in destructuring patterns"),r>=0&&this.raiseRecoverable(r,"Redefinition of __proto__ property")},ln.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&this.unexpected(),this.parseFunctionStatement(a,!1,!e);case Wt._class:return e&&this.unexpected(),this.parseClass(a,!0);case Wt._if:return this.parseIfStatement(a);case Wt._return:return this.parseReturnStatement(a);case Wt._switch:return this.parseSwitchStatement(a);case Wt._throw:return this.parseThrowStatement(a);case Wt._try:return this.parseTryStatement(a);case Wt._const:case Wt._var:return r=r||this.value,e&&"var"!==r&&this.unexpected(),this.parseVarStatement(a,r);case Wt._while:return this.parseWhileStatement(a);case Wt._with:return this.parseWithStatement(a);case Wt.braceL:return this.parseBlock(!0,a);case Wt.semi:return this.parseEmptyStatement(a);case Wt._export:case Wt._import:if(this.options.ecmaVersion>10&&i===Wt._import){Jt.lastIndex=this.pos;var s=Jt.exec(this.input),o=this.pos+s[0].length,u=this.input.charCodeAt(o);if(40===u||46===u)return this.parseExpressionStatement(a,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===Wt._import?this.parseImport(a):this.parseExport(a,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(a,!0,!e);var l=this.value,c=this.parseExpression();return i===Wt.name&&"Identifier"===c.type&&this.eat(Wt.colon)?this.parseLabeledStatement(a,l,c,e):this.parseExpressionStatement(a,c)}},hn.parseBreakContinueStatement=function(e,t){var n="break"===t;this.next(),this.eat(Wt.semi)||this.insertSemicolon()?e.label=null:this.type!==Wt.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var r=0;r=6?this.eat(Wt.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},hn.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(dn),this.enterScope(0),this.expect(Wt.parenL),this.type===Wt.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===Wt._var||this.type===Wt._const||n){var r=this.startNode(),i=n?"let":this.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,"VariableDeclaration"),(this.type===Wt._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===r.declarations.length?(this.options.ecmaVersion>=9&&(this.type===Wt._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,r)):(t>-1&&this.unexpected(t),this.parseFor(e,r))}var a=new pn,s=this.parseExpression(!0,a);return this.type===Wt._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===Wt._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(s,!1,a),this.checkLVal(s),this.parseForIn(e,s)):(this.checkExpressionErrors(a,!0),t>-1&&this.unexpected(t),this.parseFor(e,s))},hn.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,yn|(n?0:gn),!1,t)},hn.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(Wt._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},hn.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(Wt.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},hn.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(Wt.braceL),this.labels.push(fn),this.enterScope(0);for(var n=!1;this.type!==Wt.braceR;)if(this.type===Wt._case||this.type===Wt._default){var r=this.type===Wt._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),n=!0,t.test=null),this.expect(Wt.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")},hn.parseThrowStatement=function(e){return this.next(),zt.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 mn=[];hn.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===Wt._catch){var t=this.startNode();if(this.next(),this.eat(Wt.parenL)){t.param=this.parseBindingAtom();var n="Identifier"===t.param.type;this.enterScope(n?32:0),this.checkLVal(t.param,n?4:2),this.expect(Wt.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(Wt._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},hn.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},hn.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(dn),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},hn.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")},hn.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},hn.parseLabeledStatement=function(e,t,n,r){for(var i=0,a=this.labels;i=0;o--){var u=this.labels[o];if(u.statementStart!==e.start)break;u.statementStart=this.start,u.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")},hn.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},hn.parseBlock=function(e,t,n){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(Wt.braceL),e&&this.enterScope(0);this.type!==Wt.braceR;){var r=this.parseStatement(null);t.body.push(r)}return n&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},hn.parseFor=function(e,t){return e.init=t,this.expect(Wt.semi),e.test=this.type===Wt.semi?null:this.parseExpression(),this.expect(Wt.semi),e.update=this.type===Wt.parenR?null:this.parseExpression(),this.expect(Wt.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},hn.parseForIn=function(e,t){var n=this.type===Wt._in;return this.next(),"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!n||this.options.ecmaVersion<8||this.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)?this.raise(t.start,(n?"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=n?this.parseExpression():this.parseMaybeAssign(),this.expect(Wt.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")},hn.parseVar=function(e,t,n){for(e.declarations=[],e.kind=n;;){var r=this.startNode();if(this.parseVarId(r,n),this.eat(Wt.eq)?r.init=this.parseMaybeAssign(t):"const"!==n||this.type===Wt._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===r.id.type||t&&(this.type===Wt._in||this.isContextual("of"))?r.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(r,"VariableDeclarator")),!this.eat(Wt.comma))break}return e},hn.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?1:2,!1)};var yn=1,gn=2;hn.parseFunction=function(e,t,n,r){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===Wt.star&&t&gn&&this.unexpected(),e.generator=this.eat(Wt.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&yn&&(e.id=4&t&&this.type!==Wt.name?null:this.parseIdent(),!e.id||t&gn||this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?1:2:3));var i=this.yieldPos,a=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(sn(e.async,e.generator)),t&yn||(e.id=this.type===Wt.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n,!1),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=s,this.finishNode(e,t&yn?"FunctionDeclaration":"FunctionExpression")},hn.parseFunctionParams=function(e){this.expect(Wt.parenL),e.params=this.parseBindingList(Wt.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},hn.parseClass=function(e,t){this.next();var n=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.startNode(),i=!1;for(r.body=[],this.expect(Wt.braceL);this.type!==Wt.braceR;){var a=this.parseClassElement(null!==e.superClass);a&&(r.body.push(a),"MethodDefinition"===a.type&&"constructor"===a.kind&&(i&&this.raise(a.start,"Duplicate constructor in the same class"),i=!0))}return this.strict=n,this.next(),e.body=this.finishNode(r,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},hn.parseClassElement=function(e){var t=this;if(this.eat(Wt.semi))return null;var n=this.startNode(),r=function(e,r){void 0===r&&(r=!1);var i=t.start,a=t.startLoc;return!!t.eatContextual(e)&&(!(t.type===Wt.parenL||r&&t.canInsertSemicolon())||(n.key&&t.unexpected(),n.computed=!1,n.key=t.startNodeAt(i,a),n.key.name=e,t.finishNode(n.key,"Identifier"),!1))};n.kind="method",n.static=r("static");var i=this.eat(Wt.star),a=!1;i||(this.options.ecmaVersion>=8&&r("async",!0)?(a=!0,i=this.options.ecmaVersion>=9&&this.eat(Wt.star)):r("get")?n.kind="get":r("set")&&(n.kind="set")),n.key||this.parsePropertyName(n);var s=n.key,o=!1;return n.computed||n.static||!("Identifier"===s.type&&"constructor"===s.name||"Literal"===s.type&&"constructor"===s.value)?n.static&&"Identifier"===s.type&&"prototype"===s.name&&this.raise(s.start,"Classes may not have a static property named prototype"):("method"!==n.kind&&this.raise(s.start,"Constructor can't have get/set modifier"),i&&this.raise(s.start,"Constructor can't be a generator"),a&&this.raise(s.start,"Constructor can't be an async method"),n.kind="constructor",o=e),this.parseClassMethod(n,i,a,o),"get"===n.kind&&0!==n.value.params.length&&this.raiseRecoverable(n.value.start,"getter should have no params"),"set"===n.kind&&1!==n.value.params.length&&this.raiseRecoverable(n.value.start,"setter should have exactly one param"),"set"===n.kind&&"RestElement"===n.value.params[0].type&&this.raiseRecoverable(n.value.params[0].start,"Setter cannot use rest params"),n},hn.parseClassMethod=function(e,t,n,r){return e.value=this.parseMethod(t,n,r),this.finishNode(e,"MethodDefinition")},hn.parseClassId=function(e,t){this.type===Wt.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,2,!1)):(!0===t&&this.unexpected(),e.id=null)},hn.parseClassSuper=function(e){e.superClass=this.eat(Wt._extends)?this.parseExprSubscripts():null},hn.parseExport=function(e,t){if(this.next(),this.eat(Wt.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!==Wt.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(Wt._default)){var n;if(this.checkExport(t,"default",this.lastTokStart),this.type===Wt._function||(n=this.isAsyncFunction())){var r=this.startNode();this.next(),n&&this.next(),e.declaration=this.parseFunction(r,4|yn,!1,n)}else if(this.type===Wt._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!==Wt.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var a=0,s=e.specifiers;a=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",n&&this.checkPatternErrors(n,!0);for(var r=0,i=e.properties;r=6)switch(this.type){case Wt.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(Wt.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case Wt.braceL:return this.parseObj(!0)}return this.parseIdent()},bn.parseBindingList=function(e,t,n){for(var r=[],i=!0;!this.eat(e);)if(i?i=!1:this.expect(Wt.comma),t&&this.type===Wt.comma)r.push(null);else{if(n&&this.afterTrailingComma(e))break;if(this.type===Wt.ellipsis){var a=this.parseRestBinding();this.parseBindingListItem(a),r.push(a),this.type===Wt.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}var s=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(s),r.push(s)}return r},bn.parseBindingListItem=function(e){return e},bn.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(Wt.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,"AssignmentPattern")},bn.checkLVal=function(e,t,n){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"),n&&(Gt(n,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),n[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 r=0,i=e.properties;r=9&&"SpreadElement"===e.type||this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r,i=e.key;switch(i.type){case"Identifier":r=i.name;break;case"Literal":r=String(i.value);break;default:return}var a=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===r&&"init"===a&&(t.proto&&(n?n.doubleProto<0&&(n.doubleProto=i.start):this.raiseRecoverable(i.start,"Redefinition of __proto__ property")),t.proto=!0);else{var s=t[r="$"+r];if(s)("init"===a?this.strict&&s.init||s.get||s.set:s.init||s[a])&&this.raiseRecoverable(i.start,"Redefinition of property");else s=t[r]={init:!1,get:!1,set:!1};s[a]=!0}}},vn.parseExpression=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeAssign(e,t);if(this.type===Wt.comma){var a=this.startNodeAt(n,r);for(a.expressions=[i];this.eat(Wt.comma);)a.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(a,"SequenceExpression")}return i},vn.parseMaybeAssign=function(e,t,n){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,i=-1,a=-1;t?(i=t.parenthesizedAssign,a=t.trailingComma,t.parenthesizedAssign=t.trailingComma=-1):(t=new pn,r=!0);var s=this.start,o=this.startLoc;this.type!==Wt.parenL&&this.type!==Wt.name||(this.potentialArrowAt=this.start);var u=this.parseMaybeConditional(e,t);if(n&&(u=n.call(this,u,s,o)),this.type.isAssign){var l=this.startNodeAt(s,o);return l.operator=this.value,l.left=this.type===Wt.eq?this.toAssignable(u,!1,t):u,r||(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 r&&this.checkExpressionErrors(t,!0),i>-1&&(t.parenthesizedAssign=i),a>-1&&(t.trailingComma=a),u},vn.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(this.eat(Wt.question)){var a=this.startNodeAt(n,r);return a.test=i,a.consequent=this.parseMaybeAssign(),this.expect(Wt.colon),a.alternate=this.parseMaybeAssign(e),this.finishNode(a,"ConditionalExpression")}return i},vn.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)||i.start===n&&"ArrowFunctionExpression"===i.type?i:this.parseExprOp(i,n,r,-1,e)},vn.parseExprOp=function(e,t,n,r,i){var a=this.type.binop;if(null!=a&&(!i||this.type!==Wt._in)&&a>r){var s=this.type===Wt.logicalOR||this.type===Wt.logicalAND,o=this.type===Wt.coalesce;o&&(a=Wt.logicalAND.binop);var u=this.value;this.next();var l=this.start,c=this.startLoc,p=this.parseExprOp(this.parseMaybeUnary(null,!1),l,c,a,i),h=this.buildBinary(t,n,e,p,u,s||o);return(s&&this.type===Wt.coalesce||o&&(this.type===Wt.logicalOR||this.type===Wt.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(h,t,n,r,i)}return e},vn.buildBinary=function(e,t,n,r,i,a){var s=this.startNodeAt(e,t);return s.left=n,s.operator=i,s.right=r,this.finishNode(s,a?"LogicalExpression":"BinaryExpression")},vn.parseMaybeUnary=function(e,t){var n,r=this.start,i=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))n=this.parseAwait(),t=!0;else if(this.type.prefix){var a=this.startNode(),s=this.type===Wt.incDec;a.operator=this.value,a.prefix=!0,this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),s?this.checkLVal(a.argument):this.strict&&"delete"===a.operator&&"Identifier"===a.argument.type?this.raiseRecoverable(a.start,"Deleting local variable in strict mode"):t=!0,n=this.finishNode(a,s?"UpdateExpression":"UnaryExpression")}else{if(n=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(r,i);o.operator=this.value,o.prefix=!1,o.argument=n,this.checkLVal(n),this.next(),n=this.finishNode(o,"UpdateExpression")}}return!t&&this.eat(Wt.starstar)?this.buildBinary(r,i,n,this.parseMaybeUnary(null,!1),"**",!1):n},vn.parseExprSubscripts=function(e){var t=this.start,n=this.startLoc,r=this.parseExprAtom(e);if("ArrowFunctionExpression"===r.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return r;var i=this.parseSubscripts(r,t,n);return e&&"MemberExpression"===i.type&&(e.parenthesizedAssign>=i.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=i.start&&(e.parenthesizedBind=-1)),i},vn.parseSubscripts=function(e,t,n,r){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,a=!1;;){var s=this.parseSubscript(e,t,n,r,i,a);if(s.optional&&(a=!0),s===e||"ArrowFunctionExpression"===s.type){if(a){var o=this.startNodeAt(t,n);o.expression=s,s=this.finishNode(o,"ChainExpression")}return s}e=s}},vn.parseSubscript=function(e,t,n,r,i,a){var s=this.options.ecmaVersion>=11,o=s&&this.eat(Wt.questionDot);r&&o&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var u=this.eat(Wt.bracketL);if(u||o&&this.type!==Wt.parenL&&this.type!==Wt.backQuote||this.eat(Wt.dot)){var l=this.startNodeAt(t,n);l.object=e,l.property=u?this.parseExpression():this.parseIdent("never"!==this.options.allowReserved),l.computed=!!u,u&&this.expect(Wt.bracketR),s&&(l.optional=o),e=this.finishNode(l,"MemberExpression")}else if(!r&&this.eat(Wt.parenL)){var c=new pn,p=this.yieldPos,h=this.awaitPos,d=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var f=this.parseExprList(Wt.parenR,this.options.ecmaVersion>=8,!1,c);if(i&&!o&&!this.canInsertSemicolon()&&this.eat(Wt.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,n),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,n);m.callee=e,m.arguments=f,s&&(m.optional=o),e=this.finishNode(m,"CallExpression")}else if(this.type===Wt.backQuote){(o||a)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var y=this.startNodeAt(t,n);y.tag=e,y.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(y,"TaggedTemplateExpression")}return e},vn.parseExprAtom=function(e){this.type===Wt.slash&&this.readRegexp();var t,n=this.potentialArrowAt===this.start;switch(this.type){case Wt._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),t=this.startNode(),this.next(),this.type!==Wt.parenL||this.allowDirectSuper||this.raise(t.start,"super() call outside constructor of a subclass"),this.type!==Wt.dot&&this.type!==Wt.bracketL&&this.type!==Wt.parenL&&this.unexpected(),this.finishNode(t,"Super");case Wt._this:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case Wt.name:var r=this.start,i=this.startLoc,a=this.containsEsc,s=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!a&&"async"===s.name&&!this.canInsertSemicolon()&&this.eat(Wt._function))return this.parseFunction(this.startNodeAt(r,i),0,!1,!0);if(n&&!this.canInsertSemicolon()){if(this.eat(Wt.arrow))return this.parseArrowExpression(this.startNodeAt(r,i),[s],!1);if(this.options.ecmaVersion>=8&&"async"===s.name&&this.type===Wt.name&&!a)return s=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(Wt.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(r,i),[s],!0)}return s;case Wt.regexp:var o=this.value;return(t=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},t;case Wt.num:case Wt.string:return this.parseLiteral(this.value);case Wt._null:case Wt._true:case Wt._false:return(t=this.startNode()).value=this.type===Wt._null?null:this.type===Wt._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case Wt.parenL:var u=this.start,l=this.parseParenAndDistinguishExpression(n);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(l)&&(e.parenthesizedAssign=u),e.parenthesizedBind<0&&(e.parenthesizedBind=u)),l;case Wt.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(Wt.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case Wt.braceL:return this.parseObj(!1,e);case Wt._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case Wt._class:return this.parseClass(this.startNode(),!1);case Wt._new:return this.parseNew();case Wt.backQuote:return this.parseTemplate();case Wt._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},vn.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 Wt.parenL:return this.parseDynamicImport(e);case Wt.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},vn.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(Wt.parenR)){var t=this.start;this.eat(Wt.comma)&&this.eat(Wt.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},vn.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")},vn.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")},vn.parseParenExpression=function(){this.expect(Wt.parenL);var e=this.parseExpression();return this.expect(Wt.parenR),e},vn.parseParenAndDistinguishExpression=function(e){var t,n=this.start,r=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var a,s=this.start,o=this.startLoc,u=[],l=!0,c=!1,p=new pn,h=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==Wt.parenR;){if(l?l=!1:this.expect(Wt.comma),i&&this.afterTrailingComma(Wt.parenR,!0)){c=!0;break}if(this.type===Wt.ellipsis){a=this.start,u.push(this.parseParenItem(this.parseRestBinding())),this.type===Wt.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(Wt.parenR),e&&!this.canInsertSemicolon()&&this.eat(Wt.arrow))return this.checkPatternErrors(p,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=d,this.parseParenArrowList(n,r,u);u.length&&!c||this.unexpected(this.lastTokStart),a&&this.unexpected(a),this.checkExpressionErrors(p,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=d||this.awaitPos,u.length>1?((t=this.startNodeAt(s,o)).expressions=u,this.finishNodeAt(t,"SequenceExpression",f,m)):t=u[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(n,r);return y.expression=t,this.finishNode(y,"ParenthesizedExpression")}return t},vn.parseParenItem=function(e){return e},vn.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var xn=[];vn.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(Wt.dot)){e.meta=t;var n=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'"),n&&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 r=this.start,i=this.startLoc,a=this.type===Wt._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),r,i,!0),a&&"ImportExpression"===e.callee.type&&this.raise(r,"Cannot use new with import()"),this.eat(Wt.parenL)?e.arguments=this.parseExprList(Wt.parenR,this.options.ecmaVersion>=8,!1):e.arguments=xn,this.finishNode(e,"NewExpression")},vn.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===Wt.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),n.value={raw:this.value,cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),n.tail=this.type===Wt.backQuote,this.finishNode(n,"TemplateElement")},vn.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.type===Wt.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(Wt.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(Wt.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,"TemplateLiteral")},vn.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===Wt.name||this.type===Wt.num||this.type===Wt.string||this.type===Wt.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===Wt.star)&&!zt.test(this.input.slice(this.lastTokEnd,this.start))},vn.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(Wt.braceR);){if(r)r=!1;else if(this.expect(Wt.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(Wt.braceR))break;var a=this.parseProperty(e,t);e||this.checkPropClash(a,i,t),n.properties.push(a)}return this.finishNode(n,e?"ObjectPattern":"ObjectExpression")},vn.parseProperty=function(e,t){var n,r,i,a,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(Wt.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===Wt.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(s,"RestElement")):(this.type===Wt.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),s.argument=this.parseMaybeAssign(!1,t),this.type===Wt.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,"SpreadElement"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(i=this.start,a=this.startLoc),e||(n=this.eat(Wt.star)));var o=this.containsEsc;return this.parsePropertyName(s),!e&&!o&&this.options.ecmaVersion>=8&&!n&&this.isAsyncProp(s)?(r=!0,n=this.options.ecmaVersion>=9&&this.eat(Wt.star),this.parsePropertyName(s,t)):r=!1,this.parsePropertyValue(s,e,n,r,i,a,t,o),this.finishNode(s,"Property")},vn.parsePropertyValue=function(e,t,n,r,i,a,s,o){if((n||r)&&this.type===Wt.colon&&this.unexpected(),this.eat(Wt.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===Wt.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(n,r);else if(t||o||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===Wt.comma||this.type===Wt.braceR||this.type===Wt.eq)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((n||r)&&this.unexpected(),this.checkUnreserved(e.key),"await"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=i),e.kind="init",t?e.value=this.parseMaybeDefault(i,a,e.key):this.type===Wt.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,a,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(n||r)&&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")}},vn.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(Wt.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(Wt.bracketR),e.key;e.computed=!1}return e.key=this.type===Wt.num||this.type===Wt.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},vn.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},vn.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,a=this.awaitPos,s=this.awaitIdentPos;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=e),this.options.ecmaVersion>=8&&(r.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|sn(t,r.generator)|(n?128:0)),this.expect(Wt.parenL),r.params=this.parseBindingList(Wt.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=s,this.finishNode(r,"FunctionExpression")},vn.parseArrowExpression=function(e,t,n){var r=this.yieldPos,i=this.awaitPos,a=this.awaitIdentPos;return this.enterScope(16|sn(n,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=r,this.awaitPos=i,this.awaitIdentPos=a,this.finishNode(e,"ArrowFunctionExpression")},vn.parseFunctionBody=function(e,t,n){var r=t&&this.type!==Wt.braceL,i=this.strict,a=!1;if(r)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);i&&!s||(a=this.strictDirective(this.end))&&s&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var o=this.labels;this.labels=[],a&&(this.strict=!0),this.checkParams(e,!i&&!a&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,5),e.body=this.parseBlock(!1,void 0,a&&!i),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=o}this.exitScope()},vn.isSimpleParamList=function(e){for(var t=0,n=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 a=this.currentScope();r=this.treatFunctionsAsVar?a.lexical.indexOf(e)>-1:a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1,a.functions.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var o=this.scopeStack[s];if(o.lexical.indexOf(e)>-1&&!(32&o.flags&&o.lexical[0]===e)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(e)>-1){r=!0;break}if(o.var.push(e),this.inModule&&1&o.flags&&delete this.undefinedExports[e],3&o.flags)break}r&&this.raiseRecoverable(n,"Identifier '"+e+"' has already been declared")},Dn.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},Dn.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Dn.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags)return t}},Dn.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 Tn=function(e,t,n){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new tn(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},An=on.prototype;function wn(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}An.startNode=function(){return new Tn(this,this.start,this.startLoc)},An.startNodeAt=function(e,t){return new Tn(this,e,t)},An.finishNode=function(e,t){return wn.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},An.finishNodeAt=function(e,t,n,r){return wn.call(this,e,t,n,r)};var Pn=function(e,t,n,r,i){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r,this.generator=!!i},Cn={b_stat:new Pn("{",!1),b_expr:new Pn("{",!0),b_tmpl:new Pn("${",!1),p_stat:new Pn("(",!1),p_expr:new Pn("(",!0),q_tmpl:new Pn("`",!0,!0,(function(e){return e.tryReadTemplateToken()})),f_stat:new Pn("function",!1),f_expr:new Pn("function",!0),f_expr_gen:new Pn("function",!0,!1,null,!0),f_gen:new Pn("function",!1,!1,null,!0)},kn=on.prototype;kn.initialContext=function(){return[Cn.b_stat]},kn.braceIsBlock=function(e){var t=this.curContext();return t===Cn.f_expr||t===Cn.f_stat||(e!==Wt.colon||t!==Cn.b_stat&&t!==Cn.b_expr?e===Wt._return||e===Wt.name&&this.exprAllowed?zt.test(this.input.slice(this.lastTokEnd,this.start)):e===Wt._else||e===Wt.semi||e===Wt.eof||e===Wt.parenR||e===Wt.arrow||(e===Wt.braceL?t===Cn.b_stat:e!==Wt._var&&e!==Wt._const&&e!==Wt.name&&!this.exprAllowed):!t.isExpr)},kn.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},kn.updateContext=function(e){var t,n=this.type;n.keyword&&e===Wt.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},Wt.parenR.updateContext=Wt.braceR.updateContext=function(){if(1!==this.context.length){var e=this.context.pop();e===Cn.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},Wt.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?Cn.b_stat:Cn.b_expr),this.exprAllowed=!0},Wt.dollarBraceL.updateContext=function(){this.context.push(Cn.b_tmpl),this.exprAllowed=!0},Wt.parenL.updateContext=function(e){var t=e===Wt._if||e===Wt._for||e===Wt._with||e===Wt._while;this.context.push(t?Cn.p_stat:Cn.p_expr),this.exprAllowed=!0},Wt.incDec.updateContext=function(){},Wt._function.updateContext=Wt._class.updateContext=function(e){!e.beforeExpr||e===Wt.semi||e===Wt._else||e===Wt._return&&zt.test(this.input.slice(this.lastTokEnd,this.start))||(e===Wt.colon||e===Wt.braceL)&&this.curContext()===Cn.b_stat?this.context.push(Cn.f_stat):this.context.push(Cn.f_expr),this.exprAllowed=!1},Wt.backQuote.updateContext=function(){this.curContext()===Cn.q_tmpl?this.context.pop():this.context.push(Cn.q_tmpl),this.exprAllowed=!1},Wt.star.updateContext=function(e){if(e===Wt._function){var t=this.context.length-1;this.context[t]===Cn.f_expr?this.context[t]=Cn.f_expr_gen:this.context[t]=Cn.f_gen}this.exprAllowed=!0},Wt.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==Wt.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var _n="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",Fn=_n+" Extended_Pictographic",In={9:_n,10:Fn,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"},On="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",Nn="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",jn=Nn+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Mn={9:Nn,10:jn,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"},Ln={};function Bn(e){var t=Ln[e]={binary:Zt(In[e]+" "+On),nonBinary:{General_Category:Zt(On),Script:Zt(Mn[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}Bn(9),Bn(10),Bn(11);var Rn=on.prototype,Un=function(e){this.parser=e,this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":""),this.unicodeProperties=Ln[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 Vn(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function Wn(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function zn(e){return e>=65&&e<=90||e>=97&&e<=122}function qn(e){return zn(e)||95===e}function Hn(e){return qn(e)||Xn(e)}function Xn(e){return e>=48&&e<=57}function Jn(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function $n(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function Yn(e){return e>=48&&e<=55}Un.prototype.reset=function(e,t,n){var r=-1!==n.indexOf("u");this.start=0|e,this.source=t+"",this.flags=n,this.switchU=r&&this.parser.options.ecmaVersion>=6,this.switchN=r&&this.parser.options.ecmaVersion>=9},Un.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},Un.prototype.at=function(e,t){void 0===t&&(t=!1);var n=this.source,r=n.length;if(e>=r)return-1;var i=n.charCodeAt(e);if(!t&&!this.switchU||i<=55295||i>=57344||e+1>=r)return i;var a=n.charCodeAt(e+1);return a>=56320&&a<=57343?(i<<10)+a-56613888:i},Un.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var n=this.source,r=n.length;if(e>=r)return r;var i,a=n.charCodeAt(e);return!t&&!this.switchU||a<=55295||a>=57344||e+1>=r||(i=n.charCodeAt(e+1))<56320||i>57343?e+1:e+2},Un.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},Un.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Un.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Un.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},Rn.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,r=0;r-1&&this.raise(e.start,"Duplicate regular expression flag")}},Rn.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},Rn.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,n=e.backReferenceNames;t=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},Rn.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},Rn.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},Rn.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(r=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},Rn.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)},Rn.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},Rn.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!Wn(t)&&(e.lastIntValue=t,e.advance(),!0)},Rn.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;-1!==(n=e.current())&&!Wn(n);)e.advance();return e.pos!==t},Rn.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)},Rn.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")}},Rn.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},Rn.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Vn(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Vn(e.lastIntValue);return!0}return!1},Rn.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),92===r&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),function(e){return Nt(e,!0)||36===e||95===e}(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)},Rn.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),92===r&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),function(e){return jt(e,!0)||36===e||95===e||8204===e||8205===e}(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)},Rn.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)},Rn.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},Rn.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},Rn.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)},Rn.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},Rn.regexp_eatZero=function(e){return 48===e.current()&&!Xn(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},Rn.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)},Rn.regexp_eatControlLetter=function(e){var t=e.current();return!!zn(t)&&(e.lastIntValue=t%32,e.advance(),!0)},Rn.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var n,r=e.pos,i=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(i&&a>=55296&&a<=56319){var s=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*(a-55296)+(o-56320)+65536,!0}e.pos=s,e.lastIntValue=a}return!0}if(i&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&((n=e.lastIntValue)>=0&&n<=1114111))return!0;i&&e.raise("Invalid unicode escape"),e.pos=r}return!1},Rn.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)},Rn.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},Rn.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},Rn.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,r),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i),!0}return!1},Rn.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){Gt(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(n)||e.raise("Invalid property value")},Rn.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},Rn.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";qn(t=e.current());)e.lastStringValue+=Vn(t),e.advance();return""!==e.lastStringValue},Rn.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";Hn(t=e.current());)e.lastStringValue+=Vn(t),e.advance();return""!==e.lastStringValue},Rn.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},Rn.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},Rn.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;!e.switchU||-1!==t&&-1!==n||e.raise("Invalid character class"),-1!==t&&-1!==n&&t>n&&e.raise("Range out of order in character class")}}},Rn.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(99===n||Yn(n))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var r=e.current();return 93!==r&&(e.lastIntValue=r,e.advance(),!0)},Rn.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)},Rn.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!Xn(t)&&95!==t)&&(e.lastIntValue=t%32,e.advance(),!0)},Rn.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},Rn.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Xn(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t},Rn.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Jn(n=e.current());)e.lastIntValue=16*e.lastIntValue+$n(n),e.advance();return e.pos!==t},Rn.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*n+e.lastIntValue:e.lastIntValue=8*t+n}else e.lastIntValue=t;return!0}return!1},Rn.regexp_eatOctalDigit=function(e){var t=e.current();return Yn(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},Rn.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r>10),56320+(1023&e)))}Gn.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 Kn(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Gn.getToken=function(){return this.next(),new Kn(this)},"undefined"!=typeof Symbol&&(Gn[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===Wt.eof,value:t}}}}),Gn.curContext=function(){return this.context[this.context.length-1]},Gn.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(Wt.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},Gn.readToken=function(e){return Nt(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},Gn.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},Gn.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),n=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(-1===r&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(qt.lastIndex=n;(e=qt.exec(this.input))&&e.index8&&e<14||e>=5760&&Xt.test(String.fromCharCode(e))))break e;++this.pos}}},Gn.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},Gn.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(Wt.ellipsis)):(++this.pos,this.finishToken(Wt.dot))},Gn.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(Wt.assign,2):this.finishOp(Wt.slash,1)},Gn.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=42===e?Wt.star:Wt.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++n,r=Wt.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(Wt.assign,n+1):this.finishOp(r,n)},Gn.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(Wt.assign,3);return this.finishOp(124===e?Wt.logicalOR:Wt.logicalAND,2)}return 61===t?this.finishOp(Wt.assign,2):this.finishOp(124===e?Wt.bitwiseOR:Wt.bitwiseAND,1)},Gn.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(Wt.assign,2):this.finishOp(Wt.bitwiseXOR,1)},Gn.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&&!zt.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(Wt.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(Wt.assign,2):this.finishOp(Wt.plusMin,1)},Gn.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+n)?this.finishOp(Wt.assign,n+1):this.finishOp(Wt.bitShift,n)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(n=2),this.finishOp(Wt.relational,n)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Gn.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(Wt.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(Wt.arrow)):this.finishOp(61===e?Wt.eq:Wt.prefix,1)},Gn.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(Wt.questionDot,2)}if(63===t){if(e>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Wt.assign,3);return this.finishOp(Wt.coalesce,2)}}return this.finishOp(Wt.question,1)},Gn.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(Wt.parenL);case 41:return++this.pos,this.finishToken(Wt.parenR);case 59:return++this.pos,this.finishToken(Wt.semi);case 44:return++this.pos,this.finishToken(Wt.comma);case 91:return++this.pos,this.finishToken(Wt.bracketL);case 93:return++this.pos,this.finishToken(Wt.bracketR);case 123:return++this.pos,this.finishToken(Wt.braceL);case 125:return++this.pos,this.finishToken(Wt.braceR);case 58:return++this.pos,this.finishToken(Wt.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(Wt.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(Wt.prefix,1)}this.raise(this.pos,"Unexpected character '"+Zn(e)+"'")},Gn.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},Gn.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,"Unterminated regular expression");var r=this.input.charAt(this.pos);if(zt.test(r)&&this.raise(n,"Unterminated regular expression"),e)e=!1;else{if("["===r)t=!0;else if("]"===r&&t)t=!1;else if("/"===r&&!t)break;e="\\"===r}++this.pos}var i=this.input.slice(n,this.pos);++this.pos;var a=this.pos,s=this.readWord1();this.containsEsc&&this.unexpected(a);var o=this.regexpState||(this.regexpState=new Un(this));o.reset(n,i,s),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var u=null;try{u=new RegExp(i,s)}catch(e){}return this.finishToken(Wt.regexp,{pattern:i,flags:s,value:u})},Gn.readInt=function(e,t,n){for(var r=this.options.ecmaVersion>=12&&void 0===t,i=n&&48===this.input.charCodeAt(this.pos),a=this.pos,s=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,s=s*e+p}}return r&&95===o&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===a||null!=t&&this.pos-a!==t?null:s},Gn.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return null==n&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(n=Qn(this.input.slice(t,this.pos)),++this.pos):Nt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Wt.num,n)},Gn.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,"Invalid number");var n=this.pos-t>=2&&48===this.input.charCodeAt(t);n&&this.strict&&this.raise(t,"Invalid number");var r=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&110===r){var i=Qn(this.input.slice(t,this.pos));return++this.pos,Nt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Wt.num,i)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),46!==r||n||(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),69!==r&&101!==r||n||(43!==(r=this.input.charCodeAt(++this.pos))&&45!==r||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),Nt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var a,s=(a=this.input.slice(t,this.pos),n?parseInt(a,8):parseFloat(a.replace(/_/g,"")));return this.finishToken(Wt.num,s)},Gn.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},Gn.readString=function(e){for(var t="",n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var r=this.input.charCodeAt(this.pos);if(r===e)break;92===r?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):(Ht(r,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(Wt.string,t)};var er={};Gn.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==er)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Gn.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw er;this.raise(e,t)},Gn.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var n=this.input.charCodeAt(this.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==Wt.template&&this.type!==Wt.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(Wt.template,e)):36===n?(this.pos+=2,this.finishToken(Wt.dollarBraceL)):(++this.pos,this.finishToken(Wt.backQuote));if(92===n)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Ht(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},Gn.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),"0"===r&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-r.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(i)}return Ht(t)?"":String.fromCharCode(t)}},Gn.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return null===n&&this.invalidStringToken(t,"Bad character escape sequence"),n},Gn.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos1&&"boolean"!=typeof t)throw new Dr('"allowMissing" argument must be a boolean');var n=qr(e),r=n.length>0?n[0]:"",i=Hr("%"+r+"%",t),a=i.name,s=i.value,o=!1,u=i.alias;u&&(r=u[0],Rr(n,Br([0,1],u)));for(var l=1,c=!0;l=n.length){var f=Tr(s,p);s=(c=!!f)&&"get"in f&&!("originalValue"in f.get)?f.get:s[p]}else c=vr(s,p),s=s[p];c&&!o&&(jr[a]=s)}}return s},Jr=P((function(e){var t=Xr("%Function.prototype.apply%"),n=Xr("%Function.prototype.call%"),r=Xr("%Reflect.apply%",!0)||br.call(n,t),i=Xr("%Object.getOwnPropertyDescriptor%",!0),a=Xr("%Object.defineProperty%",!0),s=Xr("%Math.max%");if(a)try{a({},"a",{value:1})}catch(e){a=null}e.exports=function(e){var t=r(br,n,arguments);if(i&&a){var o=i(t,"length");o.configurable&&a(t,"length",{value:1+s(0,e.length-(arguments.length-1))})}return t};var o=function(){return r(br,t,arguments)};a?a(e.exports,"apply",{value:o}):e.exports.apply=o})),$r=Jr(Xr("String.prototype.indexOf")),Yr=function(e,t){var n=Xr(e,!!t);return"function"==typeof n&&$r(e,".prototype.")>-1?Jr(n):n},Kr=dr()&&"symbol"==typeof Symbol.toStringTag;if(Kr){Ar=Yr("Object.prototype.hasOwnProperty"),wr=Yr("RegExp.prototype.exec"),Pr={};var Gr=function(){throw Pr};Cr={toString:Gr,valueOf:Gr},"symbol"==typeof Symbol.toPrimitive&&(Cr[Symbol.toPrimitive]=Gr)}var Qr=Yr("Object.prototype.toString"),Zr=Object.getOwnPropertyDescriptor,ei=Kr?function(e){if(!e||"object"!=typeof e)return!1;var t=Zr(e,"lastIndex");if(!(t&&Ar(t,"value")))return!1;try{wr(e,Cr)}catch(e){return e===Pr}}:function(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&"[object RegExp]"===Qr(e)},ti=P((function(e,t){var n=(t=e.exports=a).TOKEN_TYPES={LINE_COMMENT:"//",BLOCK_COMMENT:"/**/",SINGLE_QUOTE:"'",DOUBLE_QUOTE:'"',TEMPLATE_QUOTE:"`",REGEXP:"//g"},r=t.BRACKETS={"(":")","{":"}","[":"]"},i={")":"(","}":"{","]":"["};function a(e,n,r){r=r||{},n=n||t.defaultState();for(var i=r.start||0,a=r.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 n=t+c+1,r=(n==i?" > ":" ")+n+"| ",s=r+e;return n===i&&a>0&&(s+="\n",s+=Array(r.length+a).join("-")+"^"),s})).join("\n");r=(s||"Pug")+":"+u+"\n"+h+"\n\n"+t}else r=(s||"Pug")+":"+u+"\n\n"+t;var d=new Error(r);return d.code="PUG:"+e,d.msg=t,d.line=i,d.column=a,d.filename=s,d.src=o,d.toJSON=function(){return{code:this.code,msg:this.msg,line:this.line,column:this.column,filename:this.filename}},d};function ri(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}ri.prototype={constructor:ri,error:function(e,t){throw ni(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 lr(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 n="Syntax Error: "+e.message.replace(/ \([0-9]+:[0-9]+\)$/,"");this.error("SYNTAX_ERROR",n)}},assertNestingCorrect:function(e){ti(e).isNesting()&&this.error("INCORRECT_NESTING","Nesting must match on expression `"+e+"`")},tok:function(e,t){const n={type:e,loc:{start:{line:this.lineno,column:this.colno},filename:this.filename}};return void 0!==t&&(n.val=t),n},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 n;if(n=e.exec(this.input)){const e=n[0].length,r=n[1],i=e-(r?r.length:0),a=this.tok(t,r);return this.consume(e),this.incrementColumn(i),a}},scanEndOfLine:function(e,t){let n;if(n=e.exec(this.input)){let e,r,i=0;(e=/^([ ]+)([^ ]*)/.exec(n[0]))&&(i=e[1].length,this.incrementColumn(i));const a=this.input.substr(n[0].length);if(":"===a[0])return this.input=a,r=this.tok(t,n[1]),this.incrementColumn(n[0].length-i),r;if(/^[ \t]*(\n|$)/.test(a))return this.input=a.substr(/^[ \t]*/.exec(a)[0].length),r=this.tok(t,n[1]),this.incrementColumn(n[0].length-i),r}},bracketExpression:function(e){e=e||0;const t=this.input[e];pt("("===t||"{"===t||"["===t,'The start character should be "(", "{" or "["');const n=ti.BRACKETS[t];let r;try{r=ti.parseUntil(this.input,n,{start:e+1})}catch(t){if(void 0!==t.index){let n=t.index,r=this.input.substr(e).indexOf("\n"),i=r+e,a=0;for(;n>i&&-1!==r;)this.incrementLine(1),n-=i+1,a+=i+1,r=i=this.input.substr(a).indexOf("\n");this.incrementColumn(n)}throw"CHARACTER_PARSER:END_OF_STRING_REACHED"===t.code?this.error("NO_END_BRACKET","The end of the string reached with no closing bracket "+n+" found."):"CHARACTER_PARSER:MISMATCHED_BRACKET"===t.code&&this.error("BRACKET_MISMATCH",t.message),t}return r},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 n=e.src.split("\n"),r=n.length-1;return this.incrementLine(r),this.incrementColumn(n[r].length+1),this.tokEnd(t),!0}},tag:function(){let e;if(e=/^(\w(?:[-:\w]*\w)?)/.exec(this.input)){const t=e[1],n=e[0].length;this.consume(n);const r=this.tok("tag",t);return this.tokens.push(r),this.incrementColumn(n),this.tokEnd(r),!0}},filter:function(e){const t=this.scan(/^:([\w\-]+)/,"filter"),n=e&&e.inInclude;if(t)return this.tokens.push(t),this.incrementColumn(t.val.length),this.tokEnd(t),this.callLexerFunction("attrs"),n||(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,n,r){let i;if(t+n==="")return;n=n||"",r=r||0;let a=this.interpolated?t.indexOf("]"):-1,s=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===a&&(a=1/0),-1===s&&(s=1/0),-1===o&&(o=1/0),o!==1/0&&on;)this.indentStack[1]this.indentStack[0]){this.tokens.push(this.tokEnd(this.tok("start-pipeless-text")));const n=[],r=[];let i,a=0;do{let s=this.input.substr(a+1).indexOf("\n");-1==s&&(s=this.input.length-a-1);const o=this.input.substr(a+1,s),u=this.indentRe.exec("\n"+o),l=u&&u[1].length;if(i=l>=t,r.push(i),i=i||!o.trim(),i)a+=o.length+1,n.push(o.substr(t));else if(l>this.indentStack[0])return this.tokens.pop(),e.call(this,u[1].length)}while(this.input.length-a&&i);for(this.consume(a);0===this.input.length&&""===n[n.length-1];)n.pop();return n.forEach(function(e,n){let i;this.incrementLine(1),0!==n&&(i=this.tok("newline")),r[n]&&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 n=[...t],r=[this].concat(n);for(let t=0;t0&&(e.consolidated=n.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,n,r,i));break;case"Each":t.block&&(t.block=e(t.block,n,r,i)),t.alternate&&(t.alternate=e(t.alternate,n,r,i));break;case"Conditional":t.consequent&&(t.consequent=e(t.consequent,n,r,i)),t.alternate&&(t.alternate=e(t.alternate,n,r,i));break;case"Include":e(t.block,n,r,i),e(t.file,n,r,i);break;case"Extends":e(t.file,n,r,i);break;case"RawInclude":t.filters=a(t.filters),e(t.file,n,r,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,n,r,i);break;default:throw new Error("Unexpected node type "+t.type)}return s.shift(),r&&r(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 n=e.file;if("FileReference"!==n.type)throw new Error('Expected file.type to be "FileReference"');let r,i;try{r=t.resolve(n.path,n.filename,t),n.fullPath=r,i=t.read(r,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"),n.str=i,"Extends"!==e.type&&"Include"!==e.type||(n.ast=gi.string(i,or({},t,{filename:r})))}}))}function bi(e){return gi.validateOptions(e),or({resolve:gi.resolve,read:gi.read},e)}function vi(){throw ni.apply(null,arguments)}gi.string=function(e,t){const n=(t=or(bi(t),{src:e})).lex(e,t);return gi(t.parse(n,t),t)},gi.file=function(e,t){const n=(t=or(bi(t),{filename:e})).read(e);return gi.string(n,t)},gi.resolve=function(e,t,n){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]&&!n.basedir)throw new Error('the "basedir" option is required to use includes and extends with "absolute" paths');return e=mi.join("/"===e[0]?n.basedir:mi.dirname(t.trim()),e)},gi.read=function(e,t){if(t.staticFs){const n=t.staticFs[e]||t.staticFs[e.replace(/\//g,"\\")]||t.staticFs[e.replace(/\\/g,"/")];if(!n){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 n}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 n="Extends"===e.nodes[0].type;!function(e,t){var n=!1;fi(e,(function(e){"Extends"===e.type&&(t&&!n?n=!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,n),n&&(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 n=Ei(e.file.ast);n.hasExtends&&(n=function(e){return fi(e,(function(e,t){"NamedBlock"===e.type&&t({type:"Block",nodes:e.nodes})}))}(n)),t(function(e,t){if(!t||!t.nodes.length)return e;var n=!1;function r(e){var t=e;for(const n of e.nodes)n.textOnly||("Block"===n.type?t=r(n):n.block&&n.block.nodes.length&&(t=r(n.block)));return t}e=fi(e,null,(function(e,r){"YieldBlock"===e.type&&(n=!0,e.type="Block",e.nodes=[t])})),n||r(e).nodes.push(t);return e}(n,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 r=[],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?r.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 a=Ei(t.file.ast);!function(e,t){var n={};fi(t,(function(t){if("NamedBlock"===t.type){if(n[t.name]===t.name)return t.ignore=!0;n[t.name]=t.name;var r=e[t.name]?Di(e[t.name]):[];r.length&&(t.parents=r,r.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 n[e.name]}))}(a.declaredBlocks,e);var s=[];return fi(a,(function(e){"NamedBlock"===e.type&&s.push(e.name)})),i.forEach((function(e){-1===s.indexOf(e.name)&&vi("UNEXPECTED_BLOCK","Unexpected block "+e.name,e)})),Object.keys(e.declaredBlocks).forEach((function(t){a.declaredBlocks[t]=e.declaredBlocks[t]})),a.nodes=r.concat(a.nodes),a.hasExtends=!0,a}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},wi={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}'},Pi=function(e){var t=[];e=e.filter((function(e){return!Ai[e]}));for(var n=0;n]/;function Oi(e){var t=""+e,n=Ii.exec(t);if(!n)return e;var r,i,a,s="";for(r=n.index,i=0;r ":" ")+n+"| "+e})).join("\n");throw t.path=n,t.message=(n||"Pug")+":"+r+"\n"+a+"\n\n"+t.message,t}},ji=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const n=!0,r=!0,i=!0,a=!0;class s{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 n=new s(e,t);return o.set(e,n),n}function l(e,t){return new s(e,{beforeExpr:n,binop:t})}const c={num:new s("num",{startsExpr:r}),bigint:new s("bigint",{startsExpr:r}),decimal:new s("decimal",{startsExpr:r}),regexp:new s("regexp",{startsExpr:r}),string:new s("string",{startsExpr:r}),name:new s("name",{startsExpr:r}),eof:new s("eof"),bracketL:new s("[",{beforeExpr:n,startsExpr:r}),bracketHashL:new s("#[",{beforeExpr:n,startsExpr:r}),bracketBarL:new s("[|",{beforeExpr:n,startsExpr:r}),bracketR:new s("]"),bracketBarR:new s("|]"),braceL:new s("{",{beforeExpr:n,startsExpr:r}),braceBarL:new s("{|",{beforeExpr:n,startsExpr:r}),braceHashL:new s("#{",{beforeExpr:n,startsExpr:r}),braceR:new s("}"),braceBarR:new s("|}"),parenL:new s("(",{beforeExpr:n,startsExpr:r}),parenR:new s(")"),comma:new s(",",{beforeExpr:n}),semi:new s(";",{beforeExpr:n}),colon:new s(":",{beforeExpr:n}),doubleColon:new s("::",{beforeExpr:n}),dot:new s("."),question:new s("?",{beforeExpr:n}),questionDot:new s("?."),arrow:new s("=>",{beforeExpr:n}),template:new s("template"),ellipsis:new s("...",{beforeExpr:n}),backQuote:new s("`",{startsExpr:r}),dollarBraceL:new s("${",{beforeExpr:n,startsExpr:r}),at:new s("@"),hash:new s("#",{startsExpr:r}),interpreterDirective:new s("#!..."),eq:new s("=",{beforeExpr:n,isAssign:true}),assign:new s("_=",{beforeExpr:n,isAssign:true}),incDec:new s("++/--",{prefix:a,postfix:!0,startsExpr:r}),bang:new s("!",{beforeExpr:n,prefix:a,startsExpr:r}),tilde:new s("~",{beforeExpr:n,prefix:a,startsExpr:r}),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 s("+/-",{beforeExpr:n,binop:9,prefix:a,startsExpr:r}),modulo:new s("%",{beforeExpr:n,binop:10,startsExpr:r}),star:new s("*",{binop:10}),slash:l("/",10),exponent:new s("**",{beforeExpr:n,binop:11,rightAssociative:!0}),_break:u("break"),_case:u("case",{beforeExpr:n}),_catch:u("catch"),_continue:u("continue"),_debugger:u("debugger"),_default:u("default",{beforeExpr:n}),_do:u("do",{isLoop:i,beforeExpr:n}),_else:u("else",{beforeExpr:n}),_finally:u("finally"),_for:u("for",{isLoop:i}),_function:u("function",{startsExpr:r}),_if:u("if"),_return:u("return",{beforeExpr:n}),_switch:u("switch"),_throw:u("throw",{beforeExpr:n,prefix:a,startsExpr:r}),_try:u("try"),_var:u("var"),_const:u("const"),_while:u("while",{isLoop:i}),_with:u("with"),_new:u("new",{beforeExpr:n,startsExpr:r}),_this:u("this",{startsExpr:r}),_super:u("super",{startsExpr:r}),_class:u("class",{startsExpr:r}),_extends:u("extends",{beforeExpr:n}),_export:u("export"),_import:u("import",{startsExpr:r}),_null:u("null",{startsExpr:r}),_true:u("true",{startsExpr:r}),_false:u("false",{startsExpr:r}),_in:u("in",{beforeExpr:n,binop:7}),_instanceof:u("instanceof",{beforeExpr:n,binop:7}),_typeof:u("typeof",{beforeExpr:n,prefix:a,startsExpr:r}),_void:u("void",{beforeExpr:n,prefix:a,startsExpr:r}),_delete:u("delete",{beforeExpr:n,prefix:a,startsExpr:r})},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,n,r){this.token=void 0,this.isExpr=void 0,this.preserveSpace=void 0,this.override=void 0,this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r}}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 w=[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],P=[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 n=65536;for(let r=0,i=t.length;re)return!1;if(n+=t[r+1],n>=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,w)))}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,w)||C(e,P))))}const F=["implements","interface","let","package","private","protected","public","static","yield"],I=["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(F),j=new Set(I);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 W=256,z=128,q=1024,H=2048;class X{constructor(e){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=e}}class J{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 X(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,n){let r=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(r,e,t,n),16&t?r.functions.push(e):r.lexical.push(e),8&t&&this.maybeExportDefined(r,e);else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,e,t,n),r.var.push(e),this.maybeExportDefined(r,e),!(259&r.flags));--i);this.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,n,r){this.isRedeclaredInScope(e,t,n)&&this.raise(r,v.VarRedeclaration,t)}isRedeclaredInScope(e,t,n){return!!(1&n)&&(8&n?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:16&n?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 $ extends X{constructor(...e){super(...e),this.declareFunctions=[]}}class Y extends J{createScope(e){return new $(e)}declareName(e,t,n){const r=this.currentScope();if(t&H)return this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e),void r.declareFunctions.push(e);super.declareName(...arguments)}isRedeclaredInScope(e,t,n){return!!super.isRedeclaredInScope(...arguments)||!!(n&H)&&(!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 K=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 ne={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:"♦"},re=/^[\da-fA-F]+$/,ie=/^\d+$/,ae=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 se(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 s("jsxName"),c.jsxText=new s("jsxText",{beforeExpr:!0}),c.jsxTagStart=new s("jsxTagStart",{startsExpr:!0}),c.jsxTagEnd=new s("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 X{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class le extends J{createScope(e){return new ue(e)}declareName(e,t,n){const r=this.currentScope();if(t&q)return this.maybeExportDefined(r,e),void r.exportOnlyBindings.push(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e)),r.types.push(e)),256&t&&r.enums.push(e),512&t&&r.constEnums.push(e),t&z&&r.classes.push(e)}isRedeclaredInScope(e,t,n){if(e.enums.indexOf(t)>-1){if(256&n){return!!(512&n)!==e.constEnums.indexOf(t)>-1}return!0}return n&z&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(1&n):!!(2&n&&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 s("%%",{startsExpr:!0});function ye(e,t){return e.some((e=>Array.isArray(e)?e[0]===t:e===t))}function ge(e,t,n){const r=e.find((e=>Array.isArray(e)?e[0]===t:e===t));return r&&Array.isArray(r)?r[1][n]:null}const be=["minimal","smart","fsharp"],ve=["hash","bar"];const xe={estree:e=>class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let n=null;try{n=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(n);return r.regex={pattern:e,flags:t},r}estreeParseBigIntLiteral(e){let t;try{t=BigInt(e)}catch(e){t=null}const n=this.estreeParseLiteral(t);return n.bigint=String(n.value||e),n}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,n=this.startNodeAt(e.start,e.loc.start),r=this.startNodeAt(t.start,t.loc.start);return r.value=t.extra.expressionValue,r.raw=t.extra.raw,n.expression=this.finishNodeAt(r,"Literal",t.end,t.loc.end),n.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(n,"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),n=e.expression.value;return this.addExtra(t.value,"expressionValue",n),t}parseBlockBody(e,...t){super.parseBlockBody(e,...t);const n=e.directives.map((e=>this.directiveToStmt(e)));e.body=n.concat(e.body),delete e.directives}pushClassMethod(e,t,n,r,i,a){this.parseMethod(t,n,r,i,a,"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,n,r){const i=super.parseLiteral(e,t,n,r);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(e,t,n=!1){super.parseFunctionBody(e,t,n),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,n,r,i,a,s=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,n,r,i,a,s),o.type="FunctionExpression",delete o.kind,e.value=o,"ClassPrivateMethod"===a&&(e.computed=!1),a="MethodDefinition",this.finishNode(e,a)}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,n,r,i){const a=super.parseObjectMethod(e,t,n,r,i);return a&&(a.type="Property","method"===a.kind&&(a.kind="init"),a.shorthand=!1),a}parseObjectProperty(e,t,n,r,i){const a=super.parseObjectProperty(e,t,n,r,i);return a&&(a.kind="init",a.type="Property"),a}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,n,r,i){const a=super.parseSubscript(e,t,n,r,i);if(i.optionalChainMember){if("OptionalMemberExpression"!==a.type&&"OptionalCallExpression"!==a.type||(a.type=a.type.substring(8)),i.stop){const e=this.startNodeAtNode(a);return e.expression=a,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==a.type&&"CallExpression"!==a.type||(a.optional=!1);return a}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,ae.UnterminatedJsxContent);const n=this.input.charCodeAt(this.state.pos);switch(n){case 60:case 123:return this.state.pos===this.state.start?60===n&&this.state.exprAllowed?(++this.state.pos,this.finishToken(c.jsxTagStart)):super.getTokenFromCode(n):(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(n)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let n;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,n=e?"\n":"\r\n"):n=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(e){let t="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,v.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadEntity(),n=this.state.pos):d(r)?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadNewLine(!1),n=this.state.pos):++this.state.pos}return t+=this.input.slice(n,this.state.pos++),this.finishToken(c.string,t)}jsxReadEntity(){let e,t="",n=0,r=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 n=this.flowParseType();return this.state.inType=t,n}flowParsePredicate(){const e=this.startNode(),t=this.state.startLoc,n=this.state.start;this.expect(c.modulo);const r=this.state.startLoc;return this.expectContextual("checks"),t.line===r.line&&t.column===r.column-1||this.raise(n,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,n=null;return this.match(c.modulo)?(this.state.inType=e,n=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(c.modulo)&&(n=this.flowParsePredicate())),[t,n]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),n=this.startNode(),r=this.startNode();this.isRelational("<")?n.typeParameters=this.flowParseTypeParameterDeclaration():n.typeParameters=null,this.expect(c.parenL);const i=this.flowParseFunctionTypeParams();return n.params=i.params,n.rest=i.rest,n.this=i._this,this.expect(c.parenR),[n.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(n,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(r,"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(),n=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)),n.push(e)}this.scope.exit(),this.expect(c.braceR),this.finishNode(t,"BlockStatement");let r=null,i=!1;return n.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"===r&&this.raise(e.start,G.AmbiguousDeclareModuleKind),r="CommonJS",i=!0):("CommonJS"===r&&this.raise(e.start,G.AmbiguousDeclareModuleKind),r="ES")})),e.kind=r||"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,n){K.has(e)&&this.raise(t,n?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,n=this.startNode(),r=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return n.name=i.name,n.variance=r,n.bound=i.typeAnnotation,this.match(c.eq)?(this.eat(c.eq),n.default=this.flowParseType()):e&&this.raise(t,G.MissingTypeParamDefault),this.finishNode(n,"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 n=!1;do{const e=this.flowParseTypeParameter(n);t.params.push(e),e.default&&(n=!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 n=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=n,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,n){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=n,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 n=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(n),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:n,allowProto:r,allowInexact:i}){const a=this.state.inType;this.state.inType=!0;const s=this.startNode();let o,u;s.callProperties=[],s.properties=[],s.indexers=[],s.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),s.exact=u;!this.match(o);){let t=!1,a=null,o=null;const p=this.startNode();if(r&&this.isContextual("proto")){const t=this.lookahead();t.type!==c.colon&&t.type!==c.question&&(this.next(),a=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!=a&&this.unexpected(a),this.eat(c.bracketL)?(h&&this.unexpected(h.start),s.internalSlots.push(this.flowParseObjectTypeInternalSlot(p,t))):s.indexers.push(this.flowParseObjectTypeIndexer(p,t,h));else if(this.match(c.parenL)||this.isRelational("<"))null!=a&&this.unexpected(a),h&&this.unexpected(h.start),s.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 r=this.flowParseObjectTypeProperty(p,t,a,h,e,n,null!=i?i:!u);null===r?(l=!0,o=this.state.lastTokStart):s.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(c.braceR)||this.match(c.braceBarR)||this.raise(o,G.UnexpectedExplicitInexactInObject)}this.expect(o),n&&(s.inexact=l);const p=this.finishNode(s,"ObjectTypeAnnotation");return this.state.inType=a,p}flowParseObjectTypeProperty(e,t,n,r,i,a,s){if(this.eat(c.ellipsis)){return this.match(c.comma)||this.match(c.semi)||this.match(c.braceR)||this.match(c.braceBarR)?(a?s||this.raise(this.state.lastTokStart,G.InexactInsideExact):this.raise(this.state.lastTokStart,G.InexactInsideNonObject),r&&this.raise(r.start,G.InexactVariance),null):(a||this.raise(this.state.lastTokStart,G.UnexpectedSpreadType),null!=n&&this.unexpected(n),r&&this.raise(r.start,G.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"))}{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=n,e.kind=i;let s=!1;return this.isRelational("<")||this.match(c.parenL)?(e.method=!0,null!=n&&this.unexpected(n),r&&this.unexpected(r.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(e),!a&&"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)&&(s=!0),e.value=this.flowParseTypeInitialiser(),e.variance=r),e.optional=s,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,n=e.start,r=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),r!==t&&("get"===e.kind?this.raise(n,v.BadGetterArity):this.raise(n,v.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(n,v.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(c.semi)||this.eat(c.comma)||this.match(c.braceR)||this.match(c.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,n){e=e||this.state.start,t=t||this.state.startLoc;let r=n||this.flowParseRestrictedIdentifier(!0);for(;this.eat(c.dot);){const n=this.startNodeAt(e,t);n.qualification=r,n.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(n,"QualifiedTypeIdentifier")}return r}flowParseGenericType(e,t,n){const r=this.startNodeAt(e,t);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(e,t,n),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"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,n))):super.parseFunctionBody(e,!1,n)}parseFunctionBodyAndFinish(e,t,n=!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,n)}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 n=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(n)||(this.flowPragma=null),n}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,n,r){if(!this.match(c.question))return e;if(r){const i=this.tryParse((()=>super.parseConditional(e,t,n)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,e)}this.expect(c.question);const i=this.state.clone(),a=this.state.noArrowAt,s=this.startNodeAt(t,n);let{consequent:o,failed:u}=this.tryParseConditionalConsequent(),[l,p]=this.getArrowLikeExpressions(o);if(u||p.length>0){const e=[...a];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=a,this.expect(c.colon),s.test=e,s.consequent=o,s.alternate=this.forwardNoArrowParamsConversionAt(s,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(s,"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 n=[e],r=[];for(;0!==n.length;){const e=n.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):r.push(e),n.push(e.body)):"ConditionalExpression"===e.type&&(n.push(e.consequent),n.push(e.alternate))}return t?(r.forEach((e=>this.finishArrowValidation(e))),[r,[]]):function(e,t){const n=[],r=[];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 n;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),n=t(),this.state.noArrowParamsConversionAt.pop()):n=t(),n}parseParenItem(e,t,n){if(e=super.parseParenItem(e,t,n),this.eat(c.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(c.colon)){const r=this.startNodeAt(t,n);return r.expression=e,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,"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,n=super.maybeParseExportNamespaceSpecifier(e);return n&&"type"===e.exportKind&&this.unexpected(t),n}parseClassId(e,t,n){super.parseClassId(e,t,n),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,n){const r=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,n),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(r,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,n)=>"ObjectMethod"!==e.type&&(n===t||"SpreadElement"===e.type)&&this.isAssignable(e)))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every((e=>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,n){for(let t=0;t1)&&t||this.raise(i.typeAnnotation.start,G.TypeCastInPattern)}return e}parseArrayLike(e,t,n,r){const i=super.parseArrayLike(e,t,n,r);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,n,r,i,a){if(t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,n,r,i,a),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,n,r){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,n,r)}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 n=t[0];this.isThisParam(n)&&"get"===e.kind?this.raise(n.start,G.GetterMayNotHaveThisParam):this.isThisParam(n)&&this.raise(n.start,G.SetterMayNotHaveThisParam)}}parsePropertyName(e,t){const n=this.flowParseVariance(),r=super.parsePropertyName(e,t);return e.variance=n,r}parseObjPropValue(e,t,n,r,i,a,s,o){let u;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!s&&(u=this.flowParseTypeParameterDeclaration(),this.match(c.parenL)||this.unexpected()),super.parseObjPropValue(e,t,n,r,i,a,s,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,n){const r=super.parseMaybeDefault(e,t,n);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(e,t,n)),a),!i.error)return i.node;const{context:r}=this.state;r[r.length-1]===E.j_oTag?r.length-=2:r[r.length-1]===E.j_expr&&(r.length-=1)}if(null!=(r=i)&&r.error||this.isRelational("<")){var s,o;let r;a=a||this.state.clone();const u=this.tryParse((i=>{var a;r=this.flowParseTypeParameterDeclaration();const s=this.forwardNoArrowParamsConversionAt(r,(()=>{const i=super.parseMaybeAssign(e,t,n);return this.resetStartLocationFromNode(i,r),i}));"ArrowFunctionExpression"!==s.type&&null!=(a=s.extra)&&a.parenthesized&&i();const o=this.maybeUnwrapTypeCastExpression(s);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),s}),a);let l=null;if(u.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(u.node).type){if(!u.error&&!u.aborted)return u.node.async&&this.raise(r.start,G.UnexpectedTypeParameterBeforeAsyncArrowFunction),u.node;l=u.node}if(null!=(s=i)&&s.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(r.start,G.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,n)}parseArrow(e){if(this.match(c.colon)){const t=this.tryParse((()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const n=this.startNode();return[n.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(c.arrow)||this.unexpected(),n}));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,n){if(!n||-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,n,r){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const r=this.startNodeAt(t,n);r.callee=e,r.arguments=this.parseCallExpressionArguments(c.parenR,!1),e=this.finishNode(r,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const i=this.state.clone(),a=this.tryParse((e=>this.parseAsyncArrowWithTypeParameters(t,n)||e()),i);if(!a.error&&!a.aborted)return a.node;const s=this.tryParse((()=>super.parseSubscripts(e,t,n,r)),i);if(s.node&&!s.error)return s.node;if(a.node)return this.state=a.failState,a.node;if(s.node)return this.state=s.failState,s.node;throw a.error||s.error}return super.parseSubscripts(e,t,n,r)}parseSubscript(e,t,n,r,i){if(this.match(c.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,r)return i.stop=!0,e;this.next();const a=this.startNodeAt(t,n);return a.callee=e,a.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(c.parenL),a.arguments=this.parseCallExpressionArguments(c.parenR,!1),a.optional=!0,this.finishCallExpression(a,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(t,n);r.callee=e;const a=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(c.parenL),r.arguments=this.parseCallExpressionArguments(c.parenR,!1),i.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,i.optionalChainMember))));if(a.node)return a.error&&(this.state=a.failState),a.node}return super.parseSubscript(e,t,n,r,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 n=this.startNodeAt(e,t);if(this.parseFunctionParams(n),this.parseArrow(n))return this.parseArrowExpression(n,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 n=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,G.UnterminatedFlowComment),n}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 n=this.input.charCodeAt(t+e),r=this.input.charCodeAt(t+e+1);return 58===n&&58===r?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===n&&58!==r&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,v.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:n}){this.raise(e,G.EnumBooleanMemberNotInitialized,n,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:n}){const r=n[0].toUpperCase()+n.slice(1);this.raise(e,G.EnumInvalidMemberName,n,r,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:n}){this.raise(e,G.EnumDuplicateMemberName,n,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,G.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:n}){return this.raise(e,null===n?G.EnumInvalidExplicitTypeUnknownSupplied:G.EnumInvalidExplicitType,t,n)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:n,memberName:r}){let i=null;switch(n){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,r,n)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:n}){this.raise(e,G.EnumNumberMemberNotInitialized,t,n)}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 n=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:n.start,value:n}:{type:"invalid",pos:e}}case c.string:{const n=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:n.start,value:n}:{type:"invalid",pos:e}}case c._true:case c._false:{const n=this.parseBooleanLiteral();return t()?{type:"boolean",pos:n.start,value:n}:{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,n){const{explicitType:r}=t;null!==r&&r!==n&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const n=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let i=!1;for(;!this.match(c.braceR);){if(this.eat(c.ellipsis)){i=!0;break}const a=this.startNode(),{id:s,init:o}=this.flowEnumMemberRaw(),u=s.name;if(""===u)continue;/^[a-z]/.test(u)&&this.flowEnumErrorInvalidMemberName(s.start,{enumName:e,memberName:u}),n.has(u)&&this.flowEnumErrorDuplicateMemberName(s.start,{enumName:e,memberName:u}),n.add(u);const l={enumName:e,explicitType:t,memberName:u};switch(a.id=s,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.pos,l,"boolean"),a.init=o.value,r.booleanMembers.push(this.finishNode(a,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.pos,l,"number"),a.init=o.value,r.numberMembers.push(this.finishNode(a,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.pos,l,"string"),a.init=o.value,r.stringMembers.push(this.finishNode(a,"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:r.defaultedMembers.push(this.finishNode(a,"EnumDefaultedMember"))}}this.match(c.braceR)||this.expect(c.comma)}return{members:r,hasUnknownMembers:i}}flowEnumStringMembers(e,t,{enumName:n}){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:n});return t}for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitailized(e.start,{enumName:n});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:n}){const r=this.flowEnumParseExplicitType({enumName:t});this.expect(c.braceL);const{members:i,hasUnknownMembers:a}=this.flowEnumMembers({enumName:t,explicitType:r});switch(e.hasUnknownMembers=a,r){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 r=()=>(e.members=[],this.expect(c.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const a=i.booleanMembers.length,s=i.numberMembers.length,o=i.stringMembers.length,u=i.defaultedMembers.length;if(a||s||o||u){if(a||s){if(!s&&!o&&a>=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(!a&&!o&&s>=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(n,{enumName:t}),r()}return e.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:t}),this.expect(c.braceR),this.finishNode(e,"EnumStringBody")}return r()}}}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,n,r){for(;;){const i=this.state.start,a=this.tsParseModifier(t.concat(null!=n?n:[]));if(!a)break;me(a)?e.accessibility?this.raise(i,fe.DuplicateAccessibilityModifier):e.accessibility=a:(Object.hasOwnProperty.call(e,a)&&this.raise(i,fe.DuplicateModifier,a),e[a]=!0),null!=n&&n.includes(a)&&this.raise(i,r,a)}}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 n=[];for(;!this.tsIsListTerminator(e);)n.push(t());return n}tsParseDelimitedList(e,t){return he(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,n){const r=[];for(;!this.tsIsListTerminator(e);){const i=t();if(null==i)return;if(r.push(i),!this.eat(c.comma)){if(this.tsIsListTerminator(e))break;return void(n&&this.expect(c.comma))}}return r}tsParseBracketedList(e,t,n,r){r||(n?this.expect(c.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(e,t);return n?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 n=this.startNodeAtNode(t);n.left=t,n.right=this.parseIdentifier(e),t=this.finishNode(n,"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 n=e===c.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(c.parenL),t.parameters=this.tsParseBindingListForSignature(),(n||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 n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(c.question)&&(e.optional=!0);const n=e;if(this.match(c.parenL)||this.isRelational("<")){t&&this.raise(e.start,fe.ReadonlyForMethodSignature);const r=n;return this.tsFillSignature(c.colon,r),this.tsParseTypeMemberSemicolon(),this.finishNode(r,"TSMethodSignature")}{const e=n;t&&(e.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),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,n=null;return e.elementTypes.forEach((e=>{var r;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 a="TSNamedTupleMember"===i;n=null!=(r=n)?r:a,n!==a&&this.raise(e.start,fe.MixedLabeledAndUnlabeledElements)})),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,n=this.eat(c.ellipsis);let r=this.tsParseType();const i=this.eat(c.question);if(this.eat(c.colon)){const e=this.startNodeAtNode(r);e.optional=i,"TSTypeReference"!==r.type||r.typeParameters||"Identifier"!==r.typeName.type?(this.raise(r.start,fe.InvalidTupleMemberLabel),e.label=r):e.label=r.typeName,e.elementType=this.tsParseType(),r=this.finishNode(e,"TSNamedTupleMember")}else if(i){const e=this.startNodeAtNode(r);e.typeAnnotation=r,r=this.finishNode(e,"TSOptionalType")}if(n){const n=this.startNodeAt(e,t);n.typeAnnotation=r,r=this.finishNode(n,"TSRestType")}return r}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 n=this.startNode();return"TSConstructorType"===e&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsFillSignature(c.arrow,n),this.finishNode(n,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,n){const r=this.startNode(),i=this.eat(n),a=[];do{a.push(t())}while(this.eat(n));return 1!==a.length||i?(r.types=a,this.finishNode(r,e)):a[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 n=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(c._this)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(n.parameterName=e,n.asserts=!0,e=this.finishNode(n,"TSTypePredicate")):(this.resetStartLocationFromNode(e,n),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(n.parameterName=this.parseIdentifier(),n.asserts=r,t.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const a=this.tsParseTypeAnnotation(!1);return n.parameterName=i,n.typeAnnotation=a,n.asserts=r,t.typeAnnotation=this.finishNode(n,"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,n=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return n.length||this.raise(t,fe.EmptyHeritageClauseType,e),n}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(W),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(W),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(),n=e();return this.state=t,n}tsTryParseAndCatch(e){const t=this.tryParse((t=>e()||t()));if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),n=e();return void 0!==n&&!1!==n?n:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,n=this.state.type;return this.isContextual("let")&&(n=c._var,t="let"),this.tsInDeclareContext((()=>{switch(n){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(W),this.prodParam.enter(0);const n=e;return n.global=!0,n.id=t,n.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(n,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,n){switch(t){case"abstract":if(this.tsCheckLineTerminator(n)&&(this.match(c._class)||this.match(c.name)))return this.tsParseAbstractDeclaration(e);break;case"enum":if(n||this.match(c.name))return n&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminator(n)&&this.match(c.name))return this.tsParseInterfaceDeclaration(e);break;case"module":if(this.tsCheckLineTerminator(n)){if(this.match(c.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.match(c.name))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(n)&&this.match(c.name))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(n)&&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 n=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const n=this.startNodeAt(e,t);return n.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(n),n.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(c.arrow),n}));return this.state.maybeInArrowParameters=n,r?this.parseArrowExpression(r,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 n=this.state.start,r=this.state.startLoc;let i,a=!1;void 0!==e&&(i=this.parseAccessModifier(),a=!!this.tsParseModifier(["readonly"]),!1===e&&(i||a)&&this.raise(n,fe.UnexpectedParameterModifier));const s=this.parseMaybeDefault();this.parseAssignableListItemTypes(s);const o=this.parseMaybeDefault(s.start,s.loc.start,s);if(i||a){const e=this.startNodeAt(n,r);return t.length&&(e.decorators=t),i&&(e.accessibility=i),a&&(e.readonly=a),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,fe.UnsupportedParameterPropertyKind),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(s.decorators=t),o}parseFunctionBodyAndFinish(e,t,n=!1){this.match(c.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(c.colon));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;r&&!this.match(c.braceL)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isDeclareContext&&(this.raise(e.start,fe.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,r,n):super.parseFunctionBodyAndFinish(e,t,n)}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,n,r,i){if(!this.hasPrecedingLineBreak()&&this.match(c.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(t,n);return r.expression=e,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const a=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,n);if(e)return e}const a=this.startNodeAt(t,n);a.callee=e;const s=this.tsParseTypeArguments();if(s){if(!r&&this.eat(c.parenL))return a.arguments=this.parseCallExpressionArguments(c.parenR,!1),this.tsCheckForInvalidTypeCasts(a.arguments),a.typeParameters=s,i.optionalChainMember&&(a.optional=!1),this.finishCallExpression(a,i.optionalChainMember);if(this.match(c.backQuote)){const r=this.parseTaggedTemplateExpression(e,t,n,i);return r.typeParameters=s,r}}this.unexpected()}));if(a)return a}return super.parseSubscript(e,t,n,r,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,n,r){if(he(c._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(t,n);i.expression=e;const a=this.tsTryNextParseConstantContext();return i.typeAnnotation=a||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,t,n,r)}return super.parseExprOp(e,t,n,r)}checkReservedWord(e,t,n,r){}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,n){this.tsParseModifiers(t,["declare","private","public","protected"]);const r=()=>{super.parseClassMember(e,t,n)};t.declare?this.tsInDeclareContext(r):r()}parseClassMemberWithIsStatic(e,t,n,r){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),r&&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,n,r)}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,n,r){if(!r||!this.match(c.question))return super.parseConditional(e,t,n,r);const i=this.tryParse((()=>super.parseConditional(e,t,n)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,e)}parseParenItem(e,t,n){if(e=super.parseParenItem(e,t,n),this.eat(c.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(c.colon)){const r=this.startNodeAt(t,n);return r.expression=e,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,n=this.state.startLoc,r=this.eatContextual("declare");if(r&&(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||r)&&(e.exportKind="type"),i&&r&&(this.resetStartLocation(i,t,n),i.declare=!0),i}parseClassId(e,t,n){if((!t||n)&&this.isContextual("implements"))return;super.parseClassId(e,t,n,e.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r)}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,n,r,i,a){const s=this.tsTryParseTypeParameters();s&&i&&this.raise(s.start,fe.ConstructorHasTypeParameters),s&&(t.typeParameters=s),super.pushClassMethod(e,t,n,r,i,a)}pushClassPrivateMethod(e,t,n,r){const i=this.tsTryParseTypeParameters();i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,n,r)}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 n=this.tsTryParseTypeParameters();n&&(e.typeParameters=n),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const n=this.tsTryParseTypeParameters();n&&(e.typeParameters=n),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(c.bang)&&(e.definite=!0);const n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(c.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,n,r,i,a,s,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 n;h=this.tsParseTypeParameters();const r=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==r.type||r.extra&&r.extra.parenthesized)&&t(),0!==(null==(n=h)?void 0:n.params.length)&&this.resetStartLocationFromNode(r,h),r.typeParameters=h,r}),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!=(n=l)&&n.node)return this.state=l.failState,l.node;if(d.node)return this.state=d.failState,d.node;if(null!=(r=p)&&r.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!=(a=p)&&a.thrown)throw p.error;throw(null==(s=l)?void 0:s.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,...n){switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,"parameter property",...n);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(e.expression,t,...n);default:return void super.checkLVal(e,t,...n)}}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 n=super.parseMaybeDecoratorArguments(e);return n.typeParameters=t,n}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),n=this.getObjectOrClassMethodParams(e)[0];return n&&"Identifier"===n.type&&"this"===n.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 n=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,...t)}finally{this.state.inAbstractClass=n}}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),n=this.createIdentifier(t,e);if(n.type="V8IntrinsicIdentifier",this.match(c.parenL))return n}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 n=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,n?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 n=e;return n.label=this.finishPlaceholder(t,"Identifier"),this.next(),n.body=this.parseStatement("label"),this.finishNode(n,"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,n){const r=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const i=this.state.strict,a=this.parsePlaceholder("Identifier");if(a)if(this.match(c._extends)||this.match(c.placeholder)||this.match(c.braceL))e.id=a;else{if(n||!t)return e.id=null,e.body=this.finishPlaceholder(a,"ClassBody"),this.finishNode(e,r);this.unexpected(null,"A class name is required")}else this.parseClassId(e,t,n);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}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 n=this.startNode();return n.exported=t,e.specifiers=[this.finishNode(n,"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 n=this.startNodeAtNode(t);if(n.local=t,this.finishNode(n,"ImportDefaultSpecifier"),e.specifiers.push(n),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,n=Object.keys(this);for(let r=0,i=n.length;r=48&&e<=57};const Ae=new Set(["g","m","s","i","y","u"]),we={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Pe={bin:[48,49]};Pe.oct=[...Pe.bin,50,51,52,53,54,55],Pe.dec=[...Pe.oct,56,57],Pe.hex=[...Pe.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[n,r]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(n)||t.undefinedPrivateNames.set(n,r):this.raise(r,v.InvalidPrivateFieldResolution,n)}declarePrivateName(e,t,n){const r=this.current();let i=r.privateNames.has(e);if(3&t){const n=i&&r.loneAccessors.get(e);if(n){const a=4&n,s=4&t;i=(3&n)===(3&t)||a!==s,i||r.loneAccessors.delete(e)}else i||r.loneAccessors.set(e,t)}i&&this.raise(n,v.PrivateNameRedeclaration,e),r.privateNames.add(e),r.undefinedPrivateNames.delete(e)}usePrivateName(e,t){let n;for(n of this.stack)if(n.privateNames.has(e))return;n?n.undefinedPrivateNames.set(e,t):this.raise(t,v.InvalidPrivateFieldResolution,e)}}class Fe{constructor(e=0){this.type=void 0,this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class Ie extends Fe{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 Fe],this.raise=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){const{stack:n}=this;let r=n.length-1,i=n[r];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(e,t),i=n[--r]}this.raise(e,t)}recordParenthesizedIdentifierError(e,t){const{stack:n}=this,r=n[n.length-1];if(r.isCertainlyParameterDeclaration())this.raise(e,t);else{if(!r.canBeArrowParameterDeclaration())return;r.recordDeclarationError(e,t)}}recordAsyncArrowParametersError(e,t){const{stack:n}=this;let r=n.length-1,i=n[r];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(e,t),i=n[--r]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors(((t,n)=>{this.raise(n,t);let r=e.length-2,i=e[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(n),i=e[--r]}))}}function Ne(){return new Fe}class je{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Me{constructor(e,t,n){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(n),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 n=0,r=t.length;n"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,n){if(0===this.state.leadingComments.length)return;let r=null,i=t.length;for(;null===r&&i>0;)r=t[--i];if(null===r)return;for(let e=0;e0?r.trailingComments=a:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let n,r,i,a,s;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 n=b(t);n.trailingComments&&n.trailingComments[0].start>=e.end&&(i=n.trailingComments,delete n.trailingComments)}for(t.length>0&&b(t).start>=e.start&&(n=t.pop());t.length>0&&b(t).start>=e.start;)r=t.pop();if(!r&&n&&(r=n),n)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(r){if(r.leadingComments)if(r!==e&&r.leadingComments.length>0&&b(r.leadingComments).end<=e.start)e.leadingComments=r.leadingComments,delete r.leadingComments;else for(a=r.leadingComments.length-2;a>=0;--a)if(r.leadingComments[a].end<=e.start){e.leadingComments=r.leadingComments.splice(0,a+1);break}}else if(this.state.leadingComments.length>0)if(b(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(s=0;s0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(a=0;ae.start);a++);const t=this.state.leadingComments.slice(0,a);t.length&&(e.leadingComments=t),i=this.state.leadingComments.slice(a),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 n,r=1,i=0;for(h.lastIndex=0;(n=h.exec(e))&&n.indexn[t]))+` (${r.line}:${r.column})`;if(this.options.errorRecovery){const t=this.state.errors;for(let n=t.length-1;n>=0;n--){const r=t[n];if(r.pos===e)return Object.assign(r,{message:i});if(r.posr[t]))+` (${i.line}:${i.column})`;return this._raise(Object.assign({loc:i,pos:e},t),a)}_raise(e,t){const n=new SyntaxError(t);if(Object.assign(n,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(n),n;throw n}}{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,n,r,i,a){const s={type:e?"CommentBlock":"CommentLine",value:t,start:n,end:r,loc:new g(i,a)};this.options.tokens&&this.pushToken(s),this.state.comments.push(s),this.addComment(s)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,n=this.input.indexOf("*/",this.state.pos+2);if(-1===n)throw this.raise(t,v.UnterminatedComment);let r;for(this.state.pos=n+2,h.lastIndex=t;(r=h.exec(this.input))&&r.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 n=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,n)}readRegexp(){const e=this.state.pos;let t,n;for(;;){if(this.state.pos>=this.length)throw this.raise(e,v.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(p.test(r))throw this.raise(e,v.UnterminatedRegExp);if(t)t=!1;else{if("["===r)n=!0;else if("]"===r&&n)n=!1;else if("/"===r&&!n)break;t="\\"===r}++this.state.pos}const r=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:r,flags:i})}readInt(e,t,n,r=!0){const i=this.state.pos,a=16===e?we.hex:we.decBinOct,s=16===e?Pe.hex:10===e?Pe.dec:8===e?Pe.oct:Pe.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(!n)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===s.indexOf(t)||a.indexOf(e)>-1||a.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,v.UnexpectedNumericSeparator),r||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 n=!1;this.state.pos+=2;const r=this.readInt(e);null==r&&this.raise(this.state.start+2,v.InvalidDigit,e);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,n=!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(n){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(c.bigint,e)}else this.finishToken(c.num,r)}readNumber(e){const t=this.state.pos;let n=!1,r=!1,i=!1,a=!1,s=!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 n=e.indexOf("_");n>0&&this.raise(n+t,v.ZeroDigitNumericSeparator)}s=o&&!/[89]/.test(e)}let u=this.input.charCodeAt(this.state.pos);if(46!==u||s||(++this.state.pos,this.readInt(10),n=!0,u=this.input.charCodeAt(this.state.pos)),69!==u&&101!==u||s||(u=this.input.charCodeAt(++this.state.pos),43!==u&&45!==u||++this.state.pos,null===this.readInt(10)&&this.raise(t,v.InvalidOrMissingExponent),n=!0,a=!0,u=this.input.charCodeAt(this.state.pos)),110===u&&((n||o)&&this.raise(t,v.InvalidBigIntLiteral),++this.state.pos,r=!0),109===u&&(this.expectPlugin("decimal",this.state.pos),(a||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(r)return void this.finishToken(c.bigint,l);if(i)return void this.finishToken(c.decimal,l);const p=s?parseInt(l,8):parseFloat(l);this.finishToken(c.num,p)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const n=++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(n,v.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,v.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;if(92===r)t+=this.input.slice(n,this.state.pos),t+=this.readEscapedChar(!1),n=this.state.pos;else if(8232===r||8233===r)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(d(r))throw this.raise(this.state.start,v.UnterminatedString);++this.state.pos}}t+=this.input.slice(n,this.state.pos++),this.finishToken(c.string,t)}readTmplToken(){let e="",t=this.state.pos,n=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,v.UnterminatedTemplate);const r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(c.template)?36===r?(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,n?null:e));if(92===r){e+=this.input.slice(t,this.state.pos);const r=this.readEscapedChar(!0);null===r?n=!0:e+=r,t=this.state.pos}else if(d(r)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(r)}++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,n=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,n){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(n>=48&&n<=55){const t=this.state.pos-1;let n=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(n,8);r>255&&(n=n.slice(0,-1),r=parseInt(n,8)),this.state.pos+=n.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==n||56===i||57===i){if(e)return null;this.recordStrictModeErrors(t,v.StrictNumericEscape)}return String.fromCharCode(r)}return String.fromCharCode(n)}}readHexChar(e,t,n){const r=this.state.pos,i=this.readInt(16,e,t,!1);return null===i&&(n?this.raise(r,v.InvalidEscapeSequence):this.state.pos=r-1),i}readWord1(){let e="";this.state.containsEsc=!1;const t=this.state.pos;let n=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 n={node:null};try{const r=e(((e=null)=>{throw n.node=e,n}));if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:n,doubleProto:r}=e;if(!t)return n>=0||r>=0;n>=0&&this.unexpected(n),r>=0&&this.raise(r,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 n=this.state.exportedIdentifiers;this.state.exportedIdentifiers=[];const r=this.inModule;this.inModule=e;const i=this.scope,a=this.getScopeHandler();this.scope=new a(this.raise.bind(this),this.inModule);const s=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=n,this.inModule=r,this.scope=i,this.prodParam=s,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,n,r){return e.type=t,e.end=n,e.loc.end=r,this.options.ranges&&(e.range[1]=n),this.processComment(e),e}resetStartLocation(e,t,n){e.start=t,e.loc.start=n,this.options.ranges&&(e.range[0]=t)}resetEndLocation(e,t=this.state.lastTokEnd,n=this.state.lastTokEndLoc){e.end=t,e.loc.end=n,this.options.ranges&&(e.range[1]=t)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.start,t.loc.start)}}{toAssignable(e,t=!1){var n,r;let i;switch(("ParenthesizedExpression"===e.type||null!=(n=e.extra)&&n.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 n=0,r=e.properties.length,i=r-1;nthis.parseExpressionBase(t))):this.allowInAnd((()=>this.parseExpressionBase(t)))}parseExpressionBase(e){const t=this.state.start,n=this.state.startLoc,r=this.parseMaybeAssign(e);if(this.match(c.comma)){const i=this.startNodeAt(t,n);for(i.expressions=[r];this.eat(c.comma);)i.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return r}parseMaybeAssignDisallowIn(e,t,n){return this.disallowInAnd((()=>this.parseMaybeAssign(e,t,n)))}parseMaybeAssignAllowIn(e,t,n){return this.allowInAnd((()=>this.parseMaybeAssign(e,t,n)))}parseMaybeAssign(e,t,n){const r=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,r,i)),e}let a;e?a=!1:(e=new je,a=!0),(this.match(c.parenL)||this.match(c.name))&&(this.state.potentialArrowAt=this.state.start);let s=this.parseMaybeConditional(e,n);if(t&&(s=t.call(this,s,r,i)),this.state.type.isAssign){const t=this.startNodeAt(r,i),n=this.state.value;return t.operator=n,this.match(c.eq)?(t.left=this.toAssignable(s,!0),e.doubleProto=-1):t.left=s,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(s,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return a&&this.checkExpressionErrors(e,!0),s}parseMaybeConditional(e,t){const n=this.state.start,r=this.state.startLoc,i=this.state.potentialArrowAt,a=this.parseExprOps(e);return this.shouldExitDescending(a,i)?a:this.parseConditional(a,n,r,t)}parseConditional(e,t,n,r){if(this.eat(c.question)){const r=this.startNodeAt(t,n);return r.test=e,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(c.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,n=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseMaybeUnary(e);return this.shouldExitDescending(i,r)?i:this.parseExprOp(i,t,n,-1)}parseExprOp(e,t,n,r){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(c._in))&&i>r){const a=this.state.type;if(a===c.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const s=this.startNodeAt(t,n);s.left=e,s.operator=this.state.value,a!==c.exponent||"UnaryExpression"!==e.type||!this.options.createParenthesizedExpressions&&e.extra&&e.extra.parenthesized||this.raise(e.argument.start,v.UnexpectedTokenUnaryExponentiation);const o=a===c.logicalOR||a===c.logicalAND,u=a===c.nullishCoalescing;if(u&&(i=c.logicalAND.binop),this.next(),a===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);s.right=this.parseExprOpRightExpr(a,i),this.finishNode(s,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(s,t,n,r)}return e}parseExprOpRightExpr(e,t){const n=this.state.start,r=this.state.startLoc;switch(e){case c.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),n,r)));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(t)))}default:return this.parseExprOpBaseRightExpr(e,t)}}parseExprOpBaseRightExpr(e,t){const n=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),n,r,e.rightAssociative?t-1:t)}parseMaybeUnary(e){const t=this.state.start,n=this.state.startLoc,r=this.isContextual("await");if(r&&this.isAwaitAllowed())return this.next(),this.parseAwait(t,n);if(this.isContextual("module")&&123===this.lookaheadCharCode()&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const i=this.match(c.incDec),a=this.startNode();if(this.state.type.prefix){a.operator=this.state.value,a.prefix=!0,this.match(c._throw)&&this.expectPlugin("throwExpressions");const t=this.match(c._delete);if(this.next(),a.argument=this.parseMaybeUnary(),this.checkExpressionErrors(e,!0),this.state.strict&&t){const e=a.argument;"Identifier"===e.type?this.raise(a.start,v.StrictDelete):this.hasPropertyAsPrivateName(e)&&this.raise(a.start,v.DeletePrivateField)}if(!i)return this.finishNode(a,"UnaryExpression")}const s=this.parseUpdate(a,i,e);if(r){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,n)}return s}parseUpdate(e,t,n){if(t)return this.checkLVal(e.argument,"prefix operation"),this.finishNode(e,"UpdateExpression");const r=this.state.start,i=this.state.startLoc;let a=this.parseExprSubscripts(n);if(this.checkExpressionErrors(n,!1))return a;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(r,i);e.operator=this.state.value,e.prefix=!1,e.argument=a,this.checkLVal(a,"postfix operation"),this.next(),a=this.finishNode(e,"UpdateExpression")}return a}parseExprSubscripts(e){const t=this.state.start,n=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprAtom(e);return this.shouldExitDescending(i,r)?i:this.parseSubscripts(i,t,n)}parseSubscripts(e,t,n,r){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,n,r,i),i.maybeAsyncArrow=!1}while(!i.stop);return e}parseSubscript(e,t,n,r,i){if(!r&&this.eat(c.doubleColon))return this.parseBind(e,t,n,r,i);if(this.match(c.backQuote))return this.parseTaggedTemplateExpression(e,t,n,i);let a=!1;if(this.match(c.questionDot)){if(r&&40===this.lookaheadCharCode())return i.stop=!0,e;i.optionalChainMember=a=!0,this.next()}return!r&&this.match(c.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,n,i,a):a||this.match(c.bracketL)||this.eat(c.dot)?this.parseMember(e,t,n,i,a):(i.stop=!0,e)}parseMember(e,t,n,r,i){const a=this.startNodeAt(t,n),s=this.eat(c.bracketL);a.object=e,a.computed=s;const o=s?this.parseExpression():this.parseMaybePrivateName(!0);return this.isPrivateName(o)&&("Super"===a.object.type&&this.raise(t,v.SuperPrivateField),this.classScope.usePrivateName(this.getPrivateNameSV(o),o.start)),a.property=o,s&&this.expect(c.bracketR),r.optionalChainMember?(a.optional=i,this.finishNode(a,"OptionalMemberExpression")):this.finishNode(a,"MemberExpression")}parseBind(e,t,n,r,i){const a=this.startNodeAt(t,n);return a.object=e,a.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(a,"BindExpression"),t,n,r)}parseCoverCallAndAsyncArrowHead(e,t,n,r,i){const a=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let s=this.startNodeAt(t,n);return s.callee=e,r.maybeAsyncArrow&&this.expressionScope.enter(new Ie(2)),r.optionalChainMember&&(s.optional=i),s.arguments=i?this.parseCallExpressionArguments(c.parenR,!1):this.parseCallExpressionArguments(c.parenR,r.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,s),this.finishCallExpression(s,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),s=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,n),s)):(r.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(s)),this.state.maybeInArrowParameters=a,s}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,n,r){const i=this.startNodeAt(t,n);return i.tag=e,i.quasi=this.parseTemplate(!0),r.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,n,r,i){const a=[];let s=!0;const o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(s)s=!1;else if(this.expect(c.comma),this.match(e)){!n||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(this.state.lastTokStart,v.ImportCallArgumentTrailingComma),i&&this.addExtra(i,"trailingComma",this.state.lastTokStart),this.next();break}a.push(this.parseExprListItem(!1,t?new je:void 0,t?{start:0}:void 0,r))}return this.state.inFSharpPipelineDirectBody=o,a}shouldParseAsyncArrow(){return this.match(c.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){var n;return this.expect(c.arrow),this.parseArrowExpression(e,t.arguments,!0,null==(n=t.extra)?void 0:n.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 n;switch(this.state.type){case c._super:return this.parseSuper();case c._import:return n=this.startNode(),this.next(),this.match(c.dot)?this.parseImportMetaProperty(n):(this.match(c.parenL)||this.raise(this.state.lastTokStart,v.UnsupportedImport),this.finishNode(n,"Import"));case c._this:return n=this.startNode(),this.next(),this.finishNode(n,"ThisExpression");case c.name:{const e=this.state.containsEsc,n=this.parseIdentifier();if(!e&&"async"===n.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(n),void 0,!0)}if(this.match(c.name))return this.parseAsyncArrowUnaryFunction(n)}return t&&this.match(c.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}case c._do:return this.parseDo();case c.regexp:{const e=this.state.value;return n=this.parseLiteral(e.value,"RegExpLiteral"),n.pattern=e.pattern,n.flags=e.flags,n}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 n=this.startNode(),this.next(),this.finishNode(n,"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 n=this.startNode(),this.takeDecorators(n),this.parseClass(n,!1);case c._new:return this.parseNewOrNewTarget();case c.backQuote:return this.parseTemplate(!1);case c.doubleColon:{n=this.startNode(),this.next(),n.object=null;const e=n.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(n,"BindExpression");throw this.raise(e.start,v.UnsupportedBind)}case c.hash:{if(this.state.inPipeline)return n=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(n.start,v.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(n.start,v.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(n,"PipelinePrimaryTopicReference");const e=this.input.codePointAt(this.state.end);if(k(e)||92===e){const e=this.state.start;if(n=this.parseMaybePrivateName(!0),this.match(c._in))this.expectPlugin("privateIn"),this.classScope.usePrivateName(this.getPrivateNameSV(n),n.start);else{if(!this.hasPlugin("privateIn"))throw this.unexpected(e);this.raise(this.state.start,v.PrivateInExpectedIn,this.getPrivateNameSV(n))}return n}}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 n=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,v.LineTerminatorBeforeArrow),this.expect(c.arrow),this.parseArrowExpression(t,n,!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,n){e.meta=t,"function"===t.name&&"sent"===n&&(this.isContextual(n)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==n||r)&&this.raise(e.property.start,v.UnsupportedMetaProperty,t.name,n),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,n,r){n=n||this.state.start,r=r||this.state.startLoc;const i=this.startNodeAt(n,r);return this.addExtra(i,"rawValue",e),this.addExtra(i,"raw",this.input.slice(n,this.state.end)),i.value=e,this.next(),this.finishNode(i,t)}parseParenAndDistinguishExpression(e){const t=this.state.start,n=this.state.startLoc;let r;this.next(),this.expressionScope.enter(new Ie(1));const i=this.state.maybeInArrowParameters,a=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const s=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=a;let g=this.startNodeAt(t,n);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?(r=this.startNodeAt(s,o),r.expressions=u,this.finishNodeAt(r,"SequenceExpression",m,y)):r=u[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t),r;const b=this.startNodeAt(t,n);return b.expression=r,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(c.arrow))return e}parseParenItem(e,t,n){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 n=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(n.start,e)}return n}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 n=this.parseTemplateElement(e);for(t.quasis=[n];!n.tail;)this.expect(c.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(c.braceR),t.quasis.push(n=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,n,r){n&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const a=Object.create(null);let s=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(s)s=!1;else if(this.expect(c.comma),this.match(e)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(t,r);t||this.checkProto(i,n,a,r),n&&!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":n&&(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 n=[];if(this.match(c.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,v.UnsupportedPropertyDecorator);this.match(c.at);)n.push(this.parseDecorator());const r=this.startNode();let i,a,s=!1,o=!1,u=!1;if(this.match(c.ellipsis))return n.length&&this.unexpected(),e?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();n.length&&(r.decorators=n,n=[]),r.method=!1,(e||t)&&(i=this.state.start,a=this.state.startLoc),e||(s=this.eat(c.star));const l=this.state.containsEsc,p=this.parsePropertyName(r,!1);if(!e&&!s&&!l&&this.maybeAsyncOrAccessorProp(r)){const e=p.name;"async"!==e||this.hasPrecedingLineBreak()||(o=!0,s=this.eat(c.star),this.parsePropertyName(r,!1)),"get"!==e&&"set"!==e||(u=!0,r.kind=e,this.match(c.star)&&(s=!0,this.raise(this.state.pos,v.AccessorIsGenerator,e),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,i,a,s,o,e,u,t),r}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const n=this.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e),i=e.start;r.length!==n&&("get"===e.kind?this.raise(i,v.BadGetterArity):this.raise(i,v.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=r[r.length-1])?void 0:t.type)&&this.raise(i,v.BadSetterRestParameter)}parseObjectMethod(e,t,n,r,i){return i?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):n||t||this.match(c.parenL)?(r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,n,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,n,r,i){return e.shorthand=!1,this.eat(c.colon)?(e.value=r?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),r?e.value=this.parseMaybeDefault(t,n,e.key.__clone()):this.match(c.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,n,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,n,r,i,a,s,o){const u=this.parseObjectMethod(e,r,i,a,s)||this.parseObjectProperty(e,t,n,a,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 n=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=n}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,n,r,i,a,s=!1){this.initFunction(e,n),e.generator=!!t;const o=r;return this.scope.enter(18|(s?64:0)|(i?32:0)),this.prodParam.enter(pe(n,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,a,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,n,r){n&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const a=this.startNode();return this.next(),a.elements=this.parseExprList(e,!n,r,a),this.state.inFSharpPipelineDirectBody=i,this.finishNode(a,n?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,n,r){this.scope.enter(6);let i=pe(n,!1);!this.match(c.bracketL)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,n);const a=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=a,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,n){e.params=this.toAssignableList(t,n,!1)}parseFunctionBodyAndFinish(e,t,n=!1){this.parseFunctionBody(e,!1,n),this.finishNode(e,t)}parseFunctionBody(e,t,n=!1){const r=t&&!this.match(c.braceL);if(this.expressionScope.enter(Ne()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,(i=>{const a=!this.isSimpleParamList(e.params);if(i&&a){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,v.IllegalLanguageModeDirective)}const s=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||n||a),t,s),this.state.strict&&e.id&&this.checkLVal(e.id,"function name",65,void 0,void 0,s)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(e){for(let t=0,n=e.length;t=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,n=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),t,n,e);return this.state.inFSharpPipelineDirectBody=r,i}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.eat(c.braceL);const t=this.initializeScopes(!0);this.enterInitialScopes();const n=this.startNode();try{e.body=this.parseProgram(n,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,n=this.options.sourceType){if(e.sourceType=n,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,n=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start),i=this.input.slice(t.start,t.end),a=n.value=i.slice(1,-1);return this.addExtra(n,"raw",i),this.addExtra(n,"rawValue",a),r.value=this.finishNodeAt(n,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(r,"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(),n=this.input.charCodeAt(t);if(91===n)return!0;if(e)return!1;if(123===n)return!0;if(k(n)){let e=t+1;for(;_(this.input.charCodeAt(e));)++e;const n=this.input.slice(t,e);if(!V.test(n))return!0}return!1}parseStatement(e,t){return this.match(c.at)&&this.parseDecorators(!0),this.parseStatementContent(e,t)}parseStatementContent(e,t){let n=this.state.type;const r=this.startNode();let i;switch(this.isLet(e)&&(n=c._var,i="let"),n){case c._break:case c._continue:return this.parseBreakContinueStatement(r,n.keyword);case c._debugger:return this.parseDebuggerStatement(r);case c._do:return this.parseDoStatement(r);case c._for:return this.parseForStatement(r);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(r,!1,!e);case c._class:return e&&this.unexpected(),this.parseClass(r,!0);case c._if:return this.parseIfStatement(r);case c._return:return this.parseReturnStatement(r);case c._switch:return this.parseSwitchStatement(r);case c._throw:return this.parseThrowStatement(r);case c._try:return this.parseTryStatement(r);case c._const:case c._var:return i=i||this.state.value,e&&"var"!==i&&this.raise(this.state.start,v.UnexpectedLexicalDeclaration),this.parseVarStatement(r,i);case c._while:return this.parseWhileStatement(r);case c._with:return this.parseWithStatement(r);case c.braceL:return this.parseBlock();case c.semi:return this.parseEmptyStatement(r);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(),n===c._import?(e=this.parseImport(r),"ImportDeclaration"!==e.type||e.importKind&&"value"!==e.importKind||(this.sawUnambiguousESM=!0)):(e=this.parseExport(r),("ExportNamedDeclaration"!==e.type||e.exportKind&&"value"!==e.exportKind)&&("ExportAllDeclaration"!==e.type||e.exportKind&&"value"!==e.exportKind)&&"ExportDefaultDeclaration"!==e.type||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(r),e}default:if(this.isAsyncFunction())return e&&this.raise(this.state.start,v.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(r,!0,!e)}const a=this.state.value,s=this.parseExpression();return n===c.name&&"Identifier"===s.type&&this.eat(c.colon)?this.parseLabeledStatement(r,a,s,e):this.parseExpressionStatement(r,s)}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,n=this.state.startLoc;let r;if(this.eat(c.parenL))r=this.parseExpression(),this.expect(c.parenR);else for(r=this.parseIdentifier(!1);this.eat(c.dot);){const e=this.startNodeAt(t,n);e.object=r,e.property=this.parseIdentifier(!0),e.computed=!1,r=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(r),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 n="break"===t;return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,n?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){const n="break"===t;let r;for(r=0;rthis.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 n=this.isLet();if(this.match(c._var)||this.match(c._const)||n){const r=this.startNode(),i=n?"let":this.state.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,"VariableDeclaration"),(this.match(c._in)||this.isContextual("of"))&&1===r.declarations.length?this.parseForIn(e,r,t):(t>-1&&this.unexpected(t),this.parseFor(e,r))}const r=new je,i=this.parseExpression(!0,r);if(this.match(c._in)||this.isContextual("of")){this.toAssignable(i,!0);const n=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(i,n),this.parseForIn(e,i,t)}return this.checkExpressionErrors(r,!0),t>-1&&this.unexpected(t),this.parseFor(e,i)}parseFunctionStatement(e,t,n){return this.next(),this.parseFunction(e,1|(n?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 n,r;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);n&&this.finishNode(n,"SwitchCase"),t.push(n=this.startNode()),n.consequent=[],this.next(),e?n.test=this.parseExpression():(r&&this.raise(this.state.lastTokStart,v.MultipleDefaultsInSwitch),r=!0,n.test=null),this.expect(c.colon)}else n?n.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(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,n,r){for(const e of this.state.labels)e.name===t&&this.raise(n.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 n=this.state.labels[t];if(n.statementStart!==e.start)break;n.statementStart=this.state.start,n.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.state.start}),e.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,n){const r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(c.braceL),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,c.braceR,n),t&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,n,r,i){const a=e.body=[],s=e.directives=[];this.parseBlockOrModuleBlockBody(a,t?s:void 0,n,r,i)}parseBlockOrModuleBlockBody(e,t,n,r,i){const a=this.state.strict;let s=!1,o=!1;for(;!this.match(r);){const r=this.parseStatement(null,n);if(t&&!o){if(this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),s||"use strict"!==e.value.value||(s=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(r)}i&&i.call(this,s),a||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,n){const r=this.match(c._in);return this.next(),r?n>-1&&this.unexpected(n):e.await=n>-1,"VariableDeclaration"!==t.type||null==t.declarations[0].init||r&&!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,r?"for-in":"for-of"),e.left=t,e.right=r?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,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,n){const r=e.declarations=[],i=this.hasPlugin("typescript");for(e.kind=n;;){const e=this.startNode();if(this.parseVarId(e,n),this.eat(c.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==n||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),r.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,n=!1){const r=1&t,i=2&t,a=!(!r||4&t);this.initFunction(e,n),this.match(c.star)&&i&&this.raise(this.state.start,v.GeneratorInSingleStatementContext),e.generator=this.eat(c.star),r&&(e.id=this.parseFunctionId(a));const s=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(pe(n,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withTopicForbiddingContext((()=>{this.parseFunctionBodyAndFinish(e,r?"FunctionDeclaration":"FunctionExpression")})),this.prodParam.exit(),this.scope.exit(),r&&!i&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=s,e}parseFunctionId(e){return e||this.match(c.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(c.parenL),this.expressionScope.enter(new Fe(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,n){this.next(),this.takeDecorators(e);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,n),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(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 n={constructorAllowsSuper:e,hadConstructor:!1,hadStaticBlock:!1};let r=[];const i=this.startNode();if(i.body=[],this.expect(c.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(c.braceR);){if(this.eat(c.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,v.DecoratorSemicolon);continue}if(this.match(c.at)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,n),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,v.DecoratorConstructor)}})),this.state.strict=t,this.next(),r.length)throw this.raise(this.state.start,v.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(e,t){const n=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=n,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=n,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(e,t,n){const r=this.isContextual("static");if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(c.braceL))return void this.parseClassStaticBlock(e,t,n)}this.parseClassMemberWithIsStatic(e,t,n,r)}parseClassMemberWithIsStatic(e,t,n,r){const i=t,a=t,s=t,o=t,u=i,l=i;if(t.static=r,this.eat(c.star))return u.kind="method",this.parseClassElementName(u),this.isPrivateName(u.key)?void this.pushClassPrivateMethod(e,a,!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,a,!1,!1);const t=this.isNonstaticConstructor(i);let r=!1;t&&(i.kind="constructor",n.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(h.start,v.DuplicateConstructor),n.hadConstructor=!0,r=n.constructorAllowsSuper),this.pushClassMethod(e,i,!1,!1,t,r)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,s);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,s):this.unexpected():(u.kind=h.name,this.parseClassElementName(i),this.isPrivateName(u.key)?this.pushClassPrivateMethod(e,a,!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,a,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,n){var r;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(208);const i=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const a=t.body=[];this.parseBlockOrModuleBlockBody(a,void 0,!1,c.braceR),this.prodParam.exit(),this.scope.exit(),this.state.labels=i,e.body.push(this.finishNode(t,"StaticBlock")),n.hadStaticBlock&&this.raise(t.start,v.DuplicateStaticBlock),null!=(r=t.decorators)&&r.length&&this.raise(t.start,v.DecoratorStaticBlock),n.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 n=this.parseClassPrivateProperty(t);e.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.start)}pushClassMethod(e,t,n,r,i,a){e.body.push(this.parseMethod(t,n,r,i,a,"ClassMethod",!0))}pushClassPrivateMethod(e,t,n,r){this.expectPlugin("classPrivateMethods",t.key.start);const i=this.parseMethod(t,n,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(i);const a="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.classScope.declarePrivateName(this.getPrivateNameSV(i.key),a,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,n,r=139){this.match(c.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,"class name",r)):n||!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),n=!t||this.eat(c.comma),r=n&&this.eatExportStar(e),i=r&&this.maybeParseExportNamespaceSpecifier(e),a=n&&(!i||this.eat(c.comma)),s=t||r;if(r&&!i)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(e);if(t&&n&&!r&&!o||i&&a&&!o)throw this.unexpected(null,c.braceL);let u;if(s||o?(u=!1,this.parseExportFrom(e,s)):u=this.maybeParseExportDeclaration(e),s||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,n,r){if(t)if(n){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,n="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,n),!r&&t.local){const{local:e}=t;"StringLiteral"===e.type?this.raise(t.start,v.ExportBindingIsString,e.value,n):(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 n=this.startNode();n.local=this.parseModuleExportName(),n.exported=this.eatContextual("as")?this.parseModuleExportName():n.local.__clone(),e.push(this.finishNode(n,"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),n=t&&this.maybeParseStarImportSpecifier(e);t&&!n&&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,n,r){t.local=this.parseIdentifier(),this.checkLVal(t.local,r,9),e.specifiers.push(this.finishNode(t,n))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(c.braceR))break;const n=this.startNode(),r=this.state.value;if(this.match(c.string)?n.key=this.parseLiteral(r,"StringLiteral"):n.key=this.parseIdentifier(!0),this.expect(c.colon),"type"!==r&&this.raise(n.key.start,v.ModuleAttributeDifferentFromType,r),t.has(r)&&this.raise(n.key.start,v.ModuleAttributesWithDuplicateKeys,r),t.add(r),!this.match(c.string))throw this.unexpected(this.state.start,v.ModuleAttributeInvalidValue);n.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(n,"ImportAttribute"),e.push(n)}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 n=this.startNode();if(n.key=this.parseIdentifier(!0),"type"!==n.key.name&&this.raise(n.key.start,v.ModuleAttributeDifferentFromType,n.key.name),t.has(n.key.name)&&this.raise(n.key.start,v.ModuleAttributesWithDuplicateKeys,n.key.name),t.add(n.key.name),this.expect(c.colon),!this.match(c.string))throw this.unexpected(this.state.start,v.ModuleAttributeInvalidValue);n.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(n,"ImportAttribute"),e.push(n)}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 n of Object.keys(De))t[n]=e&&null!=e[n]?e[n]:De[n];return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=function(e){const t=new Map;for(const n of e){const[e,r]=Array.isArray(n)?n:[n,{}];t.has(e)||t.set(e,r||{})}return t}(this.options.plugins),this.filename=e.sourceFilename}getScopeHandler(){return J}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 We(e,t){let n=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),n=function(e){const t=Ee.filter((t=>ye(e,t))),n=t.join("/");let r=ze[n];if(!r){r=Ve;for(const e of t)r=xe[e](r);ze[n]=r}return r}(e.plugins)),new n(e,t)}const ze={};t.parse=function(e,t){var n;if("unambiguous"!==(null==(n=t)?void 0:n.sourceType))return We(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const n=We(t,e),r=n.parse();if(n.sawUnambiguousESM)return r;if(n.ambiguousScriptDifferentAst)try{return t.sourceType="script",We(t,e).parse()}catch(e){}else r.program.sourceType="script";return r}catch(n){try{return t.sourceType="script",We(t,e).parse()}catch(e){}throw n}},t.parseExpression=function(e,t){const n=We(t,e);return n.options.strictMode&&(n.state.strict=!0),n.getExpression()},t.tokTypes=c})),Mi=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const n=Object.keys(t);for(const r of n)if(e[r]!==t[r])return!1;return!0}})),Li=P((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,r.default)(e,t);return!1},t.isAssignmentExpression=function(e,t){if(!e)return!1;if("AssignmentExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isBinaryExpression=function(e,t){if(!e)return!1;if("BinaryExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isInterpreterDirective=function(e,t){if(!e)return!1;if("InterpreterDirective"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDirective=function(e,t){if(!e)return!1;if("Directive"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDirectiveLiteral=function(e,t){if(!e)return!1;if("DirectiveLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isBlockStatement=function(e,t){if(!e)return!1;if("BlockStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isBreakStatement=function(e,t){if(!e)return!1;if("BreakStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isCallExpression=function(e,t){if(!e)return!1;if("CallExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isCatchClause=function(e,t){if(!e)return!1;if("CatchClause"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isConditionalExpression=function(e,t){if(!e)return!1;if("ConditionalExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isContinueStatement=function(e,t){if(!e)return!1;if("ContinueStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDebuggerStatement=function(e,t){if(!e)return!1;if("DebuggerStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDoWhileStatement=function(e,t){if(!e)return!1;if("DoWhileStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEmptyStatement=function(e,t){if(!e)return!1;if("EmptyStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExpressionStatement=function(e,t){if(!e)return!1;if("ExpressionStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isFile=function(e,t){if(!e)return!1;if("File"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isForInStatement=function(e,t){if(!e)return!1;if("ForInStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isForStatement=function(e,t){if(!e)return!1;if("ForStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isFunctionDeclaration=function(e,t){if(!e)return!1;if("FunctionDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isFunctionExpression=function(e,t){if(!e)return!1;if("FunctionExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isIdentifier=function(e,t){if(!e)return!1;if("Identifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isIfStatement=function(e,t){if(!e)return!1;if("IfStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isLabeledStatement=function(e,t){if(!e)return!1;if("LabeledStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isStringLiteral=function(e,t){if(!e)return!1;if("StringLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isNumericLiteral=function(e,t){if(!e)return!1;if("NumericLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isNullLiteral=function(e,t){if(!e)return!1;if("NullLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isBooleanLiteral=function(e,t){if(!e)return!1;if("BooleanLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isRegExpLiteral=function(e,t){if(!e)return!1;if("RegExpLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isLogicalExpression=function(e,t){if(!e)return!1;if("LogicalExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isMemberExpression=function(e,t){if(!e)return!1;if("MemberExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isNewExpression=function(e,t){if(!e)return!1;if("NewExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isProgram=function(e,t){if(!e)return!1;if("Program"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectExpression=function(e,t){if(!e)return!1;if("ObjectExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectMethod=function(e,t){if(!e)return!1;if("ObjectMethod"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectProperty=function(e,t){if(!e)return!1;if("ObjectProperty"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isRestElement=function(e,t){if(!e)return!1;if("RestElement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isReturnStatement=function(e,t){if(!e)return!1;if("ReturnStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isSequenceExpression=function(e,t){if(!e)return!1;if("SequenceExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isParenthesizedExpression=function(e,t){if(!e)return!1;if("ParenthesizedExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isSwitchCase=function(e,t){if(!e)return!1;if("SwitchCase"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isSwitchStatement=function(e,t){if(!e)return!1;if("SwitchStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isThisExpression=function(e,t){if(!e)return!1;if("ThisExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isThrowStatement=function(e,t){if(!e)return!1;if("ThrowStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTryStatement=function(e,t){if(!e)return!1;if("TryStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isUnaryExpression=function(e,t){if(!e)return!1;if("UnaryExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isUpdateExpression=function(e,t){if(!e)return!1;if("UpdateExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isVariableDeclaration=function(e,t){if(!e)return!1;if("VariableDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isVariableDeclarator=function(e,t){if(!e)return!1;if("VariableDeclarator"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isWhileStatement=function(e,t){if(!e)return!1;if("WhileStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isWithStatement=function(e,t){if(!e)return!1;if("WithStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isAssignmentPattern=function(e,t){if(!e)return!1;if("AssignmentPattern"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isArrayPattern=function(e,t){if(!e)return!1;if("ArrayPattern"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isArrowFunctionExpression=function(e,t){if(!e)return!1;if("ArrowFunctionExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isClassBody=function(e,t){if(!e)return!1;if("ClassBody"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isClassExpression=function(e,t){if(!e)return!1;if("ClassExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isClassDeclaration=function(e,t){if(!e)return!1;if("ClassDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExportAllDeclaration=function(e,t){if(!e)return!1;if("ExportAllDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExportDefaultDeclaration=function(e,t){if(!e)return!1;if("ExportDefaultDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExportNamedDeclaration=function(e,t){if(!e)return!1;if("ExportNamedDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExportSpecifier=function(e,t){if(!e)return!1;if("ExportSpecifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isForOfStatement=function(e,t){if(!e)return!1;if("ForOfStatement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isImportDeclaration=function(e,t){if(!e)return!1;if("ImportDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isImportDefaultSpecifier=function(e,t){if(!e)return!1;if("ImportDefaultSpecifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isImportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ImportNamespaceSpecifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isImportSpecifier=function(e,t){if(!e)return!1;if("ImportSpecifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isMetaProperty=function(e,t){if(!e)return!1;if("MetaProperty"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isClassMethod=function(e,t){if(!e)return!1;if("ClassMethod"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectPattern=function(e,t){if(!e)return!1;if("ObjectPattern"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isSpreadElement=function(e,t){if(!e)return!1;if("SpreadElement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isSuper=function(e,t){if(!e)return!1;if("Super"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTaggedTemplateExpression=function(e,t){if(!e)return!1;if("TaggedTemplateExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTemplateElement=function(e,t){if(!e)return!1;if("TemplateElement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTemplateLiteral=function(e,t){if(!e)return!1;if("TemplateLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isYieldExpression=function(e,t){if(!e)return!1;if("YieldExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isAwaitExpression=function(e,t){if(!e)return!1;if("AwaitExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isImport=function(e,t){if(!e)return!1;if("Import"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isBigIntLiteral=function(e,t){if(!e)return!1;if("BigIntLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ExportNamespaceSpecifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isOptionalMemberExpression=function(e,t){if(!e)return!1;if("OptionalMemberExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isOptionalCallExpression=function(e,t){if(!e)return!1;if("OptionalCallExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isAnyTypeAnnotation=function(e,t){if(!e)return!1;if("AnyTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isArrayTypeAnnotation=function(e,t){if(!e)return!1;if("ArrayTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isBooleanTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isBooleanLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanLiteralTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isNullLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NullLiteralTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isClassImplements=function(e,t){if(!e)return!1;if("ClassImplements"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareClass=function(e,t){if(!e)return!1;if("DeclareClass"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareFunction=function(e,t){if(!e)return!1;if("DeclareFunction"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareInterface=function(e,t){if(!e)return!1;if("DeclareInterface"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareModule=function(e,t){if(!e)return!1;if("DeclareModule"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareModuleExports=function(e,t){if(!e)return!1;if("DeclareModuleExports"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareTypeAlias=function(e,t){if(!e)return!1;if("DeclareTypeAlias"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareOpaqueType=function(e,t){if(!e)return!1;if("DeclareOpaqueType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareVariable=function(e,t){if(!e)return!1;if("DeclareVariable"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareExportDeclaration=function(e,t){if(!e)return!1;if("DeclareExportDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclareExportAllDeclaration=function(e,t){if(!e)return!1;if("DeclareExportAllDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclaredPredicate=function(e,t){if(!e)return!1;if("DeclaredPredicate"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExistsTypeAnnotation=function(e,t){if(!e)return!1;if("ExistsTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isFunctionTypeAnnotation=function(e,t){if(!e)return!1;if("FunctionTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isFunctionTypeParam=function(e,t){if(!e)return!1;if("FunctionTypeParam"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isGenericTypeAnnotation=function(e,t){if(!e)return!1;if("GenericTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isInferredPredicate=function(e,t){if(!e)return!1;if("InferredPredicate"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isInterfaceExtends=function(e,t){if(!e)return!1;if("InterfaceExtends"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isInterfaceDeclaration=function(e,t){if(!e)return!1;if("InterfaceDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isInterfaceTypeAnnotation=function(e,t){if(!e)return!1;if("InterfaceTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isIntersectionTypeAnnotation=function(e,t){if(!e)return!1;if("IntersectionTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isMixedTypeAnnotation=function(e,t){if(!e)return!1;if("MixedTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEmptyTypeAnnotation=function(e,t){if(!e)return!1;if("EmptyTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isNullableTypeAnnotation=function(e,t){if(!e)return!1;if("NullableTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isNumberLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NumberLiteralTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isNumberTypeAnnotation=function(e,t){if(!e)return!1;if("NumberTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectTypeAnnotation=function(e,t){if(!e)return!1;if("ObjectTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectTypeInternalSlot=function(e,t){if(!e)return!1;if("ObjectTypeInternalSlot"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectTypeCallProperty=function(e,t){if(!e)return!1;if("ObjectTypeCallProperty"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectTypeIndexer=function(e,t){if(!e)return!1;if("ObjectTypeIndexer"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectTypeProperty=function(e,t){if(!e)return!1;if("ObjectTypeProperty"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectTypeSpreadProperty=function(e,t){if(!e)return!1;if("ObjectTypeSpreadProperty"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isOpaqueType=function(e,t){if(!e)return!1;if("OpaqueType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isQualifiedTypeIdentifier=function(e,t){if(!e)return!1;if("QualifiedTypeIdentifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isStringLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("StringLiteralTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isStringTypeAnnotation=function(e,t){if(!e)return!1;if("StringTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isSymbolTypeAnnotation=function(e,t){if(!e)return!1;if("SymbolTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isThisTypeAnnotation=function(e,t){if(!e)return!1;if("ThisTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTupleTypeAnnotation=function(e,t){if(!e)return!1;if("TupleTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTypeofTypeAnnotation=function(e,t){if(!e)return!1;if("TypeofTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTypeAlias=function(e,t){if(!e)return!1;if("TypeAlias"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTypeAnnotation=function(e,t){if(!e)return!1;if("TypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTypeCastExpression=function(e,t){if(!e)return!1;if("TypeCastExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTypeParameter=function(e,t){if(!e)return!1;if("TypeParameter"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TypeParameterDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TypeParameterInstantiation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isUnionTypeAnnotation=function(e,t){if(!e)return!1;if("UnionTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isVariance=function(e,t){if(!e)return!1;if("Variance"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isVoidTypeAnnotation=function(e,t){if(!e)return!1;if("VoidTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumDeclaration=function(e,t){if(!e)return!1;if("EnumDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumBooleanBody=function(e,t){if(!e)return!1;if("EnumBooleanBody"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumNumberBody=function(e,t){if(!e)return!1;if("EnumNumberBody"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumStringBody=function(e,t){if(!e)return!1;if("EnumStringBody"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumSymbolBody=function(e,t){if(!e)return!1;if("EnumSymbolBody"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumBooleanMember=function(e,t){if(!e)return!1;if("EnumBooleanMember"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumNumberMember=function(e,t){if(!e)return!1;if("EnumNumberMember"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumStringMember=function(e,t){if(!e)return!1;if("EnumStringMember"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumDefaultedMember=function(e,t){if(!e)return!1;if("EnumDefaultedMember"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXAttribute=function(e,t){if(!e)return!1;if("JSXAttribute"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXClosingElement=function(e,t){if(!e)return!1;if("JSXClosingElement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXElement=function(e,t){if(!e)return!1;if("JSXElement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXEmptyExpression=function(e,t){if(!e)return!1;if("JSXEmptyExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXExpressionContainer=function(e,t){if(!e)return!1;if("JSXExpressionContainer"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXSpreadChild=function(e,t){if(!e)return!1;if("JSXSpreadChild"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXIdentifier=function(e,t){if(!e)return!1;if("JSXIdentifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXMemberExpression=function(e,t){if(!e)return!1;if("JSXMemberExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXNamespacedName=function(e,t){if(!e)return!1;if("JSXNamespacedName"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXOpeningElement=function(e,t){if(!e)return!1;if("JSXOpeningElement"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXSpreadAttribute=function(e,t){if(!e)return!1;if("JSXSpreadAttribute"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXText=function(e,t){if(!e)return!1;if("JSXText"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXFragment=function(e,t){if(!e)return!1;if("JSXFragment"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXOpeningFragment=function(e,t){if(!e)return!1;if("JSXOpeningFragment"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isJSXClosingFragment=function(e,t){if(!e)return!1;if("JSXClosingFragment"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isNoop=function(e,t){if(!e)return!1;if("Noop"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isPlaceholder=function(e,t){if(!e)return!1;if("Placeholder"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isV8IntrinsicIdentifier=function(e,t){if(!e)return!1;if("V8IntrinsicIdentifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isArgumentPlaceholder=function(e,t){if(!e)return!1;if("ArgumentPlaceholder"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isBindExpression=function(e,t){if(!e)return!1;if("BindExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isClassProperty=function(e,t){if(!e)return!1;if("ClassProperty"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isPipelineTopicExpression=function(e,t){if(!e)return!1;if("PipelineTopicExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isPipelineBareFunction=function(e,t){if(!e)return!1;if("PipelineBareFunction"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isPipelinePrimaryTopicReference=function(e,t){if(!e)return!1;if("PipelinePrimaryTopicReference"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isClassPrivateProperty=function(e,t){if(!e)return!1;if("ClassPrivateProperty"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isClassPrivateMethod=function(e,t){if(!e)return!1;if("ClassPrivateMethod"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isImportAttribute=function(e,t){if(!e)return!1;if("ImportAttribute"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDecorator=function(e,t){if(!e)return!1;if("Decorator"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDoExpression=function(e,t){if(!e)return!1;if("DoExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExportDefaultSpecifier=function(e,t){if(!e)return!1;if("ExportDefaultSpecifier"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isPrivateName=function(e,t){if(!e)return!1;if("PrivateName"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isRecordExpression=function(e,t){if(!e)return!1;if("RecordExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTupleExpression=function(e,t){if(!e)return!1;if("TupleExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isDecimalLiteral=function(e,t){if(!e)return!1;if("DecimalLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isStaticBlock=function(e,t){if(!e)return!1;if("StaticBlock"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isModuleExpression=function(e,t){if(!e)return!1;if("ModuleExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSParameterProperty=function(e,t){if(!e)return!1;if("TSParameterProperty"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSDeclareFunction=function(e,t){if(!e)return!1;if("TSDeclareFunction"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSDeclareMethod=function(e,t){if(!e)return!1;if("TSDeclareMethod"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSQualifiedName=function(e,t){if(!e)return!1;if("TSQualifiedName"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSCallSignatureDeclaration=function(e,t){if(!e)return!1;if("TSCallSignatureDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSConstructSignatureDeclaration=function(e,t){if(!e)return!1;if("TSConstructSignatureDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSPropertySignature=function(e,t){if(!e)return!1;if("TSPropertySignature"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSMethodSignature=function(e,t){if(!e)return!1;if("TSMethodSignature"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSIndexSignature=function(e,t){if(!e)return!1;if("TSIndexSignature"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSAnyKeyword=function(e,t){if(!e)return!1;if("TSAnyKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSBooleanKeyword=function(e,t){if(!e)return!1;if("TSBooleanKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSBigIntKeyword=function(e,t){if(!e)return!1;if("TSBigIntKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSIntrinsicKeyword=function(e,t){if(!e)return!1;if("TSIntrinsicKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSNeverKeyword=function(e,t){if(!e)return!1;if("TSNeverKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSNullKeyword=function(e,t){if(!e)return!1;if("TSNullKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSNumberKeyword=function(e,t){if(!e)return!1;if("TSNumberKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSObjectKeyword=function(e,t){if(!e)return!1;if("TSObjectKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSStringKeyword=function(e,t){if(!e)return!1;if("TSStringKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSSymbolKeyword=function(e,t){if(!e)return!1;if("TSSymbolKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSUndefinedKeyword=function(e,t){if(!e)return!1;if("TSUndefinedKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSUnknownKeyword=function(e,t){if(!e)return!1;if("TSUnknownKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSVoidKeyword=function(e,t){if(!e)return!1;if("TSVoidKeyword"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSThisType=function(e,t){if(!e)return!1;if("TSThisType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSFunctionType=function(e,t){if(!e)return!1;if("TSFunctionType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSConstructorType=function(e,t){if(!e)return!1;if("TSConstructorType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeReference=function(e,t){if(!e)return!1;if("TSTypeReference"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypePredicate=function(e,t){if(!e)return!1;if("TSTypePredicate"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeQuery=function(e,t){if(!e)return!1;if("TSTypeQuery"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeLiteral=function(e,t){if(!e)return!1;if("TSTypeLiteral"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSArrayType=function(e,t){if(!e)return!1;if("TSArrayType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTupleType=function(e,t){if(!e)return!1;if("TSTupleType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSOptionalType=function(e,t){if(!e)return!1;if("TSOptionalType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSRestType=function(e,t){if(!e)return!1;if("TSRestType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSNamedTupleMember=function(e,t){if(!e)return!1;if("TSNamedTupleMember"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSUnionType=function(e,t){if(!e)return!1;if("TSUnionType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSIntersectionType=function(e,t){if(!e)return!1;if("TSIntersectionType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSConditionalType=function(e,t){if(!e)return!1;if("TSConditionalType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSInferType=function(e,t){if(!e)return!1;if("TSInferType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSParenthesizedType=function(e,t){if(!e)return!1;if("TSParenthesizedType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeOperator=function(e,t){if(!e)return!1;if("TSTypeOperator"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSIndexedAccessType=function(e,t){if(!e)return!1;if("TSIndexedAccessType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSMappedType=function(e,t){if(!e)return!1;if("TSMappedType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSLiteralType=function(e,t){if(!e)return!1;if("TSLiteralType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSExpressionWithTypeArguments=function(e,t){if(!e)return!1;if("TSExpressionWithTypeArguments"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSInterfaceDeclaration=function(e,t){if(!e)return!1;if("TSInterfaceDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSInterfaceBody=function(e,t){if(!e)return!1;if("TSInterfaceBody"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeAliasDeclaration=function(e,t){if(!e)return!1;if("TSTypeAliasDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSAsExpression=function(e,t){if(!e)return!1;if("TSAsExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeAssertion=function(e,t){if(!e)return!1;if("TSTypeAssertion"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSEnumDeclaration=function(e,t){if(!e)return!1;if("TSEnumDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSEnumMember=function(e,t){if(!e)return!1;if("TSEnumMember"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSModuleDeclaration=function(e,t){if(!e)return!1;if("TSModuleDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSModuleBlock=function(e,t){if(!e)return!1;if("TSModuleBlock"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSImportType=function(e,t){if(!e)return!1;if("TSImportType"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSImportEqualsDeclaration=function(e,t){if(!e)return!1;if("TSImportEqualsDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSExternalModuleReference=function(e,t){if(!e)return!1;if("TSExternalModuleReference"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSNonNullExpression=function(e,t){if(!e)return!1;if("TSNonNullExpression"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSExportAssignment=function(e,t){if(!e)return!1;if("TSExportAssignment"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSNamespaceExportDeclaration=function(e,t){if(!e)return!1;if("TSNamespaceExportDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeAnnotation=function(e,t){if(!e)return!1;if("TSTypeAnnotation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TSTypeParameterInstantiation"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TSTypeParameterDeclaration"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeParameter=function(e,t){if(!e)return!1;if("TSTypeParameter"===e.type)return void 0===t||(0,r.default)(e,t);return!1},t.isExpression=function(e,t){if(!e)return!1;const n=e.type;if("ArrayExpression"===n||"AssignmentExpression"===n||"BinaryExpression"===n||"CallExpression"===n||"ConditionalExpression"===n||"FunctionExpression"===n||"Identifier"===n||"StringLiteral"===n||"NumericLiteral"===n||"NullLiteral"===n||"BooleanLiteral"===n||"RegExpLiteral"===n||"LogicalExpression"===n||"MemberExpression"===n||"NewExpression"===n||"ObjectExpression"===n||"SequenceExpression"===n||"ParenthesizedExpression"===n||"ThisExpression"===n||"UnaryExpression"===n||"UpdateExpression"===n||"ArrowFunctionExpression"===n||"ClassExpression"===n||"MetaProperty"===n||"Super"===n||"TaggedTemplateExpression"===n||"TemplateLiteral"===n||"YieldExpression"===n||"AwaitExpression"===n||"Import"===n||"BigIntLiteral"===n||"OptionalMemberExpression"===n||"OptionalCallExpression"===n||"TypeCastExpression"===n||"JSXElement"===n||"JSXFragment"===n||"BindExpression"===n||"PipelinePrimaryTopicReference"===n||"DoExpression"===n||"RecordExpression"===n||"TupleExpression"===n||"DecimalLiteral"===n||"ModuleExpression"===n||"TSAsExpression"===n||"TSTypeAssertion"===n||"TSNonNullExpression"===n||"Placeholder"===n&&("Expression"===e.expectedNode||"Identifier"===e.expectedNode||"StringLiteral"===e.expectedNode))return void 0===t||(0,r.default)(e,t);return!1},t.isBinary=function(e,t){if(!e)return!1;const n=e.type;if("BinaryExpression"===n||"LogicalExpression"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isScopable=function(e,t){if(!e)return!1;const n=e.type;if("BlockStatement"===n||"CatchClause"===n||"DoWhileStatement"===n||"ForInStatement"===n||"ForStatement"===n||"FunctionDeclaration"===n||"FunctionExpression"===n||"Program"===n||"ObjectMethod"===n||"SwitchStatement"===n||"WhileStatement"===n||"ArrowFunctionExpression"===n||"ClassExpression"===n||"ClassDeclaration"===n||"ForOfStatement"===n||"ClassMethod"===n||"ClassPrivateMethod"===n||"StaticBlock"===n||"TSModuleBlock"===n||"Placeholder"===n&&"BlockStatement"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isBlockParent=function(e,t){if(!e)return!1;const n=e.type;if("BlockStatement"===n||"CatchClause"===n||"DoWhileStatement"===n||"ForInStatement"===n||"ForStatement"===n||"FunctionDeclaration"===n||"FunctionExpression"===n||"Program"===n||"ObjectMethod"===n||"SwitchStatement"===n||"WhileStatement"===n||"ArrowFunctionExpression"===n||"ForOfStatement"===n||"ClassMethod"===n||"ClassPrivateMethod"===n||"StaticBlock"===n||"TSModuleBlock"===n||"Placeholder"===n&&"BlockStatement"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isBlock=function(e,t){if(!e)return!1;const n=e.type;if("BlockStatement"===n||"Program"===n||"TSModuleBlock"===n||"Placeholder"===n&&"BlockStatement"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isStatement=function(e,t){if(!e)return!1;const n=e.type;if("BlockStatement"===n||"BreakStatement"===n||"ContinueStatement"===n||"DebuggerStatement"===n||"DoWhileStatement"===n||"EmptyStatement"===n||"ExpressionStatement"===n||"ForInStatement"===n||"ForStatement"===n||"FunctionDeclaration"===n||"IfStatement"===n||"LabeledStatement"===n||"ReturnStatement"===n||"SwitchStatement"===n||"ThrowStatement"===n||"TryStatement"===n||"VariableDeclaration"===n||"WhileStatement"===n||"WithStatement"===n||"ClassDeclaration"===n||"ExportAllDeclaration"===n||"ExportDefaultDeclaration"===n||"ExportNamedDeclaration"===n||"ForOfStatement"===n||"ImportDeclaration"===n||"DeclareClass"===n||"DeclareFunction"===n||"DeclareInterface"===n||"DeclareModule"===n||"DeclareModuleExports"===n||"DeclareTypeAlias"===n||"DeclareOpaqueType"===n||"DeclareVariable"===n||"DeclareExportDeclaration"===n||"DeclareExportAllDeclaration"===n||"InterfaceDeclaration"===n||"OpaqueType"===n||"TypeAlias"===n||"EnumDeclaration"===n||"TSDeclareFunction"===n||"TSInterfaceDeclaration"===n||"TSTypeAliasDeclaration"===n||"TSEnumDeclaration"===n||"TSModuleDeclaration"===n||"TSImportEqualsDeclaration"===n||"TSExportAssignment"===n||"TSNamespaceExportDeclaration"===n||"Placeholder"===n&&("Statement"===e.expectedNode||"Declaration"===e.expectedNode||"BlockStatement"===e.expectedNode))return void 0===t||(0,r.default)(e,t);return!1},t.isTerminatorless=function(e,t){if(!e)return!1;const n=e.type;if("BreakStatement"===n||"ContinueStatement"===n||"ReturnStatement"===n||"ThrowStatement"===n||"YieldExpression"===n||"AwaitExpression"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isCompletionStatement=function(e,t){if(!e)return!1;const n=e.type;if("BreakStatement"===n||"ContinueStatement"===n||"ReturnStatement"===n||"ThrowStatement"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isConditional=function(e,t){if(!e)return!1;const n=e.type;if("ConditionalExpression"===n||"IfStatement"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isLoop=function(e,t){if(!e)return!1;const n=e.type;if("DoWhileStatement"===n||"ForInStatement"===n||"ForStatement"===n||"WhileStatement"===n||"ForOfStatement"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isWhile=function(e,t){if(!e)return!1;const n=e.type;if("DoWhileStatement"===n||"WhileStatement"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isExpressionWrapper=function(e,t){if(!e)return!1;const n=e.type;if("ExpressionStatement"===n||"ParenthesizedExpression"===n||"TypeCastExpression"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isFor=function(e,t){if(!e)return!1;const n=e.type;if("ForInStatement"===n||"ForStatement"===n||"ForOfStatement"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isForXStatement=function(e,t){if(!e)return!1;const n=e.type;if("ForInStatement"===n||"ForOfStatement"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isFunction=function(e,t){if(!e)return!1;const n=e.type;if("FunctionDeclaration"===n||"FunctionExpression"===n||"ObjectMethod"===n||"ArrowFunctionExpression"===n||"ClassMethod"===n||"ClassPrivateMethod"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isFunctionParent=function(e,t){if(!e)return!1;const n=e.type;if("FunctionDeclaration"===n||"FunctionExpression"===n||"ObjectMethod"===n||"ArrowFunctionExpression"===n||"ClassMethod"===n||"ClassPrivateMethod"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isPureish=function(e,t){if(!e)return!1;const n=e.type;if("FunctionDeclaration"===n||"FunctionExpression"===n||"StringLiteral"===n||"NumericLiteral"===n||"NullLiteral"===n||"BooleanLiteral"===n||"RegExpLiteral"===n||"ArrowFunctionExpression"===n||"BigIntLiteral"===n||"DecimalLiteral"===n||"Placeholder"===n&&"StringLiteral"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isDeclaration=function(e,t){if(!e)return!1;const n=e.type;if("FunctionDeclaration"===n||"VariableDeclaration"===n||"ClassDeclaration"===n||"ExportAllDeclaration"===n||"ExportDefaultDeclaration"===n||"ExportNamedDeclaration"===n||"ImportDeclaration"===n||"DeclareClass"===n||"DeclareFunction"===n||"DeclareInterface"===n||"DeclareModule"===n||"DeclareModuleExports"===n||"DeclareTypeAlias"===n||"DeclareOpaqueType"===n||"DeclareVariable"===n||"DeclareExportDeclaration"===n||"DeclareExportAllDeclaration"===n||"InterfaceDeclaration"===n||"OpaqueType"===n||"TypeAlias"===n||"EnumDeclaration"===n||"TSDeclareFunction"===n||"TSInterfaceDeclaration"===n||"TSTypeAliasDeclaration"===n||"TSEnumDeclaration"===n||"TSModuleDeclaration"===n||"Placeholder"===n&&"Declaration"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isPatternLike=function(e,t){if(!e)return!1;const n=e.type;if("Identifier"===n||"RestElement"===n||"AssignmentPattern"===n||"ArrayPattern"===n||"ObjectPattern"===n||"Placeholder"===n&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,r.default)(e,t);return!1},t.isLVal=function(e,t){if(!e)return!1;const n=e.type;if("Identifier"===n||"MemberExpression"===n||"RestElement"===n||"AssignmentPattern"===n||"ArrayPattern"===n||"ObjectPattern"===n||"TSParameterProperty"===n||"Placeholder"===n&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,r.default)(e,t);return!1},t.isTSEntityName=function(e,t){if(!e)return!1;const n=e.type;if("Identifier"===n||"TSQualifiedName"===n||"Placeholder"===n&&"Identifier"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isLiteral=function(e,t){if(!e)return!1;const n=e.type;if("StringLiteral"===n||"NumericLiteral"===n||"NullLiteral"===n||"BooleanLiteral"===n||"RegExpLiteral"===n||"TemplateLiteral"===n||"BigIntLiteral"===n||"DecimalLiteral"===n||"Placeholder"===n&&"StringLiteral"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isImmutable=function(e,t){if(!e)return!1;const n=e.type;if("StringLiteral"===n||"NumericLiteral"===n||"NullLiteral"===n||"BooleanLiteral"===n||"BigIntLiteral"===n||"JSXAttribute"===n||"JSXClosingElement"===n||"JSXElement"===n||"JSXExpressionContainer"===n||"JSXSpreadChild"===n||"JSXOpeningElement"===n||"JSXText"===n||"JSXFragment"===n||"JSXOpeningFragment"===n||"JSXClosingFragment"===n||"DecimalLiteral"===n||"Placeholder"===n&&"StringLiteral"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isUserWhitespacable=function(e,t){if(!e)return!1;const n=e.type;if("ObjectMethod"===n||"ObjectProperty"===n||"ObjectTypeInternalSlot"===n||"ObjectTypeCallProperty"===n||"ObjectTypeIndexer"===n||"ObjectTypeProperty"===n||"ObjectTypeSpreadProperty"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isMethod=function(e,t){if(!e)return!1;const n=e.type;if("ObjectMethod"===n||"ClassMethod"===n||"ClassPrivateMethod"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isObjectMember=function(e,t){if(!e)return!1;const n=e.type;if("ObjectMethod"===n||"ObjectProperty"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isProperty=function(e,t){if(!e)return!1;const n=e.type;if("ObjectProperty"===n||"ClassProperty"===n||"ClassPrivateProperty"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isUnaryLike=function(e,t){if(!e)return!1;const n=e.type;if("UnaryExpression"===n||"SpreadElement"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isPattern=function(e,t){if(!e)return!1;const n=e.type;if("AssignmentPattern"===n||"ArrayPattern"===n||"ObjectPattern"===n||"Placeholder"===n&&"Pattern"===e.expectedNode)return void 0===t||(0,r.default)(e,t);return!1},t.isClass=function(e,t){if(!e)return!1;const n=e.type;if("ClassExpression"===n||"ClassDeclaration"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isModuleDeclaration=function(e,t){if(!e)return!1;const n=e.type;if("ExportAllDeclaration"===n||"ExportDefaultDeclaration"===n||"ExportNamedDeclaration"===n||"ImportDeclaration"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isExportDeclaration=function(e,t){if(!e)return!1;const n=e.type;if("ExportAllDeclaration"===n||"ExportDefaultDeclaration"===n||"ExportNamedDeclaration"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isModuleSpecifier=function(e,t){if(!e)return!1;const n=e.type;if("ExportSpecifier"===n||"ImportDefaultSpecifier"===n||"ImportNamespaceSpecifier"===n||"ImportSpecifier"===n||"ExportNamespaceSpecifier"===n||"ExportDefaultSpecifier"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isFlow=function(e,t){if(!e)return!1;const n=e.type;if("AnyTypeAnnotation"===n||"ArrayTypeAnnotation"===n||"BooleanTypeAnnotation"===n||"BooleanLiteralTypeAnnotation"===n||"NullLiteralTypeAnnotation"===n||"ClassImplements"===n||"DeclareClass"===n||"DeclareFunction"===n||"DeclareInterface"===n||"DeclareModule"===n||"DeclareModuleExports"===n||"DeclareTypeAlias"===n||"DeclareOpaqueType"===n||"DeclareVariable"===n||"DeclareExportDeclaration"===n||"DeclareExportAllDeclaration"===n||"DeclaredPredicate"===n||"ExistsTypeAnnotation"===n||"FunctionTypeAnnotation"===n||"FunctionTypeParam"===n||"GenericTypeAnnotation"===n||"InferredPredicate"===n||"InterfaceExtends"===n||"InterfaceDeclaration"===n||"InterfaceTypeAnnotation"===n||"IntersectionTypeAnnotation"===n||"MixedTypeAnnotation"===n||"EmptyTypeAnnotation"===n||"NullableTypeAnnotation"===n||"NumberLiteralTypeAnnotation"===n||"NumberTypeAnnotation"===n||"ObjectTypeAnnotation"===n||"ObjectTypeInternalSlot"===n||"ObjectTypeCallProperty"===n||"ObjectTypeIndexer"===n||"ObjectTypeProperty"===n||"ObjectTypeSpreadProperty"===n||"OpaqueType"===n||"QualifiedTypeIdentifier"===n||"StringLiteralTypeAnnotation"===n||"StringTypeAnnotation"===n||"SymbolTypeAnnotation"===n||"ThisTypeAnnotation"===n||"TupleTypeAnnotation"===n||"TypeofTypeAnnotation"===n||"TypeAlias"===n||"TypeAnnotation"===n||"TypeCastExpression"===n||"TypeParameter"===n||"TypeParameterDeclaration"===n||"TypeParameterInstantiation"===n||"UnionTypeAnnotation"===n||"Variance"===n||"VoidTypeAnnotation"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isFlowType=function(e,t){if(!e)return!1;const n=e.type;if("AnyTypeAnnotation"===n||"ArrayTypeAnnotation"===n||"BooleanTypeAnnotation"===n||"BooleanLiteralTypeAnnotation"===n||"NullLiteralTypeAnnotation"===n||"ExistsTypeAnnotation"===n||"FunctionTypeAnnotation"===n||"GenericTypeAnnotation"===n||"InterfaceTypeAnnotation"===n||"IntersectionTypeAnnotation"===n||"MixedTypeAnnotation"===n||"EmptyTypeAnnotation"===n||"NullableTypeAnnotation"===n||"NumberLiteralTypeAnnotation"===n||"NumberTypeAnnotation"===n||"ObjectTypeAnnotation"===n||"StringLiteralTypeAnnotation"===n||"StringTypeAnnotation"===n||"SymbolTypeAnnotation"===n||"ThisTypeAnnotation"===n||"TupleTypeAnnotation"===n||"TypeofTypeAnnotation"===n||"UnionTypeAnnotation"===n||"VoidTypeAnnotation"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isFlowBaseAnnotation=function(e,t){if(!e)return!1;const n=e.type;if("AnyTypeAnnotation"===n||"BooleanTypeAnnotation"===n||"NullLiteralTypeAnnotation"===n||"MixedTypeAnnotation"===n||"EmptyTypeAnnotation"===n||"NumberTypeAnnotation"===n||"StringTypeAnnotation"===n||"SymbolTypeAnnotation"===n||"ThisTypeAnnotation"===n||"VoidTypeAnnotation"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isFlowDeclaration=function(e,t){if(!e)return!1;const n=e.type;if("DeclareClass"===n||"DeclareFunction"===n||"DeclareInterface"===n||"DeclareModule"===n||"DeclareModuleExports"===n||"DeclareTypeAlias"===n||"DeclareOpaqueType"===n||"DeclareVariable"===n||"DeclareExportDeclaration"===n||"DeclareExportAllDeclaration"===n||"InterfaceDeclaration"===n||"OpaqueType"===n||"TypeAlias"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isFlowPredicate=function(e,t){if(!e)return!1;const n=e.type;if("DeclaredPredicate"===n||"InferredPredicate"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumBody=function(e,t){if(!e)return!1;const n=e.type;if("EnumBooleanBody"===n||"EnumNumberBody"===n||"EnumStringBody"===n||"EnumSymbolBody"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isEnumMember=function(e,t){if(!e)return!1;const n=e.type;if("EnumBooleanMember"===n||"EnumNumberMember"===n||"EnumStringMember"===n||"EnumDefaultedMember"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isJSX=function(e,t){if(!e)return!1;const n=e.type;if("JSXAttribute"===n||"JSXClosingElement"===n||"JSXElement"===n||"JSXEmptyExpression"===n||"JSXExpressionContainer"===n||"JSXSpreadChild"===n||"JSXIdentifier"===n||"JSXMemberExpression"===n||"JSXNamespacedName"===n||"JSXOpeningElement"===n||"JSXSpreadAttribute"===n||"JSXText"===n||"JSXFragment"===n||"JSXOpeningFragment"===n||"JSXClosingFragment"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isPrivate=function(e,t){if(!e)return!1;const n=e.type;if("ClassPrivateProperty"===n||"ClassPrivateMethod"===n||"PrivateName"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isTSTypeElement=function(e,t){if(!e)return!1;const n=e.type;if("TSCallSignatureDeclaration"===n||"TSConstructSignatureDeclaration"===n||"TSPropertySignature"===n||"TSMethodSignature"===n||"TSIndexSignature"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isTSType=function(e,t){if(!e)return!1;const n=e.type;if("TSAnyKeyword"===n||"TSBooleanKeyword"===n||"TSBigIntKeyword"===n||"TSIntrinsicKeyword"===n||"TSNeverKeyword"===n||"TSNullKeyword"===n||"TSNumberKeyword"===n||"TSObjectKeyword"===n||"TSStringKeyword"===n||"TSSymbolKeyword"===n||"TSUndefinedKeyword"===n||"TSUnknownKeyword"===n||"TSVoidKeyword"===n||"TSThisType"===n||"TSFunctionType"===n||"TSConstructorType"===n||"TSTypeReference"===n||"TSTypePredicate"===n||"TSTypeQuery"===n||"TSTypeLiteral"===n||"TSArrayType"===n||"TSTupleType"===n||"TSOptionalType"===n||"TSRestType"===n||"TSUnionType"===n||"TSIntersectionType"===n||"TSConditionalType"===n||"TSInferType"===n||"TSParenthesizedType"===n||"TSTypeOperator"===n||"TSIndexedAccessType"===n||"TSMappedType"===n||"TSLiteralType"===n||"TSExpressionWithTypeArguments"===n||"TSImportType"===n)return void 0===t||(0,r.default)(e,t);return!1},t.isTSBaseType=function(e,t){if(!e)return!1;const n=e.type;if("TSAnyKeyword"===n||"TSBooleanKeyword"===n||"TSBigIntKeyword"===n||"TSIntrinsicKeyword"===n||"TSNeverKeyword"===n||"TSNullKeyword"===n||"TSNumberKeyword"===n||"TSObjectKeyword"===n||"TSStringKeyword"===n||"TSSymbolKeyword"===n||"TSUndefinedKeyword"===n||"TSUnknownKeyword"===n||"TSVoidKeyword"===n||"TSThisType"===n||"TSLiteralType"===n)return void 0===t||(0,r.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,r.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,r.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,r.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,r.default)(e,t);return!1};var n,r=(n=Mi)&&n.__esModule?n:{default:n}})),Bi=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){if(!(0,Li.isMemberExpression)(e))return!1;const r=Array.isArray(t)?t:t.split("."),i=[];let a;for(a=e;(0,Li.isMemberExpression)(a);a=a.object)i.push(a.property);if(i.push(a),i.lengthr.length)return!1;for(let e=0,t=i.length-1;e(0,r.default)(e,n,t)};var n,r=(n=Bi)&&n.__esModule?n:{default:n}})),Ui=P((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ri)&&n.__esModule?n:{default:n}).default)("React.Component");t.default=r})),Vi=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!e&&/^[a-z]/.test(e)}}));var Wi=function(){this.__data__=[],this.size=0};var zi=function(e,t){return e===t||e!=e&&t!=t};var qi=function(e,t){for(var n=e.length;n--;)if(zi(e[n][0],t))return n;return-1},Hi=Array.prototype.splice;var Xi=function(e){var t=this.__data__,n=qi(t,e);return!(n<0)&&(n==t.length-1?t.pop():Hi.call(t,n,1),--this.size,!0)};var Ji=function(e){var t=this.__data__,n=qi(t,e);return n<0?void 0:t[n][1]};var $i=function(e){return qi(this.__data__,e)>-1};var Yi=function(e,t){var n=this.__data__,r=qi(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function Ki(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991},xs={};xs["[object Float32Array]"]=xs["[object Float64Array]"]=xs["[object Int8Array]"]=xs["[object Int16Array]"]=xs["[object Int32Array]"]=xs["[object Uint8Array]"]=xs["[object Uint8ClampedArray]"]=xs["[object Uint16Array]"]=xs["[object Uint32Array]"]=!0,xs["[object Arguments]"]=xs["[object Array]"]=xs["[object ArrayBuffer]"]=xs["[object Boolean]"]=xs["[object DataView]"]=xs["[object Date]"]=xs["[object Error]"]=xs["[object Function]"]=xs["[object Map]"]=xs["[object Number]"]=xs["[object Object]"]=xs["[object RegExp]"]=xs["[object Set]"]=xs["[object String]"]=xs["[object WeakMap]"]=!1;var Es=function(e){return us(e)&&vs(e.length)&&!!xs[fa(e)]};var Ds=function(e){return function(t){return e(t)}},Ss=P((function(e,t){var n=t&&!t.nodeType&&t,r=n&&e&&!e.nodeType&&e,i=r&&r.exports===n&&na.process,a=function(){try{var e=r&&r.require&&r.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=a})),Ts=Ss&&Ss.isTypedArray,As=Ts?Ds(Ts):Es,ws=Object.prototype.hasOwnProperty;var Ps=function(e,t){var n=fs(e),r=!n&&ds(e),i=!n&&!r&&ys(e),a=!n&&!r&&!i&&As(e),s=n||r||i||a,o=s?os(e.length,String):[],u=o.length;for(var l in e)!t&&!ws.call(e,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||a&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||bs(l,u))||o.push(l);return o},Cs=Object.prototype;var ks=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Cs)};var _s=function(e,t){return function(n){return e(t(n))}},Fs=_s(Object.keys,Object),Is=Object.prototype.hasOwnProperty;var Os=function(e){if(!ks(e))return Fs(e);var t=[];for(var n in Object(e))Is.call(e,n)&&"constructor"!=n&&t.push(n);return t};var Ns=function(e){return null!=e&&vs(e.length)&&!ga(e)};var js=function(e){return Ns(e)?Ps(e):Os(e)};var Ms=function(e,t){return e&&ss(t,js(t),e)};var Ls=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t},Bs=Object.prototype.hasOwnProperty;var Rs=function(e){if(!ma(e))return Ls(e);var t=ks(e),n=[];for(var r in e)("constructor"!=r||!t&&Bs.call(e,r))&&n.push(r);return n};var Us=function(e){return Ns(e)?Ps(e,!0):Rs(e)};var Vs=function(e,t){return e&&ss(t,Us(t),e)},Ws=P((function(e,t){var n=t&&!t.nodeType&&t,r=n&&e&&!e.nodeType&&e,i=r&&r.exports===n?ia.Buffer:void 0,a=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=a?a(n):new e.constructor(n);return e.copy(r),r}}));var zs=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++ne)return!1;if(n+=t[r+1],n>=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,s)))}function c(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)):u(e,s)||u(e,o))))}})),eu=P((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 n=["implements","interface","let","package","private","protected","public","static","yield"],r=["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"]),a=new Set(n),s=new Set(r);function o(e,t){return t&&"await"===e||"enum"===e}function u(e,t){return o(e,t)||a.has(e)}function l(e){return s.has(e)}})),tu=P((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}})})),nu=P((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)}})),ru=P((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 n=["||","&&","??"];t.LOGICAL_OPERATORS=n;t.UPDATE_OPERATORS=["++","--"];const r=[">","<",">=","<="];t.BOOLEAN_NUMBER_BINARY_OPERATORS=r;const i=["==","===","!=","!=="];t.EQUALITY_BINARY_OPERATORS=i;const a=[...i,"in","instanceof"];t.COMPARISON_BINARY_OPERATORS=a;const s=[...a,...r];t.BOOLEAN_BINARY_OPERATORS=s;const o=["-","/","%","*","**","&","|",">>",">>>","<<","^"];t.NUMBER_BINARY_OPERATORS=o;const u=["+",...o,...s];t.BINARY_OPERATORS=u;const l=["=","+=",...o.map((e=>e+"=")),...n.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=P((function(e,t){function n(e,t,n,r){(null==r?void 0:r.validate)&&(r.optional&&null==n||r.validate(e,t,n))}function r(e,t,n){if(null==n)return;const r=uu.NODE_PARENT_VALIDATIONS[n.type];r&&r(e,t,n)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,i){if(!e)return;const a=uu.NODE_FIELDS[e.type];if(!a)return;const s=a[t];n(e,t,i,s),r(e,t,i)},t.validateField=n,t.validateChild=r})),au=P((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,n,r){if(e.indexOf(r)<0)throw new TypeError(`Property ${n} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)}return t.oneOf=e,t},t.assertNodeType=g,t.assertNodeOrValueType=function(...e){function t(t,n,i){for(const a of e)if(p(i)===a||(0,r.default)(a,i))return void(0,iu.validateChild)(t,n,i);throw new TypeError(`Property ${n} 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,n,r){const i=[];for(const n of Object.keys(e))try{(0,iu.validateField)(t,n,r[n],e[n])}catch(e){if(e instanceof TypeError){i.push(e.message);continue}throw e}if(i.length)throw new TypeError(`Property ${n} 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 n=e;for(;e;){const{type:e}=n;if("OptionalCallExpression"!==e){if("OptionalMemberExpression"!==e)break;if(n.optional)return;n=n.object}else{if(n.optional)return;n=n.callee}}throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${null==(t=n)?void 0:t.type}`)}},t.chain=v,t.default=function(e,t={}){const n=t.inherits&&D[t.inherits]||{};let r=t.fields;if(!r&&(r={},n.fields)){const e=Object.getOwnPropertyNames(n.fields);for(const t of e){const e=n.fields[t];r[t]={default:e.default,optional:e.optional,validate:e.validate}}}const h=t.visitor||n.visitor||[],d=t.aliases||n.aliases||[],f=t.builder||n.builder||t.visitor||[];for(const n of Object.keys(t))if(-1===x.indexOf(n))throw new Error(`Unknown type option "${n}" on ${e}`);t.deprecatedAlias&&(l[t.deprecatedAlias]=e);for(const e of h.concat(f))r[e]=r[e]||{};for(const t of Object.keys(r)){const n=r[t];void 0!==n.default&&-1===f.indexOf(t)&&(n.optional=!0),void 0===n.default?n.default=null:n.validate||null==n.default||(n.validate=b(p(n.default)));for(const r of Object.keys(n))if(-1===E.indexOf(r))throw new Error(`Unknown field key "${r}" on ${e}.${t}`)}i[e]=t.visitor=h,u[e]=t.builder=f,o[e]=t.fields=r,a[e]=t.aliases=d,d.forEach((t=>{s[t]=s[t]||[],s[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 n,r=(n=Qo)&&n.__esModule?n:{default:n};const i={};t.VISITOR_KEYS=i;const a={};t.ALIAS_KEYS=a;const s={};t.FLIPPED_ALIAS_KEYS=s;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,n,r){if(Array.isArray(r))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={}})),su=P((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(nu);var n=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 a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var s=i?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(n,a,s):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(au);function r(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}(0,n.default)("ArrayExpression",{fields:{elements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeOrValueType)("null","Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,n.default)("AssignmentExpression",{fields:{operator:{validate:(0,n.assertValueType)("string")},left:{validate:(0,n.assertNodeType)("LVal")},right:{validate:(0,n.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),(0,n.default)("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:(0,n.assertOneOf)(...ru.BINARY_OPERATORS)},left:{validate:function(){const e=(0,n.assertNodeType)("Expression"),t=(0,n.assertNodeType)("Expression","PrivateName"),r=function(n,r,i){("in"===n.operator?t:e)(n,r,i)};return r.oneOfNodeTypes=["Expression","PrivateName"],r}()},right:{validate:(0,n.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),(0,n.default)("InterpreterDirective",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}}}),(0,n.default)("Directive",{visitor:["value"],fields:{value:{validate:(0,n.assertNodeType)("DirectiveLiteral")}}}),(0,n.default)("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}}}),(0,n.default)("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Directive"))),default:[]},body:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]}),(0,n.default)("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,n.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,n.default)("CallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:(0,n.assertNodeType)("Expression","V8IntrinsicIdentifier")},arguments:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))}},{optional:{validate:(0,n.assertOneOf)(!0,!1),optional:!0}},{typeArguments:{validate:(0,n.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,n.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}})}),(0,n.default)("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,n.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:(0,n.assertNodeType)("BlockStatement")}},aliases:["Scopable","BlockParent"]}),(0,n.default)("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,n.assertNodeType)("Expression")},consequent:{validate:(0,n.assertNodeType)("Expression")},alternate:{validate:(0,n.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),(0,n.default)("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,n.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,n.default)("DebuggerStatement",{aliases:["Statement"]}),(0,n.default)("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),(0,n.default)("EmptyStatement",{aliases:["Statement"]}),(0,n.default)("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),(0,n.default)("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,n.assertNodeType)("Program")},comments:{validate:Object.assign((()=>{}),{each:{oneOfNodeTypes:["CommentBlock","CommentLine"]}}),optional:!0},tokens:{validate:(0,n.assertEach)(Object.assign((()=>{}),{type:"any"})),optional:!0}}}),(0,n.default)("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,n.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")}}}),(0,n.default)("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,n.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,n.assertNodeType)("Expression"),optional:!0},update:{validate:(0,n.assertNodeType)("Expression"),optional:!0},body:{validate:(0,n.assertNodeType)("Statement")}}});const a={params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Identifier","Pattern","RestElement","TSParameterProperty")))},generator:{default:!1},async:{default:!1}};t.functionCommon=a;const s={returnType:{validate:(0,n.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,n.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0}};t.functionTypeAnnotationCommon=s;const o=Object.assign({},a,{declare:{validate:(0,n.assertValueType)("boolean"),optional:!0},id:{validate:(0,n.assertNodeType)("Identifier"),optional:!0}});t.functionDeclarationCommon=o,(0,n.default)("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:Object.assign({},o,s,{body:{validate:(0,n.assertNodeType)("BlockStatement")}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:()=>{}}),(0,n.default)("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},a,s,{id:{validate:(0,n.assertNodeType)("Identifier"),optional:!0},body:{validate:(0,n.assertNodeType)("BlockStatement")}})});const u={typeAnnotation:{validate:(0,n.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}};t.patternLikeCommon=u,(0,n.default)("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},u,{name:{validate:(0,n.chain)((0,n.assertValueType)("string"),Object.assign((function(e,t,n){}),{type:"string"}))},optional:{validate:(0,n.assertValueType)("boolean"),optional:!0}}),validate(e,t,n){}}),(0,n.default)("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,n.assertNodeType)("Expression")},consequent:{validate:(0,n.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,n.assertNodeType)("Statement")}}}),(0,n.default)("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,n.assertNodeType)("Identifier")},body:{validate:(0,n.assertNodeType)("Statement")}}}),(0,n.default)("StringLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,n.assertValueType)("number")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:(0,n.assertValueType)("string")},flags:{validate:(0,n.chain)((0,n.assertValueType)("string"),Object.assign((function(e,t,n){}),{type:"string"})),default:""}}}),(0,n.default)("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:(0,n.assertOneOf)(...ru.LOGICAL_OPERATORS)},left:{validate:(0,n.assertNodeType)("Expression")},right:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("MemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression","LVal"],fields:Object.assign({object:{validate:(0,n.assertNodeType)("Expression")},property:{validate:function(){const e=(0,n.assertNodeType)("Identifier","PrivateName"),t=(0,n.assertNodeType)("Expression"),r=function(n,r,i){(n.computed?t:e)(n,r,i)};return r.oneOfNodeTypes=["Expression","Identifier","PrivateName"],r}()},computed:{default:!1}},{optional:{validate:(0,n.assertOneOf)(!0,!1),optional:!0}})}),(0,n.default)("NewExpression",{inherits:"CallExpression"}),(0,n.default)("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceFile:{validate:(0,n.assertValueType)("string")},sourceType:{validate:(0,n.assertOneOf)("script","module"),default:"script"},interpreter:{validate:(0,n.assertNodeType)("InterpreterDirective"),default:null,optional:!0},directives:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Directive"))),default:[]},body:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block"]}),(0,n.default)("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ObjectMethod","ObjectProperty","SpreadElement")))}}}),(0,n.default)("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],fields:Object.assign({},a,s,{kind:Object.assign({validate:(0,n.assertOneOf)("method","get","set")},{default:"method"}),computed:{default:!1},key:{validate:function(){const e=(0,n.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,n.assertNodeType)("Expression"),r=function(n,r,i){(n.computed?t:e)(n,r,i)};return r.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral"],r}()},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0},body:{validate:(0,n.assertNodeType)("BlockStatement")}}),visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),(0,n.default)("ObjectProperty",{builder:["key","value","computed","shorthand","decorators"],fields:{computed:{default:!1},key:{validate:function(){const e=(0,n.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,n.assertNodeType)("Expression"),r=function(n,r,i){(n.computed?t:e)(n,r,i)};return r.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral"],r}()},value:{validate:(0,n.assertNodeType)("Expression","PatternLike")},shorthand:{validate:(0,n.chain)((0,n.assertValueType)("boolean"),Object.assign((function(e,t,n){}),{type:"boolean"}),(function(e,t,n){})),default:!1},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:((0,n.assertNodeType)("Identifier","Pattern"),(0,n.assertNodeType)("Expression"),function(e,t,n){})}),(0,n.default)("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},u,{argument:{validate:(0,n.assertNodeType)("LVal")}}),validate(e,t){}}),(0,n.default)("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,n.assertNodeType)("Expression"),optional:!0}}}),(0,n.default)("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression")))}},aliases:["Expression"]}),(0,n.default)("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,n.assertNodeType)("Expression"),optional:!0},consequent:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Statement")))}}}),(0,n.default)("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,n.assertNodeType)("Expression")},cases:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("SwitchCase")))}}}),(0,n.default)("ThisExpression",{aliases:["Expression"]}),(0,n.default)("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:(0,n.chain)((0,n.assertNodeType)("BlockStatement"),Object.assign((function(e){}),{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:(0,n.assertNodeType)("CatchClause")},finalizer:{optional:!0,validate:(0,n.assertNodeType)("BlockStatement")}}}),(0,n.default)("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,n.assertNodeType)("Expression")},operator:{validate:(0,n.assertOneOf)(...ru.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),(0,n.default)("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:(0,n.assertNodeType)("Expression")},operator:{validate:(0,n.assertOneOf)(...ru.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),(0,n.default)("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:(0,n.assertValueType)("boolean"),optional:!0},kind:{validate:(0,n.assertOneOf)("var","let","const")},declarations:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("VariableDeclarator")))}},validate(e,t,n){}}),(0,n.default)("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:(0,n.assertNodeType)("LVal")},definite:{optional:!0,validate:(0,n.assertValueType)("boolean")},init:{optional:!0,validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")}}}),(0,n.default)("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")}}}),(0,n.default)("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{left:{validate:(0,n.assertNodeType)("Identifier","ObjectPattern","ArrayPattern","MemberExpression")},right:{validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}})}),(0,n.default)("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{elements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeOrValueType)("null","PatternLike")))},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}})}),(0,n.default)("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},a,s,{expression:{validate:(0,n.assertValueType)("boolean")},body:{validate:(0,n.assertNodeType)("BlockStatement","Expression")}})}),(0,n.default)("ClassBody",{visitor:["body"],fields:{body:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","TSDeclareMethod","TSIndexSignature")))}}}),(0,n.default)("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:(0,n.assertNodeType)("Identifier"),optional:!0},typeParameters:{validate:(0,n.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,n.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,n.assertNodeType)("Expression")},superTypeParameters:{validate:(0,n.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0},mixins:{validate:(0,n.assertNodeType)("InterfaceExtends"),optional:!0}}}),(0,n.default)("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:(0,n.assertNodeType)("Identifier")},typeParameters:{validate:(0,n.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,n.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,n.assertNodeType)("Expression")},superTypeParameters:{validate:(0,n.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0},mixins:{validate:(0,n.assertNodeType)("InterfaceExtends"),optional:!0},declare:{validate:(0,n.assertValueType)("boolean"),optional:!0},abstract:{validate:(0,n.assertValueType)("boolean"),optional:!0}},validate:((0,n.assertNodeType)("Identifier"),function(e,t,n){})}),(0,n.default)("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:(0,n.assertNodeType)("StringLiteral")},exportKind:(0,n.validateOptional)((0,n.assertOneOf)("type","value")),assertions:{optional:!0,validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ImportAttribute")))}}}),(0,n.default)("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,n.assertNodeType)("FunctionDeclaration","TSDeclareFunction","ClassDeclaration","Expression")}}}),(0,n.default)("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{optional:!0,validate:(0,n.chain)((0,n.assertNodeType)("Declaration"),Object.assign((function(e,t,n){}),{oneOfNodeTypes:["Declaration"]}),(function(e,t,n){}))},assertions:{optional:!0,validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ImportAttribute")))},specifiers:{default:[],validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)(function(){const e=(0,n.assertNodeType)("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier");return(0,n.assertNodeType)("ExportSpecifier"),e}()))},source:{validate:(0,n.assertNodeType)("StringLiteral"),optional:!0},exportKind:(0,n.validateOptional)((0,n.assertOneOf)("type","value"))}}),(0,n.default)("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")},exported:{validate:(0,n.assertNodeType)("Identifier","StringLiteral")}}}),(0,n.default)("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,n.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")},await:{default:!1}}}),(0,n.default)("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{assertions:{optional:!0,validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ImportAttribute")))},specifiers:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:(0,n.assertNodeType)("StringLiteral")},importKind:{validate:(0,n.assertOneOf)("type","typeof","value"),optional:!0}}}),(0,n.default)("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")},imported:{validate:(0,n.assertNodeType)("Identifier","StringLiteral")},importKind:{validate:(0,n.assertOneOf)("type","typeof"),optional:!0}}}),(0,n.default)("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:(0,n.chain)((0,n.assertNodeType)("Identifier"),Object.assign((function(e,t,n){}),{oneOfNodeTypes:["Identifier"]}))},property:{validate:(0,n.assertNodeType)("Identifier")}}});const l={abstract:{validate:(0,n.assertValueType)("boolean"),optional:!0},accessibility:{validate:(0,n.assertOneOf)("public","private","protected"),optional:!0},static:{default:!1},computed:{default:!1},optional:{validate:(0,n.assertValueType)("boolean"),optional:!0},key:{validate:(0,n.chain)(function(){const e=(0,n.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,n.assertNodeType)("Expression");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),(0,n.assertNodeType)("Identifier","StringLiteral","NumericLiteral","Expression"))}};t.classMethodOrPropertyCommon=l;const c=Object.assign({},a,l,{kind:{validate:(0,n.assertOneOf)("get","set","method","constructor"),default:"method"},access:{validate:(0,n.chain)((0,n.assertValueType)("string"),(0,n.assertOneOf)("public","private","protected")),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}});t.classMethodOrDeclareMethodCommon=c,(0,n.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,s,{body:{validate:(0,n.assertNodeType)("BlockStatement")}})}),(0,n.default)("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{properties:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("RestElement","ObjectProperty")))}})}),(0,n.default)("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("Super",{aliases:["Expression"]}),(0,n.default)("TaggedTemplateExpression",{visitor:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,n.assertNodeType)("Expression")},quasi:{validate:(0,n.assertNodeType)("TemplateLiteral")},typeParameters:{validate:(0,n.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,n.default)("TemplateElement",{builder:["value","tail"],fields:{value:{validate:(0,n.assertShape)({raw:{validate:(0,n.assertValueType)("string")},cooked:{validate:(0,n.assertValueType)("string"),optional:!0}})},tail:{default:!1}}}),(0,n.default)("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TemplateElement")))},expressions:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression","TSType")),(function(e,t,n){if(e.quasis.length!==n.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)}))}}}),(0,n.default)("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:(0,n.chain)((0,n.assertValueType)("boolean"),Object.assign((function(e,t,n){}),{type:"boolean"})),default:!1},argument:{optional:!0,validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("Import",{aliases:["Expression"]}),(0,n.default)("BigIntLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:(0,n.assertNodeType)("Expression")},property:{validate:function(){const e=(0,n.assertNodeType)("Identifier"),t=(0,n.assertNodeType)("Expression"),r=function(n,r,i){(n.computed?t:e)(n,r,i)};return r.oneOfNodeTypes=["Expression","Identifier"],r}()},computed:{default:!1},optional:{validate:(0,n.assertValueType)("boolean")}}}),(0,n.default)("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:{callee:{validate:(0,n.assertNodeType)("Expression")},arguments:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))},optional:{validate:(0,n.assertValueType)("boolean")},typeArguments:{validate:(0,n.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,n.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}}})}));P((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=n();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var s=i?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=e[a]}r.default=e,t&&t.set(e,r);return r}(au);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}const r=(e,n="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)(n),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")}}),r("DeclareClass"),(0,t.default)("DeclareFunction",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)("Identifier"),predicate:(0,t.validateOptionalType)("DeclaredPredicate")}}),r("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")}}),r("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")}})})),P((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=n();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var s=i?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=e[a]}r.default=e,t&&t.set(e,r);return r}(au);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=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=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.PLACEHOLDERS_FLIPPED_ALIAS=t.PLACEHOLDERS_ALIAS=t.PLACEHOLDERS=void 0;const n=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"];t.PLACEHOLDERS=n;const r={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};t.PLACEHOLDERS_ALIAS=r;for(const e of n){const t=au.ALIAS_KEYS[e];(null==t?void 0:t.length)&&(r[e]=t)}const i={};t.PLACEHOLDERS_FLIPPED_ALIAS=i,Object.keys(r).forEach((e=>{r[e].forEach((t=>{Object.hasOwnProperty.call(i,t)||(i[t]=[]),i[t].push(e)}))}))}));P((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=n();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var s=i?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=e[a]}r.default=e,t&&t.set(e,r);return r}(au);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=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")}}})})),P((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=n();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var s=i?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=e[a]}r.default=e,t&&t.set(e,r);return r}(au);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=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({},su.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({},su.classMethodOrDeclareMethodCommon,su.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"]})})),P((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=n();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var s=i?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=e[a]}r.default=e,t&&t.set(e,r);return r}(au);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}const r=(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({},su.functionDeclarationCommon,i)}),(0,t.default)("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},su.classMethodOrDeclareMethodCommon,i)}),(0,t.default)("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:(0,t.validateType)("TSEntityName"),right:(0,t.validateType)("Identifier")}});const a={typeParameters:(0,t.validateOptionalType)("TSTypeParameterDeclaration"),parameters:(0,t.validateArrayOfType)(["Identifier","RestElement"]),typeAnnotation:(0,t.validateOptionalType)("TSTypeAnnotation")},s={aliases:["TSTypeElement"],visitor:["typeParameters","parameters","typeAnnotation"],fields:a};(0,t.default)("TSCallSignatureDeclaration",s),(0,t.default)("TSConstructSignatureDeclaration",s);const o={key:(0,t.validateType)("Expression"),computed:(0,t.validate)(r),optional:(0,t.validateOptional)(r)};(0,t.default)("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation","initializer"],fields:Object.assign({},o,{readonly:(0,t.validateOptional)(r),typeAnnotation:(0,t.validateOptionalType)("TSTypeAnnotation"),initializer:(0,t.validateOptionalType)("Expression")})}),(0,t.default)("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","parameters","typeAnnotation"],fields:Object.assign({},a,o)}),(0,t.default)("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:(0,t.validateOptional)(r),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:a})),(0,t.default)("TSConstructorType",Object.assign({},l,{fields:Object.assign({},a,{abstract:(0,t.validateOptional)(r)})})),(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)(r)}}),(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:r,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)(r),typeParameter:(0,t.validateType)("TSTypeParameter"),optional:(0,t.validateOptional)(r),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)(r),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)(r),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)(r),const:(0,t.validateOptional)(r),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)(r),global:(0,t.validateOptional)(r),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)(r),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=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"VISITOR_KEYS",{enumerable:!0,get:function(){return au.VISITOR_KEYS}}),Object.defineProperty(t,"ALIAS_KEYS",{enumerable:!0,get:function(){return au.ALIAS_KEYS}}),Object.defineProperty(t,"FLIPPED_ALIAS_KEYS",{enumerable:!0,get:function(){return au.FLIPPED_ALIAS_KEYS}}),Object.defineProperty(t,"NODE_FIELDS",{enumerable:!0,get:function(){return au.NODE_FIELDS}}),Object.defineProperty(t,"BUILDER_KEYS",{enumerable:!0,get:function(){return au.BUILDER_KEYS}}),Object.defineProperty(t,"DEPRECATED_KEYS",{enumerable:!0,get:function(){return au.DEPRECATED_KEYS}}),Object.defineProperty(t,"NODE_PARENT_VALIDATIONS",{enumerable:!0,get:function(){return au.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 n,r=(n=Yo)&&n.__esModule?n:{default:n};(0,r.default)(au.VISITOR_KEYS),(0,r.default)(au.ALIAS_KEYS),(0,r.default)(au.FLIPPED_ALIAS_KEYS),(0,r.default)(au.NODE_FIELDS),(0,r.default)(au.BUILDER_KEYS),(0,r.default)(au.DEPRECATED_KEYS),(0,r.default)(ou.PLACEHOLDERS_ALIAS),(0,r.default)(ou.PLACEHOLDERS_FLIPPED_ALIAS);const i=Object.keys(au.VISITOR_KEYS).concat(Object.keys(au.FLIPPED_ALIAS_KEYS)).concat(Object.keys(au.DEPRECATED_KEYS));t.TYPES=i})),lu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,...t){const i=uu.BUILDER_KEYS[e],a=t.length;if(a>i.length)throw new Error(`${e}: Too many arguments passed. Received ${a} but can receive no more than ${i.length}`);const s={type:e};let o=0;i.forEach((r=>{const i=uu.NODE_FIELDS[e][r];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))a.indexOf(u.types)<0&&(t=t.concat(u.types),a.push(u.types));else if((0,Li.isGenericTypeAnnotation)(u)){const t=n(u.id);if(r[t]){let n=r[t];n.typeParameters?u.typeParameters&&(n.typeParameters.params=e(n.typeParameters.params.concat(u.typeParameters.params))):n=u.typeParameters}else r[t]=u}else s.push(u)}}for(const e of Object.keys(i))s.push(i[e]);for(const e of Object.keys(r))s.push(r[e]);return s}})),bu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(0,r.default)(e);return 1===t.length?t[0]:(0,cu.unionTypeAnnotation)(t)};var n,r=(n=gu)&&n.__esModule?n:{default:n}})),vu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t={},n={},r=[],i=[];for(let t=0;t=0)){if((0,Li.isTSAnyKeyword)(a))return[a];(0,Li.isTSBaseType)(a)?n[a.type]=a:(0,Li.isTSUnionType)(a)?r.indexOf(a.types)<0&&(e=e.concat(a.types),r.push(a.types)):i.push(a)}}for(const e of Object.keys(n))i.push(n[e]);for(const e of Object.keys(t))i.push(t[e]);return i}})),xu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.map((e=>e.typeAnnotation)),n=(0,r.default)(t);return 1===n.length?n[0]:(0,cu.tsUnionType)(n)};var n,r=(n=vu)&&n.__esModule?n:{default:n}})),Eu=P((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=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=a;const n=Function.call.bind(Object.prototype.hasOwnProperty);function r(e,t,n){return e&&"string"==typeof e.type?a(e,t,n):e}function i(e,t,n){return Array.isArray(e)?e.map((e=>r(e,t,n))):r(e,t,n)}function a(e,t=!0,r=!1){if(!e)return e;const{type:a}=e,o={type:e.type};if((0,Li.isIdentifier)(e))o.name=e.name,n(e,"optional")&&"boolean"==typeof e.optional&&(o.optional=e.optional),n(e,"typeAnnotation")&&(o.typeAnnotation=t?i(e.typeAnnotation,!0,r):e.typeAnnotation);else{if(!n(uu.NODE_FIELDS,a))throw new Error(`Unknown node type: "${a}"`);for(const u of Object.keys(uu.NODE_FIELDS[a]))n(e,u)&&(o[u]=t?(0,Li.isFile)(e)&&"comments"===u?s(e.comments,t,r):i(e[u],!0,r):e[u])}return n(e,"loc")&&(o.loc=r?null:e.loc),n(e,"leadingComments")&&(o.leadingComments=s(e.leadingComments,t,r)),n(e,"innerComments")&&(o.innerComments=s(e.innerComments,t,r)),n(e,"trailingComments")&&(o.trailingComments=s(e.trailingComments,t,r)),n(e,"extra")&&(o.extra=Object.assign({},e.extra)),o}function s(e,t,n){return t&&n&&e?function(e){return e.map((({type:e,value:t})=>({type:e,value:t,loc:null})))}(e):e}})),Su=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!1)};var n,r=(n=Du)&&n.__esModule?n:{default:n}})),Tu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e)};var n,r=(n=Du)&&n.__esModule?n:{default:n}})),Au=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!0,!0)};var n,r=(n=Du)&&n.__esModule?n:{default:n}})),wu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!1,!0)};var n,r=(n=Du)&&n.__esModule?n:{default:n}})),Pu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){if(!n||!e)return e;const r=`${t}Comments`;e[r]?e[r]="leading"===t?n.concat(e[r]):e[r].concat(n):e[r]=n;return e}})),Cu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,i){return(0,r.default)(e,t,[{type:i?"CommentLine":"CommentBlock",value:n}])};var n,r=(n=Pu)&&n.__esModule?n:{default:n}})),ku=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){t&&n&&(t[e]=Array.from(new Set([].concat(t[e],n[e]).filter(Boolean))))}})),_u=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("innerComments",e,t)};var n,r=(n=ku)&&n.__esModule?n:{default:n}})),Fu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("leadingComments",e,t)};var n,r=(n=ku)&&n.__esModule?n:{default:n}})),Iu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("trailingComments",e,t)};var n,r=(n=ku)&&n.__esModule?n:{default:n}})),Ou=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,n.default)(e,t),(0,r.default)(e,t),(0,i.default)(e,t),e};var n=a(Iu),r=a(Fu),i=a(_u);function a(e){return e&&e.__esModule?e:{default:e}}})),Nu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return ru.COMMENT_KEYS.forEach((t=>{e[t]=null})),e}})),ju=P((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 n=uu.FLIPPED_ALIAS_KEYS.Expression;t.EXPRESSION_TYPES=n;const r=uu.FLIPPED_ALIAS_KEYS.Binary;t.BINARY_TYPES=r;const i=uu.FLIPPED_ALIAS_KEYS.Scopable;t.SCOPABLE_TYPES=i;const a=uu.FLIPPED_ALIAS_KEYS.BlockParent;t.BLOCKPARENT_TYPES=a;const s=uu.FLIPPED_ALIAS_KEYS.Block;t.BLOCK_TYPES=s;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 w=uu.FLIPPED_ALIAS_KEYS.Method;t.METHOD_TYPES=w;const P=uu.FLIPPED_ALIAS_KEYS.ObjectMember;t.OBJECTMEMBER_TYPES=P;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 F=uu.FLIPPED_ALIAS_KEYS.Class;t.CLASS_TYPES=F;const I=uu.FLIPPED_ALIAS_KEYS.ModuleDeclaration;t.MODULEDECLARATION_TYPES=I;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 W=uu.FLIPPED_ALIAS_KEYS.JSX;t.JSX_TYPES=W;const z=uu.FLIPPED_ALIAS_KEYS.Private;t.PRIVATE_TYPES=z;const q=uu.FLIPPED_ALIAS_KEYS.TSTypeElement;t.TSTYPEELEMENT_TYPES=q;const H=uu.FLIPPED_ALIAS_KEYS.TSType;t.TSTYPE_TYPES=H;const X=uu.FLIPPED_ALIAS_KEYS.TSBaseType;t.TSBASETYPE_TYPES=X})),Mu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,Li.isBlockStatement)(e))return e;let n=[];(0,Li.isEmptyStatement)(e)?n=[]:((0,Li.isStatement)(e)||(e=(0,Li.isFunction)(t)?(0,cu.returnStatement)(e):(0,cu.expressionStatement)(e)),n=[e]);return(0,cu.blockStatement)(n)}})),Lu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t="body"){return e[t]=(0,r.default)(e[t],e)};var n,r=(n=Mu)&&n.__esModule?n:{default:n}})),Bu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e+="";let t="";for(const n of e)t+=(0,tu.isIdentifierChar)(n.codePointAt(0))?n:"-";t=t.replace(/^[-0-9]+/,""),t=t.replace(/[-\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""})),(0,r.default)(t)||(t=`_${t}`);return t||"_"};var n,r=(n=nu)&&n.__esModule?n:{default:n}})),Ru=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){"eval"!==(e=(0,r.default)(e))&&"arguments"!==e||(e="_"+e);return e};var n,r=(n=Bu)&&n.__esModule?n:{default:n}})),Uu=P((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=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=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=n})),Wu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,n,r){if(!t)return;const i=uu.VISITOR_KEYS[t.type];if(!i)return;n(t,r=r||{});for(const a of i){const i=t[a];if(Array.isArray(i))for(const t of i)e(t,n,r);else e(i,n,r)}}})),zu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t={}){const i=t.preserveComments?n:r;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 a=Object.getOwnPropertySymbols(e);for(const t of a)e[t]=null};const n=["tokens","start","end","loc","raw","rawValue"],r=ru.COMMENT_KEYS.concat(["comments"]).concat(n)})),qu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,n.default)(e,r.default,t),e};var n=i(Wu),r=i(zu);function i(e){return e&&e.__esModule?e:{default:e}}})),Hu=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=a;var n=i(Du),r=i(qu);function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t=e.key){let i;return"method"===e.kind?a.increment()+"":(i=(0,Li.isIdentifier)(t)?t.name:(0,Li.isStringLiteral)(t)?JSON.stringify(t.value):JSON.stringify((0,r.default)((0,n.default)(t))),e.computed&&(i=`[${i}]`),e.static&&(i=`static:${i}`),i)}a.uid=0,a.increment=function(){return a.uid>=Number.MAX_SAFE_INTEGER?a.uid=0:a.uid++}})),Xu=P((function(e,t){function n(e,t,r){let i=[].concat(e);const a=Object.create(null);for(;i.length;){const e=i.shift();if(!e)continue;const s=n.keys[e.type];if((0,Li.isIdentifier)(e))if(t){(a[e.name]=a[e.name]||[]).push(e)}else a[e.name]=e;else if(!(0,Li.isExportDeclaration)(e)||(0,Li.isExportAllDeclaration)(e)){if(r){if((0,Li.isFunctionDeclaration)(e)){i.push(e.id);continue}if((0,Li.isFunctionExpression)(e))continue}if(s)for(let t=0;t=0)return!0}else if(a===e)return!0}return!1};var n,r=(n=Xu)&&n.__esModule?n:{default:n}})),hl=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,Li.isVariableDeclaration)(e)&&("var"!==e.kind||e[ru.BLOCK_SCOPED_SYMBOL])}})),dl=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,Li.isFunctionDeclaration)(e)||(0,Li.isClassDeclaration)(e)||(0,r.default)(e)};var n,r=(n=hl)&&n.__esModule?n:{default:n}})),fl=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if((0,r.default)(e.type,"Immutable"))return!0;if((0,Li.isIdentifier)(e))return"undefined"===e.name;return!1};var n,r=(n=Ko)&&n.__esModule?n:{default:n}})),ml=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,n){if("object"!=typeof t||"object"!=typeof n||null==t||null==n)return t===n;if(t.type!==n.type)return!1;const r=Object.keys(uu.NODE_FIELDS[t.type]||t.type),i=uu.VISITOR_KEYS[t.type];for(const a of r){if(typeof t[a]!=typeof n[a])return!1;if(null!=t[a]||null!=n[a]){if(null==t[a]||null==n[a])return!1;if(Array.isArray(t[a])){if(!Array.isArray(n[a]))return!1;if(t[a].length!==n[a].length)return!1;for(let r=0;r>":return t>>n;case">>>":return t>>>n;case"<<":return t<":return t>n;case"<":return t=":return t>=n;case"<=":return t<=n}}})),Tl=P((function(e,t){function n(e,t){void 0===t&&(t={});var n=!0;var i=function e(i){if(n){if(Dl.isArrayExpression(i)){for(var a=[],s=0;n&&s /g,"\\u003E").replace(/\//g,"\\u002F")};function wl(e){return Tl(e,{pug:Ni,pug_interp:void 0})}function Pl(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 n=[],r=[],i=[];function a(e,n,r,i){if(wl(n))if("html"===t.format){var a=Al(Ni.attr(e,Pl(n),r,t.terse)),s=i[i.length-1];s&&s[s.length-1]===a[0]?i[i.length-1]=s.substr(0,s.length-1)+a.substr(1):i.push(a)}else n=Pl(n),r&&(n=Ni.escape(n)),i.push(Al(e)+": "+Al(n));else"html"===t.format?i.push(t.runtime("attr")+'("'+e+'", '+n+", "+Al(r)+", "+Al(t.terse)+")"):(r&&(n=t.runtime("escape")+"("+n+")"),i.push(Al(e)+": "+n))}e.forEach((function(e){var s=e.name,o=e.val,u=e.mustEscape;"class"===s?(r.push(o),i.push(u)):("style"===s&&(o=wl(o)?Al(Ni.style(Pl(o))):t.runtime("style")+"("+o+")"),a(s,o,u,n))}));var s=[];r.length&&(r.every(wl)?a("class",Al(Ni.classes(r.map(Pl),i)),!1,s):(r=r.map((function(e,t){return wl(e)&&(e=Al(i[t]?Ni.escape(Pl(e)):Pl(e)),i[t]=!1),e})),a("class",t.runtime("classes")+"(["+r.join(",")+"], "+Al(i)+")",!1,s)));return n=s.concat(n),"html"===t.format?n.length?n.join("+"):'""':"{"+n.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=P((function(e,t){var n=w&&w.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),r=w&&w.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=w&&w.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const a=i(Dl);if(!Array.isArray(a.TYPES)||!a.TYPES.every((e=>"string"==typeof e)))throw new Error("@babel/types TYPES does not match the expected type.");const s=a.FLIPPED_ALIAS_KEYS,o=new Set(a.TYPES);if(!s||"object"!=typeof s||!Object.keys(s).every((e=>Array.isArray(s[e])&&s[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 n in e){const r=s[n];if(r)for(const i of r)i in t?"function"==typeof e[n]?t[i].enter.push(e[n]):(e[n].enter&&t[i].enter.push(e[n].enter),e[n].exit&&t[i].exit.push(e[n].exit)):"function"==typeof e[n]?t[i]={enter:[e[n]],exit:[]}:t[i]={enter:e[n].enter?[e[n].enter]:[],exit:e[n].exit?[e[n].exit]:[]};else o.has(n)&&(n in t?"function"==typeof e[n]?t[n].enter.push(e[n]):(e[n].enter&&t[n].enter.push(e[n].enter),e[n].exit&&t[n].exit.push(e[n].exit)):"function"==typeof e[n]?t[n]={enter:[e[n]],exit:[]}:t[n]={enter:e[n].enter?[e[n].enter]:[],exit:e[n].exit?[e[n].exit]:[]})}return t}})),Fl=P((function(e,t){var n=w&&w.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),r=w&&w.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=w&&w.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t},a=w&&w.__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 s=i(Dl),o=a(_l),u=s.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,n)=>{!function e(r){if(!r)return;const i=t[r.type];if(null==i?void 0:i.enter)for(const e of i.enter)e(r,n);for(const t of u[r.type]||[]){const n=r[t];if(Array.isArray(n))for(const t of n)e(t);else e(n)}if(null==i?void 0:i.exit)for(const e of i.exit)e(r,n)}(e)}},t.ancestor=function(e){const t=o.default(e);return(e,n)=>{const r=[];!function e(i){if(!i)return;const a=t[i.type],s=i!==r[r.length-1];if(s&&r.push(i),null==a?void 0:a.enter)for(const e of a.enter)e(i,n,r);for(const t of u[i.type]||[]){const n=i[t];if(Array.isArray(n))for(const t of n)e(t);else e(n)}if(null==a?void 0:a.exit)for(const e of a.exit)e(i,n,r);s&&r.pop()}(e)}},t.recursive=function(e){const t=o.default(e);return(e,n)=>{!function e(r){if(!r)return;const i=t[r.type];if(null==i?void 0:i.enter)for(const t of i.enter)t(r,n,e);else for(const t of u[r.type]||[]){const n=r[t];if(Array.isArray(n))for(const t of n)e(t);else e(n)}}(e)}}})),Il=P((function(e,t){function n(e,t){if(t)return e;throw new Error("Unhandled discriminated union member: "+JSON.stringify(e))}Object.defineProperty(t,"__esModule",{value:!0}),t.assertNever=n,t.default=n})),Ol=P((function(e,t){var n=w&&w.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),r=w&&w.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=w&&w.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const a=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 a.isReferenced(e,t)}})),Nl=P((function(e,t){var n=w&&w.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),r=w&&w.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=w&&w.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t},a=w&&w.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=a(Il),o=i(Dl),u=a(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 n of e.properties)switch(n.type){case"RestElement":y(n.argument,t);break;case"ObjectProperty":y(n.value,t);break;default:s.default(n)}break;case"ArrayPattern":for(const n of e.elements)n&&y(n,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,n){for(let t=n.length-2;t>=0;t--)if(l(n[t]))return void m(n[t],e.local.name)}const b=Fl.ancestor({VariableDeclaration(e,t,n){for(let t=n.length-2;t>=0;t--)if("var"===e.kind?o.isFunctionParent(n[t]):c(n[t])){for(const r of e.declarations)y(r.id,n[t]);return}},FunctionDeclaration(e,t,n){if(e.id)for(let t=n.length-2;t>=0;t--)if(l(n[t]))return void m(n[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,n){for(let t=n.length-2;t>=0;t--)if(l(n[t]))return void m(n[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=Fl.ancestor({Identifier(e,t,n){var r;const i=e.name;if("undefined"===i)return;const a=n[n.length-2];if(a){if(!u.default(e,a))return;for(const e of n){if("arguments"===i&&p(e))return;if(null===(r=f(e))||void 0===r?void 0:r.has(i))return}}t.globals.push(e)},ThisExpression(e,t,n){for(const e of n)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 n=new Map;for(const e of t){const t="ThisExpression"===e.type?"this":e.name,r=n.get(t);r?r.push(e):n.set(t,[e])}return[...n].map((([e,t])=>({name:e,nodes:t}))).sort(((e,t)=>e.namee.name))]),l=new Set(o.default(r).map((e=>e.name)).filter((e=>!a.has(e))));if(0===l.size)return t;let p="",h="locals_for_with",d="result_of_with";if(s.isValidIdentifier(e))h=e;else{for(;l.has(h)||a.has(h);)h+="_";p=`var ${h} = (${e});`}for(;l.has(d)||a.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,n){const r=t.split(""),i={hasReturn:!1,source:e=>t.slice(e.start,e.end),replace(e,t){r.fill("",e.start,e.end),r[e.start]=t}};return c(e,i),{before:i.hasReturn?`var ${n} = `:"",body:r.join(""),after:i.hasReturn?`;if (${n}) return ${n}.value`:""}}(r,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=Fl.recursive({Function(e,t,n){},ReturnStatement(e,t){t.hasReturn=!0;let n="";e.argument&&(n=`value: (${t.source(e.argument)})`),t.replace(e,`return {${n}};`)}});e.exports=l,e.exports.default=l})),Ml=P((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 n of e)t[n]=this.getVerbInfo(n);return t}getWordsInfo(e){const t={};for(const n of e)t[n]=this.getWordInfo(n);return t}getAdjectivesInfo(e){const t={};for(const n of e)t[n]=this.getAdjectiveInfo(n);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}}})),Ll=P((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.getPlural=void 0;const n=["sheep","fish","deer","moose","series","species","money","rice","information","equipment","bison","cod","offspring","pike","salmon","shrimp","swine","trout","aircraft","hovercraft","spacecraft","sugar","tuna","you","wood"],r={woman:"women",person:"people",bus:"buses",alga:"algae"};t.getPlural=function(e,t,i){if(!i){const e=new Error;throw e.name="TypeError",e.message="singular word is mandatory",e}return e&&e[i]&&e[i].plural?e[i].plural:n.indexOf(i)>-1?i:r[i]?r[i]:t&&t[i]?t[i]:i.endsWith("s")||i.endsWith("ss")||i.endsWith("sh")||i.endsWith("ch")||i.endsWith("x")||i.endsWith("z")?i+"es":i.match(new RegExp("[bcdfghjklmnpqrstvxzw]y$","g"))?i.substring(0,i.length-1)+"ies":i+"s"}})),Bl=Object.freeze({__proto__:null,default:{"aardwolf":"aardwolves","abacus":"abaci","aboideau":"aboideaux","aboiteau":"aboiteaux","abscissa":"abscissae","acanthus":"acanthi","acarus":"acari","acciaccatura":"acciaccature","acetabulum":"acetabula","achaemenid":"achaemenides","aciculum":"acicula","acicula":"aciculae","acinus":"acini","acre-foot":"acre-feet","acromion":"acromia","actinia":"actiniae","actinozoan":"actinozoa","addendum":"addenda","adenocarcinoma":"adenocarcinomata","adenoma":"adenomata","adieu":"adieux","adytum":"adyta","aecium":"aecia","aecidium":"aecidia","aerobium":"aerobia","agent-general":"agents-general","aggiornamento":"aggiornamenti","agnomen":"agnomina","agon":"agones","agora":"agorae","agouti":"agouties","aide-de-camp":"aides-de-camp","aide-memoire":"aides-memoire","aid-de-camp":"aids-de-camp","ala":"alae","alewife":"alewives","alkali":"alkalies","allodium":"allodia","alluvium":"alluvia","alodium":"alodia","alto-relievo":"alto-relievos","altocumulus":"altocumuli","altostratus":"altostrati","alula":"alulae","alumna":"alumnae","alumnus":"alumni","alveolus":"alveoli","amanuensis":"amanuenses","ambulacrum":"ambulacra","ameba":"amebae","amicus_curiae":"amici_curiae","amnion":"amnia","amniocentesis":"amniocenteses","amoeba":"amoebae","amoebiasis":"amoebiases","amora":"amoraim","amoretto":"amoretti","amorino":"amorini","amphiarthrosis":"amphiarthroses","amphithecium":"amphicia","amphimixis":"amphimixes","amphioxus":"amphioxi","amphisbaena":"amphisbaenae","amphora":"amphorae","ampulla":"ampullae","amygdala":"amygdalae","anabasis":"anabases","anacoluthon":"anacolutha","anacrusis":"anacruses","anaerobium":"anaerobia","anagnorisis":"anagnorises","analemma":"analemmata","analysis":"analyses","anamnesis":"anamneses","anamorphosis":"anamorphoses","anastomosis":"anastomoses","anaptyxis":"anatyxes","ancon":"ancones","androclinium":"androclinia","androecium":"androecia","androsphinx":"androsphinges","antheridium":"antheridia","angelfish":"angelfishes","angioma":"angiomata","animalculum":"animalcula","anlage":"anlagen","anatto":"annattos","annulus":"annuli","anta":"antae","antalkali":"antalkalies","antefix":"antefixa","antenna":"antennae","antependium":"antependia","anthelion":"anthelia","anthelix":"anthelices","anthemion":"anthemia","anthodium":"anthodia","anthozoan":"anthozoa","anthrax":"anthraces","anticlinorium":"anticlinoria","antihelix":"antihelices","antihero":"antiheroes","antiserum":"antisera","antithesis":"antitheses","antitragus":"antitragi","antrum":"antra","anus":"anus","aorta":"aortae","aphelion":"aphelia","aphis":"aphides","apex":"apices","apodosis":"apodoses","apomixis":"apomixes","aponeurosis":"aponeuroses","apophysis":"apophyses","aposiopesis":"aposiopeses","apothecium":"apothecia","apotheosis":"apotheoses","apparatus":"apparatus","appendix":"appendices","appoggiatura":"appoggiature","apsis":"apsides","aqua":"aquae","aquarium":"aquaria","argali":"argali","arboretum":"arboreta","arcanum":"arcana","archegonium":"archegonia","archerfish":"archerfishes","archesporium":"archesporia","archipelago":"archipelagoes","arc-boutant":"arcs-boutants","areola":"areolae","argumentum":"argumenta","arietta":"ariette","arista":"aristae","armamentarium":"armamentaria","arsis":"arses","rotl":"artel","arteriosclerosis":"arterioscleroses","aruspex":"aruspices","ascesis":"asceses","ascus":"asci","ascidium":"ascidia","ascogonium":"ascogonia","ash":"ashes","ashkenazi":"ashkenazim","aspergillum":"aspergilla","aspergillus":"aspergilli","aspergillosis":"aspergilloses","aspersorium":"aspersoria","assagai":"assegais","astragalus":"astragali","asyndeton":"asyndeta","atheroma":"atheromata","atherosclerosis":"atheroscleroses","atmolysis":"atmolyses","atrium":"atria","attorney-at-law":"attorneys-at-law","auditorium":"auditoria","aura":"aurae","eyir":"aurar","eyrir":"aurar","aureus":"aurei","auricula":"auriculae","aurora":"aurorae","auspex":"auspices","autocatalysis":"autocatalyses","autochthon":"autochthones","automaton":"automata","auto-da-fe":"autos-da-fe","avitaminosis":"avitaminoses","ax":"axes","axilla":"axillae","bacchant":"bacchantes","bacchius":"bacchii","bacillus":"bacilli","bacteriostasis":"bacteriostases","baculum":"bacula","bain-marie":"bains-marie","bain_marie":"bains_marie","ballista":"ballistae","bambino":"bambini","bandeau":"bandeaux","bandit":"banditti","ban":"bani","banjo":"banjoes","barklouse":"barklice","barramundi":"barramundies","base":"bases","base_on_balls":"bases_on_balls","basidium":"basidia","basileus":"basileis","basso":"bassi","bastinado":"bastinadoes","bateau":"bateaux","batfish":"batfishes","beadsman":"beadsmen","beau":"beaux","beche-de-mer":"beches-de-mer","beef":"beeves","behoof":"behooves","bersagliere":"bersaglieri","bheesty":"bhishties","bibliotheca":"bibliothecae","bicentenary":"bicennaries","bijou":"bijoux","bilbo":"bilboes","billet-doux":"billets-doux","billfish":"billfishes","bimbo":"bimboes","bisectrix":"bisectrices","blackfoot":"blackfeet","blackfish":"blackfishes","blastema":"blastemata","blastula":"blastulae","blindfish":"blindfishes","blowfish":"blowfishes","bluefish":"bluefishes","boarfish":"boarfishes","boschbok":"bushboks","boletus":"boleti","bolivar":"bolivares","bolshevik":"bolsheviki","bonefish":"bonefishes","bongo":"bongoes","bonito":"bonitoes","booklouse":"booklice","bookshelf":"bookshelves","borax":"boraces","borborygmus":"borborygmi","bordereau":"bordereaux","botargo":"botargoes","box_kodak":"box-kodaks","boxfish":"boxfishes","brachium":"brachia","brainchild":"brainchildren","branchia":"branchiae","brant":"brants","bravado":"bravadoes","bravo":"bravoes","bregma":"bregmata","broadcast_medium":"broadcast_media","broadleaf":"broadleaves","bronchus":"bronchi","brother-in-law":"brothers-in-law","bryozoan":"bryozoa","bubo":"buboes","bucko":"buckoes","bucktooth":"buckteeth","buffalo":"buffaloes","bulla":"bullae","bund":"bunde","bureau":"bureaux","bureau_de_change":"bureaux_de_change","bursa":"bursae","bus":"busses","butterfish":"butterfishes","byssus":"byssi","cactus":"cacti","caduceus":"caducei","caecum":"caeca","caesura":"caesurae","calamus":"calami","calathus":"calathi","calcaneum":"calcanei","calx":"calces","calculus":"calculi","caldarium":"caldaria","calix":"calices","calico":"calicoes","callus":"calli","calf":"calves","calyx":"calyces","cambium":"cambia","camera":"camerae","canaliculus":"canaliculi","candelabrum":"candelabra","candlefish":"candlefishes","canthus":"canthi","canula":"canulae","canzone":"canzoni","caput":"capita","capitulum":"capitula","capriccio":"capricci","carabiniere":"carabinieri","carbonado":"carbonadoes","carcinoma":"carcinomata","cargo":"cargoes","caryatid":"carides","carina":"carinae","carolus":"caroli","carpus":"carpi","carpogonium":"carpogonia","carrying-on":"carryings-on","caryopsis":"caryopsides","castrato":"castrati","catabasis":"catabases","cataclasis":"cataclases","catalo":"cataloes","catalysis":"catalyses","catena":"catenae","catfish":"catfishes","cathar":"cathari","cathexis":"cathexes","cattalo":"cattaloes","caudex":"caudices","caulis":"caules","cavatina":"cavatine","cavefish":"cavefishes","cavetto":"cavetti","cavo-rilievo":"cavo-rilievi","cecum":"ceca","cella":"cellae","cembalo":"cembali","centesimo":"centesimi","centrum":"centra","cephalothorax":"cephalothoraces","cercaria":"cercariiae","cercus":"cerci","cerebellum":"cerebella","cerebrum":"cerebra","cervix":"cervices","caestus":"cestuses","cesura":"cesurae","cheder":"chedarim","chaeta":"chaetae","chaise_longue":"chaises_longues","chalaza":"chalazae","hallah":"halloth","chalutz":"chalutzim","chapati":"chapaties","chapatti":"chapatties","chapeau":"chapeaux","chasid":"chasidim","chassid":"chassidim","chateau":"chateaux","chazan":"chazanim","chef-d'ouvre":"chefs-d'ouvre","chela":"chelae","chelicera":"chelicerae","cherub":"cherubim","cheval-de-frise":"chevaux-de-frise","chiasma":"chiasmata","chiasmus":"chiasmi","child":"children","chilli":"chillies","chinese_eddo":"chinese_eddoes","chitarrone":"chitarroni","chlamys":"chlamyses","chondroma":"chondromata","choragus":"choragi","choriambus":"choriambi","chou":"choux","chromonema":"chromonemata","chrysalis":"chrysalides","chuvash":"chuvashes","ciborium":"ciboria","cicada":"cicadae","cicala":"cicale","cicatrix":"cicatrices","cicerone":"ciceroni","cicisbeo":"cicisbei","cilium":"cilia","cimex":"cimices","cinerarium":"cineraria","cingulum":"cingula","cirrus":"cirri","cirrocumulus":"cirrocumuli","cirrostratus":"cirrostrati","cisco":"ciscoes","cisterna":"cisternae","clarino":"clanos","claro":"claroes","clepsydra":"clepsydrae","clinandrium":"clinandria","clingfish":"clingfishes","clitellum":"clitella","cloaca":"cloacae","clostridium":"clostridia","cloverleaf":"cloverleaves","clypeus":"clypei","coagulum":"coagula","coalfish":"coalfishes","coccus":"cocci","coccyx":"coccyges","cochlea":"cochleae","codfish":"codfishes","codex":"codices","coelenteron":"coelentera","coenurus":"coenuri","cognomen":"cognomina","cognosente":"cognosenti","colon":"colones","coleorhiza":"coleorhizae","collegium":"collegia","colloquium":"colloquia","colluvium":"colluvia","collyrium":"collyria","colossus":"colossi","columbarium":"columbaria","columella":"columellae","coma":"comae","comatula":"comatulae","comedo":"comedones","comic_strip":"comics","commando":"commandoes","concertante":"concertanti","concerto":"concerti","concerto_grosso":"concerti_grossi","concertino":"concertini","concha":"conchae","condottiere":"condottieri","condyloma":"condylomata","conferva":"confervae","congius":"congii","conidium":"conidia","conjunctiva":"conjunctivae","conquistador":"conquistadores","consortium":"consortia","contagium":"contagia","continuum":"continua","contralto":"contralti","conversazione":"conversazioni","convolvulus":"convolvuli","cook-general":"cooks-general","copula":"copulae","corbicula":"corbiculae","corium":"coria","cornea":"corneae","cornu":"cornua","corona":"coronae","corpus":"corpora","corpus_luteum":"corpora_lutea","corpus_striatum":"corpora_striata","corrigendum":"corrigenda","cortex":"cortices","cortina":"cortinae","corybant":"corybantes","coryphaeus":"coryphaei","costa":"costae","cothurnus":"cothurni","court_martial":"courts_martial","couteau":"couteaux","cowfish":"cowfishes","coxa":"coxae","crambo":"cramboes","cranium":"crania","crasis":"crases","crawfish":"crawfishes","crayfish":"crayfishes","credendum":"credenda","crematorium":"crematoria","crescendo":"crescendi","cribellum":"cribella","crisis":"crises","crissum":"crissa","crista":"cristae","criterion":"criteria","crux":"cruces","crus":"crura","crusado":"crusadoes","cruzado":"cruzadoes","cry":"cryings","ctenidium":"ctenidia","cubiculum":"cubicula","culex":"culices","culpa":"culpae","cul-de-sac":"culs-de-sac","cultus":"culti","cumulus":"cumuli","cumulonimbus":"cumulonimbi","cumulostratus":"cumulostrati","curia":"curiae","curriculum":"curricula","custos":"custodes","cutis":"cutes","cuticula":"cuticulae","cuttlefish":"cuttlefishes","cyclops":"cyclopes","cyclosis":"cycloses","cylix":"cylikes","cyma":"cymae","cymatium":"cymatia","cypsela":"cypselae","cysticercus":"cysticerci","dado":"dadoes","dago":"dagoes","damselfish":"damselfishes","datum":"data","daughter-in-law":"daughters-in-law","daimio":"daymios","dealfish":"dealfishes","decemvir":"decemviri","decennium":"decennia","decidua":"deciduae","definiendum":"definienda","definiens":"definientia","delphinium":"delphinia","denarius":"denarii","dentalium":"dentalia","dermatosis":"dermatoses","desideratum":"desiderata","desperado":"desperadoes","devilfish":"devilfishes","diaeresis":"diaerses","diagnosis":"diagnoses","dialysis":"dialyses","diaphysis":"diaphyses","diapophysis":"diapophyses","diarthrosis":"diarthroses","diastalsis":"diastalses","diastasis":"diastases","diastema":"diastemata","diathesis":"diathses","diazo":"diazoes","dibbuk":"dibbukkim","dichasium":"dichasia","dictum":"dicta","dido":"didoes","dieresis":"diereses","diesis":"dieses","differentia":"differentiae","dilettante":"dilettanti","diluvium":"diluvia","dingo":"dingoes","diplococcus":"diplococci","director-general":"directors-general","discus":"disci","discobolos":"discoboli","diva":"dive","diverticulum":"diverticula","divertimento":"divertimenti","djinni":"djinn","dodo":"dodoes","dogfish":"dogfishes","dogma":"dogmata","dogtooth":"dogteeth","dollarfish":"dollarfishes","domatium":"domatia","domino":"dominoes","dormouse":"dormice","dorsum":"dorsa","drachma":"drachmae","drawknife":"drawknives","drosophila":"drosophilae","drumfish":"drumfishes","dryad":"dryades","duo":"dui","duodenum":"duonas","dupondius":"dupondii","duumvir":"duumviri","dwarf":"dwarves","dybbuk":"dybbukkim","ecchymosis":"ecchymoses","ecclesia":"ecclesiae","ecdysis":"ecdyses","echidna":"echidnae","echinus":"echini","echinococcus":"echinococci","echo":"echoes","ectozoan":"ectozoa","eddo":"eddoes","edema":"oedemata","effluvium":"effluvia","eidolon":"eidola","eisegesis":"eisegeses","eisteddfod":"eisteddfodau","elenchus":"elenchi","ellipsis":"ellipses","eluvium":"eluvia","elf":"elves","elytron":"elytra","embargo":"embargoes","embolus":"emboli","emphasis":"emphases","emporium":"emporia","enarthrosis":"enarthroses","encephalon":"encephala","encephalitis":"encephalitides","encephaloma":"encephalomata","enchiridion":"enchiridia","enchondroma":"enchondromata","encomium":"encomia","endameba":"endamebae","endamoeba":"endamoebae","endocardium":"endocardia","endocranium":"endocrania","endometrium":"endometria","endosteum":"endostea","endostosis":"endostoses","endothecium":"endothecia","endothelium":"endothelia","endothelioma":"endotheliomata","endozoan":"endozoa","enema":"enemata","enneahedron":"enneahedra","entameba":"entamebae","entamoeba":"entamoebae","entasis":"entases","enteron":"entera","ens":"entia","entozoan":"entozoa","epencephalon":"epencephala","epenthesis":"epentheses","epexegesis":"epexegeses","ephemeron":"ephemera","ephemera":"ephemerae","ephemeris":"ephemerides","ephor":"ephori","epicalyx":"epicalyces","epicanthus":"epicanthi","epicardium":"epicardia","epicedium":"epicedia","epiclesis":"epicleses","epididymis":"epididymides","epigastrium":"epigastria","epiglottis":"epiglottides","epimysium":"epimysia","epiphenomenon":"epiphenomena","epiphysis":"epiphyses","episternum":"episterna","epithalamion":"epithalamia","epithelium":"epithelia","epithelioma":"epitheliomata","epizoan":"epizoa","epyllion":"epyllia","equilibrium":"equilibria","equisetum":"equiseta","eringo":"eringoes","erratum":"errata","eryngo":"eryngoes","esophagus":"oesophagi","etymon":"etyma","eucalyptus":"eucalypti","eupatrid":"eupatridae","euripus":"euripi","exanthema":"exanthemata","executrix":"executrices","exegesis":"exegeses","exemplum":"exempla","exordium":"exordia","exostosis":"exostoses","extremum":"extrema","eyetooth":"eyeteeth","fabliau":"fabliaux","facia":"faciae","facula":"faculae","faeroese":"faeroese","fallfish":"fallfishes","famulus":"famuli","farmer-general":"farmers-general","faroese":"faroese","farrago":"farragoes","fascia":"fasciae","fasciculus":"fasciculi","father-in-law":"fathers-in-law","fatso":"fatsoes","fauna":"faunae","fecula":"feculae","fedayee":"fedayeen","foot":"feet","fellah":"fellahin","felo_de_se":"felos_de_se","femur":"femora","fenestella":"fenestellae","fenestra":"fenestrae","feria":"feriae","fermata":"fermate","ferula":"ferulae","festschrift":"festschriften","fetial":"fetiales","fez":"fezzes","fiasco":"fiascoes","fibrilla":"fibrillae","fibroma":"fibromata","fibula":"fibulae","fico":"ficoes","fideicommissum":"fideicommissa","fieldmouse":"fieldmice","fig.":"figs.","filum":"fila","filaria":"filariiae","filefish":"filefishes","fimbria":"fimbriae","fish":"fishes","fishwife":"fishwives","fistula":"fistulae","flabellum":"flabella","flagellum":"flagella","flagstaff":"flagstaves","flambeau":"flambeaux","flamen":"flamines","flamingo":"flamingoes","flatfoot":"flatfeet","flatfish":"flatfishes","fleur-de-lis":"fleurs-de-lis","fleur-de-lys":"fleurs-de-lys","flight_of_stairs":"flights_of_stairs","flittermouse":"flittermice","floccus":"flocci","flocculus":"flocculi","flora":"florae","floreat":"floreant.","florilegium":"florilegia","flower-de-luce":"flowers-de-luce","flyleaf":"flyleaves","focus":"foci","folium":"folia","forum":"fora","foramen":"foramina","forceps":"forceps","forefoot":"forefeet","foretooth":"foreteeth","formicarium":"formicaria","formula":"formulae","fornix":"fornices","fortis":"fortes","fossa":"fossae","fovea":"foveae","foveola":"foveolae","fractocumulus":"fractocumuli","fractostratus":"fractostrati","fraenum":"fraena","frau":"frauen","frenum":"frena","frenulum":"frenula","fresco":"frescoes","fricandeau":"fricandeaux","fricando":"fricandoes","frijol":"frijoles","frogfish":"frogfishes","frons":"frontes","frustum":"frusta","fucus":"fuci","fulcrum":"fulcra","fumatorium":"fumatoria","fundus":"fundi","fungus":"fungi","funiculus":"funiculi","furculum":"furcula","furcula":"furculae","furfur":"furfures","galea":"galeae","gambado":"gambadoes","gametangium":"gametangia","gametoecium":"gametoecia","gammadion":"gammadia","ganglion":"ganglia","garfish":"garfishes","gas":"gasses","gastrula":"gastrulae","gateau":"gateaux","gazebo":"gazeboes","gecko":"geckoes","goose":"geese","gelsemium":"gelsemia","gemsbok":"gemboks","gemsbuck":"gembucks","gemeinschaft":"gemeinschaften","gemma":"gemmae","genus":"genus","generatrix":"generatrices","genesis":"geneses","genius":"genii","gens":"gentes","gentleman-at-arms":"gentlemen-at-arms","gentleman-farmer":"gentlemen-farmers","genu":"genua","germen":"germina","gesellschaft":"gesellschaften","gestalt":"gestalten","ghetto":"ghettoes","gingiva":"gingivae","gingko":"gingkoes","ginglymus":"ginglymi","ginkgo":"ginkgoes","gippo":"gippoes","glabella":"glabellae","gladiolus":"gladioli","glans":"glandes","glioma":"gliomata","glissando":"glissandi","globefish":"globefishes","globigerina":"globigerinae","glochidium":"glochidia","glomerulus":"glomeruli","glossa":"glossae","glottis":"glottides","glutaeus":"glutaei","gluteus":"glutei","gnosis":"gnoses","goatfish":"goatfishes","gobo":"goboes","godchild":"godchildren","go":"goes","going-over":"goings-over","goldfish":"goldfishes","gomphosis":"gomphoses","gonion":"gonia","gonidium":"gonidia","gonococcus":"gonococci","goodwife":"goodwives","goosefish":"goosefishes","gorgoneion":"gorgoneia","gospodin":"gospopoda","governor_general":"governors_general","goy":"goyim","gps":"gps","graf":"grafen","graffito":"graffiti","grandchild":"grandchildren","grant-in-aid":"grants-in-aid","granuloma":"granulomata","gravamen":"gravamina","gris-gris":"grig-gris","grosz":"groszy","grotto":"grottoes","guilde":"guilders","guitarfish":"guitarfishes","gumma":"gummata","gurnar":"gurnards","gutta":"guttae","gymnasium":"gymnasia","gynaeceum":"gynaecea","gynaecium":"gynaecia","gynecium":"gynecia","gynoecium":"gynoecia","gyrus":"gyri","heder":"hadarim","hadj":"hadjes","haematolysis":"haematolyses","haematoma":"haematomata","haematozoon":"haematozoa","haemodialysis":"haemodialyses","haemolysis":"haemolyses","haemoptysis":"haemoptyses","haeres":"haeredes","haftarah":"haftaroth","hagfish":"hagfishes","haggada":"haggadoth","hajj":"hajjes","haler":"haleru","halfpenny":"halfpence","hallux":"halluces","halo":"haloes","halter":"halteres","half":"halves","hamulus":"hamuli","hanger-on":"hangers-on","haphtarah":"haphtaroth","haredi":"haredim","haruspex":"haruspices","hasid":"hasidim","hassid":"hassidim","haustellum":"haustella","haustorium":"haustoria","hazzan":"hazzanim","hectocotylus":"hectocotyli","heir-at-law":"heirs-at-law","heldentenor":"heldentenore","helix":"helices","heliozoan":"heliozoa","hematolysis":"hematolyses","hematoma":"hematomata","hematozoon":"hematozoa","hemelytron":"hemelytra","hemielytron":"hemielytra","hemodialysis":"hemodialyses","hemolysis":"hemolyses","hemoptysis":"hemoptyses","hendecahedron":"hendecahedra","hen-and-chickens":"hens-and-chickens","heraclid":"heraclidae","heraklid":"heraklidae","herbarium":"herbaria","herm":"hermae","herma":"hermai","hernia":"herniae","hero":"heroes","herr":"herren","hetaera":"hetaerae","hetaira":"hetairai","hibernaculum":"hibernacula","hieracosphinx":"hieracosphinges","hilum":"hila","hilus":"hili","himation":"himatia","hippocampus":"hippocampi","hippopotamus":"hippopotami","his":"his","hobo":"hoboes","hogfish":"hogfishes","homunculus":"homunculi","honorarium":"honoraria","hoof":"hooves","horologium":"horologia","house_of_cards":"houses_of_cards","housewife":"housewives","humerus":"humeri","hydra":"hydrae","hydromedusa":"hydromedusae","hydrozoan":"hydrozoa","hymenopteran":"hymenoptera","hymenium":"hyniums","hypanthium":"hypanthia","hyperostosis":"hyperostoses","hypha":"hyphae","hypnosis":"hypnoses","hypochondrium":"hypochondria","hypogastrium":"hypogastria","hypogeum":"hypogea","hypophysis":"hypophyses","hypostasis":"hypostases","hypothalamus":"hypothalami","hypothesis":"hypotheses","hyrax":"hyraces","iamb":"iambi","ibex":"ibices","igbo":"ibo","ichthyosaurus":"ichthyosauri","ichthyosaur":"ichthyosauruses","iconostas":"iconostases","icosahedron":"icosahedra","ideatum":"ideata","igorrote":"igorrorote","ilium":"ilia","imago":"imagoes","imperium":"imperia","impi":"impies","incubus":"incubi","incus":"incudes","index":"indices","indigo":"indigoes","indumentum":"indumenta","indusium":"indusia","infundibulum":"infundibula","ingush":"ingushes","innuendo":"innuendoes","inoculum":"inocula","inquisitor-general":"inquisitors-general","insectarium":"insectaria","insula":"insulae","intaglio":"intagli","interleaf":"interleaves","intermezzo":"intermezzi","interrex":"interreges","interregnum":"interregna","intima":"intimae","involucellum":"involucella","involucre":"involucra","involucrum":"involucra","iris":"irides","irs":"irs","is":"is","ischium":"ischia","isthmus":"isthmi","jackaroo":"jackeroos","jackfish":"jackfishes","jackknife":"jackknives","jack-in-the-box":"jacks-in-the-box","jambeau":"jambeaux","jellyfish":"jellyfishes","jewelfish":"jewelfishes","jewfish":"jewfishes","jingo":"jingoes","jinni":"jinn","jo":"joes","judge_advocate_general":"judge_advocates_general","jus":"jura","kaddish":"kaddishim","kalmuc":"kalmucks","katabasis":"katabases","keeshond":"keeshonden","kibbutz":"kibbutzim","killifish":"killifishes","kingfish":"kingfishes","king-of-arms":"kings-of-arms","knight_bachelor":"knights_bachelors","knight_templar":"knights_templars","knife":"knives","kohlrabi":"kohlrabies","krone":"kroner","krona":"kronur","kroon":"krooni","kylix":"kylikes","labarum":"labara","labellum":"labella","labium":"labia","labrum":"labra","lactobacillus":"lactobacilli","lacuna":"lacunae","lacunar":"lacunaria","lady-in-waiting":"ladies-in-waiting","lamella":"lamellae","lamia":"lamiae","lamina":"laminae","lapillus":"lapilli","lapith":"lapithae","larva":"larvae","larynx":"larynges","lasso":"lassoes","lat":"latu","latex":"latices","latifundium":"latifundia","lavabo":"lavaboes","leaf":"leaves","lecythus":"lecythi","lex":"leges","leu":"lei","lemma":"lemmata","lemniscus":"lemnisci","lenis":"lenes","lentigo":"lentigines","leonid":"leonides","lepidopteran":"lepidoptera","leprosarium":"leprosaria","lepton":"lepta","leptocephalus":"leptocephali","leucocytozoan":"leucocytozoa","lev":"leva","libra":"librae","libretto":"libretti","louse":"lice","lied":"lieder","ligula":"ligulae","limbus":"limbi","limen":"limina","limes":"limites","limulus":"limuli","lingo":"lingoes","lingua":"linguae","lingua_franca":"linguae_francae","lionfish":"lionfishes","lipoma":"lipomata","lira":"lire","liriodendron":"liriodendra","sente":"listente","lit":"litai","litas":"litu","life":"lives","lixivium":"lixivia","loaf":"loaves","locus":"loci","loculus":"loculi","loggia":"loggie","logion":"logia","lomentum":"lomenta","longobard":"longobardi","lorica":"loricae","loup-garou":"loups-garous","luba":"luba","lubritorium":"lubritoria","lumbus":"lumbi","lumen":"lumina","lumpfish":"lumpfishes","lungfish":"lungfishes","lunula":"lunulae","lur":"lures","lustre":"lustra","lying-in":"lyings-in","lymphangitis":"lymphangitides","lymphoma":"lymphomata","lymphopoiesis":"lymphopoieses","lysis":"lyses","lytta":"lyttae","maar":"maare","macaroni":"macaronies","maccaroni":"maccaronies","machzor":"machzorim","macronucleus":"macronuclei","macrosporangium":"macrosporangia","macula":"maculae","madrono":"madornos","maestro":"maestri","mafioso":"mafiosi","magus":"magi","magma":"magmata","magnifico":"magnificoes","mahzor":"mahzorim","major_axis":"major_axes","likuta":"makuta","malleus":"mallei","malleolus":"malleoli","loti":"maloti","mamilla":"mamillae","mamma":"mammae","mammilla":"mammillae","mandingo":"mandingoes","mango":"mangoes","manifesto":"manifestoes","manteau":"manteaux","mantis":"mantes","manubrium":"manubria","marchesa":"marchese","marchese":"marchesi","maremma":"maremme","markka":"markkaa","marsupium":"marsupia","marvel-of-peru":"marvels-of-peru","mass_medium":"mass_media","mass":"masses","master-at-arms":"masters-at-arms","matrix":"matrices","matzo":"matzoth","mausoleum":"mausolea","maxilla":"maxillae","maximum":"maxima","medium":"media","media":"mediae","mediastinum":"mediastina","medulla":"medullae","medulla_oblongata":"medullae_oblongatae","medusa":"medusae","megaron":"megara","megasporangium":"megasporangia","megillah":"megilloth","meiosis":"meioses","melanoma":"melanomata","melisma":"melismata","memento":"mementoes","memorandum":"memoranda","man":"men","man-at-arms":"men-at-arms","man-of-war":"men-of-war","man_of_letters":"men_of_letters","meniscus":"menisci","manservant":"menservants","menstruum":"menstrua","madame":"mesdames","mademoiselle":"mesdemoiselles","mesenteron":"mesentera","mesothorax":"mesothoraces","monseigneur":"messeigneurs","monsieur":"messieurs","mestizo":"mestizoes","metacarpus":"metacarpi","metamorphosis":"metamorphoses","metanephros":"metanephroi","metastasis":"metastases","metatarsus":"metatarsi","metathesis":"metatheses","metathorax":"metathoraces","metazoan":"metazoa","metempsychosis":"metempsychoses","metencephalon":"metencephala","mezuzah":"mezuzoth","miasma":"miasmata","mouse":"mice","microanalysis":"microanalyses","micrococcus":"micrococci","micronucleus":"micronuclei","microsporangium":"microsporangia","midrash":"midrashim","midwife":"midwives","milium":"milia","milieu":"milieux","militate_against":"militated_against","milkfish":"milkfishes","millennium":"millennia","mina":"minae","minimum":"minima","ministerium":"ministeria","minutia":"minutiae","minyan":"minyanim","miosis":"mioses","miracidium":"miracidia","mir":"miri","mishna":"mishnayoth","mitochondrion":"mitochondria","mitzvah":"mitzvoth","modiolus":"modioli","modulus":"moduli","momentum":"momenta","moment_of_truth":"moments_of_truth","momus":"momi","monad":"monades","monkfish":"monkfishes","monochasium":"monochasia","monopodium":"monopodia","monopteron":"monoptera","monopteros":"monopteroi","monsignor":"monsignori","mont-de-piete":"monts-de-piete","mooncalf":"mooncalves","moonfish":"moonfishes","mora":"morae","moratorium":"moratoria","morceau":"morceaux","moresco":"morescoes","morisco":"moriscoes","morphallaxis":"morphallaxes","morphosis":"morphoses","morse":"morses","morula":"morulae","mosasaurus":"mosasauri","moshav":"moshavim","moslem":"moslims","mosquito":"mosquitoes","mother-in-law":"mothers-in-law","mother_superior":"mothers_superior","motto":"mottoes","mover_and_shaker":"movers_and_shakers","mucosa":"mucosae","mucro":"mucrones","mudejar":"mudejares","mudfish":"mudfishes","mulatto":"mulattoes","multipara":"multiparae","murex":"murices","muskellunge":"muskallunge","mycelium":"mycelia","mycetoma":"mycetomata","mycobacterium":"mycobacteria","mycorrhiza":"mycorrhizae","myelencephalon":"myelencephala","myiasis":"myiases","myocardium":"myocardia","myofibrilla":"myofibrillae","myoma":"myomata","myosis":"myoses","myrmidon":"myrmidones","mythos":"mythoi","myxoma":"myxomata","naevus":"naevi","naiad":"naiades","naos":"naoi","narcissus":"narcissi","naris":"nares","nasopharynx":"nasopharynges","natatorium":"natatoria","naumachia":"naumachiae","nauplius":"nauplii","nautilus":"nautili","navaho":"navahoes","navajo":"navajoes","nebula":"nebulae","necropolis":"necropoleis","needlefish":"needlefishes","negrillo":"negrilloes","negrito":"negritoes","negro":"negroes","nemesis":"nemeses","nephridium":"nephridia","nereid":"nereides","neurohypophysis":"neurohypophyses","neuroma":"neuromata","neuropteron":"neuroptera","neurosis":"neuroses","nevus":"nevi","nibelung":"nibelungen","nidus":"nidi","niello":"nielli","nilgai":"nilgai","nimbus":"nimbi","nimbostratus":"nimbostrati","noctiluca":"noctilucae","nodus":"nodi","no":"noes","nomen":"nomina","notum":"nota","noumenon":"noumena","nova":"novae","novella":"novelle","novena":"novenae","nubecula":"nubeculae","nucellus":"nucelli","nucha":"nuchae","nucleus":"nuclei","nucleolus":"nucleoli","nullipara":"nulliparae","numbfish":"numbfishes","numen":"numina","nympha":"nymphae","oarfish":"oarfishes","oasis":"oases","obelus":"obeli","objet_d'art":"objets_d'art","obligato":"obligati","obolus":"oboli","occiput":"occipita","oceanarium":"oceanaria","oceanid":"oceanides","ocellus":"ocelli","ochrea":"ocreae","octahedron":"octahedra","octopus":"octopi","oculus":"oculi","odeum":"odea","oldwife":"oldwives","oleum":"olea","omasum":"omasa","omayyad":"omayyades","omentum":"omenta","ommatidium":"ommatidia","ommiad":"ommiades","onager":"onagri","oogonium":"oogonia","ootheca":"oothecae","opera_seria":"operas_seria","operculum":"opercula","optic_axis":"optic_axes","optimum":"optima","os":"ossa","organon":"organa","organa":"organums","orthopteron":"orthoptera","osculum":"oscula","osteoma":"osteomata","ostium":"ostia","othman":"ottomans","ovum":"ova","ovolo":"ovoli","ovotestis":"ovotestes","ox":"oxen","oxymoron":"oxymora","paddlefish":"paddlefishes","paisa":"paise","palea":"paleae","palestra":"palestrae","palingenesis":"palingeneses","pallium":"pallia","palmetto":"palmettoes","palpus":"palpi","pancratium":"pancratia","panettone":"panettoni","paparazzo":"paparazzi","paperknife":"paperknives","papilla":"papillae","papilloma":"papillomata","pappus":"pappi","papula":"papulae","papyrus":"papyri","parabasis":"parabases","paraleipsis":"paraleipses","paralysis":"paralyses","paramecium":"paramecia","parament":"paramenta","paraphysis":"paraphyses","parapodium":"parapodia","parapraxis":"parapraxes","paraselene":"paraselenae","parashah":"parashoth","parasyntheton":"parasyntheta","parazoan":"parazoa","parenthesis":"parentheses","parergon":"parerga","parhelion":"parhelia","paries":"parietes","pari-mutuel":"paris-mutuels","parrotfish":"parrotfishes","parulis":"parulides","paso_doble":"pasos_dobles","passer-by":"passers-by","pastorale":"pastorali","patagium":"patagia","patella":"patellae","patina":"patinae","paterfamilias":"patresfamilias","pea":"pease","peccadillo":"peccadilloes","pecten":"pectines","pedalo":"pedaloes","pes":"pedes","pekinese":"pekingese","pelvis":"pelves","penny":"pence","penis":"penes","penetralium":"penetralia","penicillium":"penicillia","penknife":"penknives","penna":"pennae","penni":"pennia","pentahedron":"pentahedra","pentimento":"pentimenti","penumbra":"penumbrae","peplum":"pepla","pericardium":"pericardia","perichondrium":"perichondria","pericranium":"pericrania","peridium":"peridia","perigonium":"perigonia","perihelion":"perihelia","perineum":"perinea","perinephrium":"perinephria","perionychium":"perionychia","periosteum":"periostea","periphrasis":"periphrases","peristalsis":"peristalses","perithecium":"perithecia","peritoneum":"peritonea","persona":"personae","petechia":"petechiae","pfennig":"pfennige","phalange":"phalanges","phallus":"phalli","pharynx":"pharynges","phenomenon":"phenomena","phi-phenomenon":"phi-phenomena","philodendron":"philodendra","phlyctaena":"phlyctenae","phylum":"phyla","phyle":"phylae","phyllotaxis":"phyllotaxes","phylloxera":"phylloxerae","phylogenesis":"phylogeneses","pied-a-terre":"pieds-a-terre","pigfish":"pigfishes","pileum":"pilea","pileus":"pilei","pinetum":"pineta","pinfish":"pinfishes","pinko":"pinkoes","pinna":"pinnae","pinnula":"pinnulae","pipefish":"pipefishes","pirog":"pirogi","piscina":"piscinae","pithecanthropus":"pithecanthropi","pithos":"pithoi","placebo":"placeboes","placenta":"placentae","planetarium":"planetaria","planula":"planulae","plasmodesma":"plasmodesmata","plasmodium":"plasmodia","plateau":"plateaux","plectron":"plectra","plenum":"plena","pleuron":"pleura","pleura":"pleurae","plica":"plicae","ploughman":"ploughmen","pneumobacillus":"pneumobacilli","pneumococcus":"pneumococci","pocketknife":"pocketknives","podetium":"podetia","podium":"podia","polis":"poleis","pollex":"pollices","pollinium":"pollinia","polychasium":"polychasia","polyhedron":"polyhedra","polyparium":"polyparia","polypus":"polypi","polyzoan":"polyzoa","polyzoarium":"polyzoaria","pons":"pontes","pontifex":"pontifices","portamento":"portamenti","portico":"porticoes","portmanteau":"portmanteaux","postliminium":"postliminia","potato":"potatoes","praenomen":"praenomina","praxis":"praxes","predella":"predelle","premaxilla":"premaxillae","prenomen":"prenomina","presa":"prese","primo":"primi","primigravida":"primigravidae","primipara":"primiparae","primordium":"primordia","principium":"principia","proboscis":"proboscides","proces-verbal":"proces-verbaux","proglottid":"proglottides","prognosis":"prognoses","prolegomenon":"prolegomena","prolepsis":"prolepses","promycelium":"promycelia","pronephros":"pronephroi","pronucleus":"pronuclei","propositus":"propositi","proptosis":"proptoses","propylon":"propyla","propylaeum":"propylaea","proscenium":"proscenia","prosencephalon":"prosencephala","prosthesis":"prostheses","prostomium":"prostomia","protasis":"protases","prothalamion":"prothalamia","prothallus":"prothalli","prothallium":"prothallia","prothorax":"prothoraces","protonema":"protonemata","protozoan":"protozoa","proventriculus":"proventriculi","proviso":"provisoes","prytaneum":"prytanea","psalterium":"psalteria","pseudopodium":"pseudopodia","psychoneurosis":"psychoneuroses","psychosis":"psychoses","pterygium":"pterygia","pteryla":"pterylae","ptosis":"ptoses","pubis":"pubes","pudendum":"pudenda","pul":"puli","pulvillus":"pulvilli","pulvinus":"pulvini","punchinello":"punchinelloes","pupa":"pupae","puparium":"puparia","putamen":"putamina","putto":"putti","pycnidium":"pycnidia","pygidium":"pygidia","pylorus":"pylori","pyxis":"pyxides","pyxidium":"pyxidia","qaddish":"qaddishim","quadrennium":"quadrennia","quadriga":"quadrigae","quale":"qualia","quantum":"quanta","quarterstaff":"quarterstaves","quezal":"quezales","quinquennium":"quinquennia","quiz":"quizzes","rabato":"rabatos","rabbitfish":"rabbitfishes","rhachis":"rhachides","radix":"radices","radius":"radii","radula":"radulae","ramentum":"ramenta","ramus":"rami","ranula":"ranulae","ranunculus":"ranunculi","raphe":"raphae","raphide":"raphides","ratfish":"ratfishes","real":"reis","rearmouse":"reremice","rectum":"recta","rectus":"recti","rectrix":"rectrices","redfish":"redfishes","redia":"rediae","referendum":"referenda","refugium":"refugia","regulus":"reguli","relatum":"relata","remex":"remiges","reseau":"reseaux","residuum":"residua","responsum":"responsa","rete":"retia","retiarius":"retiarii","reticulum":"reticula","retinaculum":"retinacula","retina":"retinae","rhabdomyoma":"rhabdomyomata","rachis":"rhachises","rhinencephalon":"rhinencephala","rhizobium":"rhizobia","rhombus":"rhombi","rhonchus":"rhonchi","rhyton":"rhyta","ribbonfish":"ribbonfishes","ricercare":"ricercari","rickettsia":"rickettsiae","rilievo":"rilievi","rima":"rimae","robe-de-chambre":"robes-de-chambre","rockfish":"rockfishes","rom":"roma","roman-fleuve":"romans-fleuves","rondeau":"rondeaux","rosarium":"rosaria","rosefish":"rosefishes","rostellum":"rostella","rostrum":"rostra","rouleau":"rouleaux","ruga":"rugae","rumen":"rumina","runner-up":"runners-up","sacrum":"sacra","sacrarium":"sacraria","saguaro":"saguaros","sailfish":"sailfishes","salesperson":"salespeople","salmonella":"salmonellae","salpa":"salpae","salpinx":"salpinges","saltarello":"saltarelli","salvo":"salvoes","sanctum":"sancta","sanitarium":"sanitaria","santims":"santimi","saphena":"saphenae","sarcophagus":"sarcophagi","sartorius":"sartorii","sassanid":"sassanidae","sawfish":"sawfishes","scaldfish":"scaldfishes","scalenus":"scaleni","scapula":"scapulae","scarabaeus":"scarabaei","scarf":"scarves","schatchen":"shadchans","schema":"schemata","scherzando":"scherzandi","scherzo":"scherzi","schmo":"schmoes","scholium":"scholia","schul":"schuln","schutzstaffel":"schutzstaffeln","scirrhus":"scirrhi","scleroma":"scleromata","sclerosis":"scleroses","sclerotium":"sclerotia","scolex":"scolices","scopula":"scopulae","scoria":"scoriae","scotoma":"scotomata","scriptorium":"scriptoria","scrotum":"scrota","scudo":"scudi","scutum":"scuta","scutellum":"scutella","scyphus":"scyphi","scyphistoma":"scyphistomae","scyphozoan":"scyphozoa","secondo":"secondi","secretary-general":"secretaries-general","segno":"segni","seleucid":"seleucidae","self":"selves","senor":"senores","sensillum":"sensilla","sent":"senti","senusi":"senussis","separatrix":"separatrices","sephardi":"sephardim","septum":"septa","septarium":"septaria","septennium":"septennia","sequela":"sequelae","sequestrum":"sequestra","serum":"sera","seraph":"seraphim","sestertium":"sestertia","seta":"setae","sgraffito":"sgraffiti","shabbas":"shabbasim","shabbat":"shabbatim","shacko":"shackoes","shadchan":"shadchanim","shako":"shakoes","shammas":"shammosim","sheatfish":"sheatfishes","sheaf":"sheaves","shellfish":"shellfishes","shelf":"shelves","shinleaf":"shinleaves","shittah":"shittim","shmo":"shmoes","shofar":"shofroth","shophar":"shophroth","shrewmouse":"shrewmice","shul":"shuln","siddur":"siddurim","siglos":"sigloi","signora":"signore","signior":"signori","signorina":"signorine","siliqua":"siliquae","silva":"silvae","silverfish":"silverfishes","simulacrum":"simulacra","sinciput":"sincipita","sinfonia":"sinfonie","sister-in-law":"sisters-in-law","sistrum":"sistra","situla":"situlae","smalto":"smalti","snaggletooth":"snaggleteeth","snailfish":"snailfishes","snipefish":"snipefishes","socman":"socmen","solum":"sola","solarium":"solaria","solatium":"solatia","soldo":"soldi","sol":"soles","solfeggio":"solfeggi","solo":"soli","solidus":"solidi","soma":"somata","son-in-law":"sons-in-law","soprano":"soprani","sordino":"sordini","sorus":"sori","sorosis":"soroses","sovkhoz":"sovkhozy","spadefish":"spadefishes","spadix":"spadices","spearfish":"spearfishes","spectrum":"spectra","speculum":"specula","spermatium":"spermatia","spermatogonium":"spermatogonia","spermatozoon":"spermatozoa","spermogonium":"spermogonia","sphinx":"sphinges","spica":"spicae","spiculum":"spicula","spirillum":"spirilla","splayfoot":"splayfeet","splenius":"splenii","sporangium":"sporangia","sporogonium":"sporogonia","sporozoan":"sporozoa","springhaas":"springhase","spumone":"spumoni","sputum":"sputa","squama":"squamae","squash":"squashes","squilla":"squillae","squirrelfish":"squirrelfishes","squiz":"squizzes","stadium":"stadia","stamen":"stamina","staminodium":"staminodia","stapes":"stapedes","staphylococcus":"staphylococci","starets":"startsy","starfish":"starfishes","stele":"stelae","stemma":"stemmata","stenosis":"stenoses","stepchild":"stepchildren","sternum":"sterna","stigma":"stigmata","stimulus":"stimuli","stipes":"stipites","stirps":"stirpes","stoa":"stoae","stockfish":"stockfishes","stoma":"stomata","stomodaeum":"stomodaea","stomodeum":"stomodea","stonefish":"stonefishes","stotinka":"stotkini","strappado":"strappadoes","stratum":"strata","stratus":"strati","stratocumulus":"stratocumuli","street_child":"street_children","streptococcus":"streptococci","stretto":"stretti","stria":"striae","strobilus":"strobili","stroma":"stromata","struma":"strumae","stucco":"stuccoes","stylus":"styli","stylops":"stylopes","stylopodium":"stylopodia","subcortex":"subcortices","subdelirium":"subdeliria","subgenus":"subgenera","subindex":"subindices","submucosa":"submucosae","subphylum":"subphyla","substratum":"substrasta","succedaneum":"succedanea","succubus":"succubi","suckerfish":"suckerfishes","suckfish":"suckfishes","sudarium":"sudaria","sudatorium":"sudatoria","sulcus":"sulci","summa":"summae","sunfish":"sunfishes","supercargo":"supercargoes","superhero":"superheroes","supernova":"supernovae","superstratum":"superstrata","surgeonfish":"surgeonfishes","swami":"swamies","sweetiewife":"sweetiewives","swellfish":"swellfishes","swordfish":"swordfishes","syconium":"syconia","syllabus":"syllabi","syllepsis":"syllepses","symphysis":"symphyses","sympodium":"sympodia","symposium":"symposia","synapsis":"synapses","synarthrosis":"synarthroses","synclinorium":"synclinoria","syncytium":"syncytia","syndesmosis":"syndesmoses","synopsis":"synopses","syntagma":"syntagmata","synthesis":"syntheses","syphiloma":"syphilomata","syrinx":"syringes","syssarcosis":"syssarcoses","tableau":"tableaux","taenia":"taeniae","talus":"tali","tallith":"tallitoth","tapetum":"tapeta","tarantula":"tarantulae","tarsus":"tarsi","tarsometatarsus":"tarsometatarsi","taxon":"taxa","tax":"taxes","taxi":"taxies","tectrix":"tectrices","tooth":"teeth","tegmen":"tegmina","tela":"telae","telamon":"telamones","telangiectasia":"telangiectases","telium":"telia","tempo":"tempi","tenaculum":"tenacula","tenderfoot":"tenderfeet","tenia":"teniae","tenuis":"tenues","teraph":"teraphim","teras":"terata","teredo":"teredines","tergum":"terga","terminus":"termini","terrarium":"terraria","terzetto":"terzetti","tessera":"tesserae","testa":"testae","testis":"testes","testudo":"testudines","tetrahedron":"tetrahedra","tetraskelion":"tetraskelia","thalamencephalon":"thalamencephala","thalamus":"thalami","thallus":"thalli","theatre-in-the-round":"theatres-in-the-round","theca":"thecae","thyrse":"therses","thesaurus":"thesauri","thesis":"theses","thickleaf":"thickleaves","thief":"thieves","tholos":"tholoi","thorax":"thoraces","thrombus":"thrombi","thymus":"thymi","thyrsus":"thyrsi","tibia":"tibiae","tilefish":"tilefishes","tintinnabulum":"tintinnabula","titmouse":"titmice","toadfish":"toadfishes","tobacco":"tobaccoes","tomato":"tomatoes","tomentum":"tomenta","tondo":"tondi","tonneau":"tonneaux","tophus":"tophi","topos":"topoi","torus":"tori","tornado":"tornadoes","torpedo":"torpedoes","torso":"torsi","touraco":"touracos","trabecula":"trabeculae","trachea":"tracheae","traditor":"traditores","tragus":"tragi","trapezium":"trapezia","trapezohedron":"trapezohedra","trauma":"traumata","treponema":"treponemata","trichina":"trichinae","triclinium":"triclinia","triennium":"triennia","triforium":"triforia","triggerfish":"triggerfishes","trihedron":"trihedra","triskelion":"triskelia","trisoctahedron":"trisoctahedra","triumvir":"triumviri","trivium":"trivia","trochlea":"trochleae","tropaeolum":"tropaeola","trou-de-loup":"trous-de-loup","trousseau":"trousseaux","trunkfish":"trunkfishes","tryma":"trymata","tuba":"tubae","turf":"turves","tympanum":"tympana","tiro":"tyros","ubermensch":"ubermenschen","ugli":"uglies","uighur":"uigurs","ulna":"ulnae","ultimatum":"ultimata","umbilicus":"umbilici","umbo":"umbones","umbra":"umbrae","uncus":"unci","uredium":"uncidia","uredo":"uredines","uredinium":"uredinia","uredosorus":"uredosori","urethra":"urethrae","urinalysis":"urinalyses","uterus":"uteri","utriculus":"utriculi","uvula":"uvulae","vacuum":"vacua","vagus":"vagi","vagina":"vaginae","vallecula":"valleculae","vaporetto":"vaporetti","varix":"varices","vas":"vasa","vasculum":"vascula","velum":"vela","velamen":"velamina","velarium":"velaria","vena":"venae","vena_cava":"venae_cavae","ventriculus":"ventriculi","vermis":"vermes","verruca":"verrucae","vertebra":"vertebrae","vertex":"vertices","vertigo":"vertigoes","vesica":"vesicae","veto":"vetoes","vexillum":"vexilla","viaticum":"viatica","viator":"viatores","vibraculum":"vibracula","vibrissa":"vibrissae","vice-chairman":"vice-chairman","villus":"villi","vimen":"vimina","vinculum":"vincula","virago":"viragoes","vis":"vires","virtuoso":"virtuosi","vita":"vitae","vitellus":"vitelli","vitta":"vittae","vivarium":"vivaria","vox":"voces","volcano":"volcanoes","volkslied":"volkslieder","volta":"volte","volva":"volvae","vorticella":"vorticellae","vortex":"vortices","vulva":"vulvae","wagon-lit":"wagons-lits","wahabi":"wahhabis","wanderjahr":"wanderjahre","weakfish":"weakfishes","werewolf":"werewolves","wharf":"wharves","whipper-in":"whippers-in","whitefish":"whitefishes","wife":"wives","wolffish":"wolffishes","wolf":"wolves","woodlouse":"woodlice","wreckfish":"wreckfishes","wunderkind":"wunderkinder","xiphisternum":"xiphisterna","yeshiva":"yeshivoth","yogi":"yogin","yourself":"yourselves","zamindari":"zamindaris","zecchino":"zecchini","zero":"zeroes","zoon":"zoa","zoaea":"zoeas","zoea":"zoeae","zoonosis":"zoonoses","zoosporangium":"zoosporangia"}}),Rl=Object.freeze({__proto__:null,default:{"arise":[["arose","arisen"]],"awake":[["awakened","awakened"],["awoke","awoken"]],"backslide":[["backslid","backslidden"],["backslid","backslid"]],"be":[["was","been"],["were","been"]],"bear":[["bore","born"],["bore","borne"]],"beat":[["beat","beaten"],["beat","beat"]],"become":[["became","become"]],"begin":[["began","begun"]],"bend":[["bent","bent"]],"bet":[["bet","bet"],["betted","betted"]],"bid":[["bid","bidden"],["bade","bidden"],["bid","bid"]],"bind":[["bound","bound"]],"bite":[["bit","bitten"]],"bleed":[["bled","bled"]],"blow":[["blew","blown"]],"break":[["broke","broken"]],"breed":[["bred","bred"]],"bring":[["brought","brought"]],"broadcast":[["broadcast","broadcast"],["broadcasted","broadcasted"]],"browbeat":[["browbeat","browbeaten"],["browbeat","browbeat"]],"build":[["built","built"]],"burn":[["burned","burned"],["burnt","burnt"]],"burst":[["burst","burst"]],"bust":[["busted","busted"],["bust","bust"]],"buy":[["bought","bought"]],"cast":[["cast","cast"]],"catch":[["caught","caught"]],"choose":[["chose","chosen"]],"cling":[["clung","clung"]],"clothe":[["clothed","clothed"],["clad","clad"]],"come":[["came","come"]],"cost":[["cost","cost"]],"creep":[["crept","crept"]],"crossbreed":[["crossbred","crossbred"]],"cut":[["cut","cut"]],"daydream":[["daydreamed","daydreamed"],["daydreamt","daydreamt"]],"deal":[["dealt","dealt"]],"dig":[["dug","dug"]],"disprove":[["disproved","disproved"],["disproved","disproven"]],"dive":[["dove","dived"],["dived","dived"]],"do":[["did","done"]],"draw":[["drew","drawn"]],"dream":[["dreamed","dreamed"],["dreamt","dreamt"]],"drink":[["drank","drunk"]],"drive":[["drove","driven"]],"dwell":[["dwelt","dwelt"],["dwelled","dwelled"]],"eat":[["ate","eaten"]],"fall":[["fell","fallen"]],"feed":[["fed","fed"]],"feel":[["felt","felt"]],"fight":[["fought","fought"]],"find":[["found","found"]],"fit":[["fitted","fitted"],["fit","fit"]],"flee":[["fled","fled"]],"fling":[["flung","flung"]],"fly":[["flew","flown"]],"forbid":[["forbade","forbidden"]],"forecast":[["forecast","forecast"]],"forego":[["forewent","foregone"]],"foresee":[["foresaw","foreseen"]],"foretell":[["foretold","foretold"]],"forget":[["forgot","forgotten"],["forgot","forgot"]],"forgive":[["forgave","forgiven"]],"forsake":[["forsook","forsaken"]],"freeze":[["froze","frozen"]],"frostbite":[["frostbit","frostbitten"]],"get":[["got","gotten"],["got","got"]],"give":[["gave","given"]],"go":[["went","gone"]],"grind":[["ground","ground"]],"grow":[["grew","grown"]],"hand-feed":[["hand-fed","hand-fed"]],"handwrite":[["handwrote","handwritten"]],"hang":[["hung","hung"]],"have":[["had","had"]],"hear":[["heard","heard"]],"hew":[["hewed","hewn"],["hewed","hewed"]],"hide":[["hid","hidden"]],"hit":[["hit","hit"]],"hold":[["held","held"]],"hurt":[["hurt","hurt"]],"inbreed":[["inbred","inbred"]],"inlay":[["inlaid","inlaid"]],"input":[["input","input"],["inputted","inputted"]],"interbreed":[["interbred","interbred"]],"interweave":[["interwove","interwoven"],["interweaved","interweaved"]],"interwind":[["interwound","interwound"]],"jerry-build":[["jerry-built","jerry-built"]],"keep":[["kept","kept"]],"kneel":[["knelt","knelt"],["kneeled","kneeled"]],"knit":[["knitted","knitted"],["knit","knit"]],"know":[["knew","known"]],"lay":[["laid","laid"]],"lead":[["led","led"]],"lean":[["leaned","leaned"],["leant","leant"]],"leap":[["leaped","leaped"],["leapt","leapt"]],"learn":[["learned","learned"],["learnt","learnt"]],"leave":[["left","left"]],"lend":[["lent","lent"]],"let":[["let","let"]],"lie":[["lay","lain"]],"light":[["lit","lit"],["lighted","lighted"]],"lip-read":[["lip-read","lip-read"]],"lose":[["lost","lost"]],"make":[["made","made"]],"mean":[["meant","meant"]],"meet":[["met","met"]],"miscast":[["miscast","miscast"]],"misdeal":[["misdealt","misdealt"]],"misdo":[["misdid","misdone"]],"mishear":[["misheard","misheard"]],"mislay":[["mislaid","mislaid"]],"mislead":[["misled","misled"]],"mislearn":[["mislearned","mislearned"],["mislearnt","mislearnt"]],"misread":[["misread","misread"]],"misset":[["misset","misset"]],"misspeak":[["misspoke","misspoken"]],"misspell":[["misspelled","misspelled"],["misspelt","misspelt"]],"misspend":[["misspent","misspent"]],"mistake":[["mistook","mistaken"]],"misteach":[["mistaught","mistaught"]],"misunderstand":[["misunderstood","misunderstood"]],"miswrite":[["miswrote","miswritten"]],"mow":[["mowed","mowed"],["mowed","mown"]],"offset":[["offset","offset"]],"outbid":[["outbid","outbid"]],"outbreed":[["outbred","outbred"]],"outdo":[["outdid","outdone"]],"outdraw":[["outdrew","outdrawn"]],"outdrink":[["outdrank","outdrunk"]],"outdrive":[["outdrove","outdriven"]],"outfight":[["outfought","outfought"]],"outfly":[["outflew","outflown"]],"outgrow":[["outgrew","outgrown"]],"outleap":[["outleaped","outleaped"],["outleapt","outleapt"]],"outride":[["outrode","outridden"]],"outrun":[["outran","outrun"]],"outsell":[["outsold","outsold"]],"outshine":[["outshined","outshined"],["outshone","outshone"]],"outshoot":[["outshot","outshot"]],"outsing":[["outsang","outsung"]],"outsit":[["outsat","outsat"]],"outsleep":[["outslept","outslept"]],"outsmell":[["outsmelled","outsmelled"],["outsmelt","outsmelt"]],"outspeak":[["outspoke","outspoken"]],"outspeed":[["outsped","outsped"]],"outspend":[["outspent","outspent"]],"outswear":[["outswore","outsworn"]],"outswim":[["outswam","outswum"]],"outthink":[["outthought","outthought"]],"outthrow":[["outthrew","outthrown"]],"outwrite":[["outwrote","outwritten"]],"overbid":[["overbid","overbid"]],"overbreed":[["overbred","overbred"]],"overbuild":[["overbuilt","overbuilt"]],"overbuy":[["overbought","overbought"]],"overcome":[["overcame","overcome"]],"overdo":[["overdid","overdone"]],"overdraw":[["overdrew","overdrawn"]],"overdrink":[["overdrank","overdrunk"]],"overeat":[["overate","overeaten"]],"overfeed":[["overfed","overfed"]],"overhang":[["overhung","overhung"]],"overhear":[["overheard","overheard"]],"overlay":[["overlaid","overlaid"]],"overpay":[["overpaid","overpaid"]],"override":[["overrode","overridden"]],"overrun":[["overran","overrun"]],"oversee":[["oversaw","overseen"]],"oversell":[["oversold","oversold"]],"oversew":[["oversewed","oversewn"],["oversewed","oversewed"]],"overshoot":[["overshot","overshot"]],"oversleep":[["overslept","overslept"]],"overspeak":[["overspoke","overspoken"]],"overspend":[["overspent","overspent"]],"overspill":[["overspilled","overspilled"],["overspilt","overspilt"]],"overtake":[["overtook","overtaken"]],"overthink":[["overthought","overthought"]],"overthrow":[["overthrew","overthrown"]],"overwind":[["overwound","overwound"]],"overwrite":[["overwrote","overwritten"]],"partake":[["partook","partaken"]],"pay":[["paid","paid"]],"plead":[["pleaded","pleaded"],["pled","pled"]],"prebuild":[["prebuilt","prebuilt"]],"predo":[["predid","predone"]],"premake":[["premade","premade"]],"prepay":[["prepaid","prepaid"]],"presell":[["presold","presold"]],"preset":[["preset","preset"]],"preshrink":[["preshrank","preshrunk"]],"proofread":[["proofread","proofread"]],"prove":[["proved","proven"],["proved","proved"]],"put":[["put","put"]],"quick-freeze":[["quick-froze","quick-frozen"]],"quit":[["quit","quit"],["quitted","quitted"]],"read":[["read","read"]],"reawake":[["reawoke","reawaken"]],"rebid":[["rebid","rebid"]],"rebind":[["rebound","rebound"]],"rebroadcast":[["rebroadcast","rebroadcast"],["rebroadcasted","rebroadcasted"]],"rebuild":[["rebuilt","rebuilt"]],"recast":[["recast","recast"]],"recut":[["recut","recut"]],"redeal":[["redealt","redealt"]],"redo":[["redid","redone"]],"redraw":[["redrew","redrawn"]],"refit":[["refit","refit"],["refitted","refitted"]],"regrind":[["reground","reground"]],"regrow":[["regrew","regrown"]],"rehang":[["rehung","rehung"]],"rehear":[["reheard","reheard"]],"reknit":[["reknitted","reknitted"],["reknit","reknit"]],"relay":[["relaid","relaid"]],"relearn":[["relearned","relearned"],["relearnt","relearnt"]],"relight":[["relit","relit"],["relighted","relighted"]],"remake":[["remade","remade"]],"repay":[["repaid","repaid"]],"reread":[["reread","reread"]],"rerun":[["reran","rerun"]],"resell":[["resold","resold"]],"resend":[["resent","resent"]],"reset":[["reset","reset"]],"resew":[["resewed","resewn"],["resewed","resewed"]],"retake":[["retook","retaken"]],"reteach":[["retaught","retaught"]],"retear":[["retore","retorn"]],"retell":[["retold","retold"]],"rethink":[["rethought","rethought"]],"retread":[["retread","retread"]],"retrofit":[["retrofitted","retrofitted"],["retrofit","retrofit"]],"rewake":[["rewoke","rewaken"],["rewaked","rewaked"]],"rewear":[["rewore","reworn"]],"reweave":[["rewove","rewoven"],["reweaved","reweaved"]],"rewed":[["rewed","rewed"],["rewedded","rewedded"]],"rewet":[["rewet","rewet"],["rewetted","rewetted"]],"rewin":[["rewon","rewon"]],"rewind":[["rewound","rewound"]],"rewrite":[["rewrote","rewritten"]],"rid":[["rid","rid"]],"ride":[["rode","ridden"]],"ring":[["rang","rung"]],"rise":[["rose","risen"]],"roughcast":[["roughcast","roughcast"]],"run":[["ran","run"]],"sand-cast":[["sand-cast","sand-cast"]],"saw":[["sawed","sawed"],["sawed","sawn"]],"say":[["said","said"]],"see":[["saw","seen"]],"seek":[["sought","sought"]],"sell":[["sold","sold"]],"send":[["sent","sent"]],"set":[["set","set"]],"sew":[["sewed","sewn"],["sewed","sewed"]],"shake":[["shook","shaken"]],"shave":[["shaved","shaved"],["shaved","shaven"]],"shear":[["sheared","sheared"],["sheared","shorn"]],"shed":[["shed","shed"]],"shine":[["shined","shined"],["shone","shone"]],"shit":[["shit","shit"],["shat","shat"],["shitted","shitted"]],"shoot":[["shot","shot"]],"show":[["showed","shown"],["showed","showed"]],"shrink":[["shrank","shrunk"],["shrunk","shrunk"]],"shut":[["shut","shut"]],"sight-read":[["sight-read","sight-read"]],"sing":[["sang","sung"]],"sink":[["sank","sunk"],["sunk","sunk"]],"sit":[["sat","sat"]],"slay":[["slew","slain"],["slayed","slayed"]],"sleep":[["slept","slept"]],"slide":[["slid","slid"]],"sling":[["slung","slung"]],"slink":[["slinked","slinked"],["slunk","slunk"]],"slit":[["slit","slit"]],"smell":[["smelled","smelled"],["smelt","smelt"]],"sneak":[["sneaked","sneaked"],["snuck","snuck"]],"sow":[["sowed","sown"],["sowed","sowed"]],"speak":[["spoke","spoken"]],"speed":[["sped","sped"],["speeded","speeded"]],"spell":[["spelled","spelled"],["spelt","spelt"]],"spend":[["spent","spent"]],"spill":[["spilled","spilled"],["spilt","spilt"]],"spin":[["spun","spun"]],"spit":[["spit","spit"],["spat","spat"]],"split":[["split","split"]],"spoil":[["spoiled","spoiled"],["spoilt","spoilt"]],"spoon-feed":[["spoon-fed","spoon-fed"]],"spread":[["spread","spread"]],"spring":[["sprang","sprung"],["sprung","sprung"]],"stand":[["stood","stood"]],"steal":[["stole","stolen"]],"stick":[["stuck","stuck"]],"sting":[["stung","stung"]],"stink":[["stunk","stunk"],["stank","stunk"]],"strew":[["strewed","strewn"],["strewed","strewed"]],"stride":[["strode","stridden"]],"strike":[["struck","stricken"],["struck","struck"]],"string":[["strung","strung"]],"strive":[["strove","striven"],["strived","strived"]],"sublet":[["sublet","sublet"]],"sunburn":[["sunburned","sunburned"],["sunburnt","sunburnt"]],"swear":[["swore","sworn"]],"sweat":[["sweat","sweat"],["sweated","sweated"]],"sweep":[["swept","swept"]],"swell":[["swelled","swollen"],["swelled","swelled"]],"swim":[["swam","swum"]],"swing":[["swung","swung"]],"take":[["took","taken"]],"teach":[["taught","taught"]],"tear":[["tore","torn"]],"telecast":[["telecast","telecast"]],"tell":[["told","told"]],"test-drive":[["test-drove","test-driven"]],"test-fly":[["test-flew","test-flown"]],"think":[["thought","thought"]],"throw":[["threw","thrown"]],"thrust":[["thrust","thrust"]],"tread":[["trod","trodden"],["trod","trod"]],"typecast":[["typecast","typecast"]],"typeset":[["typeset","typeset"]],"typewrite":[["typewrote","typewritten"]],"unbend":[["unbent","unbent"]],"unbind":[["unbound","unbound"]],"unclothe":[["unclothed","unclothed"],["unclad","unclad"]],"underbid":[["underbid","underbid"]],"undercut":[["undercut","undercut"]],"underfeed":[["underfed","underfed"]],"undergo":[["underwent","undergone"]],"underlie":[["underlay","underlain"]],"undersell":[["undersold","undersold"]],"underspend":[["underspent","underspent"]],"understand":[["understood","understood"]],"undertake":[["undertook","undertaken"]],"underwrite":[["underwrote","underwritten"]],"undo":[["undid","undone"]],"unfreeze":[["unfroze","unfrozen"]],"unhang":[["unhung","unhung"]],"unhide":[["unhid","unhidden"]],"unknit":[["unknitted","unknitted"],["unknit","unknit"]],"unlearn":[["unlearned","unlearned"],["unlearnt","unlearnt"]],"unsew":[["unsewed","unsewn"],["unsewed","unsewed"]],"unsling":[["unslung","unslung"]],"unspin":[["unspun","unspun"]],"unstick":[["unstuck","unstuck"]],"unstring":[["unstrung","unstrung"]],"unweave":[["unwove","unwoven"],["unweaved","unweaved"]],"unwind":[["unwound","unwound"]],"uphold":[["upheld","upheld"]],"upset":[["upset","upset"]],"wake":[["woke","woken"],["waked","waked"]],"waylay":[["waylaid","waylaid"]],"wear":[["wore","worn"]],"weave":[["wove","woven"],["weaved","weaved"]],"wed":[["wed","wed"],["wedded","wedded"]],"weep":[["wept","wept"]],"wet":[["wet","wet"],["wetted","wetted"]],"win":[["won","won"]],"wind":[["wound","wound"]],"withdraw":[["withdrew","withdrawn"]],"withhold":[["withheld","withheld"]],"withstand":[["withstood","withstood"]],"wring":[["wrung","wrung"]],"write":[["wrote","written"]]}}),Ul=Object.freeze({__proto__:null,default:{"abet":"abetting","abhor":"abhorring","about-ship":"about-shipping","abut":"abutting","acquit":"acquitting","ad-lib":"ad-libbing","admit":"admitting","airdrop":"airdropping","allot":"allotting","annul":"annulling","appal":"appalling","arc":"arcking","aver":"averring","baby-sit":"baby-sitting","back-pedal":"back-pedalling","bag":"bagging","ballyrag":"ballyragging","ban":"banning","barrel":"barrelling","bar":"barring","bat":"batting","bayonet":"bayonetting","bed":"bedding","bedevil":"bedevilling","bedim":"bedimming","befit":"befitting","befog":"befogging","beget":"begetting","beg":"begging","begin":"beginning","bejewel":"bejewelling","belly-flop":"belly-flopping","belie":"belying","benefit":"benefitting","beset":"besetting","bestir":"bestirring","bet":"betting","bevel":"bevelling","bias":"biassing","bid":"bidding","bing":"bing","bin":"binning","bird-dog":"bird-dogging","bit":"bitting","bivouac":"bivouacking","blab":"blabbing","blackleg":"blacklegging","blat":"blatting","blip":"blipping","blob":"blobbing","blot":"blotting","blub":"blubbing","blue-pencil":"blue-pencilling","blur":"blurring","bob":"bobbing","booby-trap":"booby-trapping","bootleg":"bootlegging","bop":"bopping","brag":"bragging","brevet":"brevetting","brim":"brimming","bud":"budding","bug":"bugging","bulldog":"bulldogging","bullshit":"bullshitting","bullwhip":"bullwhipping","bullyrag":"bullyragging","bum":"bumming","bur":"burring","bushel":"bushelling","cabal":"caballing","caddie":"caddying","canal":"canalling","cancel":"cancelling","can":"canning","cap":"capping","carburet":"carburetting","carillon":"carillonning","carol":"carolling","catnap":"catnapping","cat":"catting","cavil":"cavilling","channel":"channelling","chap":"chapping","char":"charring","chat":"chatting","chivy":"chivvying","chin":"chinning","chip":"chipping","chisel":"chiselling","chitchat":"chitchatting","chiv":"chivving","chop":"chopping","chug":"chugging","chum":"chumming","clad":"cladding","clam":"clamming","clap":"clapping","clem":"clemming","clip":"clipping","clog":"clogging","clop":"clopping","clot":"clotting","club":"clubbing","coopt":"co-opting","coordinate":"co-ordinating","co-star":"co-starring","cod":"codding","cog":"cogging","coif":"coiffing","combat":"combatting","commit":"committing","compel":"compelling","complot":"complotting","concur":"concurring","confab":"confabbing","confer":"conferring","con":"conning","control":"controlling","cop":"copping","coquet":"coquetting","corral":"corralling","counsel":"counselling","counterplot":"counterplotting","court-martial":"court-martialling","crab":"crabbing","cram":"cramming","crap":"crapping","crib":"cribbing","crop":"cropping","crosscut":"crosscutting","cub":"cubbing","cudgel":"cudgelling","cupel":"cupelling","cup":"cupping","curet":"curetting","curvet":"curvetting","cut":"cutting","dab":"dabbing","dag":"dagging","dam":"damming","dap":"dapping","debar":"debarring","debug":"debugging","debus":"debussing","decontrol":"decontrolling","defer":"deferring","degas":"degassing","demit":"demitting","demob":"demobbing","demur":"demurring","den":"denning","deter":"deterring","devil":"devilling","diagram":"diagramming","dial":"dialling","dib":"dibbing","dig":"digging","dim":"dimming","din":"dinning","dip":"dipping","disannul":"disannulling","disbar":"disbarring","disbud":"disbudding","disembowel":"disembowelling","disenthral":"disenthralling","dishevel":"dishevelling","disinter":"disinterring","dispel":"dispelling","distil":"distilling","dog":"dogging","dogleg":"doglegging","don":"donning","dot":"dotting","drab":"drabbing","drag":"dragging","drip":"dripping","drivel":"drivelling","drop":"dropping","drub":"drubbing","drug":"drugging","drum":"drumming","dub":"dubbing","duel":"duelling","dun":"dunning","die":"dying","eavesdrop":"eavesdropping","ego-trip":"ego-tripping","embed":"embedding","embus":"embussing","emit":"emitting","empanel":"empanelling","enamel":"enamelling","englut":"englutting","enrol":"enrolling","enthral":"enthralling","entrammel":"entrammelling","entrap":"entrapping","enwrap":"enwrapping","equal":"equalling","equip":"equipping","estop":"estopping","excel":"excelling","expel":"expelling","extol":"extolling","facet":"facetting","fag":"fagging","fan":"fanning","fat":"fatting","featherbed":"featherbedding","fib":"fibbing","fig":"figging","fin":"finning","fit":"fitting","flag":"flagging","flam":"flamming","flannel":"flannelling","flap":"flapping","flat":"flatting","flimflam":"flimflamming","flip-flop":"flip-flopping","flip":"flipping","flit":"flitting","flog":"flogging","flop":"flopping","flub":"flubbing","fob":"fobbing","fog":"fogging","footslog":"footslogging","forbid":"forbidding","forerun":"forerunning","forget":"forgetting","format":"formatting","foxtrot":"foxtrotting","frap":"frapping","fret":"fretting","frig":"frigging","frit":"fritting","frivol":"frivolling","frog":"frogging","frolic":"frolicking","fuel":"fuelling","fulfil":"fulfilling","funnel":"funnelling","fun":"funning","fur":"furring","gad":"gadding","gag":"gagging","gambol":"gambolling","gam":"gamming","gan":"ganning","gap":"gapping","gas":"gassing","gel":"gelling","gem":"gemming","get":"getting","gib":"gibbing","giftwrap":"giftwrapping","gig":"gigging","gin":"ginning","gip":"gipping","glom":"glomming","glut":"glutting","goose-step":"goose-stepping","grab":"grabbing","gravel":"gravelling","grin":"grinning","grip":"gripping","grit":"gritting","grovel":"grovelling","grub":"grubbing","gum":"gumming","gun":"gunning","gyp":"gypping","have_a_feeling":"having_a_feeling","have_the_feeling":"having_the_feeling","ham":"hamming","hand-knit":"hand-knitting","handicap":"handicapping","handsel":"handselling","hatchel":"hatchelling","hat":"hatting","hedgehop":"hedgehopping","hem":"hemming","hiccup":"hiccupping","high-hat":"high-hatting","hit":"hitting","hob":"hobbing","hobnob":"hobnobbing","hocus-pocus":"hocus-pocussing","hocus":"hocussing","hog":"hogging","hogtie":"hogtying","hop":"hopping","horsewhip":"horsewhipping","housel":"houselling","hovel":"hovelling","hug":"hugging","humbug":"humbugging","hum":"humming","imbed":"imbedding","impanel":"impanelling","impel":"impelling","incur":"incurring","infer":"inferring","initial":"initialling","inset":"insetting","inspan":"inspanning","instal":"installing","intercrop":"intercropping","intercut":"intercutting","interlap":"interlapping","intermit":"intermitting","inter":"interring","intromit":"intromitting","inwrap":"inwrapping","jab":"jabbing","jag":"jagging","jam":"jamming","japan":"japanning","jar":"jarring","jet":"jetting","jewel":"jewelling","jib":"jibbing","jig":"jigging","jitterbug":"jitterbugging","job":"jobbing","jog-trot":"jog-trotting","jog":"jogging","jot":"jotting","joypop":"joypopping","jug":"jugging","jut":"jutting","kennel":"kennelling","ken":"kenning","kernel":"kernelling","kid":"kidding","kidnap":"kidnapping","kip":"kipping","knap":"knapping","kneecap":"kneecapping","knit":"knitting","knob":"knobbing","knot":"knotting","ko":"ko'ing","label":"labelling","ladify":"ladyfying","lag":"lagging","lallygag":"lallygagging","lam":"lamming","lap":"lapping","laurel":"laurelling","leapfrog":"leapfrogging","let":"letting","level":"levelling","libel":"libelling","lip":"lipping","lob":"lobbing","log":"logging","lop":"lopping","lot":"lotting","lug":"lugging","lie":"lying","machine-gun":"machine-gunning","mad":"madding","man":"manning","manumit":"manumitting","map":"mapping","marcel":"marcelling","mar":"marring","marshal":"marshalling","marvel":"marvelling","mat":"matting","medal":"medalling","metal":"metalling","mimic":"mimicking","misfit":"misfitting","mishit":"mishitting","mob":"mobbing","model":"modelling","mop":"mopping","mud":"mudding","mug":"mugging","mum":"mumming","nab":"nabbing","nag":"nagging","nap":"napping","net":"netting","nib":"nibbing","nickel":"nickelling","nid-nod":"nid-nodding","nip":"nipping","nod":"nodding","non-pros":"non-prossing","nonplus":"nonplussing","nut":"nutting","occur":"occurring","offset":"offsetting","omit":"omitting","outbid":"outbidding","outcrop":"outcropping","outfit":"outfitting","outgas":"outgassing","outgeneral":"outgeneralling","outman":"outmanning","output":"outputting","outrun":"outrunning","outspan":"outspanning","outstrip":"outstripping","outwit":"outwitting","overbid":"overbidding","overcrop":"overcropping","overlap":"overlapping","overlie":"overlying","overman":"overmanning","overrun":"overrunning","overset":"oversetting","overstep":"overstepping","overtop":"overtopping","pad":"padding","pal":"palling","panel":"panelling","panic":"panicking","pan":"panning","parallel":"parallelling","parcel":"parcelling","pasquinade":"pasquilling","patrol":"patrolling","pat":"patting","pedal":"pedalling","peg":"pegging","pencil":"pencilling","pen":"penning","pep":"pepping","permit":"permitting","pettifog":"pettifogging","pet":"petting","photomap":"photomapping","photoset":"photosetting","physic":"physicking","picnic":"picnicking","pig":"pigging","pinch-hit":"pinch-hitting","pin":"pinning","pip":"pipping","pistol-whip":"pistol-whipping","pistol":"pistolling","pitapat":"pitapatting","pit":"pitting","plan":"planning","plat":"platting","plod":"plodding","plop":"plopping","plot":"plotting","plug":"plugging","pod":"podding","pommel":"pommelling","pop":"popping","pot":"potting","precancel":"precancelling","prefer":"preferring","pretermit":"pretermitting","prig":"prigging","prim":"primming","prod":"prodding","program":"programming","prologue":"prologing","propel":"propelling","prop":"propping","pub":"pubbing","pug":"pugging","pummel":"pummelling","pun":"punning","pup":"pupping","put-put":"put-putting","put":"putting","quarrel":"quarrelling","quickstep":"quickstepping","quip":"quipping","quit":"quitting","quiz":"quizzing","rag":"ragging","ram":"ramming","rappel":"rappelling","rap":"rapping","rat":"ratting","ravel":"ravelling","razor-cut":"razor-cutting","rebel":"rebelling","rebut":"rebutting","recap":"recapping","recommit":"recommitting","recur":"recurring","red-pencil":"red-pencilling","red":"redding","refer":"referring","refit":"refitting","refuel":"refuelling","regret":"regretting","remit":"remitting","repel":"repelling","repot":"repotting","rerun":"rerunning","reset":"resetting","resit":"resitting","retransmit":"retransmitting","retrofit":"retrofitting","ret":"retting","revel":"revelling","revet":"revetting","rev":"revving","rib":"ribbing","ricochet":"ricochetting","rid":"ridding","rig":"rigging","rim":"rimming","rip":"ripping","rival":"rivalling","rob":"robbing","rot":"rotting","rowel":"rowelling","rub":"rubbing","run":"running","rut":"rutting","sag":"sagging","sandbag":"sandbagging","sap":"sapping","scag":"scagging","scan":"scanning","scar":"scarring","scat":"scatting","scrag":"scragging","scram":"scramming","scrap":"scrapping","scrub":"scrubbing","scrum":"scrumming","scud":"scudding","scum":"scumming","set":"setting","shag":"shagging","sham":"shamming","sharecrop":"sharecropping","shed":"shedding","shellac":"shellacking","shikar":"shikarring","shim":"shimming","shin":"shinning","ship":"shipping","shit":"shitting","shop":"shopping","shotgun":"shotgunning","shot":"shotting","shovel":"shovelling","shred":"shredding","shrink-wrap":"shrink-wrapping","shrivel":"shrivelling","shrug":"shrugging","shun":"shunning","shut":"shutting","sic":"sicking","sideslip":"sideslipping","sidestep":"sidestepping","signal":"signalling","sing":"singing","single-step":"single-stepping","sin":"sinning","sip":"sipping","sit":"sitting","sken":"skenning","sket":"sketting","skid":"skidding","skim":"skimming","skin-pop":"skin-popping","skin":"skinning","skinny-dip":"skinny-dipping","skip":"skipping","slab":"slabbing","slag":"slagging","slam":"slamming","slap":"slapping","slat":"slatting","sled":"sledding","slip":"slipping","slit":"slitting","slog":"slogging","slop":"slopping","slot":"slotting","slug":"slugging","slum":"slumming","slur":"slurring","smut":"smutting","snag":"snagging","snap":"snapping","sned":"snedding","snip":"snipping","snivel":"snivelling","snog":"snogging","snub":"snubbing","snug":"snugging","sob":"sobbing","sod":"sodding","soft-pedal":"soft-pedalling","sop":"sopping","spag":"spagging","spancel":"spancelling","span":"spanning","spar":"sparring","spat":"spatting","spin":"spinning","spiral":"spiralling","spit":"spitting","split":"splitting","spot":"spotting","sprig":"sprigging","spud":"spudding","spur":"spurring","squat":"squatting","squib":"squibbing","squid":"squidding","stab":"stabbing","star":"starring","stem":"stemming","stencil":"stencilling","step":"stepping","stet":"stetting","stiletto":"stilettoeing","stir":"stirring","stop":"stopping","stot":"stotting","strap":"strapping","strip":"stripping","strop":"stropping","strum":"strumming","strut":"strutting","stub":"stubbing","stud":"studding","stum":"stumming","stun":"stunning","stymie":"stymying","sub":"subbing","sublet":"subletting","submit":"submitting","subtotal":"subtotalling","sulphuret":"sulphuretting","sum":"summing","sun":"sunning","sup":"supping","swab":"swabbing","swag":"swagging","swap":"swopping","swat":"swatting","swig":"swigging","swim":"swimming","swivel":"swivelling","swot":"swotting","symbol":"symbolling","tab":"tabbing","tag":"tagging","talc":"talcking","tan":"tanning","tap":"tapping","tar":"tarring","tassel":"tasselling","tat":"tatting","taxi":"taxying","teasel":"teaselling","ted":"tedding","thin":"thinning","throb":"throbbing","thrum":"thrumming","thud":"thudding","tin":"tinning","tinsel":"tinselling","tip":"tipping","tittup":"tittupping","tog":"togging","top":"topping","total":"totalling","tot":"totting","towel":"towelling","traffic":"trafficking","trammel":"tramelling","tram":"tramming","transfer":"transferring","tranship":"transhipping","transmit":"transmitting","transship":"transshipping","trapan":"trapanning","trap":"trapping","travel":"travelling","trek":"trekking","trepan":"trepanning","trig":"trigging","trim":"trimming","trip":"tripping","trog":"trogging","trot":"trotting","trowel":"trowelling","tug":"tugging","tunnel":"tunnelling","tun":"tunning","tup":"tupping","tut-tut":"tut-tutting","twig":"twigging","twin":"twinning","twit":"twitting","tie":"tying","typeset":"typesetting","unbar":"unbarring","uncap":"uncapping","unclog":"unclogging","underbid":"underbidding","undercut":"undercutting","underlet":"underletting","underlie":"underlying","underpin":"underpinning","underprop":"underpropping","underset":"undersetting","unfit":"unfitting","unkennel":"unkennelling","unknit":"unknitting","unman":"unmanning","unpeg":"unpegging","unpin":"unpinning","unplug":"unplugging","unravel":"unravelling","unrig":"unrigging","unrip":"unripping","unship":"unshipping","unsnap":"unsnapping","unstep":"unstepping","unstop":"unstopping","untie":"untying","unwrap":"unwrapping","unzip":"unzipping","uppercut":"uppercutting","up":"upping","upset":"upsetting","vag":"vagging","vat":"vatting","vet":"vetting","victual":"victualling","vitriol":"vitriolling","vie":"vying","wad":"wadding","wadset":"wadsetting","wag":"wagging","wan":"wanning","war":"warring","weatherstrip":"weatherstripping","web":"webbing","wed":"wedding","wet":"wetting","wham":"whamming","whap":"whapping","whet":"whetting","whip":"whipping","whir":"whirring","whistle-stop":"whistle-stopping","whiz":"whizzing","whop":"whopping","wig":"wigging","wigwag":"wigwagging","wildcat":"wildcatting","window-shop":"window-shopping","win":"winning","won":"wonning","worship":"worshipping","wrap":"wrapping","yak":"yakking","yap":"yapping","yen":"yenning","yodel":"yodelling","zap":"zapping","zigzag":"zigzagging","zip":"zipping"}}),Vl=P((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.getConjugation=t.getVerbInfo=t.getIngPart=t.mergeVerbsData=void 0;const n=["SIMPLE_PAST","PAST","SIMPLE_PRESENT","PRESENT","SIMPLE_FUTURE","FUTURE","PROGRESSIVE_PAST","PROGRESSIVE_PRESENT","PROGRESSIVE_FUTURE","PERFECT_PAST","PERFECT_PRESENT","PERFECT_FUTURE","PERFECT_PROGRESSIVE_PAST","PERFECT_PROGRESSIVE_PRESENT","PERFECT_PROGRESSIVE_FUTURE","PARTICIPLE_PRESENT","PARTICIPLE_PAST"],r=["can","could","may","might","must","shall","should","will","would"];function i(e,t){return e&&0!=e.length?e[t]:null}function a(e){return e.endsWith("ie")||e.endsWith("ee")?e+"d":c(e)?e+"ed":e.endsWith("y")?e.substring(0,e.length-1)+"ied":e.endsWith("e")?e+"d":e+"ed"}function s(e,t){let n;return"be"===t?"been":(n=i(e,1))?n:a(t)}function o(e,t){let n;return(n=i(e,2))?n:t.match(new RegExp("[bcdfghjklmnpqrstvxzw]e$","g"))&&"be"!=t&&"singe"!=t?t.substring(0,t.length-1)+"ing":t+"ing"}function u(e,t){return e?e[t]:null}function l(e,t,n){return function(e,t,n){let r;return"be"===t?"P"===n?"were":"was":(r=i(e,0))?r:a(t)}(e,t,n)}function c(e){return e.match(/[aeiouy]y$/)}t.mergeVerbsData=function(e,t){const n={};if(t){const e=Object.keys(t);for(let r=0;r-1?e:"have"===e?"has":"be"===e?"is":"do"===e?"does":"go"===e?"goes":c(e)?e+"s":e.endsWith("y")?e.substring(0,e.length-1)+"ies":e.endsWith("ss")||e.endsWith("x")||e.endsWith("sh")||e.endsWith("ch")?e+"es":e+"s"}(t,a);case"FUTURE":case"SIMPLE_FUTURE":return function(e,t,n){return n&&n.GOING_TO?"P"===t?"are going to "+e:"is going to "+e:"will "+e}(t,a,p);case"PROGRESSIVE_PAST":return function(e,t){return("P"===t?"were ":"was ")+e}(o(u(e,t),t),a);case"PROGRESSIVE_PRESENT":return function(e,t){return("P"===t?"are ":"is ")+e}(o(u(e,t),t),a);case"PROGRESSIVE_FUTURE":return"will be "+o(u(e,t),t);case"PERFECT_PAST":return"had "+s(u(e,t),t);case"PERFECT_PRESENT":return function(e,t){return("P"===e?"have ":"has ")+t}(a,s(u(e,t),t));case"PERFECT_FUTURE":return function(e){return"will have "+e}(s(u(e,t),t));case"PERFECT_PROGRESSIVE_PAST":return function(e){return"had been "+e}(o(u(e,t),t));case"PERFECT_PROGRESSIVE_PRESENT":return function(e,t){return("P"===t?"have ":"has ")+"been "+e}(o(u(e,t),t),a);case"PERFECT_PROGRESSIVE_FUTURE":return function(e){return"will have been "+e}(o(u(e,t),t));case"PARTICIPLE_PRESENT":return o(u(e,t),t);case"PARTICIPLE_PAST":return s(u(e,t),t)}}})),Wl=C(Bl),zl=C(Rl),ql=C(Ul),Hl=P((function(e,t){
/**
* @license
* Copyright 2018, Ludan Stoecklé
* SPDX-License-Identifier: MIT
*/
var n=w&&w.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageCodeGenEnglish=void 0;const r=n(Wl),i=n(zl),a=n(ql);class s extends Ml.LanguageCodeGen{constructor(){super(),this.iso2="en",this.hasFlexVerbs=!0,this.hasFlexWords=!0,this.hasFlexAdjectives=!1,this.mergedVerbsDataEn=Vl.mergeVerbsData(i.default,a.default)}getVerbInfo(e){return Vl.getVerbInfo(this.mergedVerbsDataEn,e)}getWordInfo(e){return{plural:Ll.getPlural(null,r.default,e)}}}t.LanguageCodeGenEnglish=s})),Xl=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenFrench/en/true!"}),Jl=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenGerman/en/true!"}),$l=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenItalian/en/true!"}),Yl=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenSpanish/en/true!"}),Kl=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenOther/en/true!"}),Gl=C(Xl),Ql=C(Jl),Zl=C($l),ec=C(Yl),tc=C(Kl),nc=P((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 Hl.LanguageCodeGenEnglish;break;case"fr":t=new Gl.LanguageCodeGenFrench;break;case"de":t=new Ql.LanguageCodeGenGerman;break;case"it":t=new Zl.LanguageCodeGenItalian;break;case"es":t=new ec.LanguageCodeGenSpanish;break;default:t=new tc.LanguageCodeGenOther,t.setIso2(e)}return t}})),rc=function(e,t){return(rc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};var ic=function(){return(ic=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function oc(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(i)throw i.error}}return s}function uc(e){return this instanceof uc?(this.v=e,this):new uc(e)}var lc=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};var cc=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 n(){this.constructor=e}rc(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return ic},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,n,s):i(t,n))||s);return a>3&&s&&Object.defineProperty(t,n,s),s},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(i,a){function s(e){try{u(r.next(e))}catch(e){a(e)}}function o(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,o)}u((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,i,a,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1||o(e,t)}))})}function o(e,t){try{(n=i[e](t)).value instanceof uc?Promise.resolve(n.value.v).then(u,l):c(a[0][2],n)}catch(e){c(a[0][3],e)}var n}function u(e){o("next",e)}function l(e){o("throw",e)}function c(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:uc(e[r](t)),done:"return"===r}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=sc(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,i,(t=e[n](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 n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&ac(t,e,n);return lc(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,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}}),pc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Def=void 0;var n=Object.prototype,r=n.toString,i=n.hasOwnProperty,a=function(){function e(){}return e.prototype.assert=function(e,t){if(!this.check(e,t)){var n=d(e);throw new Error(n+" does not match type "+this)}return!0},e.prototype.arrayOf=function(){return new s(this)},e}(),s=function(e){function t(t){var n=e.call(this)||this;return n.elemType=t,n.kind="ArrayType",n}return cc.__extends(t,e),t.prototype.toString=function(){return"["+this.elemType+"]"},t.prototype.check=function(e,t){var n=this;return Array.isArray(e)&&e.every((function(e){return n.elemType.check(e,t)}))},t}(a),o=function(e){function t(t){var n=e.call(this)||this;return n.value=t,n.kind="IdentityType",n}return cc.__extends(t,e),t.prototype.toString=function(){return String(this.value)},t.prototype.check=function(e,t){var n=e===this.value;return n||"function"!=typeof t||t(this,e),n},t}(a),u=function(e){function t(t){var n=e.call(this)||this;return n.fields=t,n.kind="ObjectType",n}return cc.__extends(t,e),t.prototype.toString=function(){return"{ "+this.fields.join(", ")+" }"},t.prototype.check=function(e,t){return r.call(e)===r.call({})&&this.fields.every((function(n){return n.type.check(e[n.name],t)}))},t}(a),l=function(e){function t(t){var n=e.call(this)||this;return n.types=t,n.kind="OrType",n}return cc.__extends(t,e),t.prototype.toString=function(){return this.types.join(" | ")},t.prototype.check=function(e,t){return this.types.some((function(n){return n.check(e,t)}))},t}(a),c=function(e){function t(t,n){var r=e.call(this)||this;return r.name=t,r.predicate=n,r.kind="PredicateType",r}return cc.__extends(t,e),t.prototype.toString=function(){return this.name},t.prototype.check=function(e,t){var n=this.predicate(e,t);return n||"function"!=typeof t||t(this,e),n},t}(a),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 n=this.allFields;if(!0!==this.finalized)throw new Error(""+this.typeName);return null!==e&&"object"==typeof e&&Object.keys(n).every((function(r){var i=n[r],a=i.type,s=i.getValue(e);return a.check(s,t)}))},e.prototype.bases=function(){for(var e=[],t=0;t=0)return a[i];if("string"!=typeof r)throw new Error("missing name");return new c(r,e)}return new o(e)},def:function(e){return i.call(w,e)?w[e]:w[e]=new C(e)},hasDef:function(e){return i.call(w,e)}},n=[],a=[];function f(e,t){var i=r.call(t),s=new c(e,(function(e){return r.call(e)===i}));return t&&"function"==typeof t.constructor&&(n.push(t.constructor),a.push(s)),s}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},w=Object.create(null);function P(e){if(e&&"object"==typeof e){var t=e.type;if("string"==typeof t&&i.call(w,t)){var n=w[t];if(n.finalized)return n}}return null}var C=function(e){function n(t){var n=e.call(this,new c(t,(function(e,t){return n.check(e,t)})),t)||this;return n}return cc.__extends(n,e),n.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 n=P(e);return n?t&&n===this?this.checkAllFields(e,t):!!this.isSupertypeOf(n)&&(!t||n.checkAllFields(e,t)&&this.checkAllFields(e,!1)):("SourceLocation"===this.typeName||"Position"===this.typeName)&&this.checkAllFields(e,t)},n.prototype.build=function(){for(var e=this,t=[],n=0;n=0&&function(e){var t=I(e);if(k[t])return;var n=k[F(e)];if(!n)return;var r=function(){for(var e=[],t=0;t=0&&(r[e.name=a]=e)}else n[e.name]=e.value,r[e.name]=e;if(n[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(r.right!==i)throw new Error("Nodes must be equal");return!0}default:return!1}case"SequenceExpression":switch(r.type){case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==this.name;default:return!0}case"YieldExpression":switch(r.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"===r.type&&o.check(n.value)&&"object"===this.name&&r.object===n;case"AssignmentExpression":case"ConditionalExpression":switch(r.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return"callee"===this.name&&r.callee===n;case"ConditionalExpression":return"test"===this.name&&r.test===n;case"MemberExpression":return"object"===this.name&&r.object===n;default:return!1}default:if("NewExpression"===r.type&&"callee"===this.name&&r.callee===n)return m(n)}return!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())};var f={};function m(e){return!!a.CallExpression.check(e)||(u.check(e)?e.some(m):!!a.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!a.FunctionExpression.check(e)&&!a.ObjectExpression.check(e)},h.firstInStatement=function(){return function(e){for(var t,n;e.parent;e=e.parent){if(t=e.node,n=e.parent.node,a.BlockStatement.check(n)&&"body"===e.parent.name&&0===e.name){if(n.body[0]!==t)throw new Error("Nodes must be equal");return!0}if(a.ExpressionStatement.check(n)&&"expression"===e.name){if(n.expression!==t)throw new Error("Nodes must be equal");return!0}if(a.SequenceExpression.check(n)&&"expressions"===e.parent.name&&0===e.name){if(n.expressions[0]!==t)throw new Error("Nodes must be equal")}else if(a.CallExpression.check(n)&&"callee"===e.name){if(n.callee!==t)throw new Error("Nodes must be equal")}else if(a.MemberExpression.check(n)&&"object"===e.name){if(n.object!==t)throw new Error("Nodes must be equal")}else if(a.ConditionalExpression.check(n)&&"test"===e.name){if(n.test!==t)throw new Error("Nodes must be equal")}else if(d(n)&&"left"===e.name){if(n.left!==t)throw new Error("Nodes must be equal")}else{if(!a.UnaryExpression.check(n)||n.prefix||"argument"!==e.name)return!1;if(n.argument!==t)throw new Error("Nodes must be equal")}}return!0}(this)},p},e.exports=t.default})),mc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(pc),r=cc.__importDefault(fc),i=Object.prototype.hasOwnProperty;t.default=function(e){var t=e.use(n.default),a=e.use(r.default),s=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 n=Object.create(null);for(var r in e)/^visit[A-Z]/.test(r)&&(n[r.slice("visit".length)]=!0);for(var i=t.computeSupertypeLookupTable(n),a=Object.create(null),s=Object.keys(i),o=s.length,l=0;l",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],t.AssignmentOperators=["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],t.LogicalOperators=["||","&&"]})),vc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(pc);t.default=function(e){var t=e.use(n.default),r=t.Type,i=t.builtInTypes,a=i.number,s=r.or(i.string,i.number,i.boolean,i.null,i.undefined);return{geq:function(e){return r.from((function(t){return a.check(t)&&t>=e}),a+" >= "+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:r.from((function(e){if(null===e)return!0;var t=typeof e;return"object"!==t&&"function"!==t}),s.toString())}},e.exports=t.default})),xc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(pc),r=cc.__importDefault(vc);t.default=function(e){var t=e.use(n.default).Type,i=t.def,a=t.or,s=e.use(r.default),o=s.defaults,u=s.geq;i("Printable").field("loc",a(i("SourceLocation"),null),o.null,!0),i("Node").bases("Printable").field("type",String).field("comments",a([i("Comment")],null),o.null,!0),i("SourceLocation").field("start",i("Position")).field("end",i("Position")).field("source",a(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",a(String,null),o.null),i("Program").bases("Node").build("body").field("body",[i("Statement")]),i("Function").bases("Node").field("id",a(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",a(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",a(i("Identifier"),null),o.null),i("ContinueStatement").bases("Statement").build("label").field("label",a(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",a(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",a(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",a(i("BlockStatement"),null),o.null),i("CatchClause").bases("Node").build("param","guard","body").field("param",i("Pattern")).field("guard",a(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",a(i("VariableDeclaration"),i("Expression"),null)).field("test",a(i("Expression"),null)).field("update",a(i("Expression"),null)).field("body",i("Statement")),i("ForInStatement").bases("Statement").build("left","right","body").field("left",a(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",a("var","let","const")).field("declarations",[i("VariableDeclarator")]),i("VariableDeclarator").bases("Node").build("id","init").field("id",i("Pattern")).field("init",a(i("Expression"),null),o.null),i("Expression").bases("Node"),i("ThisExpression").bases("Expression").build(),i("ArrayExpression").bases("Expression").build("elements").field("elements",[a(i("Expression"),null)]),i("ObjectExpression").bases("Expression").build("properties").field("properties",[i("Property")]),i("Property").bases("Node").build("kind","key","value").field("kind",a("init","get","set")).field("key",a(i("Literal"),i("Identifier"))).field("value",i("Expression")),i("SequenceExpression").bases("Expression").build("expressions").field("expressions",[i("Expression")]);var l=a("-","+","!","~","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=a.apply(void 0,bc.BinaryOperators);i("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",c).field("left",i("Expression")).field("right",i("Expression"));var p=a.apply(void 0,bc.AssignmentOperators);i("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",p).field("left",a(i("Pattern"),i("MemberExpression"))).field("right",i("Expression"));var h=a("++","--");i("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",h).field("argument",i("Expression")).field("prefix",Boolean);var d=a.apply(void 0,bc.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",a(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",a(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",a(String,Boolean,null,Number,RegExp)).field("regex",a({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})),Ec=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(xc),r=cc.__importDefault(pc),i=cc.__importDefault(vc);t.default=function(e){e.use(n.default);var t=e.use(r.default),a=t.Type.def,s=t.Type.or,o=e.use(i.default).defaults;a("Function").field("generator",Boolean,o.false).field("expression",Boolean,o.false).field("defaults",[s(a("Expression"),null)],o.emptyArray).field("rest",s(a("Identifier"),null),o.null),a("RestElement").bases("Pattern").build("argument").field("argument",a("Pattern")).field("typeAnnotation",s(a("TypeAnnotation"),a("TSTypeAnnotation"),null),o.null),a("SpreadElementPattern").bases("Pattern").build("argument").field("argument",a("Pattern")),a("FunctionDeclaration").build("id","params","body","generator","expression").field("id",s(a("Identifier"),null)),a("FunctionExpression").build("id","params","body","generator","expression"),a("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,o.null).field("body",s(a("BlockStatement"),a("Expression"))).field("generator",!1,o.false),a("ForOfStatement").bases("Statement").build("left","right","body").field("left",s(a("VariableDeclaration"),a("Pattern"))).field("right",a("Expression")).field("body",a("Statement")),a("YieldExpression").bases("Expression").build("argument","delegate").field("argument",s(a("Expression"),null)).field("delegate",Boolean,o.false),a("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",a("Expression")).field("blocks",[a("ComprehensionBlock")]).field("filter",s(a("Expression"),null)),a("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",a("Expression")).field("blocks",[a("ComprehensionBlock")]).field("filter",s(a("Expression"),null)),a("ComprehensionBlock").bases("Node").build("left","right","each").field("left",a("Pattern")).field("right",a("Expression")).field("each",Boolean),a("Property").field("key",s(a("Literal"),a("Identifier"),a("Expression"))).field("value",s(a("Expression"),a("Pattern"))).field("method",Boolean,o.false).field("shorthand",Boolean,o.false).field("computed",Boolean,o.false),a("ObjectProperty").field("shorthand",Boolean,o.false),a("PropertyPattern").bases("Pattern").build("key","pattern").field("key",s(a("Literal"),a("Identifier"),a("Expression"))).field("pattern",a("Pattern")).field("computed",Boolean,o.false),a("ObjectPattern").bases("Pattern").build("properties").field("properties",[s(a("PropertyPattern"),a("Property"))]),a("ArrayPattern").bases("Pattern").build("elements").field("elements",[s(a("Pattern"),null)]),a("SpreadElement").bases("Node").build("argument").field("argument",a("Expression")),a("ArrayExpression").field("elements",[s(a("Expression"),a("SpreadElement"),a("RestElement"),null)]),a("NewExpression").field("arguments",[s(a("Expression"),a("SpreadElement"))]),a("CallExpression").field("arguments",[s(a("Expression"),a("SpreadElement"))]),a("AssignmentPattern").bases("Pattern").build("left","right").field("left",a("Pattern")).field("right",a("Expression")),a("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",s("constructor","method","get","set")).field("key",a("Expression")).field("value",a("Function")).field("computed",Boolean,o.false).field("static",Boolean,o.false);var u=s(a("MethodDefinition"),a("VariableDeclarator"),a("ClassPropertyDefinition"),a("ClassProperty"));a("ClassProperty").bases("Declaration").build("key").field("key",s(a("Literal"),a("Identifier"),a("Expression"))).field("computed",Boolean,o.false),a("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",u),a("ClassBody").bases("Declaration").build("body").field("body",[u]),a("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",s(a("Identifier"),null)).field("body",a("ClassBody")).field("superClass",s(a("Expression"),null),o.null),a("ClassExpression").bases("Expression").build("id","body","superClass").field("id",s(a("Identifier"),null),o.null).field("body",a("ClassBody")).field("superClass",s(a("Expression"),null),o.null),a("Super").bases("Expression").build(),a("Specifier").bases("Node"),a("ModuleSpecifier").bases("Specifier").field("local",s(a("Identifier"),null),o.null).field("id",s(a("Identifier"),null),o.null).field("name",s(a("Identifier"),null),o.null),a("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",a("Identifier")),a("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),a("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),a("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[s(a("ImportSpecifier"),a("ImportNamespaceSpecifier"),a("ImportDefaultSpecifier"))],o.emptyArray).field("source",a("Literal")).field("importKind",s("value","type"),(function(){return"value"})),a("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",s(a("Declaration"),null)).field("specifiers",[a("ExportSpecifier")],o.emptyArray).field("source",s(a("Literal"),null),o.null),a("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",a("Identifier")),a("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",s(a("Declaration"),a("Expression"))),a("ExportAllDeclaration").bases("Declaration").build("source").field("source",a("Literal")),a("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",a("Expression")).field("quasi",a("TemplateLiteral")),a("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[a("TemplateElement")]).field("expressions",[a("Expression")]),a("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),a("MetaProperty").bases("Expression").build("meta","property").field("meta",a("Identifier")).field("property",a("Identifier"))},e.exports=t.default})),Dc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Ec),r=cc.__importDefault(pc);t.default=function(e){e.use(n.default);var t=e.use(r.default),i=t.Type.def,a=t.Type.or,s=a.apply(void 0,cc.__spreadArrays(bc.BinaryOperators,["**"]));i("BinaryExpression").field("operator",s);var o=a.apply(void 0,cc.__spreadArrays(bc.AssignmentOperators,["**="]));i("AssignmentExpression").field("operator",o)},e.exports=t.default})),Sc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Dc),r=cc.__importDefault(pc),i=cc.__importDefault(vc);t.default=function(e){e.use(n.default);var t=e.use(r.default).Type.def,a=e.use(i.default).defaults;t("Function").field("async",Boolean,a.false),t("AwaitExpression").bases("Expression").build("argument").field("argument",t("Expression"))},e.exports=t.default})),Tc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Sc),r=cc.__importDefault(pc),i=cc.__importDefault(vc);t.default=function(e){e.use(n.default);var t=e.use(r.default),a=t.Type.def,s=t.Type.or,o=e.use(i.default).defaults;a("ForOfStatement").field("await",Boolean,o.false),a("SpreadProperty").bases("Node").build("argument").field("argument",a("Expression")),a("ObjectExpression").field("properties",[s(a("Property"),a("SpreadProperty"),a("SpreadElement"))]),a("TemplateElement").field("value",{cooked:s(String,null),raw:String}),a("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",a("Pattern")),a("ObjectPattern").field("properties",[s(a("PropertyPattern"),a("Property"),a("RestElement"),a("SpreadPropertyPattern"))])},e.exports=t.default})),Ac=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Tc),r=cc.__importDefault(pc),i=cc.__importDefault(vc);t.default=function(e){e.use(n.default);var t=e.use(r.default),a=t.Type.def,s=t.Type.or,o=e.use(i.default).defaults;a("CatchClause").field("param",s(a("Pattern"),null),o.null)},e.exports=t.default})),wc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Ac),r=cc.__importDefault(pc),i=cc.__importDefault(vc);t.default=function(e){e.use(n.default);var t=e.use(r.default),a=t.Type.def,s=t.Type.or,o=e.use(i.default).defaults;a("ImportExpression").bases("Expression").build("source").field("source",a("Expression")),a("ExportAllDeclaration").build("source","exported").field("source",a("Literal")).field("exported",s(a("Identifier"),null)),a("ChainElement").bases("Node").field("optional",Boolean,o.false),a("CallExpression").bases("Expression","ChainElement"),a("MemberExpression").bases("Expression","ChainElement"),a("ChainExpression").bases("Expression").build("expression").field("expression",a("ChainElement")),a("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,o.true),a("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,o.true);var u=s.apply(void 0,cc.__spreadArrays(bc.LogicalOperators,["??"]));a("LogicalExpression").field("operator",u)},e.exports=t.default})),Pc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(wc),r=cc.__importDefault(pc),i=cc.__importDefault(vc);t.default=function(e){e.use(n.default);var t=e.use(r.default),a=t.Type.def,s=t.Type.or,o=e.use(i.default).defaults;a("JSXAttribute").bases("Node").build("name","value").field("name",s(a("JSXIdentifier"),a("JSXNamespacedName"))).field("value",s(a("Literal"),a("JSXExpressionContainer"),a("JSXElement"),a("JSXFragment"),null),o.null),a("JSXIdentifier").bases("Identifier").build("name").field("name",String),a("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",a("JSXIdentifier")).field("name",a("JSXIdentifier")),a("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",s(a("JSXIdentifier"),a("JSXMemberExpression"))).field("property",a("JSXIdentifier")).field("computed",Boolean,o.false);var u=s(a("JSXIdentifier"),a("JSXNamespacedName"),a("JSXMemberExpression"));a("JSXSpreadAttribute").bases("Node").build("argument").field("argument",a("Expression"));var l=[s(a("JSXAttribute"),a("JSXSpreadAttribute"))];a("JSXExpressionContainer").bases("Expression").build("expression").field("expression",s(a("Expression"),a("JSXEmptyExpression")));var c=[s(a("JSXText"),a("JSXExpressionContainer"),a("JSXSpreadChild"),a("JSXElement"),a("JSXFragment"),a("Literal"))];a("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",a("JSXOpeningElement")).field("closingElement",s(a("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),a("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",u).field("attributes",l,o.emptyArray).field("selfClosing",Boolean,o.false),a("JSXClosingElement").bases("Node").build("name").field("name",u),a("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",a("JSXOpeningFragment")).field("closingFragment",a("JSXClosingFragment")).field("children",c,o.emptyArray),a("JSXOpeningFragment").bases("Node").build(),a("JSXClosingFragment").bases("Node").build(),a("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,(function(){return this.value})),a("JSXEmptyExpression").bases("Node").build(),a("JSXSpreadChild").bases("Node").build("expression").field("expression",a("Expression"))},e.exports=t.default})),Cc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(pc),r=cc.__importDefault(vc),i=cc.__importDefault(wc);t.default=function(e){e.use(i.default);var t=e.use(n.default),a=t.Type,s=t.Type.def,o=a.or,u=e.use(r.default).defaults;s("AwaitExpression").build("argument","all").field("argument",o(s("Expression"),null)).field("all",Boolean,u.false),s("Decorator").bases("Node").build("expression").field("expression",s("Expression")),s("Property").field("decorators",o([s("Decorator")],null),u.null),s("MethodDefinition").field("decorators",o([s("Decorator")],null),u.null),s("PrivateName").bases("Expression","Pattern").build("id").field("id",s("Identifier")),s("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",s("PrivateName")).field("value",o(s("Expression"),null),u.null)},e.exports=t.default})),kc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(pc),r=cc.__importDefault(vc);t.default=function(e){var t=e.use(n.default),i=t.Type.def,a=t.Type.or,s=e.use(r.default).defaults,o=a(i("TypeAnnotation"),i("TSTypeAnnotation"),null),u=a(i("TypeParameterDeclaration"),i("TSTypeParameterDeclaration"),null);i("Identifier").field("typeAnnotation",o,s.null),i("ObjectPattern").field("typeAnnotation",o,s.null),i("Function").field("returnType",o,s.null).field("typeParameters",u,s.null),i("ClassProperty").build("key","value","typeAnnotation","static").field("value",a(i("Expression"),null)).field("static",Boolean,s.false).field("typeAnnotation",o,s.null),["ClassDeclaration","ClassExpression"].forEach((function(e){i(e).field("typeParameters",u,s.null).field("superTypeParameters",a(i("TypeParameterInstantiation"),i("TSTypeParameterInstantiation"),null),s.null).field("implements",a([i("ClassImplements")],[i("TSExpressionWithTypeArguments")]),s.emptyArray)}))},e.exports=t.default})),_c=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Cc),r=cc.__importDefault(kc),i=cc.__importDefault(pc),a=cc.__importDefault(vc);t.default=function(e){e.use(n.default),e.use(r.default);var t=e.use(i.default),s=t.Type.def,o=t.Type.or,u=e.use(a.default).defaults;s("Flow").bases("Node"),s("FlowType").bases("Flow"),s("AnyTypeAnnotation").bases("FlowType").build(),s("EmptyTypeAnnotation").bases("FlowType").build(),s("MixedTypeAnnotation").bases("FlowType").build(),s("VoidTypeAnnotation").bases("FlowType").build(),s("SymbolTypeAnnotation").bases("FlowType").build(),s("NumberTypeAnnotation").bases("FlowType").build(),s("BigIntTypeAnnotation").bases("FlowType").build(),s("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),s("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),s("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),s("StringTypeAnnotation").bases("FlowType").build(),s("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),s("BooleanTypeAnnotation").bases("FlowType").build(),s("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),s("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",s("FlowType")),s("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",s("FlowType")),s("NullLiteralTypeAnnotation").bases("FlowType").build(),s("NullTypeAnnotation").bases("FlowType").build(),s("ThisTypeAnnotation").bases("FlowType").build(),s("ExistsTypeAnnotation").bases("FlowType").build(),s("ExistentialTypeParam").bases("FlowType").build(),s("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[s("FunctionTypeParam")]).field("returnType",s("FlowType")).field("rest",o(s("FunctionTypeParam"),null)).field("typeParameters",o(s("TypeParameterDeclaration"),null)),s("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",o(s("Identifier"),null)).field("typeAnnotation",s("FlowType")).field("optional",Boolean),s("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",s("FlowType")),s("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[o(s("ObjectTypeProperty"),s("ObjectTypeSpreadProperty"))]).field("indexers",[s("ObjectTypeIndexer")],u.emptyArray).field("callProperties",[s("ObjectTypeCallProperty")],u.emptyArray).field("inexact",o(Boolean,void 0),u[void 0]).field("exact",Boolean,u.false).field("internalSlots",[s("ObjectTypeInternalSlot")],u.emptyArray),s("Variance").bases("Node").build("kind").field("kind",o("plus","minus"));var l=o(s("Variance"),"plus","minus",null);s("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",o(s("Literal"),s("Identifier"))).field("value",s("FlowType")).field("optional",Boolean).field("variance",l,u.null),s("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",s("Identifier")).field("key",s("FlowType")).field("value",s("FlowType")).field("variance",l,u.null).field("static",Boolean,u.false),s("ObjectTypeCallProperty").bases("Node").build("value").field("value",s("FunctionTypeAnnotation")).field("static",Boolean,u.false),s("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",o(s("Identifier"),s("QualifiedTypeIdentifier"))).field("id",s("Identifier")),s("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",o(s("Identifier"),s("QualifiedTypeIdentifier"))).field("typeParameters",o(s("TypeParameterInstantiation"),null)),s("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",s("Identifier")).field("property",o(s("MemberTypeAnnotation"),s("GenericTypeAnnotation"))),s("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[s("FlowType")]),s("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[s("FlowType")]),s("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",s("FlowType")),s("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",s("FlowType")),s("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",s("Identifier")).field("value",s("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),s("TypeParameterDeclaration").bases("Node").build("params").field("params",[s("TypeParameter")]),s("TypeParameterInstantiation").bases("Node").build("params").field("params",[s("FlowType")]),s("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",l,u.null).field("bound",o(s("TypeAnnotation"),null),u.null).field("default",o(s("FlowType"),null),u.null),s("ClassProperty").field("variance",l,u.null),s("ClassImplements").bases("Node").build("id").field("id",s("Identifier")).field("superClass",o(s("Expression"),null),u.null).field("typeParameters",o(s("TypeParameterInstantiation"),null),u.null),s("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",s("ObjectTypeAnnotation")).field("extends",o([s("InterfaceExtends")],null),u.null),s("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",s("Identifier")).field("typeParameters",o(s("TypeParameterDeclaration"),null),u.null).field("body",s("ObjectTypeAnnotation")).field("extends",[s("InterfaceExtends")]),s("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),s("InterfaceExtends").bases("Node").build("id").field("id",s("Identifier")).field("typeParameters",o(s("TypeParameterInstantiation"),null),u.null),s("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",s("Identifier")).field("typeParameters",o(s("TypeParameterDeclaration"),null)).field("right",s("FlowType")),s("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),s("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",s("Identifier")).field("typeParameters",o(s("TypeParameterDeclaration"),null)).field("impltype",s("FlowType")).field("supertype",o(s("FlowType"),null)),s("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",o(s("FlowType"),null)),s("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",s("Expression")).field("typeAnnotation",s("TypeAnnotation")),s("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[s("FlowType")]),s("DeclareVariable").bases("Statement").build("id").field("id",s("Identifier")),s("DeclareFunction").bases("Statement").build("id").field("id",s("Identifier")).field("predicate",o(s("FlowPredicate"),null),u.null),s("DeclareClass").bases("InterfaceDeclaration").build("id"),s("DeclareModule").bases("Statement").build("id","body").field("id",o(s("Identifier"),s("Literal"))).field("body",s("BlockStatement")),s("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",s("TypeAnnotation")),s("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",o(s("DeclareVariable"),s("DeclareFunction"),s("DeclareClass"),s("FlowType"),s("TypeAlias"),s("DeclareOpaqueType"),s("InterfaceDeclaration"),null)).field("specifiers",[o(s("ExportSpecifier"),s("ExportBatchSpecifier"))],u.emptyArray).field("source",o(s("Literal"),null),u.null),s("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",o(s("Literal"),null),u.null),s("ImportDeclaration").field("importKind",o("value","type","typeof"),(function(){return"value"})),s("FlowPredicate").bases("Flow"),s("InferredPredicate").bases("FlowPredicate").build(),s("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",s("Expression")),s("Function").field("predicate",o(s("FlowPredicate"),null),u.null),s("CallExpression").field("typeArguments",o(null,s("TypeParameterInstantiation")),u.null),s("NewExpression").field("typeArguments",o(null,s("TypeParameterInstantiation")),u.null),s("EnumDeclaration").bases("Declaration").build("id","body").field("id",s("Identifier")).field("body",o(s("EnumBooleanBody"),s("EnumNumberBody"),s("EnumStringBody"),s("EnumSymbolBody"))),s("EnumBooleanBody").build("members","explicitType").field("members",[s("EnumBooleanMember")]).field("explicitType",Boolean),s("EnumNumberBody").build("members","explicitType").field("members",[s("EnumNumberMember")]).field("explicitType",Boolean),s("EnumStringBody").build("members","explicitType").field("members",o([s("EnumStringMember")],[s("EnumDefaultedMember")])).field("explicitType",Boolean),s("EnumSymbolBody").build("members").field("members",[s("EnumDefaultedMember")]),s("EnumBooleanMember").build("id","init").field("id",s("Identifier")).field("init",o(s("Literal"),Boolean)),s("EnumNumberMember").build("id","init").field("id",s("Identifier")).field("init",s("Literal")),s("EnumStringMember").build("id","init").field("id",s("Identifier")).field("init",s("Literal")),s("EnumDefaultedMember").build("id").field("id",s("Identifier"))},e.exports=t.default})),Fc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(wc),r=cc.__importDefault(pc),i=cc.__importDefault(vc);t.default=function(e){e.use(n.default);var t=e.use(r.default),a=e.use(i.default).defaults,s=t.Type.def,o=t.Type.or;s("VariableDeclaration").field("declarations",[o(s("VariableDeclarator"),s("Identifier"))]),s("Property").field("value",o(s("Expression"),s("Pattern"))),s("ArrayPattern").field("elements",[o(s("Pattern"),s("SpreadElement"),null)]),s("ObjectPattern").field("properties",[o(s("Property"),s("PropertyPattern"),s("SpreadPropertyPattern"),s("SpreadProperty"))]),s("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),s("ExportBatchSpecifier").bases("Specifier").build(),s("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",o(s("Declaration"),s("Expression"),null)).field("specifiers",[o(s("ExportSpecifier"),s("ExportBatchSpecifier"))],a.emptyArray).field("source",o(s("Literal"),null),a.null),s("Block").bases("Comment").build("value","leading","trailing"),s("Line").bases("Comment").build("value","leading","trailing")},e.exports=t.default})),Ic=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Cc),r=cc.__importDefault(pc),i=cc.__importDefault(vc);t.default=function(e){e.use(n.default);var t=e.use(r.default),a=e.use(i.default).defaults,s=t.Type.def,o=t.Type.or;s("Noop").bases("Statement").build(),s("DoExpression").bases("Expression").build("body").field("body",[s("Statement")]),s("BindExpression").bases("Expression").build("object","callee").field("object",o(s("Expression"),null)).field("callee",s("Expression")),s("ParenthesizedExpression").bases("Expression").build("expression").field("expression",s("Expression")),s("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",s("Identifier")),s("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",s("Identifier")),s("CommentBlock").bases("Comment").build("value","leading","trailing"),s("CommentLine").bases("Comment").build("value","leading","trailing"),s("Directive").bases("Node").build("value").field("value",s("DirectiveLiteral")),s("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,a["use strict"]),s("InterpreterDirective").bases("Node").build("value").field("value",String),s("BlockStatement").bases("Statement").build("body").field("body",[s("Statement")]).field("directives",[s("Directive")],a.emptyArray),s("Program").bases("Node").build("body").field("body",[s("Statement")]).field("directives",[s("Directive")],a.emptyArray).field("interpreter",o(s("InterpreterDirective"),null),a.null),s("StringLiteral").bases("Literal").build("value").field("value",String),s("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",o(String,null),a.null).field("extra",{rawValue:Number,raw:String},(function(){return{rawValue:this.value,raw:this.value+""}})),s("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"}})),s("NullLiteral").bases("Literal").build().field("value",null,a.null),s("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),s("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(s("Property"),s("ObjectMethod"),s("ObjectProperty"),s("SpreadProperty"),s("SpreadElement"));s("ObjectExpression").bases("Expression").build("properties").field("properties",[u]),s("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",o("method","get","set")).field("key",o(s("Literal"),s("Identifier"),s("Expression"))).field("params",[s("Pattern")]).field("body",s("BlockStatement")).field("computed",Boolean,a.false).field("generator",Boolean,a.false).field("async",Boolean,a.false).field("accessibility",o(s("Literal"),null),a.null).field("decorators",o([s("Decorator")],null),a.null),s("ObjectProperty").bases("Node").build("key","value").field("key",o(s("Literal"),s("Identifier"),s("Expression"))).field("value",o(s("Expression"),s("Pattern"))).field("accessibility",o(s("Literal"),null),a.null).field("computed",Boolean,a.false);var l=o(s("MethodDefinition"),s("VariableDeclarator"),s("ClassPropertyDefinition"),s("ClassProperty"),s("ClassPrivateProperty"),s("ClassMethod"),s("ClassPrivateMethod"));s("ClassBody").bases("Declaration").build("body").field("body",[l]),s("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",o(s("Literal"),s("Identifier"),s("Expression"))),s("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",s("PrivateName")),["ClassMethod","ClassPrivateMethod"].forEach((function(e){s(e).field("kind",o("get","set","method","constructor"),(function(){return"method"})).field("body",s("BlockStatement")).field("computed",Boolean,a.false).field("static",o(Boolean,null),a.null).field("abstract",o(Boolean,null),a.null).field("access",o("public","private","protected",null),a.null).field("accessibility",o("public","private","protected",null),a.null).field("decorators",o([s("Decorator")],null),a.null).field("optional",o(Boolean,null),a.null)}));var c=o(s("Property"),s("PropertyPattern"),s("SpreadPropertyPattern"),s("SpreadProperty"),s("ObjectProperty"),s("RestProperty"));s("ObjectPattern").bases("Pattern").build("properties").field("properties",[c]).field("decorators",o([s("Decorator")],null),a.null),s("SpreadProperty").bases("Node").build("argument").field("argument",s("Expression")),s("RestProperty").bases("Node").build("argument").field("argument",s("Expression")),s("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",o(s("VariableDeclaration"),s("Expression"))).field("right",s("Expression")).field("body",s("Statement")),s("Import").bases("Expression").build()},e.exports=t.default})),Oc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Ic),r=cc.__importDefault(_c);t.default=function(e){e.use(n.default),e.use(r.default)},e.exports=t.default})),Nc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(Ic),r=cc.__importDefault(kc),i=cc.__importDefault(pc),a=cc.__importDefault(vc);t.default=function(e){e.use(n.default),e.use(r.default);var t=e.use(i.default),s=t.namedTypes,o=t.Type.def,u=t.Type.or,l=e.use(a.default).defaults,c=t.Type.from((function(e,t){return!(!s.StringLiteral||!s.StringLiteral.check(e,t))||!(!s.Literal||!s.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})),jc=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.namedTypes=void 0,t.namedTypes||(t.namedTypes={})})),Mc=P((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 n=cc.__importDefault(gc),r=cc.__importDefault(xc),i=cc.__importDefault(Ec),a=cc.__importDefault(Dc),s=cc.__importDefault(Sc),o=cc.__importDefault(Tc),u=cc.__importDefault(Ac),l=cc.__importDefault(wc),c=cc.__importDefault(Pc),p=cc.__importDefault(_c),h=cc.__importDefault(Fc),d=cc.__importDefault(Oc),f=cc.__importDefault(Nc),m=cc.__importDefault(Cc);Object.defineProperty(t,"namedTypes",{enumerable:!0,get:function(){return jc.namedTypes}});var y=n.default([r.default,i.default,a.default,s.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,w=y.getSupertypeNames,P=y.namedTypes,C=y.NodePath,k=y.Path,_=y.PathVisitor,F=y.someField,I=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=w,t.NodePath=C,t.Path=k,t.PathVisitor=_,t.someField=F,t.Type=I,t.use=O,t.visit=N,Object.assign(jc.namedTypes,P)})),Lc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Bc=function(e){if(0<=e&&e>>=5)>0&&(t|=32),n+=Bc(t)}while(r>0);return n},Vc=function(e,t,n){var r,i,a,s,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=Rc(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));r=!!(32&i),u+=(i&=31)<>1,1==(1&a)?-s:s),n.rest=t},Wc=P((function(e,t){t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function i(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function a(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 s(e){var n=e,r=i(e);if(r){if(!r.path)return e;n=r.path}for(var s,o=t.isAbsolute(n),u=n.split(/\/+/),l=0,c=u.length-1;c>=0;c--)"."===(s=u[c])?u.splice(c,1):".."===s?l++:l>0&&(""===s?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return""===(n=u.join("/"))&&(n=o?"/":"."),r?(r.path=n,a(r)):n}function o(e,t){""===e&&(e="."),""===t&&(t=".");var n=i(t),o=i(e);if(o&&(e=o.path||"/"),n&&!n.scheme)return o&&(n.scheme=o.scheme),a(n);if(n||t.match(r))return t;if(o&&!o.host&&!o.path)return o.host=t,a(o);var u="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return o?(o.path=u,a(o)):u}t.urlParse=i,t.urlGenerate=a,t.normalize=s,t.join=o,t.isAbsolute=function(e){return"/"===e.charAt(0)||n.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+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 n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))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,n){var r=p(e.source,t.source);return 0!==r||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)||n||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=e.generatedLine-t.generatedLine)?r:p(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||n||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.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||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.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,n){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),n){var r=i(n);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var u=r.path.lastIndexOf("/");u>=0&&(r.path=r.path.substring(0,u+1))}t=o(a(r),t)}return s(t)}})),zc=Object.prototype.hasOwnProperty,qc="undefined"!=typeof Map;function Hc(){this._array=[],this._set=qc?new Map:Object.create(null)}Hc.fromArray=function(e,t){for(var n=new Hc,r=0,i=e.length;r=0)return t}else{var n=Wc.toSetString(e);if(zc.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},Hc.prototype.at=function(e){if(e>=0&&er||i==r&&s>=a||Wc.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},Jc.prototype.toArray=function(){return this._sorted||(this._array.sort(Wc.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};var $c=Xc.ArraySet,Yc={MappingList:Jc}.MappingList;function Kc(e){e||(e={}),this._file=Wc.getArg(e,"file",null),this._sourceRoot=Wc.getArg(e,"sourceRoot",null),this._skipValidation=Wc.getArg(e,"skipValidation",!1),this._sources=new $c,this._names=new $c,this._mappings=new Yc,this._sourcesContents=null}Kc.prototype._version=3,Kc.fromSourceMap=function(e){var t=e.sourceRoot,n=new Kc({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=Wc.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)})),e.sources.forEach((function(r){var i=r;null!==t&&(i=Wc.relative(t,r)),n._sources.has(i)||n._sources.add(i);var a=e.sourceContentFor(r);null!=a&&n.setSourceContent(r,a)})),n},Kc.prototype.addMapping=function(e){var t=Wc.getArg(e,"generated"),n=Wc.getArg(e,"original",null),r=Wc.getArg(e,"source",null),i=Wc.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,r,i),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:i})},Kc.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=Wc.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Wc.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[Wc.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},Kc.prototype.applySourceMap=function(e,t,n){var r=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.');r=e.file}var i=this._sourceRoot;null!=i&&(r=Wc.relative(i,r));var a=new $c,s=new $c;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){var o=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=o.source&&(t.source=o.source,null!=n&&(t.source=Wc.join(n,t.source)),null!=i&&(t.source=Wc.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||a.has(u)||a.add(u);var l=t.name;null==l||s.has(l)||s.add(l)}),this),this._sources=a,this._names=s,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=Wc.join(n,t)),null!=i&&(t=Wc.relative(i,t)),this.setSourceContent(t,r))}),this)},Kc.prototype._validateMapping=function(e,t,n,r){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||n||r)&&!(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&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},Kc.prototype._serializeMappings=function(){for(var e,t,n,r,i=0,a=1,s=0,o=0,u=0,l=0,c="",p=this._mappings.toArray(),h=0,d=p.length;h0){if(!Wc.compareByGeneratedPositionsInflated(t,p[h-1]))continue;e+=","}e+=Uc(t.generatedColumn-i),i=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=Uc(r-l),l=r,e+=Uc(t.originalLine-1-o),o=t.originalLine-1,e+=Uc(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=Uc(n-u),u=n)),c+=e}return c},Kc.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=Wc.relative(t,e));var n=Wc.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},Kc.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},Kc.prototype.toString=function(){return JSON.stringify(this.toJSON())};var Gc={SourceMapGenerator:Kc},Qc=P((function(e,t){function n(e,r,i,a,s,o){var u=Math.floor((r-e)/2)+e,l=s(i,a[u],!0);return 0===l?u:l>0?r-u>1?n(u,r,i,a,s,o):o==t.LEAST_UPPER_BOUND?r1?n(e,u,i,a,s,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,r,i,a){if(0===r.length)return-1;var s=n(-1,r.length,e,r,i,a||t.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===i(r[s],r[s-1],!0);)--s;return s}}));function Zc(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function ep(e,t,n,r){if(n=0){var a=this._originalMappings[i];if(void 0===e.column)for(var s=a.originalLine;a&&a.originalLine===s;)r.push({line:Wc.getArg(a,"generatedLine",null),column:Wc.getArg(a,"generatedColumn",null),lastColumn:Wc.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++i];else for(var o=a.originalColumn;a&&a.originalLine===t&&a.originalColumn==o;)r.push({line:Wc.getArg(a,"generatedLine",null),column:Wc.getArg(a,"generatedColumn",null),lastColumn:Wc.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++i]}return r};var ip=rp;function ap(e,t){var n=e;"string"==typeof e&&(n=Wc.parseSourceMapInput(e));var r=Wc.getArg(n,"version"),i=Wc.getArg(n,"sources"),a=Wc.getArg(n,"names",[]),s=Wc.getArg(n,"sourceRoot",null),o=Wc.getArg(n,"sourcesContent",null),u=Wc.getArg(n,"mappings"),l=Wc.getArg(n,"file",null);if(r!=this._version)throw new Error("Unsupported version: "+r);s&&(s=Wc.normalize(s)),i=i.map(String).map(Wc.normalize).map((function(e){return s&&Wc.isAbsolute(s)&&Wc.isAbsolute(e)?Wc.relative(s,e):e})),this._names=tp.fromArray(a.map(String),!0),this._sources=tp.fromArray(i,!0),this._absoluteSources=this._sources.toArray().map((function(e){return Wc.computeSourceURL(s,e,t)})),this.sourceRoot=s,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}ap.prototype=Object.create(rp.prototype),ap.prototype.consumer=rp,ap.prototype._findSourceIndex=function(e){var t,n=e;if(null!=this.sourceRoot&&(n=Wc.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);for(t=0;t1&&(n.source=p+i[1],p+=i[1],n.originalLine=l+i[2],l=n.originalLine,n.originalLine+=1,n.originalColumn=c+i[3],c=n.originalColumn,i.length>4&&(n.name=h+i[4],h+=i[4])),b.push(n),"number"==typeof n.originalLine&&g.push(n)}np(b,Wc.compareByGeneratedPositionsDeflated),this.__generatedMappings=b,np(g,Wc.compareByOriginalPositions),this.__originalMappings=g},ap.prototype._findMapping=function(e,t,n,r,i,a){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return Qc.search(e,t,i,a)},ap.prototype.computeColumnSpans=function(){for(var e=0;e=0){var r=this._generatedMappings[n];if(r.generatedLine===t.generatedLine){var i=Wc.getArg(r,"source",null);null!==i&&(i=this._sources.at(i),i=Wc.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var a=Wc.getArg(r,"name",null);return null!==a&&(a=this._names.at(a)),{source:i,line:Wc.getArg(r,"originalLine",null),column:Wc.getArg(r,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},ap.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},ap.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var n=this._findSourceIndex(e);if(n>=0)return this.sourcesContent[n];var r,i=e;if(null!=this.sourceRoot&&(i=Wc.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(r=Wc.urlParse(this.sourceRoot))){var a=i.replace(/^file:\/\//,"");if("file"==r.scheme&&this._sources.has(a))return this.sourcesContent[this._sources.indexOf(a)];if((!r.path||"/"==r.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.')},ap.prototype.generatedPositionFor=function(e){var t=Wc.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var n={source:t,originalLine:Wc.getArg(e,"line"),originalColumn:Wc.getArg(e,"column")},r=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",Wc.compareByOriginalPositions,Wc.getArg(e,"bias",rp.GREATEST_LOWER_BOUND));if(r>=0){var i=this._originalMappings[r];if(i.source===n.source)return{line:Wc.getArg(i,"generatedLine",null),column:Wc.getArg(i,"generatedColumn",null),lastColumn:Wc.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};var op=ap;function up(e,t){var n=e;"string"==typeof e&&(n=Wc.parseSourceMapInput(e));var r=Wc.getArg(n,"version"),i=Wc.getArg(n,"sections");if(r!=this._version)throw new Error("Unsupported version: "+r);this._sources=new tp,this._names=new tp;var a={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 n=Wc.getArg(e,"offset"),r=Wc.getArg(n,"line"),i=Wc.getArg(n,"column");if(r=0;t--)this.prepend(e[t]);else{if(!e[hp]&&"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},dp.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n0){for(t=[],n=0;n=0;--i){var a=this.leading[i];t.end.offset>=a.start&&(n.unshift(a.comment),this.leading.splice(i,1),this.trailing.splice(i,1))}n.length&&(e.innerComments=n)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var r=this.trailing[n];r.start>=e.end.offset&&t.unshift(r.comment)}return this.trailing.length=0,t}var i=this.stack[this.stack.length-1];if(i&&i.node.trailingComments){var a=i.node.trailingComments[0];a&&a.range[0]>=e.end.offset&&(t=i.node.trailingComments,delete i.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,n=[];this.stack.length>0&&((a=this.stack[this.stack.length-1])&&a.start>=e.start.offset);)t=a.node,this.stack.pop();if(t){for(var r=(t.leadingComments?t.leadingComments.length:0)-1;r>=0;--r){var i=t.leadingComments[r];i.range[1]<=e.start.offset&&(n.unshift(i),t.leadingComments.splice(r,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,n}for(r=this.leading.length-1;r>=0;--r){var a;(a=this.leading[r]).start<=e.start.offset&&(n.unshift(a.comment),this.leading.splice(r,1))}return n},e.prototype.visitNode=function(e,t){if(!(e.type===r.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var n=this.findTrailingComments(t),i=this.findLeadingComments(t);i.length>0&&(e.leadingComments=i),n.length>0&&(e.trailingComments=n),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var n="L"===e.type[0]?"Line":"Block",r={type:n,value:e.value};if(e.range&&(r.range=e.range),e.loc&&(r.loc=e.loc),this.comments.push(r),this.attach){var i={comment:{type:n,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(i.comment.loc=e.loc),e.type=n,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,n){var r=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=n(4),a=n(5),s=n(6),o=n(7),u=n(8),l=n(13),c=n(14);function p(e){var t;switch(e.type){case s.JSXSyntax.JSXIdentifier:t=e.name;break;case s.JSXSyntax.JSXNamespacedName:var n=e;t=p(n.namespace)+":"+p(n.name);break;case s.JSXSyntax.JSXMemberExpression:var r=e;t=p(r.object)+"."+p(r.property)}return t}l.TokenName[100]="JSXIdentifier",l.TokenName[101]="JSXText";var h=function(e){function t(t,n,r){return e.call(this,t,n,r)||this}return r(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="&",n=!0,r=!1,a=!1,s=!1;!this.scanner.eof()&&n&&!r;){var o=this.scanner.source[this.scanner.index];if(o===e)break;if(r=";"===o,t+=o,++this.scanner.index,!r)switch(t.length){case 2:a="#"===o;break;case 3:a&&(n=(s="x"===o)||i.Character.isDecimalDigit(o.charCodeAt(0)),a=a&&!s);break;default:n=(n=n&&!(a&&!i.Character.isDecimalDigit(o.charCodeAt(0))))&&!(s&&!i.Character.isHexDigit(o.charCodeAt(0)))}}if(n&&r&&t.length>2){var u=t.substr(1,t.length-2);a&&u.length>1?t=String.fromCharCode(parseInt(u.substr(1),10)):s&&u.length>2?t=String.fromCharCode(parseInt("0"+u.substr(1),16)):a||s||!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,n=this.scanner.source[this.scanner.index++],r="";!this.scanner.eof()&&(u=this.scanner.source[this.scanner.index++])!==n;)r+="&"===u?this.scanXHTMLEntity(n):u;return{type:8,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var a=this.scanner.source.charCodeAt(this.scanner.index+1),s=this.scanner.source.charCodeAt(this.scanner.index+2),o=46===a&&46===s?"...":".";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 n=this.scanner.source[this.scanner.index];if("{"===n||"<"===n)break;++this.scanner.index,t+=n,i.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===n&&"\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 r={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(r)),r},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 a.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(":")){var n=t;this.expectJSX(":");var r=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(n,r))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var i=t;this.expectJSX(".");var s=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(i,s))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(":")){var r=n;this.expectJSX(":");var i=this.parseJSXIdentifier();e=this.finalize(t,new a.JSXNamespacedName(r,i))}else e=n;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var n=this.getTokenRaw(t);return this.finalize(e,new o.Literal(t.value,n))},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 a.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(),n=null;return this.matchJSX("=")&&(this.expectJSX("="),n=this.parseJSXAttributeValue()),this.finalize(e,new a.JSXAttribute(t,n))},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 a.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(),n=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(t,r,n))},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 a.JSXClosingElement(t))}var n=this.parseJSXElementName(),r=this.parseJSXAttributes(),i=this.matchJSX("/");return i&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(n,i,r))},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 a.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 a.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),n=this.nextJSXText();if(n.start0))break;o=this.finalize(e.node,new a.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(),n=[],r=null;if(!t.selfClosing){var i=this.parseComplexJSXElement({node:e,opening:t,closing:r,children:n});n=i.children,r=i.closing}return this.finalize(e,new a.JSXElement(t,n,r))},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 n={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&&n.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&&n.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,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(6),i=function(e){this.type=r.JSXSyntax.JSXClosingElement,this.name=e};t.JSXClosingElement=i;var a=function(e,t,n){this.type=r.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=n};t.JSXElement=a;var s=function(){this.type=r.JSXSyntax.JSXEmptyExpression};t.JSXEmptyExpression=s;var o=function(e){this.type=r.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXExpressionContainer=o;var u=function(e){this.type=r.JSXSyntax.JSXIdentifier,this.name=e};t.JSXIdentifier=u;var l=function(e,t){this.type=r.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXMemberExpression=l;var c=function(e,t){this.type=r.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXAttribute=c;var p=function(e,t){this.type=r.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXNamespacedName=p;var h=function(e,t,n){this.type=r.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=n};t.JSXOpeningElement=h;var d=function(e){this.type=r.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXSpreadAttribute=d;var f=function(e,t){this.type=r.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,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),i=function(e){this.type=r.Syntax.ArrayExpression,this.elements=e};t.ArrayExpression=i;var a=function(e){this.type=r.Syntax.ArrayPattern,this.elements=e};t.ArrayPattern=a;var s=function(e,t,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!1};t.ArrowFunctionExpression=s;var o=function(e,t,n){this.type=r.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=n};t.AssignmentExpression=o;var u=function(e,t){this.type=r.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AssignmentPattern=u;var l=function(e,t,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!0};t.AsyncArrowFunctionExpression=l;var c=function(e,t,n){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionDeclaration=c;var p=function(e,t,n){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=p;var h=function(e){this.type=r.Syntax.AwaitExpression,this.argument=e};t.AwaitExpression=h;var d=function(e,t,n){var i="||"===e||"&&"===e;this.type=i?r.Syntax.LogicalExpression:r.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=n};t.BinaryExpression=d;var f=function(e){this.type=r.Syntax.BlockStatement,this.body=e};t.BlockStatement=f;var m=function(e){this.type=r.Syntax.BreakStatement,this.label=e};t.BreakStatement=m;var y=function(e,t){this.type=r.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CallExpression=y;var g=function(e,t){this.type=r.Syntax.CatchClause,this.param=e,this.body=t};t.CatchClause=g;var b=function(e){this.type=r.Syntax.ClassBody,this.body=e};t.ClassBody=b;var v=function(e,t,n){this.type=r.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=n};t.ClassDeclaration=v;var x=function(e,t,n){this.type=r.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=n};t.ClassExpression=x;var E=function(e,t){this.type=r.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ComputedMemberExpression=E;var D=function(e,t,n){this.type=r.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=n};t.ConditionalExpression=D;var S=function(e){this.type=r.Syntax.ContinueStatement,this.label=e};t.ContinueStatement=S;var T=function(){this.type=r.Syntax.DebuggerStatement};t.DebuggerStatement=T;var A=function(e,t){this.type=r.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.Directive=A;var w=function(e,t){this.type=r.Syntax.DoWhileStatement,this.body=e,this.test=t};t.DoWhileStatement=w;var P=function(){this.type=r.Syntax.EmptyStatement};t.EmptyStatement=P;var C=function(e){this.type=r.Syntax.ExportAllDeclaration,this.source=e};t.ExportAllDeclaration=C;var k=function(e){this.type=r.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportDefaultDeclaration=k;var _=function(e,t,n){this.type=r.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=n};t.ExportNamedDeclaration=_;var F=function(e,t){this.type=r.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExportSpecifier=F;var I=function(e){this.type=r.Syntax.ExpressionStatement,this.expression=e};t.ExpressionStatement=I;var O=function(e,t,n){this.type=r.Syntax.ForInStatement,this.left=e,this.right=t,this.body=n,this.each=!1};t.ForInStatement=O;var N=function(e,t,n){this.type=r.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=n};t.ForOfStatement=N;var j=function(e,t,n,i){this.type=r.Syntax.ForStatement,this.init=e,this.test=t,this.update=n,this.body=i};t.ForStatement=j;var M=function(e,t,n,i){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=i,this.expression=!1,this.async=!1};t.FunctionDeclaration=M;var L=function(e,t,n,i){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=i,this.expression=!1,this.async=!1};t.FunctionExpression=L;var B=function(e){this.type=r.Syntax.Identifier,this.name=e};t.Identifier=B;var R=function(e,t,n){this.type=r.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=n};t.IfStatement=R;var U=function(e,t){this.type=r.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDeclaration=U;var V=function(e){this.type=r.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportDefaultSpecifier=V;var W=function(e){this.type=r.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportNamespaceSpecifier=W;var z=function(e,t){this.type=r.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.ImportSpecifier=z;var q=function(e,t){this.type=r.Syntax.LabeledStatement,this.label=e,this.body=t};t.LabeledStatement=q;var H=function(e,t){this.type=r.Syntax.Literal,this.value=e,this.raw=t};t.Literal=H;var X=function(e,t){this.type=r.Syntax.MetaProperty,this.meta=e,this.property=t};t.MetaProperty=X;var J=function(e,t,n,i,a){this.type=r.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=n,this.kind=i,this.static=a};t.MethodDefinition=J;var $=function(e){this.type=r.Syntax.Program,this.body=e,this.sourceType="module"};t.Module=$;var Y=function(e,t){this.type=r.Syntax.NewExpression,this.callee=e,this.arguments=t};t.NewExpression=Y;var K=function(e){this.type=r.Syntax.ObjectExpression,this.properties=e};t.ObjectExpression=K;var G=function(e){this.type=r.Syntax.ObjectPattern,this.properties=e};t.ObjectPattern=G;var Q=function(e,t,n,i,a,s){this.type=r.Syntax.Property,this.key=t,this.computed=n,this.value=i,this.kind=e,this.method=a,this.shorthand=s};t.Property=Q;var Z=function(e,t,n,i){this.type=r.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:n,flags:i}};t.RegexLiteral=Z;var ee=function(e){this.type=r.Syntax.RestElement,this.argument=e};t.RestElement=ee;var te=function(e){this.type=r.Syntax.ReturnStatement,this.argument=e};t.ReturnStatement=te;var ne=function(e){this.type=r.Syntax.Program,this.body=e,this.sourceType="script"};t.Script=ne;var re=function(e){this.type=r.Syntax.SequenceExpression,this.expressions=e};t.SequenceExpression=re;var ie=function(e){this.type=r.Syntax.SpreadElement,this.argument=e};t.SpreadElement=ie;var ae=function(e,t){this.type=r.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.StaticMemberExpression=ae;var se=function(){this.type=r.Syntax.Super};t.Super=se;var oe=function(e,t){this.type=r.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchCase=oe;var ue=function(e,t){this.type=r.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.SwitchStatement=ue;var le=function(e,t){this.type=r.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TaggedTemplateExpression=le;var ce=function(e,t){this.type=r.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateElement=ce;var pe=function(e,t){this.type=r.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.TemplateLiteral=pe;var he=function(){this.type=r.Syntax.ThisExpression};t.ThisExpression=he;var de=function(e){this.type=r.Syntax.ThrowStatement,this.argument=e};t.ThrowStatement=de;var fe=function(e,t,n){this.type=r.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=n};t.TryStatement=fe;var me=function(e,t){this.type=r.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UnaryExpression=me;var ye=function(e,t,n){this.type=r.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=n};t.UpdateExpression=ye;var ge=function(e,t){this.type=r.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclaration=ge;var be=function(e,t){this.type=r.Syntax.VariableDeclarator,this.id=e,this.init=t};t.VariableDeclarator=be;var ve=function(e,t){this.type=r.Syntax.WhileStatement,this.test=e,this.body=t};t.WhileStatement=ve;var xe=function(e,t){this.type=r.Syntax.WithStatement,this.object=e,this.body=t};t.WithStatement=xe;var Ee=function(e,t){this.type=r.Syntax.YieldExpression,this.argument=e,this.delegate=t};t.YieldExpression=Ee},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),i=n(10),a=n(11),s=n(7),o=n(12),u=n(2),l=n(13),c="ArrowParameterPlaceHolder",p=function(){function e(e,t,n){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=n,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=[],n=1;n0&&this.delegate)for(var t=0;t>="===e||">>>="===e||"&="===e||"^="===e||"|="===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=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=n,this.context.firstCoverInitializedNameError=r,i},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=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&&n,this.context.firstCoverInitializedNameError=r||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,n,r=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(r,new s.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,a.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new s.Literal(t.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new s.Literal("true"===t.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new s.Literal(null,n));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(),n=this.getTokenRaw(t),e=this.finalize(r,new s.RegexLiteral(t.regex,n,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(r,new s.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(r,new s.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 s.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 n=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(n)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new s.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var r=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=n,r},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters(),r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new s.FunctionExpression(null,n.params,r,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var r=this.parseFormalParameters(),i=this.parsePropertyMethod(r);return this.context.allowYield=t,this.context.await=n,this.finalize(e,new s.AsyncFunctionExpression(null,r.params,i))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,a.Messages.StrictOctalLiteral);var r=this.getTokenRaw(n);e=this.finalize(t,new s.Literal(n.value,r));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new s.Identifier(n.value));break;case 7:"["===n.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):e=this.throwUnexpectedToken(n);break;default:e=this.throwUnexpectedToken(n)}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,n=this.createNode(),r=this.lookahead,i=null,o=null,u=!1,l=!1,c=!1,p=!1;if(3===r.type){var h=r.value;this.nextToken(),u=this.match("["),i=(p=!(this.hasLineTerminator||"async"!==h||this.match(":")||this.match("(")||this.match("*")||this.match(",")))?this.parseObjectPropertyKey():this.finalize(n,new s.Identifier(h))}else this.match("*")?this.nextToken():(u=this.match("["),i=this.parseObjectPropertyKey());var d=this.qualifiedPropertyName(this.lookahead);if(3===r.type&&!p&&"get"===r.value&&d)t="get",u=this.match("["),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,o=this.parseGetterMethod();else if(3===r.type&&!p&&"set"===r.value&&d)t="set",u=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseSetterMethod();else if(7===r.type&&"*"===r.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(a.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===r.type)if(h=this.finalize(n,new s.Identifier(r.value)),this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;var f=this.isolateCoverGrammar(this.parseAssignmentExpression);o=this.finalize(n,new s.AssignmentPattern(h,f))}else c=!0,o=h;else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new s.Property(t,i,u,o,l,c))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var t=[],n={value:!1};!this.match("}");)t.push(this.parseObjectProperty(n)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new s.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){r.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),t=this.nextToken(),n=t.value,i=t.cooked;return this.finalize(e,new s.TemplateElement({raw:n,cooked:i},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),n=t.value,r=t.cooked;return this.finalize(e,new s.TemplateElement({raw:n,cooked:r},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],n=[],r=this.parseTemplateHead();for(n.push(r);!r.tail;)t.push(this.parseExpression()),r=this.parseTemplateElement(),n.push(r);return this.finalize(e,new s.TemplateLiteral(n,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,n=[];if(this.match("..."))e=this.parseRestElement(n),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:c,params:[e],async:!1};else{var r=!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 a=0;a")||this.expect("=>"),this.context.isBindingElement=!1,a=0;a")&&(e.type===u.Syntax.Identifier&&"yield"===e.name&&(r=!0,e={type:c,params:[e],async:!1}),!r)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===u.Syntax.SequenceExpression)for(a=0;a")){for(var u=0;u0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var i=[e,this.lookahead],a=t,o=this.isolateCoverGrammar(this.parseExponentiationExpression),u=[a,n.value,o],l=[r];!((r=this.binaryPrecedence(this.lookahead))<=0);){for(;u.length>2&&r<=l[l.length-1];){o=u.pop();var c=u.pop();l.pop(),a=u.pop(),i.pop();var p=this.startNode(i[i.length-1]);u.push(this.finalize(p,new s.BinaryExpression(c,a,o)))}u.push(this.nextToken().value),l.push(r),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 s.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 n=this.context.allowIn;this.context.allowIn=!0;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(":");var i=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new s.ConditionalExpression(t,r,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 n=0;n")){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 s.AsyncArrowFunctionExpression(o.params,m,g)):this.finalize(f,new s.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(a.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===u.Syntax.Identifier){var b=e;this.scanner.isRestrictedWord(b.name)&&this.tolerateUnexpectedToken(n,a.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(b.name)&&this.tolerateUnexpectedToken(n,a.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var v=(n=this.nextToken()).value,x=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new s.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 n=[];for(n.push(t);2!==this.lookahead.type&&this.match(",");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new s.SequenceExpression(n))}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,a.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,a.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 s.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var n=this.createNode(),r=this.parsePattern([],e);this.context.strict&&r.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(r.name)&&this.tolerateError(a.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(a.Messages.DeclarationMissingInitializer,"const")):(!t.inFor&&r.type!==u.Syntax.Identifier||this.match("="))&&(this.expect("="),i=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new s.VariableDeclarator(r,i))},e.prototype.parseBindingList=function(e,t){for(var n=[this.parseLexicalBinding(e,t)];this.match(",");)this.nextToken(),n.push(this.parseLexicalBinding(e,t));return n},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(),n=this.nextToken().value;r.assert("let"===n||"const"===n,"Lexical declaration must be either let or const");var i=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(t,new s.VariableDeclaration(i,n))},e.prototype.parseBindingRestElement=function(e,t){var n=this.createNode();this.expect("...");var r=this.parsePattern(e,t);return this.finalize(n,new s.RestElement(r))},e.prototype.parseArrayPattern=function(e,t){var n=this.createNode();this.expect("[");for(var r=[];!this.match("]");)if(this.match(","))this.nextToken(),r.push(null);else{if(this.match("...")){r.push(this.parseBindingRestElement(e,t));break}r.push(this.parsePatternWithDefault(e,t)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(n,new s.ArrayPattern(r))},e.prototype.parsePropertyPattern=function(e,t){var n,r,i=this.createNode(),a=!1,o=!1;if(3===this.lookahead.type){var u=this.lookahead;n=this.parseVariableIdentifier();var l=this.finalize(i,new s.Identifier(u.value));if(this.match("=")){e.push(u),o=!0,this.nextToken();var c=this.parseAssignmentExpression();r=this.finalize(this.startNode(u),new s.AssignmentPattern(l,c))}else this.match(":")?(this.expect(":"),r=this.parsePatternWithDefault(e,t)):(e.push(u),o=!0,r=l)}else a=this.match("["),n=this.parseObjectPropertyKey(),this.expect(":"),r=this.parsePatternWithDefault(e,t);return this.finalize(i,new s.Property("init",n,a,r,!1,o))},e.prototype.parseObjectPattern=function(e,t){var n=this.createNode(),r=[];for(this.expect("{");!this.match("}");)r.push(this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(n,new s.ObjectPattern(r))},e.prototype.parsePattern=function(e,t){var n;return this.match("[")?n=this.parseArrayPattern(e,t):this.match("{")?n=this.parseObjectPattern(e,t):(!this.matchKeyword("let")||"const"!==t&&"let"!==t||this.tolerateUnexpectedToken(this.lookahead,a.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(t)),n},e.prototype.parsePatternWithDefault=function(e,t){var n=this.lookahead,r=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var i=this.context.allowYield;this.context.allowYield=!0;var a=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=i,r=this.finalize(this.startNode(n),new s.AssignmentPattern(r,a))}return r},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),n=this.nextToken();return 4===n.type&&"yield"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,a.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,a.Messages.StrictReservedWord):(this.context.strict||"let"!==n.value||"var"!==e)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&"await"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(t,new s.Identifier(n.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),n=this.parsePattern([],"var");this.context.strict&&n.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(a.Messages.StrictVarName);var r=null;return this.match("=")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):n.type===u.Syntax.Identifier||e.inFor||this.expect("="),this.finalize(t,new s.VariableDeclarator(n,r))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),n.push(this.parseVariableDeclaration(t));return n},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new s.VariableDeclaration(t,"var"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new s.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new s.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(a.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),n=null;this.expectKeyword("if"),this.expect("(");var r=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new s.EmptyStatement)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new s.IfStatement(r,e,n))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");var r=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new s.DoWhileStatement(n,r))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword("while"),this.expect("(");var n=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new s.EmptyStatement);else{this.expect(")");var r=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=r}return this.finalize(t,new s.WhileStatement(n,e))},e.prototype.parseForStatement=function(){var e,t,n,r=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")){r=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(a.Messages.ForInOfLoopInitializer,"for-in"),r=this.finalize(r,new s.VariableDeclaration(h,"var")),this.nextToken(),e=r,t=this.parseExpression(),r=null}else 1===h.length&&null===h[0].init&&this.matchContextualKeyword("of")?(r=this.finalize(r,new s.VariableDeclaration(h,"var")),this.nextToken(),e=r,t=this.parseAssignmentExpression(),r=null,l=!1):(r=this.finalize(r,new s.VariableDeclaration(h,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){r=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")?(r=this.finalize(r,new s.VariableDeclaration(h,f)),this.nextToken(),e=r,t=this.parseExpression(),r=null):1===h.length&&null===h[0].init&&this.matchContextualKeyword("of")?(r=this.finalize(r,new s.VariableDeclaration(h,f)),this.nextToken(),e=r,t=this.parseAssignmentExpression(),r=null,l=!1):(this.consumeSemicolon(),r=this.finalize(r,new s.VariableDeclaration(h,f)))):(r=this.finalize(r,new s.Identifier(f)),this.nextToken(),e=r,t=this.parseExpression(),r=null)}else{var m=this.lookahead;if(p=this.context.allowIn,this.context.allowIn=!1,r=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=p,this.matchKeyword("in"))this.context.isAssignmentTarget&&r.type!==u.Syntax.AssignmentExpression||this.tolerateError(a.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(r),e=r,t=this.parseExpression(),r=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&r.type!==u.Syntax.AssignmentExpression||this.tolerateError(a.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(r),e=r,t=this.parseAssignmentExpression(),r=null,l=!1;else{if(this.match(",")){for(var y=[r];this.match(",");)this.nextToken(),y.push(this.isolateCoverGrammar(this.parseAssignmentExpression));r=this.finalize(this.startNode(m),new s.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()),n=this.finalize(this.createNode(),new s.EmptyStatement);else{this.expect(")");var g=this.context.inIteration;this.context.inIteration=!0,n=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=g}return void 0===e?this.finalize(c,new s.ForStatement(r,i,o,n)):l?this.finalize(c,new s.ForInStatement(e,t,n)):this.finalize(c,new s.ForOfStatement(e,t,n))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();t=n;var r="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(a.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(a.Messages.IllegalContinue),this.finalize(e,new s.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),r="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(a.Messages.UnknownLabel,n.name),t=n}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(a.Messages.IllegalBreak),this.finalize(e,new s.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(a.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 s.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(a.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword("with"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new s.EmptyStatement)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new s.WithStatement(n,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 n=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)n.push(this.parseStatementListItem());return this.finalize(t,new s.SwitchCase(e,n))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var t=this.parseExpression();this.expect(")");var n=this.context.inSwitch;this.context.inSwitch=!0;var r=[],i=!1;for(this.expect("{");!this.match("}");){var o=this.parseSwitchCase();null===o.test&&(i&&this.throwError(a.Messages.MultipleDefaultsInSwitch),i=!0),r.push(o)}return this.expect("}"),this.context.inSwitch=n,this.finalize(e,new s.SwitchStatement(t,r))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),n=this.parseExpression();if(n.type===u.Syntax.Identifier&&this.match(":")){this.nextToken();var r=n,i="$"+r.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)&&this.throwError(a.Messages.Redeclaration,"Label",r.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,a.Messages.StrictFunction):c.generator&&this.tolerateUnexpectedToken(l,a.Messages.GeneratorInLegacyContext),o=c}else o=this.parseStatement();delete this.context.labelSet[i],e=new s.LabeledStatement(r,o)}else this.consumeSemicolon(),e=new s.ExpressionStatement(n);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(a.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new s.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],n=this.parsePattern(t),r={},i=0;i0&&this.tolerateError(a.Messages.BadGetterArity);var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new s.FunctionExpression(null,n.params,r,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(a.Messages.BadSetterArity):n.params[0]instanceof s.RestElement&&this.tolerateError(a.Messages.BadSetterRestParameter);var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new s.FunctionExpression(null,n.params,r,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new s.FunctionExpression(null,n.params,r,!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,n=!1;if(!this.hasLineTerminator){var r=this.context.allowYield;this.context.allowYield=!1,(n=this.match("*"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=r}return this.finalize(e,new s.YieldExpression(t,n))},e.prototype.parseClassElement=function(e){var t=this.lookahead,n=this.createNode(),r="",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,a.Messages.ConstructorIsAsync))}var d=this.qualifiedPropertyName(this.lookahead);return 3===t.type?"get"===t.value&&d?(r="get",u=this.match("["),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,o=this.parseGetterMethod()):"set"===t.value&&d&&(r="set",u=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseSetterMethod()):7===t.type&&"*"===t.value&&d&&(r="init",u=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseGeneratorMethod(),l=!0),!r&&i&&this.match("(")&&(r="init",o=p?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),l=!0),r||this.throwUnexpectedToken(this.lookahead),"init"===r&&(r="method"),u||(c&&this.isPropertyKey(i,"prototype")&&this.throwUnexpectedToken(t,a.Messages.StaticPrototype),!c&&this.isPropertyKey(i,"constructor")&&(("method"!==r||!l||o&&o.generator)&&this.throwUnexpectedToken(t,a.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,a.Messages.DuplicateConstructor):e.value=!0,r="constructor")),this.finalize(n,new s.MethodDefinition(i,u,o,r,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 s.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var r=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),i=null;this.matchKeyword("extends")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var a=this.parseClassBody();return this.context.strict=n,this.finalize(t,new s.ClassDeclaration(r,i,a))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,r=null;this.matchKeyword("extends")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var i=this.parseClassBody();return this.context.strict=t,this.finalize(e,new s.ClassExpression(n,r,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 s.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 s.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(a.Messages.InvalidModuleSpecifier);var t=this.nextToken(),n=this.getTokenRaw(t);return this.finalize(e,new s.Literal(t.value,n))},e.prototype.parseImportSpecifier=function(){var e,t,n=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(n,new s.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 s.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(a.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new s.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(a.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword("import");var n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?n=n.concat(this.parseNamedImports()):this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(n.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.match("{")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var r=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new s.ImportDeclaration(n,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),n=t;return this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new s.ExportSpecifier(t,n))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(a.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new s.ExportDefaultDeclaration(n))}else this.matchKeyword("class")?(n=this.parseClassDeclaration(!0),e=this.finalize(t,new s.ExportDefaultDeclaration(n))):this.matchContextualKeyword("async")?(n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new s.ExportDefaultDeclaration(n))):(this.matchContextualKeyword("from")&&this.throwError(a.Messages.UnexpectedToken,this.lookahead.value),n=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new s.ExportDefaultDeclaration(n)));else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var r=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken();var i=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new s.ExportAllDeclaration(i))}else if(4===this.lookahead.type){switch(n=void 0,this.lookahead.value){case"let":case"const":n=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new s.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction())n=this.parseFunctionDeclaration(),e=this.finalize(t,new s.ExportNamedDeclaration(n,[],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?(r=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause,this.throwError(r,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new s.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 n=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 n=new Error(e);try{throw n}catch(e){Object.create&&Object.defineProperty&&(n=Object.create(e),Object.defineProperty(n,"column",{value:t}))}return n},e.prototype.createError=function(e,t,n,r){var i="Line "+t+": "+r,a=this.constructError(i,n);return a.index=e,a.lineNumber=t,a.description=r,a},e.prototype.throwError=function(e,t,n,r){throw this.createError(e,t,n,r)},e.prototype.tolerateError=function(e,t,n,r){var i=this.createError(e,t,n,r);if(!this.tolerant)throw i;this.recordError(i)},e}();t.ErrorHandler=n},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,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),i=n(4),a=n(11);function s(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=a.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=a.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,n,r=[];for(this.trackComment&&(r=[],t=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var a=this.source.charCodeAt(this.index);if(++this.index,i.Character.isLineTerminator(a)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var s={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:n};r.push(s)}return 13===a&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,r}}return this.trackComment&&(n.end={line:this.lineNumber,column:this.index-this.lineStart},s={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:n},r.push(s)),r},e.prototype.skipMultiLineComment=function(){var e,t,n=[];for(this.trackComment&&(n=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var r=this.source.charCodeAt(this.index);if(i.Character.isLineTerminator(r))13===r&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===r){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 a={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};n.push(a)}return n}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},a={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},n.push(a)),this.tolerateUnexpectedToken(),n},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(i.Character.isWhiteSpace(n))++this.index;else if(i.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var r=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(r)),t=!0}else{if(42!==n)break;this.index+=2,r=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(r))}else if(t&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,r=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(r))}else{if(60!==n||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,r=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(r))}}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 n=this.source.charCodeAt(e+1);n>=56320&&n<=57343&&(t=1024*(t-55296)+n-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t="u"===e?4:2,n=0,r=0;r1114111||"}"!==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),n=i.Character.fromCodePoint(t);for(this.index+=n.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(),n=e);!this.eof()&&(t=this.codePointAt(this.index),i.Character.isIdentifierPart(t));)n+=e=i.Character.fromCodePoint(t),this.index+=e.length,92===t&&(n=n.substr(0,n.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(),n+=e);return n},e.prototype.octalToDecimal=function(e){var t="0"!==e,n=o(e);return!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,n=8*n+o(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+o(this.source[this.index++]))),{code:n,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,n=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===n.length?3:this.isKeyword(n)?4:"null"===n?5:"true"===n||"false"===n?1:3)&&t+n.length!==this.index){var r=this.index;this.index=t,this.tolerateUnexpectedToken(a.Messages.InvalidEscapedReservedWord),this.index=r}return{type:e,value:n,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,n="";!this.eof()&&("0"===(t=this.source[this.index])||"1"===t);)n+=this.source[this.index++];return 0===n.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(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var n="",r=!1;for(i.Character.isOctalDigit(e.charCodeAt(0))?(r=!0,n="0"+this.source[this.index++]):++this.index;!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return r||0!==n.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(n,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(function(e,t,n){var i=parseInt(t||n,16);return i>1114111&&r.throwUnexpectedToken(a.Messages.InvalidRegExp),i<=65535?String.fromCharCode(i):""})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,""));try{RegExp(n)}catch(e){this.throwUnexpectedToken(a.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];r.assert("/"===e,"Regular expression literal must start with a slash");for(var t=this.source[this.index++],n=!1,s=!1;!this.eof();)if(t+=e=this.source[this.index++],"\\"===e)e=this.source[this.index++],i.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(a.Messages.UnterminatedRegExp),t+=e;else if(i.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(a.Messages.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){s=!0;break}"["===e&&(n=!0)}return s||this.throwUnexpectedToken(a.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 n=this.index,r=this.scanHexEscape("u");if(null!==r)for(e+=r;n=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,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(10),i=n(12),a=n(13),s=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 n=this.values[this.paren-1];t="if"===n||"while"===n||"for"===n||"with"===n;break;case"}":if(t=!1,"function"===this.values[this.curly-3])t=!!(r=this.values[this.curly-4])&&!this.beforeFunctionExpression(r);else if("function"===this.values[this.curly-4]){var r;t=!(r=this.values[this.curly-5])||!this.beforeFunctionExpression(r)}}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 r.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 s}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?(s.column=0,o.column=0):n.default.strictEqual(l,0);mp.comparePos(o,a)<0&&r.nextPos(o,!0);)n.default.ok(e.nextPos(s,!0)),n.default.strictEqual(e.charAt(s),r.charAt(o))}else{s=e.skipSpaces(t,!0)||e.firstPos(),o=r.skipSpaces(i,!0)||r.firstPos();l=a.line-o.line;for(s.line+=l,o.line+=l,l<0?(s.column=e.getLineLength(s.line),o.column=r.getLineLength(o.line)):n.default.strictEqual(l,0);mp.comparePos(a,o)<0&&r.prevPos(o,!0);)n.default.ok(e.prevPos(s,!0)),n.default.strictEqual(e.charAt(s),r.charAt(o))}return s}(s,a,t,l,c)}if(mp.comparePos(r,u.start)<=0)if(mp.comparePos(u.end,i)<=0)u={start:a(u.start,r.line,r.column),end:a(u.end,r.line,r.column)};else{if(mp.comparePos(i,u.start)<=0)return null;o={start:o.start,end:l("end")},u={start:a(u.start,r.line,r.column),end:a(i,r.line,r.column)}}else{if(mp.comparePos(u.end,r)<=0)return null;mp.comparePos(u.end,i)<=0?(o={start:l("start"),end:o.end},u={start:{line:1,column:0},end:a(u.end,r.line,r.column)}):(o={start:l("start"),end:l("end")},u={start:{line:1,column:0},end:a(i,r.line,r.column)})}return new e(this.sourceLines,o,u)},e.prototype.add=function(t,n){return new e(this.sourceLines,this.sourceLoc,{start:i(this.targetLoc.start,t,n),end:i(this.targetLoc.end,t,n)})},e.prototype.subtract=function(t,n){return new e(this.sourceLines,this.sourceLoc,{start:a(this.targetLoc.start,t,n),end:a(this.targetLoc.end,t,n)})},e.prototype.indent=function(t,n,r){if(void 0===n&&(n=!1),void 0===r&&(r=!1),0===t)return this;var i=this.targetLoc,a=i.start.line,s=i.end.line;if(n&&1===a&&1===s)return this;if(i={start:i.start,end:i.end},!n||a>1){var o=i.start.column+t;i.start={line:a,column:r?Math.max(0,o):o}}if(!n||s>1){var u=i.end.column+t;i.end={line:s,column:r?Math.max(0,u):u}}return new e(this.sourceLines,this.sourceLoc,i)},e}();function i(e,t,n){return{line:e.line+t-1,column:1===e.line?e.column+n:e.column}}function a(e,t,n){return{line:e.line-t+1,column:e.line===t?e.column-n:e.column}}t.default=r})),Ep=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.concat=t.fromString=t.countSpaces=t.Lines=void 0;var n=cc.__importDefault(pt),r=cc.__importDefault(fp),i=cc.__importDefault(xp),a=function(){function e(e,t){void 0===t&&(t=null),this.infos=e,this.mappings=[],this.cachedSourceMap=null,this.cachedTabWidth=void 0,n.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 a(n){return(n=n||{}).file=e,t&&(n.sourceRoot=t),n}if(i.cachedSourceMap)return a(i.cachedSourceMap.toJSON());var s=new r.default.SourceMapGenerator(a()),u={};return i.mappings.forEach((function(e){for(var t=e.sourceLines.skipSpaces(e.sourceLoc.start)||e.sourceLines.lastPos(),r=i.skipSpaces(e.targetLoc.start)||i.lastPos();mp.comparePos(t,e.sourceLoc.end)<0&&mp.comparePos(r,e.targetLoc.end)<0;){var a=e.sourceLines.charAt(t),l=i.charAt(r);n.default.strictEqual(a,l);var c=e.sourceLines.name;if(s.addMapping({source:c,original:{line:t.line,column:t.column},generated:{line:r.line,column:r.column}}),!o.call(u,c)){var p=e.sourceLines.toString();s.setSourceContent(c,p),u[c]=p}i.nextPos(r,!0),e.sourceLines.nextPos(t,!0)}})),i.cachedSourceMap=s,s.toJSON()},e.prototype.bootstrapCharAt=function(e){n.default.strictEqual(typeof e,"object"),n.default.strictEqual(typeof e.line,"number"),n.default.strictEqual(typeof e.column,"number");var t=e.line,r=e.column,i=this.toString().split(c),a=i[t-1];return void 0===a?"":r===a.length&&t=a.length?"":a.charAt(r)},e.prototype.charAt=function(e){n.default.strictEqual(typeof e,"object"),n.default.strictEqual(typeof e.line,"number"),n.default.strictEqual(typeof e.column,"number");var t=e.line,r=e.column,i=this.infos[t-1],a=r;if(void 0===i||a<0)return"";var s=this.getIndentAt(t);return a=i.sliceEnd?"":i.line.charAt(a)},e.prototype.stripMargin=function(t,r){if(0===t)return this;if(n.default.ok(t>0,"negative margin: "+t),r&&1===this.length)return this;var i=new e(this.infos.map((function(e,n){return e.line&&(n>0||!r)&&(e=cc.__assign(cc.__assign({},e),{indent:Math.max(0,e.indent-t)})),e})));if(this.mappings.length>0){var a=i.mappings;n.default.strictEqual(a.length,0),this.mappings.forEach((function(e){a.push(e.indent(t,r,!0))}))}return i},e.prototype.indent=function(t){if(0===t)return this;var r=new e(this.infos.map((function(e){return e.line&&!e.locked&&(e=cc.__assign(cc.__assign({},e),{indent:e.indent+t})),e})));if(this.mappings.length>0){var i=r.mappings;n.default.strictEqual(i.length,0),this.mappings.forEach((function(e){i.push(e.indent(t))}))}return r},e.prototype.indentTail=function(t){if(0===t)return this;if(this.length<2)return this;var r=new e(this.infos.map((function(e,n){return n>0&&e.line&&!e.locked&&(e=cc.__assign(cc.__assign({},e),{indent:e.indent+t})),e})));if(this.mappings.length>0){var i=r.mappings;n.default.strictEqual(i.length,0),this.mappings.forEach((function(e){i.push(e.indent(t,!0))}))}return r},e.prototype.lockIndentTail=function(){return this.length<2?this:new e(this.infos.map((function(e,t){return cc.__assign(cc.__assign({},e),{locked:t>0})})))},e.prototype.getIndentAt=function(e){return n.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,n=1,r=this.length;n<=r;++n){var i=this.infos[n-1];if(!h(i.line.slice(i.sliceStart,i.sliceEnd))){var a=Math.abs(i.indent-t);e[a]=1+~~e[a],t=i.indent}}for(var s=-1,u=2,l=1;ls&&(s=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,n=e.sliceEnd,r=e.line.slice(t,n).trim();return 0===r.length||"//"===r.slice(0,2)||"/*"===r.slice(0,2)},e.prototype.isOnlyWhitespace=function(){return h(this.toString())},e.prototype.isPrecededOnlyByWhitespace=function(e){var t=this.infos[e.line-1],n=Math.max(t.indent,0),r=e.column-n;if(r<=0)return!0;var i=t.sliceStart,a=Math.min(i+r,t.sliceEnd);return h(t.line.slice(i,a))},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 n=Math.max(e.line,0);return Math.max(e.column,0)0&&(n.push(n.pop().slice(0,t.column)),n[0]=n[0].slice(e.column)),p(n.join("\n"))},e.prototype.slice=function(t,r){if(!r){if(!t)return this;r=this.lastPos()}if(!t)throw new Error("cannot slice with end but not start");var i=this.infos.slice(t.line-1,r.line);t.line===r.line?i[0]=d(i[0],t.column,r.column):(n.default.ok(t.line0){var s=a.mappings;n.default.strictEqual(s.length,0),this.mappings.forEach((function(e){var n=e.slice(this,t,r);n&&s.push(n)}),this)}return a},e.prototype.bootstrapSliceString=function(e,t,n){return this.slice(e,t).toString(n)},e.prototype.sliceString=function(e,t,n){void 0===e&&(e=this.firstPos()),void 0===t&&(t=this.lastPos());for(var r=vp.normalize(n),i=r.tabWidth,a=r.useTabs,s=r.reuseWhitespace,o=r.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(s&&h(m)&&u(m,i)===f)l.push(p.line.slice(0,p.sliceEnd));else{var y=0,g=f;a&&(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 n,r=this,i=[],a=[];function s(e){if(null!==e){if(n){var t=e.infos[0],r=new Array(t.indent+1).join(" "),s=i.length,o=Math.max(n.indent,0)+n.sliceEnd-n.sliceStart;n.line=n.line.slice(0,n.sliceEnd)+r+t.line.slice(t.sliceStart,t.sliceEnd),n.locked=n.locked||t.locked,n.sliceEnd=n.line.length,e.mappings.length>0&&e.mappings.forEach((function(e){a.push(e.add(s,o))}))}else e.mappings.length>0&&a.push.apply(a,e.mappings);e.infos.forEach((function(e,t){(!n||t>0)&&(n=cc.__assign({},e),i.push(n))}))}}if(t.map((function(e){var t=p(e);return t.isEmpty()?null:t})).forEach((function(e,t){r.isEmpty()?s(e):function(e,t){t>0&&s(r),s(e)}(e,t)})),i.length<1)return f;var o=new e(i);return o.mappings=a,o},e.prototype.concat=function(){for(var e=[],t=0;t0);var s=Math.ceil(r/t)*t;s===r?r+=t:r=s;break;case 11:case 12:case 13:case 65279:break;case 32:default:r+=1}return r}t.countSpaces=u;var l=/^\s*/,c=/\u000D\u000A|\u000D(?!\u000A)|\u000A|\u2028|\u2029/;function p(e,t){if(e instanceof a)return e;e+="";var r=t&&t.tabWidth,i=e.indexOf("\t")<0,p=!t&&i&&e.length<=10;if(n.default.ok(r||i,"No tab width specified but encountered tabs in string\n"+e),p&&o.call(s,e))return s[e];var h=new a(e.split(c).map((function(e){var t=l.exec(e)[0];return{line:e,indent:u(t,r),locked:!1,sliceStart:t.length,sliceEnd:e.length}})),vp.normalize(t).sourceFileName);return p&&(s[e]=h),h}function h(e){return!/\S/.test(e)}function d(e,t,r){var i=e.sliceStart,a=e.sliceEnd,s=Math.max(e.indent,0),o=s+a-i;return void 0===r&&(r=o),t=Math.max(t,0),r=Math.min(r,o),(r=Math.max(r,t))=0),n.default.ok(i<=a),n.default.strictEqual(o,s+a-i),e.indent===s&&e.sliceStart===i&&e.sliceEnd===a?e:{line:e.line,indent:s,locked:!1,sliceStart:i,sliceEnd:a}}t.fromString=p,t.concat=function(e){return f.join(e)};var f=p("")})),Dp=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.printComments=t.attach=void 0;var n=cc.__importDefault(pt),r=cc.__importStar(Mc),i=r.namedTypes,a=r.builtInTypes.array,s=r.builtInTypes.object,o=new WeakMap;function u(e,t,n){if(!e)return n;if(mp.fixFaultyLocations(e,t),n){if(i.Node.check(e)&&i.SourceLocation.check(e.loc)){for(var l=n.length-1;l>=0;--l){var c=n[l];if(c&&c.loc&&mp.comparePos(c.loc.end,e.loc.start)<=0)break}return n.splice(l+1,0,e),n}}else{var p=o.get(e);if(p)return p}var h;if(a.check(e))h=Object.keys(e);else{if(!s.check(e))return n;h=r.getFieldNames(e)}n||o.set(e,n=[]);l=0;for(var d=h.length;l>1,p=a[c];if(mp.comparePos(p.loc.start,t.loc.start)<=0&&mp.comparePos(t.loc.end,p.loc.end)<=0)return void l(t.enclosingNode=p,t,n);if(mp.comparePos(p.loc.end,t.loc.start)<=0)r=p,s=c+1;else{if(!(mp.comparePos(t.loc.end,p.loc.start)<=0))throw new Error("Comment location overlaps with node location");i=p,o=c}}r&&(t.precedingNode=r),i&&(t.followingNode=i)}function c(e,t){var r=e.length;if(0!==r){for(var i,a=e[0].precedingNode,s=e[0].followingNode,o=s.loc.start,u=r;u>0;--u){i=e[u-1],n.default.strictEqual(i.precedingNode,a),n.default.strictEqual(i.followingNode,s);var l=t.sliceString(i.loc.end,o);if(/\S/.test(l))break;o=i.loc.start}for(;u<=r&&(i=e[u])&&("Line"===i.type||"CommentLine"===i.type)&&i.loc.start.column>s.loc.start.column;)++u;e.forEach((function(e,t){t0){var f=i[u-1];n.default.strictEqual(f.precedingNode===e.precedingNode,f.followingNode===e.followingNode),f.followingNode!==e.followingNode&&c(i,r)}i.push(e)}else if(a)c(i,r),d(a,e);else if(o)c(i,r),h(o,e);else{if(!s)throw new Error("AST contains no nodes at all?");c(i,r),function(e,t){t.leading=!1,t.trailing=!1,p(e,t)}(s,e)}})),c(i,r),e.forEach((function(e){delete e.precedingNode,delete e.enclosingNode,delete e.followingNode}))}},t.printComments=function(e,t){var n=e.getValue(),a=t(e),s=i.Node.check(n)&&r.getFieldValue(n,"comments");if(!s||0===s.length)return a;var o=[],u=[a];return e.each((function(e){var a=e.getValue(),s=r.getFieldValue(a,"leading"),l=r.getFieldValue(a,"trailing");s||l&&!i.Statement.check(n)&&"Block"!==a.type&&"CommentBlock"!==a.type?o.push(function(e,t){var n=e.getValue();i.Comment.assert(n);var r=n.loc,a=r&&r.lines,s=[t(e)];if(n.trailing)s.push("\n");else if(a instanceof Ep.Lines){var o=a.slice(r.end,a.skipSpaces(r.end)||a.lastPos());1===o.length?s.push(o):s.push(new Array(o.length).join("\n"))}else s.push("\n");return Ep.concat(s)}(e,t)):l&&u.push(function(e,t){var n=e.getValue(e);i.Comment.assert(n);var r=n.loc,a=r&&r.lines,s=[];if(a instanceof Ep.Lines){var o=a.skipSpaces(r.start,!0)||a.firstPos(),u=a.slice(o,r.start);1===u.length?s.push(u):s.push(new Array(u.length).join("\n"))}return s.push(t(e)),Ep.concat(s)}(e,t))}),"comments"),o.push.apply(o,u),Ep.concat(o)}})),Sp=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;var n=cc.__importDefault(pt),r=cc.__importStar(Mc),i=r.builders,a=r.builtInTypes.object,s=r.builtInTypes.array,o=cc.__importStar(mp);t.parse=function(e,t){t=vp.normalize(t);var n,r,a=Ep.fromString(e,t),s=a.toString({tabWidth:t.tabWidth,reuseWhitespace:!1,useTabs:!1}),l=[],c=t.parser.parse(s,{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:yp.tokenize(s,{loc:!0});delete c.tokens,p.forEach((function(e){"string"!=typeof e.value&&(e.value=a.sliceString(e.loc.start,e.loc.end))})),Array.isArray(c.comments)&&(l=c.comments,delete c.comments),c.loc?o.fixFaultyLocations(c,a):c.loc={start:a.firstPos(),end:a.lastPos()},c.loc.lines=a,c.loc.indent=0,"Program"===c.type?(r=c,(n=i.file(c,t.sourceFileName||null)).loc={start:a.firstPos(),end:a.lastPos(),lines:a,indent:0}):"File"===c.type&&(r=(n=c).program),t.tokens&&(n.tokens=p);var h=o.getTrueLoc({type:r.type,loc:r.loc,body:[],comments:l},a);return r.loc.start=h.start,r.loc.end=h.end,Dp.attach(l,r.body.length?n.program:n,a),new u(a,p).copy(n)};var u=function e(t,r){n.default.ok(this instanceof e),this.lines=t,this.tokens=r,this.startTokenIndex=0,this.endTokenIndex=r.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(s.check(e)){var t=new Array(e.length);return this.seen.set(e,t),e.forEach((function(e,n){t[n]=this.copy(e)}),this),t}if(!a.check(e))return e;o.fixFaultyLocations(e,this.lines);var n=Object.create(Object.getPrototypeOf(e),{original:{value:e,configurable:!1,enumerable:!1,writable:!0}});this.seen.set(e,n);var r=e.loc,i=this.indent,u=i,l=this.startTokenIndex,c=this.endTokenIndex;r&&(("Block"===e.type||"Line"===e.type||"CommentBlock"===e.type||"CommentLine"===e.type||this.lines.isPrecededOnlyByWhitespace(r.start))&&(u=this.indent=r.start.column),r.lines=this.lines,r.tokens=this.tokens,r.indent=u,this.findTokenRange(r));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}})),Tp=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=cc.__importDefault(pt),r=cc.__importStar(Mc),i=cc.__importStar(mp),a=r.namedTypes,s=r.builtInTypes.array,o=r.builtInTypes.number,u={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach((function(e,t){e.forEach((function(e){u[e]=t}))}));var l=function e(t){n.default.ok(this instanceof e),this.stack=[t]},c=l.prototype;function p(e,t){for(var n=e.stack,r=n.length-1;r>=0;r-=2){var i=n[r];if(a.Node.check(i)&&--t<0)return i}return null}function h(e){return a.BinaryExpression.check(e)||a.LogicalExpression.check(e)}function d(e){return!!a.CallExpression.check(e)||(s.check(e)?e.some(d):!!a.Node.check(e)&&r.someField(e,(function(e,t){return d(t)})))}l.from=function(e){if(e instanceof l)return e.copy();if(e instanceof r.NodePath){for(var t=Object.create(l.prototype),n=[e.value],i=void 0;i=e.parentPath;e=i)n.push(e.name,i.value);return t.stack=n.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,n=t.length,r=t[n-1],i=arguments.length,a=1;a0){var r=n[t.start.token-1];if(r){var a=this.getRootValue().loc;if(i.comparePos(a.start,r.loc.start)<=0)return r}}return null},c.getNextToken=function(e){var t=(e=e||this.getNode())&&e.loc,n=t&&t.tokens;if(n&&t.end.tokenp)return!0;if(l===p&&"right"===i)return n.default.strictEqual(r.right,t),!0;break;default:return!1}break;case"SequenceExpression":switch(r.type){case"ReturnStatement":case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==i;default:return!0}case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return"NullableTypeAnnotation"===r.type;case"Literal":return"MemberExpression"===r.type&&o.check(t.value)&&"object"===i&&r.object===t;case"NumericLiteral":return"MemberExpression"===r.type&&"object"===i&&r.object===t;case"YieldExpression":case"AwaitExpression":case"AssignmentExpression":case"ConditionalExpression":switch(r.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":case"NewExpression":return"callee"===i&&r.callee===t;case"ConditionalExpression":return"test"===i&&r.test===t;case"MemberExpression":return"object"===i&&r.object===t;default:return!1}case"ArrowFunctionExpression":return!(!a.CallExpression.check(r)||"callee"!==i||r.callee!==t)||(!(!a.MemberExpression.check(r)||"object"!==i||r.object!==t)||(!(!a.TSAsExpression||!a.TSAsExpression.check(r)||"expression"!==i||r.expression!==t)||h(r)));case"ObjectExpression":if("ArrowFunctionExpression"===r.type&&"body"===i&&r.body===t)return!0;break;case"TSAsExpression":if("ArrowFunctionExpression"===r.type&&"body"===i&&r.body===t&&"ObjectExpression"===t.expression.type)return!0;break;case"CallExpression":if("declaration"===i&&a.ExportDefaultDeclaration.check(r)&&a.FunctionExpression.check(t.callee))return!0}return"NewExpression"===r.type&&"callee"===i&&r.callee===t?d(t):!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())},c.canBeFirstInStatement=function(){var e=this.getNode();return!a.FunctionExpression.check(e)&&(!a.ObjectExpression.check(e)&&!a.ClassExpression.check(e))},c.firstInStatement=function(){for(var e,t,r,i,s=this.stack,o=s.length-1;o>=0;o-=2)if(a.Node.check(s[o])&&(r=e,i=t,e=s[o-1],t=s[o]),t&&i){if(a.BlockStatement.check(t)&&"body"===e&&0===r)return n.default.strictEqual(t.body[0],i),!0;if(a.ExpressionStatement.check(t)&&"expression"===r)return n.default.strictEqual(t.expression,i),!0;if(a.AssignmentExpression.check(t)&&"left"===r)return n.default.strictEqual(t.left,i),!0;if(a.ArrowFunctionExpression.check(t)&&"body"===r)return n.default.strictEqual(t.body,i),!0;if(a.SequenceExpression.check(t)&&"expressions"===e&&0===r)n.default.strictEqual(t.expressions[0],i);else if(a.CallExpression.check(t)&&"callee"===r)n.default.strictEqual(t.callee,i);else if(a.MemberExpression.check(t)&&"object"===r)n.default.strictEqual(t.object,i);else if(a.ConditionalExpression.check(t)&&"test"===r)n.default.strictEqual(t.test,i);else if(h(t)&&"left"===r)n.default.strictEqual(t.left,i);else{if(!a.UnaryExpression.check(t)||t.prefix||"argument"!==r)return!1;n.default.strictEqual(t.argument,i)}}return!0},t.default=l})),Ap=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getReprinter=t.Patcher=void 0;var n=cc.__importDefault(pt),r=cc.__importStar(Ep),i=cc.__importStar(Mc),a=i.namedTypes.Printable,s=i.namedTypes.Expression,o=i.namedTypes.ReturnStatement,u=i.namedTypes.SourceLocation,l=cc.__importDefault(Tp),c=i.builtInTypes.object,p=i.builtInTypes.array,h=i.builtInTypes.string,d=/[0-9a-z_$]/i,f=function e(t){n.default.ok(this instanceof e),n.default.ok(t instanceof r.Lines);var i=[];this.replace=function(e,t){h.check(t)&&(t=r.fromString(t)),i.push({lines:t,start:e.start,end:e.end})},this.get=function(e){var a=(e=e||{start:{line:1,column:0},end:{line:t.length,column:t.getLineLength(t.length)}}).start,s=[];function o(e,r){n.default.ok(mp.comparePos(e,r)<=0),s.push(t.slice(e,r))}return i.sort((function(e,t){return mp.comparePos(e.start,t.start)})).forEach((function(e){mp.comparePos(a,e.start)>0||(o(a,e.start),s.push(e.lines),a=e.end)})),o(a,e.end),r.concat(s)}};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,n){var r=e.getValue();return r===t.getValue()||(p.check(r)?b(e,t,n):!!c.check(r)&&function(e,t,n){var r=e.getValue();if(c.assert(r),null===r.original)return!1;var i=t.getValue();if(!c.check(i))return!1;if(r===i||e.valueIsDuplicate()||t.valueIsDuplicate())return!0;if(a.check(r)){if(!a.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(r.type===i.type){var h=[];if(v(e,t,h))n.push.apply(n,h);else{if(!i.loc)return!1;n.push({oldPath:t.copy(),newPath:e.copy()})}return!0}return!!(s.check(r)&&s.check(i)&&i.loc)&&(n.push({oldPath:t.copy(),newPath:e.copy()}),!0)}return v(e,t,n)}(e,t,n))}function b(e,t,n){var r=e.getValue(),i=t.getValue();if(r===i||e.valueIsDuplicate()||t.valueIsDuplicate())return!0;p.assert(r);var a=r.length;if(!p.check(i)||i.length!==a)return!1;for(var s=0;su)}m.tryToReprintComments=function(e,t,r){var i=this;if(!e.comments&&!t.comments)return!0;var a=l.default.from(e),s=l.default.from(t);a.stack.push("comments",y(e)),s.stack.push("comments",y(t));var o=[],u=b(a,s,o);return u&&o.length>0&&o.forEach((function(e){var t=e.oldPath.getValue();n.default.ok(t.leading||t.trailing),i.replace(t.loc,r(e.newPath).indentTail(t.loc.indent))})),u},m.deleteComments=function(e){if(e.comments){var t=this;e.comments.forEach((function(n){n.leading?t.replace({start:n.loc.start,end:e.loc.lines.skipSpaces(n.loc.end,!1,!1)},""):n.trailing&&t.replace({start:e.loc.lines.skipSpaces(n.loc.start,!0,!1),end:n.loc.end},"")}))}},t.getReprinter=function(e){n.default.ok(e instanceof l.default);var t=e.getValue();if(a.check(t)){var i=t.original,s=i&&i.loc,o=s&&s.lines,c=[];if(o&&function(e,t){var r=e.getValue();a.assert(r);var i=r.original;if(a.assert(i),n.default.deepEqual(t,[]),r.type!==i.type)return!1;var s=new l.default(i),o=v(e,s,t);o||(t.length=0);return o}(e,c))return function(t){var n=new f(o);c.forEach((function(e){var i=e.newPath.getValue(),a=e.oldPath.getValue();u.assert(a.loc,!0);var s=!n.tryToReprintComments(i,a,t);s&&n.deleteComments(a);var l=t(e.newPath,{includeComments:s,avoidRootParens:a.type===i.type&&e.oldPath.hasParens()}).indentTail(a.loc.indent),c=function(e,t,n){var r=mp.copyPos(t.start),i=e.prevPos(r)&&e.charAt(r),a=n.charAt(n.firstPos());return i&&d.test(i)&&a&&d.test(a)}(o,a.loc,l),p=function(e,t,n){var r=e.charAt(t.end),i=n.lastPos(),a=n.prevPos(i)&&n.charAt(i);return a&&d.test(a)&&r&&d.test(r)}(o,a.loc,l);if(c||p){var h=[];c&&h.push(" "),h.push(l),p&&h.push(" "),l=r.concat(h)}n.replace(a.loc,l)}));var a=n.get(s).indentTail(-i.loc.indent);return e.needsParens()?r.concat(["(",a,")"]):a}}}})),wp=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Printer=void 0;var n=cc.__importDefault(pt),r=cc.__importStar(Mc),i=r.namedTypes,a=r.builtInTypes.string,s=r.builtInTypes.object,o=cc.__importDefault(Tp),u=cc.__importStar(mp),l=function e(t,r){n.default.ok(this instanceof e),a.assert(t),this.code=t,r&&(s.assert(r),this.map=r)},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,a,s){n.default.ok(e instanceof o.default);var l=e.getValue(),c=[],p=function(e,t,a){var s=e.getValue();if(!s)return Ep.fromString("");if("string"==typeof s)return Ep.fromString(s,t);i.Printable.assert(s);var o=[];switch(s.type){case"File":return e.call(a,"program");case"Program":return s.directives&&e.each((function(e){o.push(a(e),";\n")}),"directives"),s.interpreter&&o.push(e.call(a,"interpreter")),o.push(e.call((function(e){return d(e,t,a)}),"body")),Ep.concat(o);case"Noop":case"EmptyStatement":return Ep.fromString("");case"ExpressionStatement":return Ep.concat([e.call(a,"expression"),";"]);case"ParenthesizedExpression":return Ep.concat(["(",e.call(a,"expression"),")"]);case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":return Ep.fromString(" ").join([e.call(a,"left"),s.operator,e.call(a,"right")]);case"AssignmentPattern":return Ep.concat([e.call(a,"left")," = ",e.call(a,"right")]);case"MemberExpression":case"OptionalMemberExpression":o.push(e.call(a,"object"));var l=e.call(a,"property"),c=r.getFieldValue(s,"optional");return s.computed?o.push(c?"?.[":"[",l,"]"):o.push(c?"?.":".",l),Ep.concat(o);case"ChainExpression":return e.call(a,"expression");case"MetaProperty":return Ep.concat([e.call(a,"meta"),".",e.call(a,"property")]);case"BindExpression":return s.object&&o.push(e.call(a,"object")),o.push("::",e.call(a,"callee")),Ep.concat(o);case"Path":return Ep.fromString(".").join(s.body);case"Identifier":return Ep.concat([Ep.fromString(s.name,t),s.optional?"?":"",e.call(a,"typeAnnotation")]);case"SpreadElement":case"SpreadElementPattern":case"RestProperty":case"SpreadProperty":case"SpreadPropertyPattern":case"ObjectTypeSpreadProperty":case"RestElement":return Ep.concat(["...",e.call(a,"argument"),e.call(a,"typeAnnotation")]);case"FunctionDeclaration":case"FunctionExpression":case"TSDeclareFunction":return s.declare&&o.push("declare "),s.async&&o.push("async "),o.push("function"),s.generator&&o.push("*"),s.id?o.push(" ",e.call(a,"id"),e.call(a,"typeParameters")):s.typeParameters&&o.push(e.call(a,"typeParameters")),o.push("(",g(e,t,a),")",e.call(a,"returnType")),s.body&&o.push(" ",e.call(a,"body")),Ep.concat(o);case"ArrowFunctionExpression":return s.async&&o.push("async "),s.typeParameters&&o.push(e.call(a,"typeParameters")),t.arrowParensAlways||1!==s.params.length||s.rest||"Identifier"!==s.params[0].type||s.params[0].typeAnnotation||s.returnType?o.push("(",g(e,t,a),")",e.call(a,"returnType")):o.push(e.call(a,"params",0)),o.push(" => ",e.call(a,"body")),Ep.concat(o);case"MethodDefinition":return m(e,t,a);case"YieldExpression":return o.push("yield"),s.delegate&&o.push("*"),s.argument&&o.push(" ",e.call(a,"argument")),Ep.concat(o);case"AwaitExpression":return o.push("await"),s.all&&o.push("*"),s.argument&&o.push(" ",e.call(a,"argument")),Ep.concat(o);case"ModuleDeclaration":return o.push("module",e.call(a,"id")),s.source?(n.default.ok(!s.body),o.push("from",e.call(a,"source"))):o.push(e.call(a,"body")),Ep.fromString(" ").join(o);case"ImportSpecifier":return s.importKind&&"value"!==s.importKind&&o.push(s.importKind+" "),s.imported?(o.push(e.call(a,"imported")),s.local&&s.local.name!==s.imported.name&&o.push(" as ",e.call(a,"local"))):s.id&&(o.push(e.call(a,"id")),s.name&&o.push(" as ",e.call(a,"name"))),Ep.concat(o);case"ExportSpecifier":return s.local?(o.push(e.call(a,"local")),s.exported&&s.exported.name!==s.local.name&&o.push(" as ",e.call(a,"exported"))):s.id&&(o.push(e.call(a,"id")),s.name&&o.push(" as ",e.call(a,"name"))),Ep.concat(o);case"ExportBatchSpecifier":return Ep.fromString("*");case"ImportNamespaceSpecifier":return o.push("* as "),s.local?o.push(e.call(a,"local")):s.id&&o.push(e.call(a,"id")),Ep.concat(o);case"ImportDefaultSpecifier":return s.local?e.call(a,"local"):e.call(a,"id");case"TSExportAssignment":return Ep.concat(["export = ",e.call(a,"expression")]);case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return b(e,t,a);case"ExportAllDeclaration":return o.push("export *"),s.exported&&o.push(" as ",e.call(a,"exported")),o.push(" from ",e.call(a,"source"),";"),Ep.concat(o);case"TSNamespaceExportDeclaration":return o.push("export as namespace ",e.call(a,"id")),w(Ep.concat(o));case"ExportNamespaceSpecifier":return Ep.concat(["* as ",e.call(a,"exported")]);case"ExportDefaultSpecifier":return e.call(a,"exported");case"Import":return Ep.fromString("import",t);case"ImportExpression":return Ep.concat(["import(",e.call(a,"source"),")"]);case"ImportDeclaration":if(o.push("import "),s.importKind&&"value"!==s.importKind&&o.push(s.importKind+" "),s.specifiers&&s.specifiers.length>0){var p=[],h=[];if(e.each((function(e){var t=e.getValue();"ImportSpecifier"===t.type?h.push(a(e)):"ImportDefaultSpecifier"!==t.type&&"ImportNamespaceSpecifier"!==t.type||p.push(a(e))}),"specifiers"),p.forEach((function(e,t){t>0&&o.push(", "),o.push(e)})),h.length>0)(ge=Ep.fromString(", ").join(h)).getLineLength(1)>t.wrapColumn&&(ge=Ep.concat([Ep.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(a,"source"),";"),Ep.concat(o);case"BlockStatement":var f=e.call((function(e){return d(e,t,a)}),"body");return!f.isEmpty()||s.directives&&0!==s.directives.length?(o.push("{\n"),s.directives&&e.each((function(e){o.push(w(a(e).indent(t.tabWidth)),s.directives.length>1||!f.isEmpty()?"\n":"")}),"directives"),o.push(f.indent(t.tabWidth)),o.push("\n}"),Ep.concat(o)):Ep.fromString("{}");case"ReturnStatement":if(o.push("return"),s.argument){var D=e.call(a,"argument");D.startsWithComment()||D.length>1&&i.JSXElement&&i.JSXElement.check(s.argument)?o.push(" (\n",D.indent(t.tabWidth),"\n)"):o.push(" ",D)}return o.push(";"),Ep.concat(o);case"CallExpression":case"OptionalCallExpression":return o.push(e.call(a,"callee")),s.typeParameters&&o.push(e.call(a,"typeParameters")),s.typeArguments&&o.push(e.call(a,"typeArguments")),r.getFieldValue(s,"optional")&&o.push("?."),o.push(y(e,t,a)),Ep.concat(o);case"ObjectExpression":case"ObjectPattern":case"ObjectTypeAnnotation":var T="ObjectTypeAnnotation"===s.type,P=t.flowObjectCommas?",":T?";":",",C=[],k=!1;T&&(C.push("indexers","callProperties"),null!=s.internalSlots&&C.push("internalSlots")),C.push("properties");var _=0;C.forEach((function(e){_+=s[e].length}));var F=T&&1===_||0===_,I=s.exact?"{|":"{",O=s.exact?"|}":"}";o.push(F?I:I+"\n");var N=o.length-1,j=0;if(C.forEach((function(n){e.each((function(e){var n=a(e);F||(n=n.indent(t.tabWidth));var r=!T&&n.length>1;r&&k&&o.push("\n"),o.push(n),j<_-1?(o.push(P+(r?"\n\n":"\n")),k=!r):(1!==_&&T||!F&&u.isTrailingCommaEnabled(t,"objects")&&"RestElement"!==e.getValue().type)&&o.push(P),j++}),n)})),s.inexact){var M=Ep.fromString("...",t);F?(_>0&&o.push(P," "),o.push(M)):o.push("\n",M.indent(t.tabWidth))}return o.push(F?O:"\n"+O),0!==j&&F&&t.objectCurlySpacing&&(o[N]=I+" ",o[o.length-1]=" "+O),s.typeAnnotation&&o.push(e.call(a,"typeAnnotation")),Ep.concat(o);case"PropertyPattern":return Ep.concat([e.call(a,"key"),": ",e.call(a,"pattern")]);case"ObjectProperty":case"Property":if(s.method||"get"===s.kind||"set"===s.kind)return m(e,t,a);if(s.shorthand&&"AssignmentPattern"===s.value.type)return e.call(a,"value");var L=e.call(a,"key");return s.computed?o.push("[",L,"]"):o.push(L),s.shorthand&&s.key.name===s.value.name||o.push(": ",e.call(a,"value")),Ep.concat(o);case"ClassMethod":case"ObjectMethod":case"ClassPrivateMethod":case"TSDeclareMethod":return m(e,t,a);case"PrivateName":return Ep.concat(["#",e.call(a,"id")]);case"Decorator":return Ep.concat(["@",e.call(a,"expression")]);case"ArrayExpression":case"ArrayPattern":var B=s.elements.length,R=e.map(a,"elements"),U=Ep.fromString(", ").join(R).getLineLength(1)<=t.wrapColumn;return U?t.arrayBracketSpacing?o.push("[ "):o.push("["):o.push("[\n"),e.each((function(e){var n=e.getName();if(e.getValue()){var r=R[n];U?n>0&&o.push(" "):r=r.indent(t.tabWidth),o.push(r),(n1?o.push(Ep.fromString(",\n").join(W).indentTail(s.kind.length+1)):o.push(W[0]);var z=e.getParentNode();return i.ForStatement.check(z)||i.ForInStatement.check(z)||i.ForOfStatement&&i.ForOfStatement.check(z)||i.ForAwaitStatement&&i.ForAwaitStatement.check(z)||o.push(";"),Ep.concat(o);case"VariableDeclarator":return s.init?Ep.fromString(" = ").join([e.call(a,"id"),e.call(a,"init")]):e.call(a,"id");case"WithStatement":return Ep.concat(["with (",e.call(a,"object"),") ",e.call(a,"body")]);case"IfStatement":var q=E(e.call(a,"consequent"),t);return o.push("if (",e.call(a,"test"),")",q),s.alternate&&o.push(S(q)?" else":"\nelse",E(e.call(a,"alternate"),t)),Ep.concat(o);case"ForStatement":var H=e.call(a,"init"),X=H.length>1?";\n":"; ",J="for (",$=Ep.fromString(X).join([H,e.call(a,"test"),e.call(a,"update")]).indentTail(J.length),Y=Ep.concat([J,$,")"]),K=E(e.call(a,"body"),t);return o.push(Y),Y.length>1&&(o.push("\n"),K=K.trimLeft()),o.push(K),Ep.concat(o);case"WhileStatement":return Ep.concat(["while (",e.call(a,"test"),")",E(e.call(a,"body"),t)]);case"ForInStatement":return Ep.concat([s.each?"for each (":"for (",e.call(a,"left")," in ",e.call(a,"right"),")",E(e.call(a,"body"),t)]);case"ForOfStatement":case"ForAwaitStatement":return o.push("for "),(s.await||"ForAwaitStatement"===s.type)&&o.push("await "),o.push("(",e.call(a,"left")," of ",e.call(a,"right"),")",E(e.call(a,"body"),t)),Ep.concat(o);case"DoWhileStatement":var G=Ep.concat(["do",E(e.call(a,"body"),t)]);return o.push(G),S(G)?o.push(" while"):o.push("\nwhile"),o.push(" (",e.call(a,"test"),");"),Ep.concat(o);case"DoExpression":var Q=e.call((function(e){return d(e,t,a)}),"body");return Ep.concat(["do {\n",Q.indent(t.tabWidth),"\n}"]);case"BreakStatement":return o.push("break"),s.label&&o.push(" ",e.call(a,"label")),o.push(";"),Ep.concat(o);case"ContinueStatement":return o.push("continue"),s.label&&o.push(" ",e.call(a,"label")),o.push(";"),Ep.concat(o);case"LabeledStatement":return Ep.concat([e.call(a,"label"),":\n",e.call(a,"body")]);case"TryStatement":return o.push("try ",e.call(a,"block")),s.handler?o.push(" ",e.call(a,"handler")):s.handlers&&e.each((function(e){o.push(" ",a(e))}),"handlers"),s.finalizer&&o.push(" finally ",e.call(a,"finalizer")),Ep.concat(o);case"CatchClause":return o.push("catch "),s.param&&o.push("(",e.call(a,"param")),s.guard&&o.push(" if ",e.call(a,"guard")),s.param&&o.push(") "),o.push(e.call(a,"body")),Ep.concat(o);case"ThrowStatement":return Ep.concat(["throw ",e.call(a,"argument"),";"]);case"SwitchStatement":return Ep.concat(["switch (",e.call(a,"discriminant"),") {\n",Ep.fromString("\n").join(e.map(a,"cases")),"\n}"]);case"SwitchCase":return s.test?o.push("case ",e.call(a,"test"),":"):o.push("default:"),s.consequent.length>0&&o.push("\n",e.call((function(e){return d(e,t,a)}),"consequent").indent(t.tabWidth)),Ep.concat(o);case"DebuggerStatement":return Ep.fromString("debugger;");case"JSXAttribute":return o.push(e.call(a,"name")),s.value&&o.push("=",e.call(a,"value")),Ep.concat(o);case"JSXIdentifier":return Ep.fromString(s.name,t);case"JSXNamespacedName":return Ep.fromString(":").join([e.call(a,"namespace"),e.call(a,"name")]);case"JSXMemberExpression":return Ep.fromString(".").join([e.call(a,"object"),e.call(a,"property")]);case"JSXSpreadAttribute":return Ep.concat(["{...",e.call(a,"argument"),"}"]);case"JSXSpreadChild":return Ep.concat(["{...",e.call(a,"expression"),"}"]);case"JSXExpressionContainer":return Ep.concat(["{",e.call(a,"expression"),"}"]);case"JSXElement":case"JSXFragment":var Z="opening"+("JSXElement"===s.type?"Element":"Fragment"),ee="closing"+("JSXElement"===s.type?"Element":"Fragment"),te=e.call(a,Z);if(s[Z].selfClosing)return n.default.ok(!s[ee],"unexpected "+ee+" element in self-closing "+s.type),te;var ne=Ep.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 a(e)}),"children")).indentTail(t.tabWidth),re=e.call(a,ee);return Ep.concat([te,ne,re]);case"JSXOpeningElement":o.push("<",e.call(a,"name"));var ie=[];e.each((function(e){ie.push(" ",a(e))}),"attributes");var ae=Ep.concat(ie);return(ae.length>1||ae.getLineLength(1)>t.wrapColumn)&&(ie.forEach((function(e,t){" "===e&&(n.default.strictEqual(t%2,0),ie[t]="\n")})),ae=Ep.concat(ie).indentTail(t.tabWidth)),o.push(ae,s.selfClosing?" />":">"),Ep.concat(o);case"JSXClosingElement":return Ep.concat(["",e.call(a,"name"),">"]);case"JSXOpeningFragment":return Ep.fromString("<>");case"JSXClosingFragment":return Ep.fromString(">");case"JSXText":return Ep.fromString(s.value,t);case"JSXEmptyExpression":return Ep.fromString("");case"TypeAnnotatedIdentifier":return Ep.concat([e.call(a,"annotation")," ",e.call(a,"identifier")]);case"ClassBody":return 0===s.body.length?Ep.fromString("{}"):Ep.concat(["{\n",e.call((function(e){return d(e,t,a)}),"body").indent(t.tabWidth),"\n}"]);case"ClassPropertyDefinition":return o.push("static ",e.call(a,"definition")),i.MethodDefinition.check(s.definition)||o.push(";"),Ep.concat(o);case"ClassProperty":s.declare&&o.push("declare ");var se=s.accessibility||s.access;"string"==typeof se&&o.push(se," "),s.static&&o.push("static "),s.abstract&&o.push("abstract "),s.readonly&&o.push("readonly ");L=e.call(a,"key");return s.computed&&(L=Ep.concat(["[",L,"]"])),s.variance&&(L=Ep.concat([x(e,a),L])),o.push(L),s.optional&&o.push("?"),s.typeAnnotation&&o.push(e.call(a,"typeAnnotation")),s.value&&o.push(" = ",e.call(a,"value")),o.push(";"),Ep.concat(o);case"ClassPrivateProperty":return s.static&&o.push("static "),o.push(e.call(a,"key")),s.typeAnnotation&&o.push(e.call(a,"typeAnnotation")),s.value&&o.push(" = ",e.call(a,"value")),o.push(";"),Ep.concat(o);case"ClassDeclaration":case"ClassExpression":return s.declare&&o.push("declare "),s.abstract&&o.push("abstract "),o.push("class"),s.id&&o.push(" ",e.call(a,"id")),s.typeParameters&&o.push(e.call(a,"typeParameters")),s.superClass&&o.push(" extends ",e.call(a,"superClass"),e.call(a,"superTypeParameters")),s.implements&&s.implements.length>0&&o.push(" implements ",Ep.fromString(", ").join(e.map(a,"implements"))),o.push(" ",e.call(a,"body")),Ep.concat(o);case"TemplateElement":return Ep.fromString(s.value.raw,t).lockIndentTail();case"TemplateLiteral":var oe=e.map(a,"expressions");return o.push("`"),e.each((function(e){var t=e.getName();o.push(a(e)),t0&&o.push(" "):r=r.indent(t.tabWidth),o.push(r),(n0&&o.push(" extends ",Ep.fromString(", ").join(e.map(a,"extends"))),o.push(" ",e.call(a,"body")),Ep.concat(o);case"DeclareClass":return v(e,["class ",e.call(a,"id")," ",e.call(a,"body")]);case"DeclareFunction":return v(e,["function ",e.call(a,"id"),";"]);case"DeclareModule":return v(e,["module ",e.call(a,"id")," ",e.call(a,"body")]);case"DeclareModuleExports":return v(e,["module.exports",e.call(a,"typeAnnotation")]);case"DeclareVariable":return v(e,["var ",e.call(a,"id"),";"]);case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":return Ep.concat(["declare ",b(e,t,a)]);case"EnumDeclaration":return Ep.concat(["enum ",e.call(a,"id"),e.call(a,"body")]);case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":return("EnumSymbolBody"===s.type||s.explicitType)&&o.push(" of ",s.type.slice(4,-4).toLowerCase()),o.push(" {\n",Ep.fromString("\n").join(e.map(a,"members")).indent(t.tabWidth),"\n}"),Ep.concat(o);case"EnumDefaultedMember":return Ep.concat([e.call(a,"id"),","]);case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return Ep.concat([e.call(a,"id")," = ",e.call(a,"init"),","]);case"InferredPredicate":return Ep.fromString("%checks",t);case"DeclaredPredicate":return Ep.concat(["%checks(",e.call(a,"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!==s.params.length||s.params[0].name;return o.push(he?"(":"",g(e,t,a),he?")":""),s.returnType&&o.push(pe?" => ":": ",e.call(a,"returnType")),Ep.concat(o);case"FunctionTypeParam":var de=e.call(a,"name");return o.push(de),s.optional&&o.push("?"),de.infos[0].line&&o.push(": "),o.push(e.call(a,"typeAnnotation")),Ep.concat(o);case"GenericTypeAnnotation":return Ep.concat([e.call(a,"id"),e.call(a,"typeParameters")]);case"DeclareInterface":o.push("declare ");case"InterfaceDeclaration":case"TSInterfaceDeclaration":return s.declare&&o.push("declare "),o.push("interface ",e.call(a,"id"),e.call(a,"typeParameters")," "),s.extends&&s.extends.length>0&&o.push("extends ",Ep.fromString(", ").join(e.map(a,"extends"))," "),s.body&&o.push(e.call(a,"body")),Ep.concat(o);case"ClassImplements":case"InterfaceExtends":return Ep.concat([e.call(a,"id"),e.call(a,"typeParameters")]);case"IntersectionTypeAnnotation":return Ep.fromString(" & ").join(e.map(a,"types"));case"NullableTypeAnnotation":return Ep.concat(["?",e.call(a,"typeAnnotation")]);case"NullLiteralTypeAnnotation":return Ep.fromString("null",t);case"ThisTypeAnnotation":return Ep.fromString("this",t);case"NumberTypeAnnotation":return Ep.fromString("number",t);case"ObjectTypeCallProperty":return e.call(a,"value");case"ObjectTypeIndexer":return s.static&&o.push("static "),o.push(x(e,a),"["),s.id&&o.push(e.call(a,"id"),": "),o.push(e.call(a,"key"),"]: ",e.call(a,"value")),Ep.concat(o);case"ObjectTypeProperty":return Ep.concat([x(e,a),e.call(a,"key"),s.optional?"?":"",": ",e.call(a,"value")]);case"ObjectTypeInternalSlot":return Ep.concat([s.static?"static ":"","[[",e.call(a,"id"),"]]",s.optional?"?":"","FunctionTypeAnnotation"!==s.value.type?": ":"",e.call(a,"value")]);case"QualifiedTypeIdentifier":return Ep.concat([e.call(a,"qualification"),".",e.call(a,"id")]);case"StringLiteralTypeAnnotation":return Ep.fromString(A(s.value,t),t);case"NumberLiteralTypeAnnotation":case"NumericLiteralTypeAnnotation":return n.default.strictEqual(typeof s.value,"number"),Ep.fromString(JSON.stringify(s.value),t);case"BigIntLiteralTypeAnnotation":return Ep.fromString(s.raw,t);case"StringTypeAnnotation":return Ep.fromString("string",t);case"DeclareTypeAlias":o.push("declare ");case"TypeAlias":return Ep.concat(["type ",e.call(a,"id"),e.call(a,"typeParameters")," = ",e.call(a,"right"),";"]);case"DeclareOpaqueType":o.push("declare ");case"OpaqueType":return o.push("opaque type ",e.call(a,"id"),e.call(a,"typeParameters")),s.supertype&&o.push(": ",e.call(a,"supertype")),s.impltype&&o.push(" = ",e.call(a,"impltype")),o.push(";"),Ep.concat(o);case"TypeCastExpression":return Ep.concat(["(",e.call(a,"expression"),e.call(a,"typeAnnotation"),")"]);case"TypeParameterDeclaration":case"TypeParameterInstantiation":return Ep.concat(["<",Ep.fromString(", ").join(e.map(a,"params")),">"]);case"Variance":return"plus"===s.kind?Ep.fromString("+"):"minus"===s.kind?Ep.fromString("-"):Ep.fromString("");case"TypeParameter":return s.variance&&o.push(x(e,a)),o.push(e.call(a,"name")),s.bound&&o.push(e.call(a,"bound")),s.default&&o.push("=",e.call(a,"default")),Ep.concat(o);case"TypeofTypeAnnotation":return Ep.concat([Ep.fromString("typeof ",t),e.call(a,"argument")]);case"UnionTypeAnnotation":return Ep.fromString(" | ").join(e.map(a,"types"));case"VoidTypeAnnotation":return Ep.fromString("void",t);case"NullTypeAnnotation":return Ep.fromString("null",t);case"SymbolTypeAnnotation":return Ep.fromString("symbol",t);case"BigIntTypeAnnotation":return Ep.fromString("bigint",t);case"TSType":throw new Error("unprintable type: "+JSON.stringify(s.type));case"TSNumberKeyword":return Ep.fromString("number",t);case"TSBigIntKeyword":return Ep.fromString("bigint",t);case"TSObjectKeyword":return Ep.fromString("object",t);case"TSBooleanKeyword":return Ep.fromString("boolean",t);case"TSStringKeyword":return Ep.fromString("string",t);case"TSSymbolKeyword":return Ep.fromString("symbol",t);case"TSAnyKeyword":return Ep.fromString("any",t);case"TSVoidKeyword":return Ep.fromString("void",t);case"TSThisType":return Ep.fromString("this",t);case"TSNullKeyword":return Ep.fromString("null",t);case"TSUndefinedKeyword":return Ep.fromString("undefined",t);case"TSUnknownKeyword":return Ep.fromString("unknown",t);case"TSNeverKeyword":return Ep.fromString("never",t);case"TSArrayType":return Ep.concat([e.call(a,"elementType"),"[]"]);case"TSLiteralType":return e.call(a,"literal");case"TSUnionType":return Ep.fromString(" | ").join(e.map(a,"types"));case"TSIntersectionType":return Ep.fromString(" & ").join(e.map(a,"types"));case"TSConditionalType":return o.push(e.call(a,"checkType")," extends ",e.call(a,"extendsType")," ? ",e.call(a,"trueType")," : ",e.call(a,"falseType")),Ep.concat(o);case"TSInferType":return o.push("infer ",e.call(a,"typeParameter")),Ep.concat(o);case"TSParenthesizedType":return Ep.concat(["(",e.call(a,"typeAnnotation"),")"]);case"TSFunctionType":return Ep.concat([e.call(a,"typeParameters"),"(",g(e,t,a),") => ",e.call(a,"typeAnnotation","typeAnnotation")]);case"TSConstructorType":return Ep.concat(["new ",e.call(a,"typeParameters"),"(",g(e,t,a),") => ",e.call(a,"typeAnnotation","typeAnnotation")]);case"TSMappedType":return o.push(s.readonly?"readonly ":"","[",e.call(a,"typeParameter"),"]",s.optional?"?":""),s.typeAnnotation&&o.push(": ",e.call(a,"typeAnnotation"),";"),Ep.concat(["{\n",Ep.concat(o).indent(t.tabWidth),"\n}"]);case"TSTupleType":return Ep.concat(["[",Ep.fromString(", ").join(e.map(a,"elementTypes")),"]"]);case"TSNamedTupleMember":return o.push(e.call(a,"label")),s.optional&&o.push("?"),o.push(": ",e.call(a,"elementType")),Ep.concat(o);case"TSRestType":return Ep.concat(["...",e.call(a,"typeAnnotation")]);case"TSOptionalType":return Ep.concat([e.call(a,"typeAnnotation"),"?"]);case"TSIndexedAccessType":return Ep.concat([e.call(a,"objectType"),"[",e.call(a,"indexType"),"]"]);case"TSTypeOperator":return Ep.concat([e.call(a,"operator")," ",e.call(a,"typeAnnotation")]);case"TSTypeLiteral":return(ye=Ep.fromString(",\n").join(e.map(a,"members"))).isEmpty()?Ep.fromString("{}",t):(o.push("{\n",ye.indent(t.tabWidth),"\n}"),Ep.concat(o));case"TSEnumMember":return o.push(e.call(a,"id")),s.initializer&&o.push(" = ",e.call(a,"initializer")),Ep.concat(o);case"TSTypeQuery":return Ep.concat(["typeof ",e.call(a,"exprName")]);case"TSParameterProperty":return s.accessibility&&o.push(s.accessibility," "),s.export&&o.push("export "),s.static&&o.push("static "),s.readonly&&o.push("readonly "),o.push(e.call(a,"parameter")),Ep.concat(o);case"TSTypeReference":return Ep.concat([e.call(a,"typeName"),e.call(a,"typeParameters")]);case"TSQualifiedName":return Ep.concat([e.call(a,"left"),".",e.call(a,"right")]);case"TSAsExpression":var fe=e.call(a,"expression");return o.push(fe,Ep.fromString(" as "),e.call(a,"typeAnnotation")),Ep.concat(o);case"TSNonNullExpression":return Ep.concat([e.call(a,"expression"),"!"]);case"TSTypeAnnotation":return Ep.concat([": ",e.call(a,"typeAnnotation")]);case"TSIndexSignature":return Ep.concat([s.readonly?"readonly ":"","[",e.map(a,"parameters"),"]",e.call(a,"typeAnnotation")]);case"TSPropertySignature":return o.push(x(e,a),s.readonly?"readonly ":""),s.computed?o.push("[",e.call(a,"key"),"]"):o.push(e.call(a,"key")),o.push(s.optional?"?":"",e.call(a,"typeAnnotation")),Ep.concat(o);case"TSMethodSignature":return s.computed?o.push("[",e.call(a,"key"),"]"):o.push(e.call(a,"key")),s.optional&&o.push("?"),o.push(e.call(a,"typeParameters"),"(",g(e,t,a),")",e.call(a,"typeAnnotation")),Ep.concat(o);case"TSTypePredicate":return s.asserts&&o.push("asserts "),o.push(e.call(a,"parameterName")),s.typeAnnotation&&o.push(" is ",e.call(a,"typeAnnotation","typeAnnotation")),Ep.concat(o);case"TSCallSignatureDeclaration":return Ep.concat([e.call(a,"typeParameters"),"(",g(e,t,a),")",e.call(a,"typeAnnotation")]);case"TSConstructSignatureDeclaration":return s.typeParameters?o.push("new",e.call(a,"typeParameters")):o.push("new "),o.push("(",g(e,t,a),")",e.call(a,"typeAnnotation")),Ep.concat(o);case"TSTypeAliasDeclaration":return Ep.concat([s.declare?"declare ":"","type ",e.call(a,"id"),e.call(a,"typeParameters")," = ",e.call(a,"typeAnnotation"),";"]);case"TSTypeParameter":o.push(e.call(a,"name"));ce=e.getParentNode(0);var me=i.TSMappedType.check(ce);return s.constraint&&o.push(me?" in ":" extends ",e.call(a,"constraint")),s.default&&o.push(" = ",e.call(a,"default")),Ep.concat(o);case"TSTypeAssertion":return o.push("<",e.call(a,"typeAnnotation"),"> ",e.call(a,"expression")),Ep.concat(o);case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return Ep.concat(["<",Ep.fromString(", ").join(e.map(a,"params")),">"]);case"TSEnumDeclaration":var ye;return o.push(s.declare?"declare ":"",s.const?"const ":"","enum ",e.call(a,"id")),(ye=Ep.fromString(",\n").join(e.map(a,"members"))).isEmpty()?o.push(" {}"):o.push(" {\n",ye.indent(t.tabWidth),"\n}"),Ep.concat(o);case"TSExpressionWithTypeArguments":return Ep.concat([e.call(a,"expression"),e.call(a,"typeParameters")]);case"TSInterfaceBody":var ge;return(ge=Ep.fromString(";\n").join(e.map(a,"body"))).isEmpty()?Ep.fromString("{}",t):Ep.concat(["{\n",ge.indent(t.tabWidth),";","\n}"]);case"TSImportType":return o.push("import(",e.call(a,"argument"),")"),s.qualifier&&o.push(".",e.call(a,"qualifier")),s.typeParameters&&o.push(e.call(a,"typeParameters")),Ep.concat(o);case"TSImportEqualsDeclaration":return s.isExport&&o.push("export "),o.push("import ",e.call(a,"id")," = ",e.call(a,"moduleReference")),w(Ep.concat(o));case"TSExternalModuleReference":return Ep.concat(["require(",e.call(a,"expression"),")"]);case"TSModuleDeclaration":if("TSModuleDeclaration"===(ce=e.getParentNode()).type)o.push(".");else if(s.declare&&o.push("declare "),!s.global)if("StringLiteral"===s.id.type||"Literal"===s.id.type&&"string"==typeof s.id.value)o.push("module ");else if(s.loc&&s.loc.lines&&s.id.loc){s.loc.lines.sliceString(s.loc.start,s.id.loc.start).indexOf("module")>=0?o.push("module "):o.push("namespace ")}else o.push("namespace ");if(o.push(e.call(a,"id")),s.body&&"TSModuleDeclaration"===s.body.type)o.push(e.call(a,"body"));else if(s.body){var be=e.call(a,"body");be.isEmpty()?o.push(" {}"):o.push(" {\n",be.indent(t.tabWidth),"\n}")}return Ep.concat(o);case"TSModuleBlock":return e.call((function(e){return d(e,t,a)}),"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(s.type))}}(e,t,s);if(!l||p.isEmpty())return p;var h=!!l.extra&&l.extra.parenthesized,f=function(e,t){var n=[],r=e.getValue();r.decorators&&r.decorators.length>0&&!u.getParentExportDeclaration(e)?e.each((function(e){n.push(t(e),"\n")}),"decorators"):u.isExportDeclaration(r)&&r.declaration&&r.declaration.decorators&&e.each((function(e){n.push(t(e),"\n")}),"declaration","decorators");return Ep.concat(n)}(e,s);return f.isEmpty()?a.avoidRootParens||(h=h||e.needsParens()):c.push(f),h&&c.unshift("("),c.push(p),h&&c.push(")"),Ep.concat(c)}function d(e,t,r){var s=[],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:a.assert(t),s.push({node:t,printed:r(e)}))})),o&&n.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=s.length,h=[];return s.forEach((function(e,n){var r,i,a=e.printed,s=e.node,o=a.length>1,l=n>0,d=nn.length?r:n}function m(e,t,n){var r=e.getNode(),a=r.kind,s=[],o=r.value;i.FunctionExpression.check(o)||(o=r);var u=r.accessibility||r.access;"string"==typeof u&&s.push(u," "),r.static&&s.push("static "),r.abstract&&s.push("abstract "),r.readonly&&s.push("readonly "),o.async&&s.push("async "),o.generator&&s.push("*"),"get"!==a&&"set"!==a||s.push(a," ");var l=e.call(n,"key");return r.computed&&(l=Ep.concat(["[",l,"]"])),s.push(l),r.optional&&s.push("?"),r===o?(s.push(e.call(n,"typeParameters"),"(",g(e,t,n),")",e.call(n,"returnType")),r.body?s.push(" ",e.call(n,"body")):s.push(";")):(s.push(e.call(n,"value","typeParameters"),"(",e.call((function(e){return g(e,t,n)}),"value"),")",e.call(n,"value","returnType")),o.body?s.push(" ",e.call(n,"value","body")):s.push(";")),Ep.concat(s)}function y(e,t,n){var r=e.map(n,"arguments"),i=u.isTrailingCommaEnabled(t,"parameters"),a=Ep.fromString(", ").join(r);return a.getLineLength(1)>t.wrapColumn?(a=Ep.fromString(",\n").join(r),Ep.concat(["(\n",a.indent(t.tabWidth),i?",\n)":"\n)"])):Ep.concat(["(",a,")"])}function g(e,t,n){var r,i=e.getValue(),a=[];i.params?(r=i.params,a=e.map(n,"params")):i.parameters&&(r=i.parameters,a=e.map(n,"parameters")),i.defaults&&e.each((function(e){var t=e.getName(),r=a[t];r&&e.getValue()&&(a[t]=Ep.concat([r," = ",n(e)]))}),"defaults"),i.rest&&a.push(Ep.concat(["...",e.call(n,"rest")]));var s=Ep.fromString(", ").join(a);return s.length>1||s.getLineLength(1)>t.wrapColumn?(s=Ep.fromString(",\n").join(a),s=u.isTrailingCommaEnabled(t,"parameters")&&!i.rest&&"RestElement"!==r[r.length-1].type?Ep.concat([s,",\n"]):Ep.concat([s,"\n"]),Ep.concat(["\n",s.indent(t.tabWidth)])):s}function b(e,t,n){var r=e.getValue(),a=["export "];r.exportKind&&"type"===r.exportKind&&(r.declaration||a.push("type "));var s=t.objectCurlySpacing;if(i.Declaration.assert(r),(r.default||"ExportDefaultDeclaration"===r.type)&&a.push("default "),r.declaration)a.push(e.call(n,"declaration"));else if(r.specifiers){if(1===r.specifiers.length&&"ExportBatchSpecifier"===r.specifiers[0].type)a.push("*");else if(0===r.specifiers.length)a.push("{}");else if("ExportDefaultSpecifier"===r.specifiers[0].type){var o=[],u=[];if(e.each((function(e){"ExportDefaultSpecifier"===e.getValue().type?o.push(n(e)):u.push(n(e))}),"specifiers"),o.forEach((function(e,t){t>0&&a.push(", "),a.push(e)})),u.length>0){var l=Ep.fromString(", ").join(u);l.getLineLength(1)>t.wrapColumn&&(l=Ep.concat([Ep.fromString(",\n").join(u).indent(t.tabWidth),","])),o.length>0&&a.push(", "),l.length>1?a.push("{\n",l,"\n}"):t.objectCurlySpacing?a.push("{ ",l," }"):a.push("{",l,"}")}}else a.push(s?"{ ":"{",Ep.fromString(", ").join(e.map(n,"specifiers")),s?" }":"}");r.source&&a.push(" from ",e.call(n,"source"))}var c=Ep.concat(a);return";"===D(c)||r.declaration&&("FunctionDeclaration"===r.declaration.type||"ClassDeclaration"===r.declaration.type||"TSModuleDeclaration"===r.declaration.type||"TSInterfaceDeclaration"===r.declaration.type||"TSEnumDeclaration"===r.declaration.type)||(c=Ep.concat([c,";"])),c}function v(e,t){var r=u.getParentExportDeclaration(e);return r?n.default.strictEqual(r.type,"DeclareExportDeclaration"):t.unshift("declare "),Ep.concat(t)}function x(e,t){return e.call((function(e){var n=e.getValue();return n?"plus"===n?Ep.fromString("+"):"minus"===n?Ep.fromString("-"):t(e):Ep.fromString("")}),"variance")}function E(e,t){return e.length>1?Ep.concat([" ",e]):Ep.concat(["\n",w(e).indent(t.tabWidth)])}function D(e){var t=e.lastPos();do{var n=e.charAt(t);if(/\S/.test(n))return n}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(a.assert(e),t.quote){case"auto":var n=JSON.stringify(e),r=T(JSON.stringify(T(e)));return n.length>r.length?r:n;case"single":return T(JSON.stringify(T(e)));case"double":default:return JSON.stringify(e)}}function w(e){var t=D(e);return!t||"\n};".indexOf(t)<0?Ep.concat([e,";"]):e}t.Printer=function e(t){n.default.ok(this instanceof e);var r=t&&t.tabWidth;function i(e,t){return e=Object.assign({},e,t),function(t){return a(t,e)}}function a(e,s){if(n.default.ok(e instanceof o.default),(s=s||{}).includeComments)return Dp.printComments(e,i(s,{includeComments:!1}));var u=t.tabWidth;if(!r){var l=e.getNode().loc;l&&l.lines&&l.lines.guessTabWidth&&(t.tabWidth=l.lines.guessTabWidth())}var c=Ap.getReprinter(e),p=c?c(a):h(e,t,s,i(s,{includeComments:!0,avoidRootParens:!1}));return t.tabWidth=u,p}(t=vp.normalize(t)).sourceFileName=null,this.print=function(e){if(!e)return p;var n=a(o.default.from(e),{includeComments:!0,avoidRootParens:!1});return new l(n.toString(t),u.composeSourceMaps(t.inputSourceMap,n.getSourceMap(t.sourceMapName,t.sourceRoot)))},this.printGenerically=function(e){if(!e)return p;var n=o.default.from(e),r=t.reuseWhitespace;t.reuseWhitespace=!1;var i=new l(function e(n){return Dp.printComments(n,(function(n){return h(n,t,{includeComments:!0,avoidRootParens:!1},e)}))}(n).toString(t));return t.reuseWhitespace=r,i}}})),Pp=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.run=t.prettyPrint=t.print=t.types=t.parse=void 0;var n=cc.__importDefault(k),r=cc.__importStar(Mc);t.types=r,Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return Sp.parse}});var i=Mc;function a(e,t){return new wp.Printer(t).print(e)}function s(e){A.stdout.write(e)}Object.defineProperty(t,"visit",{enumerable:!0,get:function(){return i.visit}}),t.print=a,t.prettyPrint=function(e,t){return new wp.Printer(t).printGenerically(e)},t.run=function(e,t){return function(e,t,r){n.default.readFile(e,"utf-8",(function(e,n){e?console.error(e):function(e,t,n){var r=n&&n.writeback||s;t(Sp.parse(e,n),(function(e){r(a(e,n).code)}))}(n,t,r)}))}(A.argv[2],e,t)}})),Cp=P((function(e,t){function n(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=nc.buildLanguageCodeGen(nc.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 n=this.languageCodeGen.getVerbInfo(t);if(!n)throw new Error;e[t]=n}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 n=this.languageCodeGen.getAdjectiveInfo(t);if(!n)throw new Error;e[t]=n}catch(e){console.log(`Could not find any data for ${this.iso2} adjective candidate ${t}`)}return e}extractHelper(e,t,n){const r=t.apply(this,[e]);"string"==typeof r?n.push(r):Array.isArray(r)&&n.push(...r)}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 r=t[1],i=e=>"Literal"===e.type||"ArrayExpression"===e.type;let a;return i(r)?a=r:Pp.visit(r,{visitProperty:function(e){n(e.value,"verb")&&i(e.value.value)&&(a=e.value.value,this.abort()),this.traverse(e)}}),this.getEltsFromEltOrListArg(a)}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 n=this.getStringFromArg(t[1]);return null!=n&&"M"!==n&&"F"!==n&&"N"!==n?n:void 0}getEltsFromEltOrListArg(e){const t=[];if(!e)return[];const n=e=>"Literal"===e.type&&"string"==typeof e.value;if(n(e))t.push(e.value);else if("ArrayExpression"==e.type)for(const r of e.elements)n(r)&&t.push(r.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=[],r=this.getParsedExpr(e);if(this.checkAtLeastParams(r,1),r.length>1){const e=r[1];function i(e){for(const n of e)"Literal"===n.type&&t.push(n.value)}Pp.visit(e,{visitProperty:function(e){if(n(e.value,"adj")){const r=e.value.value;switch(r.type){case"Literal":t.push(r.value);break;case"ArrayExpression":i(r.elements);break;case"ObjectExpression":{const e=r.properties;for(const t of e)(n(t,"BEFORE")||n(t,"AFTER"))&&i(t.value.elements);break}}}else n(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=[],n=this.getParsedExpr(e);this.checkAtLeastParams(n,2);for(let e=0;e<=1;e++){const r=this.getStringFromArg(n[e]);r&&t.push(r)}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(n)}}})),kp='/**\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:kp},Fp=Object.freeze({__proto__:null,code:kp,default:_p}),Ip='/**\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"];',Op={code:Ip},Np=Object.freeze({__proto__:null,code:Ip,default:Op}),jp=C(Fp),Mp=C(Np);const Lp={pre:!0,textarea:!0},Bp=["pug","pug_mixins","pug_interp","pug_debug_filename","pug_debug_line","pug_debug_sources","pug_html"];var Rp=function(e,t){return new Vp(e,t).compile()},Up=Vp;function Vp(e,t){this.helper=new Cp.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")}Vp.prototype={runtime:function(e){return this.inlineRuntimeFunctions?(this.runtimeFunctionsUsed.push(e),"pug_"+e):"pug."+e},error:function(e,t,n){throw ni(t,e,{line:n.line,column:n.column,filename:n.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} | ${a[e]}`),e==r&&o.push("-".repeat(i+8)+"^"),u++);throw n.message=`error when parsing js at column ${i}, line:\n${o.join("\n")}`,n}let n;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]":"")+");}"),n=this.options.yseop?"pug_html":"locals.util.getFiltered()";let r="";if(this.options.embedResources){const e=this.helper.getAllLinguisticResources(this.options.linguisticResourcesToSolve);r=`const embeddedLinguisticResources = ${JSON.stringify(e)};`}return Pi(this.runtimeFunctionsUsed)+"function "+(this.options.templateName||"template")+"(locals) {"+r+'var pug_html = "", protect_stack = [], pug_mixins = {}, pug_interp;'+e+";return "+n+";}"},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 r=0;r0&&!t&&"Text"===e.nodes[r].type&&"Text"===e.nodes[r-1].type&&/\n$/.test(e.nodes[r-1].val)&&this.prettyIndent(1,!1),this.visit(e.nodes[r],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[",n=e.args||"";const r=e.block,i=e.attrs,a=this.attributeBlocks(e.attributeBlocks),s=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,s&&this.buf.push("pug_indent.push('"+Array(this.indents+1).join(s)+"');"),r||i.length||a.length){if(this.buf.push(t+".call({"),r){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||a.length?this.buf.push("},"):this.buf.push("}")}if(a.length){if(i.length){const e=this.attrs(i);a.unshift(e)}a.length>1?this.buf.push("attributes: "+this.runtime("merge")+"(["+a.join(",")+"])"):this.buf.push("attributes: "+a[0])}else if(i.length){const e=this.attrs(i);this.buf.push("attributes: "+e)}n?this.buf.push("}, "+n+");"):this.buf.push("});")}else this.buf.push(t+"("+n+");");s&&this.buf.push("pug_indent.pop();")}else{const i=this.buf.length;let a;n=n?n.split(","):[],n.length&&/^\.\.\./.test(n[n.length-1].trim())&&(a=n.pop().trim().replace(/^\.\.\./,"")),this.buf.push(t+" = pug_interp = function("+n.join(",")+"){"),this.buf.push("var block = (this && this.block), attributes = (this && this.attributes) || {};"),a&&(this.buf.push("var "+a+" = [];"),this.buf.push("for (pug_interp = "+n.length+"; pug_interp < arguments.length; pug_interp++) {"),this.buf.push(" "+a+".push(arguments[pug_interp]);"),this.buf.push("}")),this.buf.push("function addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }"),this.parentIndents++,this.visit(r,e),this.parentIndents--,this.buf.push("};"),this.nameFunction(e.name);const s=this.buf.length;this.mixins[u].instances.push({start:i,end:s})}},visitTag:function(e,t){this.indents++;const n=e.name,r=this.pp,i=this;function a(){t?i.bufferExpression(e.expr,!1):i.buffer(n)}!0===Lp[e.name]&&(this.escapePrettyMode=!0),this.hasCompiledTag||(this.hasCompiledDoctype||"html"!=n||this.visitDoctype(),this.hasCompiledTag=!0),r&&!e.isInline&&this.prettyIndent(0,!0),e.selfClosing||!this.xml&&kl[e.name]?(this.buffer("<"),a(),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(n+" is a self closing element: <"+n+"/> but contains nested content.","SELF_CLOSING_CONTENT",e)):(this.buffer("<"),a(),this.visitAttributes(e.attrs,this.attributeBlocks(e.attributeBlocks)),this.buffer(">"),e.code&&this.visitCode(e.code),this.visit(e.block,e),!r||e.isInline||!0===Lp[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(""),a(),this.buffer(">")),!0===Lp[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 n=this.attrs(e);t.unshift(n)}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 n=Cl(e,{terse:this.terse,format:t?"html":"object",runtime:this.runtime.bind(this)});return t&&this.bufferExpression(n),n},attributeBlocks:function(e){return e&&e.slice().map((function(e){return e.val}))}},Rp.CodeGenerator=Up;var Wp=Object.freeze({__proto__:null,default:"This is virtual rosaenlg-yseop/en/true!"}),zp=function(e,t){return t=t||"template",Function("pug",e+"\nreturn "+t+";")(Ni)};var qp=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ValueManager=void 0;t.ValueManager=class{constructor(e,t,n,r,i,a,s,o,u,l){this.languageImpl=e,this.refsManager=t,this.genderNumberManager=n,this.randomManager=r,this.adjectiveManager=i,this.helper=a,this.possessiveManager=s,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 n=Object.assign({},t);return n.owner=null,void this.possessiveManager.thirdPossession(t.owner,e,n)}const n=this.synManager.synFctHelper(e);this.valueOfFirstParam(n,t),t&&t.represents&&(this.genderNumberManager.setRefGender(t.represents,n,t),t.number&&this.genderNumberManager.setRefNumber(t.represents,t.number))}valueDate(e,t){if(this.saveRollbackManager.isEvaluatingEmpty)return"SOME_DATE";{const n=this.languageImpl.getFormattedDate(e,t),r=new RegExp(`[^${this.constants.tousCaracteresMinMajRe}].*`);return n.replace(r,"§$&§")}}valueSimplifiedString(e,t){if(this.saveRollbackManager.isEvaluatingEmpty)return void this.spy.appendPugHtml("SOME_STRING");let n;if(n=this.simplifiedStringsCache.get(e),!n)try{if(n=this.languageImpl.parseSimplifiedString(e),n.unknownNoun){if("M"!=n.gender&&"F"!=n.gender&&"N"!=n.gender){const e=new Error;throw e.name="NotFoundInDict",e.message=`${n.noun} is not in dict. Indicate a gender, M F or N!`,e}delete n.unknownNoun}this.simplifiedStringsCache.set(e,n)}catch(t){const n=new Error;throw n.name="ParseError",n.message=`could not parse <${e}>: ${t.message}`,n}const r=Object.assign({},n,t);delete r.noun,t&&t.debug&&console.log(`DEBUG: <${e}> => ${JSON.stringify(n)} - final: ${n.noun} ${JSON.stringify(r)}`),this.value(n.noun,r)}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,n,r,i){if(!n||0===n.length)return"";const a=[];for(const r of n)a.push(this.adjectiveManager.getAgreeAdj(r,e,{gender:t.gender,genderOwned:t.genderOwned,number:t.number,numberOwned:t.numberOwned,case:t.case,det:t.det,adjPos:i}));let s=null;if(a.length>1){let e;e=null!=r?r:this.languageImpl.getDefaultLastSeparatorForAdjectives(),s="¤"+e+"¤"}switch(a.length){case 1:return a[0];case 2:return a.join(s);default:return a.slice(0,a.length-1).join(", ")+s+a[a.length-1]}}getAdjBeforeAndAfter(e,t){const n={before:"",after:""};if(t&&t.adj)if(t.adj.BEFORE||t.adj.AFTER)n.before=this.getAdjStringFromList(e,t,t.adj.BEFORE,t.adj.SEP_BEFORE,"BEFORE"),n.after=this.getAdjStringFromList(e,t,t.adj.AFTER,t.adj.SEP_AFTER,"AFTER");else{let r=null;const i=this.getAdjPos(t);if("string"==typeof t.adj||t.adj instanceof String)r=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}r=this.getAdjStringFromList(e,t,t.adj,null,i)}switch(i){case"BEFORE":n.before=r;break;case"AFTER":n.after=r}}return n}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 n=this.getAdjBeforeAndAfter(e,t),r=this.languageImpl.getSubstantive(e,t.numberOwned,t.case);let i="";t.possessiveAdj&&(i=this.adjectiveManager.getAgreeAdj(t.possessiveAdj,e,t));const a=this.languageImpl.getFormattedNominalGroup(i,n.before,r,n.after);let s="";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:a.trim(),useTheWhenPlural:t.useTheWhenPlural,adjectiveAfterDet:""!==n.before,forceDes:t.FORCE_DES};s=this.languageImpl.getDet(t.det,e)}return s+" "+a}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 n=null!=t.agree?this.genderNumberManager.getRefGender(t.agree,t):"M";return this.helper.protectString(this.languageImpl.getOrdinalNumber(e,n))}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 n=null!=t.agree?this.genderNumberManager.getRefGender(t.agree,t):"M";return this.languageImpl.getOrdinal(e,n)}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))}}})),Hp=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SynManager=void 0;t.SynManager=class{constructor(e,t,n,r){this.randomManager=e,this.saveRollbackManager=t,this.defaultSynoMode=r.defaultSynoMode,this.helper=n,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,n){const r=this.synoSeq.get(e);function i(e){return e>=t?1:e+1}let a=i(r||0);for(;n.indexOf(a)>-1;)a=i(a);return a}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,n,r,i,a){switch(e){case"sequence":return{index:this.getNextSeqNotIn(n,r,a),exclude:a};case"once":{const e=this.randomManager.randomNotIn(r,i,a);if(e)return{index:e,exclude:a};{const e=this.getSynoTriggeredOn(n),t=a.filter((function(t){return-1==e.indexOf(t)})),s=[];if(e.length>1){const n=e[e.length-1];s.push(n),t.push(n)}return this.synoTriggered.set(n,s),{index:this.randomManager.randomNotIn(r,i,t),exclude:t}}}case"random":return{index:this.randomManager.randomNotIn(r,i,a),exclude:a}}}runSynz(e,t,n,r,i){const a=r.mode||this.defaultSynoMode;if(-1===["sequence","random","once"].indexOf(a)){const e=new Error;throw e.name="InvalidArgumentError",e.message=`invalid synonym mode: ${a}`,e}let s,o=i;if(!i){if(o=[],"once"===a){const e=this.getSynoTriggeredOn(t);o=o.concat(e)}r.force&&(s=r.force)}if(null==s){const i=this.getToTest(a,e,t,n,r,o);s=i.index,o=i.exclude}if(null!=s){this.saveRollbackManager.saveSituation("isEmpty");const i=this.spy.getPugHtml();if(e(s,r),this.helper.htmlHasNotChanged(i))o.push(s),this.saveRollbackManager.rollback(),this.runSynz(e,t,n,r,o);else switch(this.saveRollbackManager.rollback(),this.spy.appendPugHtml("¤"),e(s,r),this.spy.appendPugHtml("¤"),a){case"random":break;case"sequence":this.synoSeq.set(t,s);break;case"once":{const e=this.synoTriggered.get(t)||[];e.push(s),this.synoTriggered.set(t,e);break}}}}}})),Xp=Object.create(null),Jp="word";Xp["can't"]=[{value:"ca",tag:Jp},{value:"n't",tag:Jp}],Xp["CAN'T"]=[{value:"CA",tag:Jp},{value:"N'T",tag:Jp}],Xp["Can't"]=[{value:"Ca",tag:Jp},{value:"n't",tag:Jp}],Xp["Couldn't"]=[{value:"could",tag:Jp},{value:"n't",tag:Jp}],Xp["COULDN'T"]=[{value:"COULD",tag:Jp},{value:"N'T",tag:Jp}],Xp["Couldn't"]=[{value:"Could",tag:Jp},{value:"n't",tag:Jp}],Xp["don't"]=[{value:"do",tag:Jp},{value:"n't",tag:Jp}],Xp["DON'T"]=[{value:"DO",tag:Jp},{value:"N'T",tag:Jp}],Xp["Don't"]=[{value:"Do",tag:Jp},{value:"n't",tag:Jp}],Xp["doesn't"]=[{value:"does",tag:Jp},{value:"n't",tag:Jp}],Xp["DOESN'T"]=[{value:"DOES",tag:Jp},{value:"N'T",tag:Jp}],Xp["Doesn't"]=[{value:"Does",tag:Jp},{value:"n't",tag:Jp}],Xp["didn't"]=[{value:"did",tag:Jp},{value:"n't",tag:Jp}],Xp["DIDN'T"]=[{value:"DID",tag:Jp},{value:"N'T",tag:Jp}],Xp["Didn't"]=[{value:"Did",tag:Jp},{value:"n't",tag:Jp}],Xp["hadn't"]=[{value:"had",tag:Jp},{value:"n't",tag:Jp}],Xp["HADN'T"]=[{value:"HAD",tag:Jp},{value:"N'T",tag:Jp}],Xp["Hadn't"]=[{value:"Had",tag:Jp},{value:"n't",tag:Jp}],Xp["mayn't"]=[{value:"may",tag:Jp},{value:"n't",tag:Jp}],Xp["MAYN'T"]=[{value:"MAY",tag:Jp},{value:"N'T",tag:Jp}],Xp["Mayn't"]=[{value:"May",tag:Jp},{value:"n't",tag:Jp}],Xp["mightn't"]=[{value:"might",tag:Jp},{value:"n't",tag:Jp}],Xp["MIGHTN'T"]=[{value:"MIGHT",tag:Jp},{value:"N'T",tag:Jp}],Xp["Mightn't"]=[{value:"Might",tag:Jp},{value:"n't",tag:Jp}],Xp["mustn't"]=[{value:"must",tag:Jp},{value:"n't",tag:Jp}],Xp["MUSTN'T"]=[{value:"MUST",tag:Jp},{value:"N'T",tag:Jp}],Xp["Mustn't"]=[{value:"Must",tag:Jp},{value:"n't",tag:Jp}],Xp["needn't"]=[{value:"need",tag:Jp},{value:"n't",tag:Jp}],Xp["NEEDN'T"]=[{value:"NEED",tag:Jp},{value:"N'T",tag:Jp}],Xp["Needn't"]=[{value:"Need",tag:Jp},{value:"n't",tag:Jp}],Xp["oughtn't"]=[{value:"ought",tag:Jp},{value:"n't",tag:Jp}],Xp["OUGHTN'T"]=[{value:"OUGHT",tag:Jp},{value:"N'T",tag:Jp}],Xp["Oughtn't"]=[{value:"Ought",tag:Jp},{value:"n't",tag:Jp}],Xp["shan't"]=[{value:"sha",tag:Jp},{value:"n't",tag:Jp}],Xp["SHAN'T"]=[{value:"SHA",tag:Jp},{value:"N'T",tag:Jp}],Xp["Shan't"]=[{value:"Sha",tag:Jp},{value:"n't",tag:Jp}],Xp["shouldn't"]=[{value:"should",tag:Jp},{value:"n't",tag:Jp}],Xp["SHOULDN'T"]=[{value:"SHOULD",tag:Jp},{value:"N'T",tag:Jp}],Xp["Shouldn't"]=[{value:"Should",tag:Jp},{value:"n't",tag:Jp}],Xp["won't"]=[{value:"wo",tag:Jp},{value:"n't",tag:Jp}],Xp["WON'T"]=[{value:"WO",tag:Jp},{value:"N'T",tag:Jp}],Xp["Won't"]=[{value:"Wo",tag:Jp},{value:"n't",tag:Jp}],Xp["wouldn't"]=[{value:"would",tag:Jp},{value:"n't",tag:Jp}],Xp["WOULDN'T"]=[{value:"WOULD",tag:Jp},{value:"N'T",tag:Jp}],Xp["Wouldn't"]=[{value:"Would",tag:Jp},{value:"n't",tag:Jp}],Xp["ain't"]=[{value:"ai",tag:Jp},{value:"n't",tag:Jp}],Xp["AIN'T"]=[{value:"AI",tag:Jp},{value:"N'T",tag:Jp}],Xp["Ain't"]=[{value:"Ai",tag:Jp},{value:"n't",tag:Jp}],Xp["aren't"]=[{value:"are",tag:Jp},{value:"n't",tag:Jp}],Xp["AREN'T"]=[{value:"ARE",tag:Jp},{value:"N'T",tag:Jp}],Xp["Aren't"]=[{value:"Are",tag:Jp},{value:"n't",tag:Jp}],Xp["isn't"]=[{value:"is",tag:Jp},{value:"n't",tag:Jp}],Xp["ISN'T"]=[{value:"IS",tag:Jp},{value:"N'T",tag:Jp}],Xp["Isn't"]=[{value:"Is",tag:Jp},{value:"n't",tag:Jp}],Xp["wasn't"]=[{value:"was",tag:Jp},{value:"n't",tag:Jp}],Xp["WASN'T"]=[{value:"WAS",tag:Jp},{value:"N'T",tag:Jp}],Xp["Wasn't"]=[{value:"Was",tag:Jp},{value:"n't",tag:Jp}],Xp["weren't"]=[{value:"were",tag:Jp},{value:"n't",tag:Jp}],Xp["WEREN'T"]=[{value:"WERE",tag:Jp},{value:"N'T",tag:Jp}],Xp["Weren't"]=[{value:"Were",tag:Jp},{value:"n't",tag:Jp}],Xp["haven't"]=[{value:"have",tag:Jp},{value:"n't",tag:Jp}],Xp["HAVEN'T"]=[{value:"HAVE",tag:Jp},{value:"N'T",tag:Jp}],Xp["Haven't"]=[{value:"Have",tag:Jp},{value:"n't",tag:Jp}],Xp["hasn't"]=[{value:"has",tag:Jp},{value:"n't",tag:Jp}],Xp["HASN'T"]=[{value:"HAS",tag:Jp},{value:"N'T",tag:Jp}],Xp["Hasn't"]=[{value:"Has",tag:Jp},{value:"n't",tag:Jp}],Xp["daren't"]=[{value:"dare",tag:Jp},{value:"n't",tag:Jp}],Xp["DAREN'T"]=[{value:"DARE",tag:Jp},{value:"N'T",tag:Jp}],Xp["Daren't"]=[{value:"Dare",tag:Jp},{value:"n't",tag:Jp}],Xp["i'm"]=[{value:"i",tag:Jp},{value:"'m",tag:Jp}],Xp["I'M"]=[{value:"I",tag:Jp},{value:"'M",tag:Jp}],Xp["I'm"]=[{value:"I",tag:Jp},{value:"'m",tag:Jp}],Xp["i've"]=[{value:"i",tag:Jp},{value:"'ve",tag:Jp}],Xp["I'VE"]=[{value:"I",tag:Jp},{value:"'VE",tag:Jp}],Xp["I've"]=[{value:"I",tag:Jp},{value:"'ve",tag:Jp}],Xp["i'd"]=[{value:"i",tag:Jp},{value:"'d",tag:Jp}],Xp["I'D"]=[{value:"I",tag:Jp},{value:"'D",tag:Jp}],Xp["I'd"]=[{value:"I",tag:Jp},{value:"'d",tag:Jp}],Xp["i'll"]=[{value:"i",tag:Jp},{value:"'ll",tag:Jp}],Xp["I'LL"]=[{value:"I",tag:Jp},{value:"'LL",tag:Jp}],Xp["I'll"]=[{value:"I",tag:Jp},{value:"'ll",tag:Jp}],Xp["you've"]=[{value:"you",tag:Jp},{value:"'ve",tag:Jp}],Xp["YOU'VE"]=[{value:"YOU",tag:Jp},{value:"'VE",tag:Jp}],Xp["You've"]=[{value:"You",tag:Jp},{value:"'ve",tag:Jp}],Xp["you'd"]=[{value:"you",tag:Jp},{value:"'d",tag:Jp}],Xp["YOU'D"]=[{value:"YOU",tag:Jp},{value:"'D",tag:Jp}],Xp["You'd"]=[{value:"You",tag:Jp},{value:"'d",tag:Jp}],Xp["you'll"]=[{value:"you",tag:Jp},{value:"'ll",tag:Jp}],Xp["YOU'LL"]=[{value:"YOU",tag:Jp},{value:"'LL",tag:Jp}],Xp["You'll"]=[{value:"You",tag:Jp},{value:"'ll",tag:Jp}],Xp["they've"]=[{value:"they",tag:Jp},{value:"'ve",tag:Jp}],Xp["THEY'VE"]=[{value:"THEY",tag:Jp},{value:"'VE",tag:Jp}],Xp["They've"]=[{value:"They",tag:Jp},{value:"'ve",tag:Jp}],Xp["they'd"]=[{value:"they",tag:Jp},{value:"'d",tag:Jp}],Xp["THEY'D"]=[{value:"THEY",tag:Jp},{value:"'D",tag:Jp}],Xp["They'd"]=[{value:"They",tag:Jp},{value:"'d",tag:Jp}],Xp["they'll"]=[{value:"they",tag:Jp},{value:"'ll",tag:Jp}],Xp["THEY'LL"]=[{value:"THEY",tag:Jp},{value:"'LL",tag:Jp}],Xp["They'll"]=[{value:"They",tag:Jp},{value:"'ll",tag:Jp}],Xp["they're"]=[{value:"they",tag:Jp},{value:"'re",tag:Jp}],Xp["THEY'RE"]=[{value:"THEY",tag:Jp},{value:"'RE",tag:Jp}],Xp["They're"]=[{value:"They",tag:Jp},{value:"'re",tag:Jp}],Xp["we've"]=[{value:"we",tag:Jp},{value:"'ve",tag:Jp}],Xp["WE'VE"]=[{value:"WE",tag:Jp},{value:"'VE",tag:Jp}],Xp["We've"]=[{value:"We",tag:Jp},{value:"'ve",tag:Jp}],Xp["we'd"]=[{value:"we",tag:Jp},{value:"'d",tag:Jp}],Xp["WE'D"]=[{value:"WE",tag:Jp},{value:"'D",tag:Jp}],Xp["We'd"]=[{value:"We",tag:Jp},{value:"'d",tag:Jp}],Xp["we'll"]=[{value:"we",tag:Jp},{value:"'ll",tag:Jp}],Xp["WE'LL"]=[{value:"WE",tag:Jp},{value:"'LL",tag:Jp}],Xp["We'll"]=[{value:"We",tag:Jp},{value:"'ll",tag:Jp}],Xp["we're"]=[{value:"we",tag:Jp},{value:"'re",tag:Jp}],Xp["WE'RE"]=[{value:"WE",tag:Jp},{value:"'RE",tag:Jp}],Xp["We're"]=[{value:"We",tag:Jp},{value:"'re",tag:Jp}],Xp["she'd"]=[{value:"she",tag:Jp},{value:"'d",tag:Jp}],Xp["SHE'D"]=[{value:"SHE",tag:Jp},{value:"'D",tag:Jp}],Xp["She'd"]=[{value:"She",tag:Jp},{value:"'d",tag:Jp}],Xp["she'll"]=[{value:"she",tag:Jp},{value:"'ll",tag:Jp}],Xp["SHE'LL"]=[{value:"SHE",tag:Jp},{value:"'LL",tag:Jp}],Xp["She'll"]=[{value:"She",tag:Jp},{value:"'ll",tag:Jp}],Xp["she's"]=[{value:"she",tag:Jp},{value:"'s",tag:Jp}],Xp["SHE'S"]=[{value:"SHE",tag:Jp},{value:"'S",tag:Jp}],Xp["She's"]=[{value:"She",tag:Jp},{value:"'s",tag:Jp}],Xp["he'd"]=[{value:"he",tag:Jp},{value:"'d",tag:Jp}],Xp["HE'D"]=[{value:"HE",tag:Jp},{value:"'D",tag:Jp}],Xp["He'd"]=[{value:"He",tag:Jp},{value:"'d",tag:Jp}],Xp["he'll"]=[{value:"he",tag:Jp},{value:"'ll",tag:Jp}],Xp["HE'LL"]=[{value:"HE",tag:Jp},{value:"'LL",tag:Jp}],Xp["He'll"]=[{value:"He",tag:Jp},{value:"'ll",tag:Jp}],Xp["he's"]=[{value:"he",tag:Jp},{value:"'s",tag:Jp}],Xp["HE'S"]=[{value:"HE",tag:Jp},{value:"'S",tag:Jp}],Xp["He's"]=[{value:"He",tag:Jp},{value:"'s",tag:Jp}],Xp["it'd"]=[{value:"it",tag:Jp},{value:"'d",tag:Jp}],Xp["IT'D"]=[{value:"IT",tag:Jp},{value:"'D",tag:Jp}],Xp["It'd"]=[{value:"It",tag:Jp},{value:"'d",tag:Jp}],Xp["it'll"]=[{value:"it",tag:Jp},{value:"'ll",tag:Jp}],Xp["IT'LL"]=[{value:"IT",tag:Jp},{value:"'LL",tag:Jp}],Xp["It'll"]=[{value:"It",tag:Jp},{value:"'ll",tag:Jp}],Xp["it's"]=[{value:"it",tag:Jp},{value:"'s",tag:Jp}],Xp["IT'S"]=[{value:"IT",tag:Jp},{value:"'S",tag:Jp}],Xp["It's"]=[{value:"It",tag:Jp},{value:"'s",tag:Jp}],Xp["what've"]=[{value:"what",tag:Jp},{value:"'ve",tag:Jp}],Xp["WHAT'VE"]=[{value:"WHAT",tag:Jp},{value:"'VE",tag:Jp}],Xp["What've"]=[{value:"What",tag:Jp},{value:"'ve",tag:Jp}],Xp["what'd"]=[{value:"what",tag:Jp},{value:"'d",tag:Jp}],Xp["WHAT'D"]=[{value:"WHAT",tag:Jp},{value:"'D",tag:Jp}],Xp["What'd"]=[{value:"What",tag:Jp},{value:"'d",tag:Jp}],Xp["what'll"]=[{value:"what",tag:Jp},{value:"'ll",tag:Jp}],Xp["WHAT'LL"]=[{value:"WHAT",tag:Jp},{value:"'LL",tag:Jp}],Xp["What'll"]=[{value:"What",tag:Jp},{value:"'ll",tag:Jp}],Xp["what're"]=[{value:"what",tag:Jp},{value:"'re",tag:Jp}],Xp["WHAT'RE"]=[{value:"WHAT",tag:Jp},{value:"'RE",tag:Jp}],Xp["What're"]=[{value:"What",tag:Jp},{value:"'re",tag:Jp}],Xp["who've"]=[{value:"who",tag:Jp},{value:"'ve",tag:Jp}],Xp["WHO'VE"]=[{value:"WHO",tag:Jp},{value:"'VE",tag:Jp}],Xp["Who've"]=[{value:"Who",tag:Jp},{value:"'ve",tag:Jp}],Xp["who'd"]=[{value:"who",tag:Jp},{value:"'d",tag:Jp}],Xp["WHO'D"]=[{value:"WHO",tag:Jp},{value:"'D",tag:Jp}],Xp["Who'd"]=[{value:"Who",tag:Jp},{value:"'d",tag:Jp}],Xp["who'll"]=[{value:"who",tag:Jp},{value:"'ll",tag:Jp}],Xp["WHO'LL"]=[{value:"WHO",tag:Jp},{value:"'LL",tag:Jp}],Xp["Who'll"]=[{value:"Who",tag:Jp},{value:"'ll",tag:Jp}],Xp["who're"]=[{value:"who",tag:Jp},{value:"'re",tag:Jp}],Xp["WHO'RE"]=[{value:"WHO",tag:Jp},{value:"'RE",tag:Jp}],Xp["Who're"]=[{value:"Who",tag:Jp},{value:"'re",tag:Jp}],Xp["when've"]=[{value:"when",tag:Jp},{value:"'ve",tag:Jp}],Xp["WHEN'VE"]=[{value:"WHEN",tag:Jp},{value:"'VE",tag:Jp}],Xp["When've"]=[{value:"When",tag:Jp},{value:"'ve",tag:Jp}],Xp["when'd"]=[{value:"when",tag:Jp},{value:"'d",tag:Jp}],Xp["WHEN'D"]=[{value:"WHEN",tag:Jp},{value:"'D",tag:Jp}],Xp["When'd"]=[{value:"When",tag:Jp},{value:"'d",tag:Jp}],Xp["when'll"]=[{value:"when",tag:Jp},{value:"'ll",tag:Jp}],Xp["WHEN'LL"]=[{value:"WHEN",tag:Jp},{value:"'LL",tag:Jp}],Xp["When'll"]=[{value:"When",tag:Jp},{value:"'ll",tag:Jp}],Xp["when're"]=[{value:"when",tag:Jp},{value:"'re",tag:Jp}],Xp["WHEN'RE"]=[{value:"WHEN",tag:Jp},{value:"'RE",tag:Jp}],Xp["When're"]=[{value:"When",tag:Jp},{value:"'re",tag:Jp}],Xp["where've"]=[{value:"where",tag:Jp},{value:"'ve",tag:Jp}],Xp["WHERE'VE"]=[{value:"WHERE",tag:Jp},{value:"'VE",tag:Jp}],Xp["Where've"]=[{value:"Where",tag:Jp},{value:"'ve",tag:Jp}],Xp["where'd"]=[{value:"where",tag:Jp},{value:"'d",tag:Jp}],Xp["WHERE'D"]=[{value:"WHERE",tag:Jp},{value:"'D",tag:Jp}],Xp["Where'd"]=[{value:"Where",tag:Jp},{value:"'d",tag:Jp}],Xp["where'll"]=[{value:"where",tag:Jp},{value:"'ll",tag:Jp}],Xp["WHERE'LL"]=[{value:"WHERE",tag:Jp},{value:"'LL",tag:Jp}],Xp["Where'll"]=[{value:"Where",tag:Jp},{value:"'ll",tag:Jp}],Xp["where're"]=[{value:"where",tag:Jp},{value:"'re",tag:Jp}],Xp["WHERE'RE"]=[{value:"WHERE",tag:Jp},{value:"'RE",tag:Jp}],Xp["Where're"]=[{value:"Where",tag:Jp},{value:"'re",tag:Jp}],Xp["why've"]=[{value:"why",tag:Jp},{value:"'ve",tag:Jp}],Xp["WHY'VE"]=[{value:"WHY",tag:Jp},{value:"'VE",tag:Jp}],Xp["Why've"]=[{value:"Why",tag:Jp},{value:"'ve",tag:Jp}],Xp["why'd"]=[{value:"why",tag:Jp},{value:"'d",tag:Jp}],Xp["WHY'D"]=[{value:"WHY",tag:Jp},{value:"'D",tag:Jp}],Xp["Why'd"]=[{value:"Why",tag:Jp},{value:"'d",tag:Jp}],Xp["why'll"]=[{value:"why",tag:Jp},{value:"'ll",tag:Jp}],Xp["WHY'LL"]=[{value:"WHY",tag:Jp},{value:"'LL",tag:Jp}],Xp["Why'll"]=[{value:"Why",tag:Jp},{value:"'ll",tag:Jp}],Xp["why're"]=[{value:"why",tag:Jp},{value:"'re",tag:Jp}],Xp["WHY'RE"]=[{value:"WHY",tag:Jp},{value:"'RE",tag:Jp}],Xp["Why're"]=[{value:"Why",tag:Jp},{value:"'re",tag:Jp}],Xp["how've"]=[{value:"how",tag:Jp},{value:"'ve",tag:Jp}],Xp["HOW'VE"]=[{value:"HOW",tag:Jp},{value:"'VE",tag:Jp}],Xp["How've"]=[{value:"How",tag:Jp},{value:"'ve",tag:Jp}],Xp["how'd"]=[{value:"how",tag:Jp},{value:"'d",tag:Jp}],Xp["HOW'D"]=[{value:"HOW",tag:Jp},{value:"'D",tag:Jp}],Xp["How'd"]=[{value:"How",tag:Jp},{value:"'d",tag:Jp}],Xp["how'll"]=[{value:"how",tag:Jp},{value:"'ll",tag:Jp}],Xp["HOW'LL"]=[{value:"HOW",tag:Jp},{value:"'LL",tag:Jp}],Xp["How'll"]=[{value:"How",tag:Jp},{value:"'ll",tag:Jp}],Xp["how're"]=[{value:"how",tag:Jp},{value:"'re",tag:Jp}],Xp["HOW'RE"]=[{value:"HOW",tag:Jp},{value:"'RE",tag:Jp}],Xp["How're"]=[{value:"How",tag:Jp},{value:"'re",tag:Jp}],Xp["there've"]=[{value:"there",tag:Jp},{value:"'ve",tag:Jp}],Xp["THERE'VE"]=[{value:"THERE",tag:Jp},{value:"'VE",tag:Jp}],Xp["There've"]=[{value:"There",tag:Jp},{value:"'ve",tag:Jp}],Xp["there'd"]=[{value:"there",tag:Jp},{value:"'d",tag:Jp}],Xp["THERE'D"]=[{value:"THERE",tag:Jp},{value:"'D",tag:Jp}],Xp["There'd"]=[{value:"There",tag:Jp},{value:"'d",tag:Jp}],Xp["there'll"]=[{value:"there",tag:Jp},{value:"'ll",tag:Jp}],Xp["THERE'LL"]=[{value:"THERE",tag:Jp},{value:"'LL",tag:Jp}],Xp["There'll"]=[{value:"There",tag:Jp},{value:"'ll",tag:Jp}],Xp["there're"]=[{value:"there",tag:Jp},{value:"'re",tag:Jp}],Xp["THERE'RE"]=[{value:"THERE",tag:Jp},{value:"'RE",tag:Jp}],Xp["There're"]=[{value:"There",tag:Jp},{value:"'re",tag:Jp}],Xp["that've"]=[{value:"that",tag:Jp},{value:"'ve",tag:Jp}],Xp["THAT'VE"]=[{value:"THAT",tag:Jp},{value:"'VE",tag:Jp}],Xp["That've"]=[{value:"That",tag:Jp},{value:"'ve",tag:Jp}],Xp["that'd"]=[{value:"that",tag:Jp},{value:"'d",tag:Jp}],Xp["THAT'D"]=[{value:"THAT",tag:Jp},{value:"'D",tag:Jp}],Xp["That'd"]=[{value:"That",tag:Jp},{value:"'d",tag:Jp}],Xp["that'll"]=[{value:"that",tag:Jp},{value:"'ll",tag:Jp}],Xp["THAT'LL"]=[{value:"THAT",tag:Jp},{value:"'LL",tag:Jp}],Xp["That'll"]=[{value:"That",tag:Jp},{value:"'ll",tag:Jp}],Xp["that're"]=[{value:"that",tag:Jp},{value:"'re",tag:Jp}],Xp["THAT'RE"]=[{value:"THAT",tag:Jp},{value:"'RE",tag:Jp}],Xp["That're"]=[{value:"That",tag:Jp},{value:"'re",tag:Jp}],Xp["let's"]=[{value:"let",tag:Jp},{value:"'s",tag:Jp}],Xp["LET'S"]=[{value:"THAT",tag:Jp},{value:"'S",tag:Jp}],Xp["Let's"]=[{value:"Let",tag:Jp},{value:"'s",tag:Jp}],Xp["could've"]=[{value:"could",tag:Jp},{value:"'ve",tag:Jp}],Xp["COULD'VE"]=[{value:"COULD",tag:Jp},{value:"'VE",tag:Jp}],Xp["Could've"]=[{value:"Could",tag:Jp},{value:"'ve",tag:Jp}],Xp["should've"]=[{value:"should",tag:Jp},{value:"'ve",tag:Jp}],Xp["SHOULD'VE"]=[{value:"SHOULD",tag:Jp},{value:"'VE",tag:Jp}],Xp["Should've"]=[{value:"Should",tag:Jp},{value:"'ve",tag:Jp}],Xp["would've"]=[{value:"would",tag:Jp},{value:"'ve",tag:Jp}],Xp["WOULD'VE"]=[{value:"WOULD",tag:Jp},{value:"'VE",tag:Jp}],Xp["Would've"]=[{value:"Would",tag:Jp},{value:"'ve",tag:Jp}],Xp["i'll've"]=[{value:"i",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["I'LL'VE"]=[{value:"I",tag:Jp},{value:"'LL",tag:Jp},{value:"'VE",tag:Jp}],Xp["I'll've"]=[{value:"I",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["you'll've"]=[{value:"you",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["YOU'LL'VE"]=[{value:"YOU",tag:Jp},{value:"'LL",tag:Jp},{value:"'VE",tag:Jp}],Xp["You'll've"]=[{value:"You",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["they'll've"]=[{value:"they",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["THEY'LL'VE"]=[{value:"THEY",tag:Jp},{value:"'LL",tag:Jp},{value:"'VE",tag:Jp}],Xp["They'll've"]=[{value:"They",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["it'll've"]=[{value:"it",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["IT'LL'VE"]=[{value:"IT",tag:Jp},{value:"'LL",tag:Jp},{value:"'VE",tag:Jp}],Xp["It'll've"]=[{value:"It",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["he'll've"]=[{value:"he",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["HE'LL'VE"]=[{value:"HE",tag:Jp},{value:"'LL",tag:Jp},{value:"'VE",tag:Jp}],Xp["He'll've"]=[{value:"He",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["she'll've"]=[{value:"she",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["SHE'LL'VE"]=[{value:"SHE",tag:Jp},{value:"'LL",tag:Jp},{value:"'VE",tag:Jp}],Xp["She'll've"]=[{value:"She",tag:Jp},{value:"'ll",tag:Jp},{value:"'ve",tag:Jp}],Xp["shouldn't've"]=[{value:"should",tag:Jp},{value:"n't",tag:Jp},{value:"'ve",tag:Jp}],Xp["SHOULDN'T'VE"]=[{value:"SHOULD",tag:Jp},{value:"N'T",tag:Jp},{value:"'VE",tag:Jp}],Xp["Shouldn't've"]=[{value:"Should",tag:Jp},{value:"n't",tag:Jp},{value:"'ve",tag:Jp}],Xp["couldn't've"]=[{value:"could",tag:Jp},{value:"n't",tag:Jp},{value:"'ve",tag:Jp}],Xp["COULDN'T'VE"]=[{value:"COULD",tag:Jp},{value:"N'T",tag:Jp},{value:"'VE",tag:Jp}],Xp["Couldn't've"]=[{value:"Could",tag:Jp},{value:"n't",tag:Jp},{value:"'ve",tag:Jp}],Xp["wouldn't've"]=[{value:"would",tag:Jp},{value:"n't",tag:Jp},{value:"'ve",tag:Jp}],Xp["WOULDN'T'VE"]=[{value:"WOULD",tag:Jp},{value:"N'T",tag:Jp},{value:"'VE",tag:Jp}],Xp["Wouldn't've"]=[{value:"Would",tag:Jp},{value:"n't",tag:Jp},{value:"'ve",tag:Jp}],Xp["i'd've"]=[{value:"i",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["I'D'VE"]=[{value:"I",tag:Jp},{value:"'D",tag:Jp},{value:"'VE",tag:Jp}],Xp["I'd've"]=[{value:"I",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["you'd've"]=[{value:"you",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["YOU'D'VE"]=[{value:"YOU",tag:Jp},{value:"'D",tag:Jp},{value:"'VE",tag:Jp}],Xp["You'd've"]=[{value:"You",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["he'd've"]=[{value:"he",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["HE'D'VE"]=[{value:"HE",tag:Jp},{value:"'D",tag:Jp},{value:"'VE",tag:Jp}],Xp["He'd've"]=[{value:"He",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["she'd've"]=[{value:"she",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["SHE'D'VE"]=[{value:"SHE",tag:Jp},{value:"'D",tag:Jp},{value:"'VE",tag:Jp}],Xp["She'd've"]=[{value:"She",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["you'd've"]=[{value:"you",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["YOU'D'VE"]=[{value:"YOU",tag:Jp},{value:"'D",tag:Jp},{value:"'VE",tag:Jp}],Xp["You'd've"]=[{value:"You",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["they'd've"]=[{value:"they",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["THEY'D'VE"]=[{value:"THEY",tag:Jp},{value:"'D",tag:Jp},{value:"'VE",tag:Jp}],Xp["They'd've"]=[{value:"They",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["there'd've"]=[{value:"there",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["THERE'D'VE"]=[{value:"THERE",tag:Jp},{value:"'D",tag:Jp},{value:"'VE",tag:Jp}],Xp["There'd've"]=[{value:"There",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["it'd've"]=[{value:"it",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}],Xp["IT'D'VE"]=[{value:"IT",tag:Jp},{value:"'D",tag:Jp},{value:"'VE",tag:Jp}],Xp["It'd've"]=[{value:"It",tag:Jp},{value:"'d",tag:Jp},{value:"'ve",tag:Jp}];var $p=Xp,Yp=/\s+/g,Kp=/\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,Gp=/'/,Qp=/([a-z]+)('s)$/i,Zp=/([a-z]+s)(')$/i,eh=[{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:Kp,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"}],th={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"},nh=function(){var e=eh.slice(0),t=[],n=Object.create(null),r=function(e,t){var n,r=$p[e];return void 0===r?(n=e.match(Qp))||(n=e.match(Zp))?(t.push({value:n[1],tag:"word"}),t.push({value:n[2],tag:"word"})):t.push({value:e,tag:"word"}):(t.push(Object.assign({},r[0])),t.push(Object.assign({},r[1])),r[2]&&t.push(Object.assign({},r[2]))),t},i=function(e,n){var a,s,o,u=e.trim();if(n.length)for(a=function(e,t){var n,i,a,s,o=e.match(t.regex),u=e.split(t.regex),l=[],c=t.category,p=0;for(o=o||[],i=0,a=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 n=new Error;throw n.name="InvalidArgumentError",n.message=`invalid property ${t} as ${e} in ${this.iso2}`,n}}setAdjData(e,t){this.adjsData[e]||(this.adjsData[e]={});const n=Object.keys(t);for(const r of n)this.checkProp("adj",r),this.adjsData[e][r]=t[r]}setWordData(e,t){this.wordsData[e]||(this.wordsData[e]={});const n=Object.keys(t);for(const r of n)this.checkProp("word",r),this.wordsData[e][r]=t[r]}}})),ah=P((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=rh.Constants.stdPunctList}init(){this.dictManager=new ih.DictManager(this.iso2,this.validPropsWord,this.validPropsAdj),this.constants=new rh.Constants(this.allPunctList)}setIso2(e){const t=new Error;throw t.name="InvalidArgumentException",t.message="cannot set iso2",t}}})),sh=P((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageCommonEnglish=void 0;class n extends ah.LanguageCommon{constructor(){super(...arguments),this.iso2="en",this.validPropsWord=["plural","aan"],this.validPropsAdj=["aan"]}}t.LanguageCommonEnglish=n})),oh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonFrench/en/true!"}),uh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonGerman/en/true!"}),lh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonItalian/en/true!"}),ch=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonSpanish/en/true!"}),ph=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonOther/en/true!"}),hh=C(oh),dh=C(uh),fh=C(lh),mh=C(ch),yh=C(ph),gh=P((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 sh.LanguageCommonEnglish,t.init();break;case"fr":t=new hh.LanguageCommonFrench,t.init();break;case"de":t=new dh.LanguageCommonGerman,t.init();break;case"it":t=new fh.LanguageCommonItalian,t.init();break;case"es":t=new mh.LanguageCommonSpanish,t.init();break;default:t=new yh.LanguageCommonOther,t.setIso2(e),t.init()}return t}})),bh=P((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 ah.LanguageCommon}}),Object.defineProperty(t,"LanguageCommonEnglish",{enumerable:!0,get:function(){return sh.LanguageCommonEnglish}}),Object.defineProperty(t,"LanguageCommonFrench",{enumerable:!0,get:function(){return hh.LanguageCommonFrench}}),Object.defineProperty(t,"LanguageCommonGerman",{enumerable:!0,get:function(){return dh.LanguageCommonGerman}}),Object.defineProperty(t,"LanguageCommonItalian",{enumerable:!0,get:function(){return fh.LanguageCommonItalian}}),Object.defineProperty(t,"LanguageCommonSpanish",{enumerable:!0,get:function(){return mh.LanguageCommonSpanish}}),Object.defineProperty(t,"LanguageCommonOther",{enumerable:!0,get:function(){return yh.LanguageCommonOther}}),Object.defineProperty(t,"DictManager",{enumerable:!0,get:function(){return ih.DictManager}}),Object.defineProperty(t,"Constants",{enumerable:!0,get:function(){return rh.Constants}}),Object.defineProperty(t,"buildLanguageCommon",{enumerable:!0,get:function(){return gh.buildLanguageCommon}}),Object.defineProperty(t,"getIso2fromLocale",{enumerable:!0,get:function(){return gh.getIso2fromLocale}})})),vh=P((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 n=e;n=n.replace(/\.\.\./g,"…");const r=new RegExp(`([${t.constants.allPunctList}])((?:${t.constants.spaceOrNonBlockingClass}*[${bh.Constants.stdPunctList}])*)`,"g");return n=n.replace(r,(function(e,t,n){const r=new RegExp(`[${bh.Constants.stdPunctList}]`,"g");return`${t}${n.replace(r,(()=>""))}`})),n},t.cleanSpacesPunctuation=function(e,n){let r=e;if(r=r.replace(/\s{2,}/g," "),r=n.cleanSpacesPunctuation(r),n.cleanSpacesPunctuationDoDefault){const e=new RegExp(`(${n.constants.spaceOrNonBlockingClass}*)([${bh.Constants.stdPunctList}])(${n.constants.spaceOrNonBlockingClass}*)`,"g");r=r.replace(e,((e,t,n,r)=>`${t.replace(/\s/g,"")}${n} ${r.replace(/\s/g,"")}`))}r=r.replace(/\s+☚/g,"☚"),r=r.replace(/☛\s+/g,"☛"),r=r.replace(/\s+☚/g,"☚"),r=r.trim();const i=new RegExp(`[\\s¤]+${t.EATSPACE}[\\s¤]+`,"g");return r=r.replace(i,""),r=n.cleanSpacesPunctuationCorrect(r),r},t.parenthesis=function(e,t){let n=e;n=n.replace(/\(\s+/g,"("),n=n.replace(/\s+\)/g,")");const r=new RegExp("["+t.constants.tousCaracteresMinMajRe+"]\\(","g");n=n.replace(r,(e=>e.charAt(0)+" ("));const i=new RegExp("\\)["+t.constants.tousCaracteresMinMajRe+"]","g");return n=n.replace(i,(e=>") "+e.charAt(1))),n},t.quotes=function(e){let t=e,n=!1;return t=t.replace(new RegExp('(\\s*)"(\\s*)',"g"),(()=>n?(n=!1,'" '):(n=!0,' "'))),n&&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 n=e;{const e=new RegExp(`(${"[\\.!\\?¡¿]"})(${t.constants.spaceOrNonBlockingClass}*)([${t.constants.tousCaracteresMinMajRe}])`,"g");n=n.replace(e,((e,t,n,r)=>`${t}${n.replace(/\s/g,"")} ${r.toUpperCase()}`))}n=t.addCapsSpecific(n);{const e=new RegExp(`([☛☚])(${t.constants.spaceOrNonBlockingClass}*)([${t.constants.tousCaracteresMinMajRe}])`,"g");n=n.replace(e,((e,t,n,r)=>`${t}${n.replace(/ /g,"")}${r.toUpperCase()}`))}return n}})),xh=P((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 n=e;const r=new RegExp(`☚([${t.allPunctList}\\s]+)☛`,"g");n=n.replace(r,(()=>"☚☛"));const i=new RegExp(`☚([${t.allPunctList}\\s]+)☚`,"g");n=n.replace(i,(()=>"☚☚"));const a=new RegExp("(\\s*)(☞[☞\\s]*)\\s+","g");n=n.replace(a,((e,t,n)=>`${t}${n.replace(/\s/g,"")}`));const s=new RegExp("\\s+(☜[☜\\s]*)(\\s*)","g");return n=n.replace(s,((e,t,n)=>`${t.replace(/\s/g,"")}${n}`)),n},t.cleanStructAfterUnprotect=function(e){let t=e;const n=new RegExp("\\.
","g");return t=t.replace(n,""),t},t.specialSpacesToNormalSpaces=function(e){return e.replace(/¤/g," ")}})),Eh=P((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 n=e;const r=new RegExp("_TITLECASE_\\s*(.*?)\\s*_TITLECASE_","g");return n=n.replace(r,((e,n)=>t.titlecase(n))),n}})),Dh=P((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 n{constructor(e,t){this.protectedString=e,this.mappings=t}}t.ProtectMapping=n,t.unprotect=function(e,t){let n=e;for(const e in t){const r=new RegExp("¤","g");n=n.replace(e,t[e].replace(r,""))}return n},t.protectBlocks=function(e){const t=new RegExp("§([^§]*)§","g"),r={};let i=0;const a=e.replace(t,(function(e,t){const n="XESCAPED_SEQ_"+ ++i;return r[n]=t,n}));return new n(a,r)}})),Sh=P((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 n={replaced:e,elts:[]},r=new RegExp("<(/?)([a-zA-Z_-]+).*?>","g");return n.replaced=n.replaced.replace(r,(function(e,r,i){return n.elts.push(e),t.blockLevelElts.indexOf(i)>-1?"/"===r?"☚":"☛":"/"===r?"☜":"☞"})),n},t.replacePlaceholders=function(e,t){const n=new RegExp("[☛☚☞☜]","g"),r=e.replace(n,(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 xh.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 r};const n={AMPROTECT:"&",LTPROTECT:"<",GTPROTECT:">"};t.protectHtmlEscapeSeq=function(e){let t=e;for(const e in n)t=t.replace(n[e],e);return t},t.unProtectHtmlEscapeSeq=function(e){let t=e;for(const e in n)t=t.replace(e,n[e]);return t},t.changeRenderDebug=function(e){const t=new RegExp('',"g");return e.replace(t,(function(e,t){return`${t}`}))}})),Th=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterFrench/en/true!"}),Ah=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterSpanish/en/true!"}),wh=P((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,n,r){const i=`[${e.substring(0,1)}|${e.substring(0,1).toUpperCase()}]${e.substring(1)}`,a=new RegExp(`${this.constants.stdBeforeWithParenthesis}(${i})${this.constants.stdBetweenWithParenthesis}${t}${this.constants.stdBetweenWithParenthesis}`,"g");return r.replace(a,(function(e,t,r,i,a){return`${t}${r.substring(0,1).toLowerCase()!=r.substring(0,1)?n.substring(0,1).toUpperCase()+n.substring(1):n}${i}${a}`}))}}})),Ph=P((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.getAAn=void 0;const n={Irishman:1,SSO:1,HEPA:1,AI:1,honour:1};t.getAAn=function(e,t,r){if(!r){const e=new Error;throw e.name="TypeError",e.message="text must not be null",e}return e&&e[r]&&e[r].aan?e[r].aan:t&&1==t[r]||n&&1==n[r]?"an":"a"}})),Ch={0:1,8:1,80:1,organ:1,adjacent:1,emergent:1,abridged:1,unabridged:1,assimilative:1,impact:1,appetite:1,idea:1,objective:1,abundant:1,abused:1,unacceptable:1,unapproachable:1,unreachable:1,accurate:1,original:1,inaccurate:1,outside:1,incorrect:1,unfaithful:1,acid:1,excess:1,alkali:1,acquisitive:1,accumulative:1,active:1,acrobatic:1,athletic:1,inactive:1,office:1,indolent:1,intermittently:1,extinct:1,action:1,effect:1,increased:1,adjustive:1,additive:1,extra:1,intercalary:1,unaddressed:1,adhesive:1,adoptive:1,eyeglass:1,embossed:1,heraldic:1,ornament:1,inwrought:1,exceptionally:1,adroit:1,ingenious:1,axe:1,embarrassing:1,inept:1,uncoordinated:1,advantage:1,arms:1,anisotropic:1,annoying:1,enviable:1,unkind:1,unabashed:1,alarming:1,exceedingly:1,administrator:1,hour:1,altogether:1,absolutely:1,imperfect:1,improper:1,ill:1,isotropic:1,intensifier:1,unsatisfactory:1,intensive:1,idiot:1,even:1,unusually:1,afternoon:1,extreme:1,unconventional:1,additional:1,allowance:1,interjection:1,expression:1,archaic:1,unexpectedly:1,unfortunate:1,otherwise:1,extraordinarily:1,indefinite:1,unspecified:1,especially:1,answer:1,official:1,aggressive:1,unpleasant:1,assertion:1,open:1,acceptable:1,abusive:1,extraordinary:1,exhaustive:1,indigenous:1,individualistic:1,intractable:1,earlier:1,inscription:1,inscrutable:1,insecticide:1,insensate:1,intentional:1,unintentional:1,alternative:1,entity:1,assemblage:1,organism:1,object:1,animal:1,article:1,abstraction:1,arrow:1,ideal:1,exercise:1,abort:1,initial:1,easy:1,outstanding:1,achievement:1,irreversible:1,entrance:1,act:1,arriving:1,unscheduled:1,abrupt:1,orderly:1,enemy:1,invasion:1,indication:1,opponent:1,escape:1,orgasm:1,aim:1,attainment:1,unexpected:1,odor:1,irritant:1,uncontrolled:1,adult:1,optimist:1,arrogant:1,activity:1,ulcer:1,anesthetic:1,injection:1,illness:1,unrestrained:1,operation:1,appearance:1,abortion:1,aborting:1,antiseptic:1,autoclave:1,abnormal:1,unfavorable:1,adventuresome:1,audacious:1,undertaking:1,appreciation:1,aesthetic:1,indisposition:1,ignited:1,artificial:1,impression:1,elocutionary:1,unaffected:1,affirmative:1,assenting:1,obstreperous:1,exhilarating:1,agreeable:1,irritating:1,abrasive:1,airborne:1,eye:1,algorithm:1,inanimate:1,artesian:1,alphabetic:1,analphabetic:1,oracle:1,enigmatic:1,ambition:1,ample:1,exiguous:1,air:1,anabatic:1,output:1,analytic:1,analytical:1,angry:1,irascible:1,indignant:1,acrimonious:1,animated:1,anonymous:1,unknown:1,unnamed:1,assumed:1,excessive:1,onshore:1,overland:1,aquatic:1,introduction:1,event:1,unprecedented:1,enduring:1,absentminded:1,accusing:1,affected:1,analogous:1,asexual:1,asymptote:1,axis:1,extremely:1,overt:1,insane:1,indicated:1,empirical:1,encyclical:1,exasperating:1,experimental:1,unqualified:1,indefinitely:1,annuity:1,intervening:1,energetic:1,instant:1,intramuscular:1,entertaining:1,early:1,advanced:1,elegant:1,orange:1,unhurried:1,undesirable:1,evil:1,irresponsible:1,erratic:1,unscientific:1,important:1,organic:1,extravagant:1,exhibition:1,unsystematic:1,appositive:1,unconstitutional:1,undemocratic:1,aloof:1,economical:1,idiographic:1,idyllic:1,injurious:1,irrevocable:1,academic:1,unexcused:1,improbable:1,item:1,out:1,illegal:1,acronym:1,actor:1,upright:1,exchange:1,equal:1,option:1,assumption:1,owner:1,officer:1,attendant:1,illusory:1,artistic:1,impromptu:1,errant:1,unhindered:1,underhand:1,obstacle:1,applicant:1,appropriate:1,advance:1,insulin:1,elephant:1,unsuccessful:1,incision:1,oil:1,intoxicating:1,infected:1,injury:1,as:1,operating:1,explosive:1,image:1,n:1,appendage:1,accessible:1,apology:1,overdue:1,undue:1,apt:1,inappropriate:1,a:1,area:1,arbitrable:1,arm:1,artful:1,insufferably:1,artless:1,articulate:1,inarticulate:1,unblushing:1,unembarrassed:1,assertive:1,exclusive:1,unengaged:1,unguarded:1,attentive:1,inattentive:1,absent:1,attractive:1,enthralling:1,engaging:1,appealing:1,invention:1,attributive:1,example:1,audible:1,inaudible:1,auspicious:1,unpromising:1,accredited:1,autoloading:1,automated:1,alert:1,unsuspecting:1,unwitting:1,experiment:1,awareness:1,atrocious:1,ugly:1,awful:1,algebraic:1,optical:1,intellectual:1,adulterous:1,allegorical:1,alternating:1,undramatic:1,inalienable:1,acutely:1,electrostatic:1,episodic:1,imperial:1,inconceivable:1,insistent:1,institution:1,insufficient:1,extent:1,advantageous:1,excited:1,unoriginal:1,abbreviation:1,individual:1,extended:1,opposite:1,impatient:1,apologetic:1,unsteady:1,asymmetrical:1,inverse:1,exceptional:1,ocean:1,inconsiderate:1,unhelpful:1,irrational:1,uncritical:1,incompetent:1,emotional:1,irritable:1,enthusiastic:1,exaggerated:1,iron:1,irregular:1,unsympathetic:1,unconvincing:1,awkward:1,advancing:1,attempt:1,instance:1,openmouthed:1,interlocking:1,audit:1,energy:1,email:1,examination:1,airport:1,ophthalmoscope:1,art:1,overlapping:1,outfielder:1,electric:1,instrument:1,echo:1,influencing:1,overexposure:1,offer:1,artist:1,about:1,address:1,umpire:1,inescapable:1,aircraft:1,end:1,acquirer:1,emergency:1,urgent:1,expedient:1,unplanned:1,election:1,infant:1,error:1,allegory:1,oxide:1,unwanted:1,affair:1,arc:1,imposter:1,investment:1,established:1,enveloping:1,amusing:1,addition:1,enlivening:1,old:1,acre:1,impudent:1,assumptive:1,unbanded:1,optimum:1,improved:1,adust:1,unblemished:1,untarnished:1,unbloody:1,unbound:1,industrial:1,edged:1,inconvenient:1,inconveniently:1,eager:1,intelligent:1,unintelligent:1,intelligible:1,unintelligible:1,aristocratic:1,autocratic:1,undiplomatic:1,inaccessible:1,unjust:1,aimless:1,ornamental:1,ornate:1,amazing:1,impressive:1,unimpressive:1,unproductive:1,expert:1,amateurish:1,interesting:1,uninteresting:1,immoderate:1,unrealistic:1,inauspicious:1,inexorable:1,impolite:1,admirable:1,enjoyable:1,inverted:1,affable:1,ambiguous:1,unambiguous:1,unceremonious:1,angle:1,inferior:1,excellent:1,impassioned:1,editorial:1,exultant:1,anachronistic:1,infelicitous:1,unhappy:1,undiversified:1,efficient:1,inefficient:1,ominous:1,immodest:1,authoritative:1,unattractive:1,unconcerned:1,unbelievable:1,emotionally:1,expectant:1,obscure:1,indecent:1,internally:1,agreement:1,overly:1,adjournment:1,undertone:1,equivalent:1,extensive:1,adverse:1,avoidance:1,accused:1,exemption:1,organization:1,incurable:1,ancient:1,unpremeditated:1,assistant:1,involuntary:1,occupied:1,insurance:1,employee:1,account:1,enterprise:1,advertising:1,icebreaker:1,effort:1,oven:1,existing:1,enema:1,improvement:1,optimization:1,optimal:1,oversight:1,emotion:1,increase:1,illusion:1,ad:1,older:1,antique:1,opening:1,amorphous:1,external:1,incandescent:1,Acheronian:1,unshaded:1,unshadowed:1,iridescent:1,unnatural:1,unprejudiced:1,attitude:1,unbroken:1,exergonic:1,endergonic:1,idle:1,egg:1,infinite:1,incomputable:1,able:1,exact:1,incautious:1,offhand:1,intricately:1,incised:1,anorectic:1,appalling:1,unappealing:1,approving:1,ambitious:1,unambitious:1,amicable:1,unfruitful:1,adorable:1,antagonistic:1,anterior:1,apathetic:1,ardent:1,ascetic:1,unassertive:1,avid:1,adjective:1,adverb:1,amorous:1,angel:1,alliterative:1,altruistic:1,anomalous:1,ungrateful:1,antithetical:1,opportune:1,arch:1,arduous:1,ingenuous:1,inexpertly:1,oblique:1,airplane:1,austere:1,uneven:1,inhumane:1,unfair:1,easily:1,incoherent:1,equally:1,all:1,hysterical:1,immediate:1,incredulous:1,indisputable:1,impossibly:1,absurd:1,absurdly:1,unmerited:1,envious:1,adventurous:1,unwilling:1,obnoxious:1,unpleasantly:1,obvious:1,offensive:1,overbearingly:1,honest:1,obedient:1,impartially:1,offensively:1,ebullient:1,ecclesiastic:1,ecstatic:1,edge:1,educational:1,effectual:1,ingredient:1,upward:1,overhaul:1,approach:1,injured:1,exploratory:1,astronaut:1,Aborigine:1,automobile:1,intermediate:1,exciting:1,operational:1,expedition:1,organized:1,excursion:1,airing:1,intravenous:1,equilibrium:1,undesired:1,unsaturated:1,element:1,atom:1,earthenware:1,impetuous:1,outer:1,uncertain:1,assured:1,iffy:1,ineluctable:1,unavoidable:1,unalterable:1,adjusted:1,unadjusted:1,altered:1,in:1,uncharged:1,uncheerful:1,avocado:1,unripe:1,achromatic:1,ineffectual:1,effective:1,ineffective:1,elementary:1,effusive:1,egotistical:1,unselfish:1,eminent:1,encouraging:1,enterprising:1,equable:1,equably:1,equitable:1,inequitable:1,erudite:1,ethical:1,unethical:1,evasive:1,evolutionary:1,unequal:1,unexciting:1,unexcitingly:1,excusable:1,unpardonable:1,exorbitant:1,inexpedient:1,expensive:1,expensively:1,exponential:1,expressive:1,inexpressive:1,exuberant:1,insincerely:1,intimately:1,unfashionable:1,uncivil:1,inflexible:1,unforgiving:1,enthusiastically:1,impressively:1,uncalled:1,offense:1,attractively:1,informal:1,indistinct:1,unadvised:1,airtight:1,insolent:1,inhospitable:1,unhygienic:1,identical:1,identically:1,identifiable:1,idiomatic:1,idiotic:1,idolatrous:1,ignorant:1,illegible:1,illogical:1,illustrious:1,immaculate:1,impartial:1,impassive:1,impenitent:1,imperative:1,imperceptible:1,imperious:1,impersonal:1,impulsive:1,impious:1,explicit:1,impracticable:1,imprecise:1,impregnable:1,improvident:1,imprudent:1,adequate:1,inadequate:1,incisive:1,intentionally:1,incomparable:1,incongruous:1,incriminating:1,indelible:1,inexpressible:1,indeterminable:1,indeterminably:1,indifferent:1,indulgent:1,industrious:1,inextricable:1,informative:1,uninformative:1,inherent:1,unreproducible:1,inimitably:1,iniquitous:1,innate:1,inquiring:1,insatiable:1,invulnerable:1,insensitive:1,insinuating:1,insipid:1,inspiring:1,insuperable:1,interchangeable:1,intermittent:1,intolerant:1,intransitive:1,intuitive:1,inventive:1,invincible:1,irate:1,ironic:1,irrelevant:1,irretrievable:1,irreverent:1,immature:1,injudicious:1,unenthusiastically:1,elegantly:1,inclination:1,arrangement:1,oar:1,implement:1,erect:1,evisceration:1,upsurge:1,aperture:1,escalation:1,anxiety:1,elaboration:1,accumulation:1,umbrella:1,annual:1,alliance:1,attachment:1,incidence:1,iced:1,electron:1,inversion:1,unanalyzed:1,unused:1,unclean:1,impulse:1,unclouded:1,inclement:1,unsparing:1,astute:1,urban:1,approximate:1,intimate:1,artfully:1,immeasurable:1,unmelodious:1,unmemorable:1,unreasonably:1,unmusical:1,Apache:1,exposed:1,entire:1,essential:1,unnecessary:1,anxiously:1,obscene:1,obsequious:1,observant:1,obtrusive:1,unobtrusive:1,officious:1,abstract:1,obstructive:1,onerous:1,opaque:1,optimistic:1,optional:1,obligatory:1,ostentatious:1,outlandish:1,outspoken:1,overbearing:1,owlish:1,unpalatable:1,unpatriotic:1,unrecognizable:1,empire:1,uninterestingly:1,unpretentious:1,indiscriminate:1,escutcheon:1,imaginative:1,unrighteous:1,outward:1,uncomfortably:1,indulgently:1,unsentimental:1,insecurely:1,Italian:1,undercover:1,employer:1,automatic:1,ethnic:1,amusement:1,auxiliary:1,acrobat:1,upside:1,oval:1,occupation:1,agreed:1,alloy:1,impending:1,agency:1,American:1,invitation:1,engine:1,inshore:1,agglomerated:1,uprising:1,incendiary:1,unlit:1,armchair:1,uncomfortable:1,uncommon:1,unwonted:1,unusual:1,ambassador:1,unaccustomed:1,affinity:1,anecdotal:1,unpronounceable:1,impacted:1,unfeeling:1,unworkmanlike:1,earthquake:1,undivided:1,aliquot:1,oath:1,absolute:1,allover:1,unsmiling:1,uncomplimentary:1,unsociable:1,unsportsmanlike:1,enormous:1,unromantic:1,indifferently:1,affectionate:1,aggressively:1,unaccountable:1,unarguable:1,unassuming:1,unattainable:1,unbearable:1,uncanny:1,unchivalrous:1,uncompromising:1,uncouth:1,unctuous:1,undeniable:1,uneventful:1,ungrammatical:1,unimaginable:1,unstinting:1,unswervingly:1,unwarrantable:1,unwarranted:1,unworthy:1,honorable:1,urbane:1,eagerly:1,irreproachable:1,imminent:1,integral:1,identifiably:1,unquestioning:1,audience:1,insignificant:1,aggravating:1,unreasoning:1,abaxial:1,adaxial:1,adjectival:1,eccentric:1,endogenous:1,erotic:1,irreparable:1,ulterior:1,incorrigible:1,insufferable:1,attack:1,outdoor:1,eliminating:1,alley:1,ice:1,inflated:1,English:1,athlete:1,enclosed:1,elevated:1,illicit:1,occasion:1,orgiastic:1,elaborate:1,entertainment:1,eisteddfod:1,autumn:1,issue:1,automaton:1,island:1,electrical:1,emulsion:1,ideology:1,appliance:1,ester:1,ether:1,alcohol:1,asterisk:1,agent:1,interpretation:1,incomplete:1,uncompleted:1,encyclopedia:1,omnibus:1,imperturbable:1,indecipherable:1,alcove:1,urn:1,umbel:1,ability:1,utterly:1,uninvolved:1,inconclusive:1,indeterminate:1,unconsummated:1,insect:1,atrophied:1,unenforceable:1,uncrowded:1,inharmonious:1,accent:1,ascending:1,adjunct:1,exploded:1,ordained:1,egregious:1,inconspicuous:1,unnoticeable:1,indiscernible:1,inconstant:1,intricate:1,apache:1,impressionistic:1,acting:1,inspired:1,outrageous:1,ecological:1,undignified:1,opposing:1,almost:1,up:1,attestation:1,appointment:1,honorary:1,acetyl:1,artificially:1,opportunity:1,expenditure:1,allegro:1,atomic:1,ultimatum:1,abatement:1,incandescing:1,amino:1,isomer:1,illegitimate:1,industry:1,ion:1,amine:1,ore:1,amendment:1,ironclad:1,unanswerable:1,endless:1,irrepressible:1,intended:1,argumentative:1,unbranched:1,enhanced:1,uncooperative:1,inconsiderable:1,insubstantial:1,airy:1,incarnate:1,incorporeal:1,aplanatic:1,apochromatic:1,amendable:1,unregenerate:1,uncorrectable:1,unmannered:1,uncreative:1,excessively:1,appraising:1,acute:1,emir:1,understanding:1,apprentice:1,IT:1,understudy:1,exam:1,institute:1,analysis:1,isotope:1,offended:1,itemized:1,analogy:1,X:1,ax:1,underlying:1,uncut:1,ongoing:1,obsolete:1,infernal:1,earthy:1,indelicate:1,outcome:1,indecisive:1,interrogation:1,avowed:1,undeclared:1,unacknowledged:1,abyss:1,estate:1,indefeasible:1,unforfeitable:1,undefeated:1,undefined:1,indefinable:1,adaptation:1,inflected:1,exquisite:1,overdelicate:1,infrangible:1,exacting:1,undemanding:1,easygoing:1,importunate:1,incumbent:1,endowed:1,internship:1,exalted:1,electrician:1,interior:1,oculist:1,A:1,intense:1,inclined:1,optometrist:1,investigation:1,inquiry:1,oocyte:1,international:1,endoscope:1,antigen:1,electrochemical:1,arbitrary:1,ejaculate:1,ordinal:1,estimate:1,argument:1,engineer:1,authoritarian:1,irrefutable:1,implicative:1,undependable:1,independent:1,accident:1,equation:1,unpredictable:1,elongated:1,uncomplicated:1,undiluted:1,alcoholic:1,astonishingly:1,undeviating:1,indirect:1,appreciative:1,overall:1,arthroscope:1,anus:1,embolus:1,artery:1,intraocular:1,undescended:1,unstable:1,anticoagulant:1,oily:1,application:1,origin:1,income:1,alibi:1,order:1,encore:1,opinion:1,indivisible:1,indiscrete:1,abject:1,ingratiating:1,associate:1,under:1,unspectacular:1,actable:1,unactable:1,untheatrical:1,ox:1,absence:1,economically:1,earliest:1,earlyish:1,untimely:1,after:1,embryonic:1,incipient:1,earned:1,unearned:1,honor:1,uneasy:1,eastern:1,education:1,unlearned:1,untutored:1,operant:1,inoperative:1,efficacious:1,impelling:1,exhausting:1,effortless:1,economic:1,emphatic:1,impellent:1,elastic:1,elasticized:1,inelastic:1,elective:1,encroachment:1,antisocial:1,obligation:1,abomination:1,inclusive:1,affectation:1,assault:1,attorney:1,inside:1,alternate:1,unlawful:1,uplift:1,appeal:1,injunction:1,embargo:1,accusation:1,objection:1,interview:1,evaluation:1,electronic:1,inflammatory:1,informer:1,untruth:1,exotic:1,actress:1,inadequacy:1,accusatory:1,eligible:1,atmosphere:1,abstracting:1,encumbered:1,unencumbered:1,imposed:1,overarching:1,endocentric:1,exocentric:1,indefatigable:1,ecclesiastical:1,irreducible:1,unenthusiastic:1,epizoic:1,admission:1,equivocal:1,unequivocal:1,unquestionable:1,enlightened:1,import:1,exoteric:1,estimable:1,unflattering:1,adjoining:1,effortful:1,acquisition:1,assay:1,enzymatic:1,assignment:1,instructor:1,accounting:1,internal:1,integrated:1,isolated:1,ovum:1,omen:1,excuse:1,indentured:1,oral:1,engagement:1,unexcitable:1,aroused:1,unexcited:1,electrifying:1,unglamorous:1,accusative:1,inexhaustible:1,unfailing:1,unexhausted:1,unhoped:1,unthought:1,unfledged:1,illustrator:1,expired:1,unexpired:1,unexplainable:1,unexplained:1,implicit:1,expressible:1,extensile:1,extensible:1,erectile:1,inflatable:1,extinguishable:1,inextinguishable:1,internecine:1,inner:1,indwelling:1,exterior:1,indoor:1,eyeless:1,unplayable:1,fair:1,infallible:1,amateur:1,inerrant:1,unerring:1,odd:1,eerie:1,accelerated:1,alacritous:1,express:1,aberrant:1,invading:1,antibody:1,immune:1,orienting:1,acquired:1,aversive:1,attached:1,arithmetic:1,assessment:1,infectious:1,eyeful:1,extracurricular:1,extension:1,uninterrupted:1,imaginary:1,angiogram:1,arthrogram:1,encephalogram:1,audio:1,inert:1,omission:1,intervention:1,artwork:1,egotist:1,interlinear:1,environment:1,announcement:1,amnesty:1,aftershaft:1,Orpington:1,unfeathered:1,agreeably:1,infertile:1,unfertilized:1,initiatory:1,introductory:1,experience:1,architect:1,abnormality:1,unfit:1,intransigent:1,ossified:1,airship:1,adaptable:1,unbending:1,ungainly:1,adventive:1,author:1,affix:1,age:1,orchestra:1,estimation:1,Armageddon:1,army:1,amphibious:1,aerial:1,attacking:1,intelligence:1,operative:1,exclamation:1,envelope:1,erroneous:1,apostrophe:1,explanation:1,x:1,allegation:1,attribute:1,authority:1,identifying:1,orbit:1,unfirm:1,autonomous:1,anchor:1,emancipated:1,adscript:1,occasional:1,addled:1,edible:1,amiable:1,unfriendly:1,ally:1,abortive:1,overflowing:1,incident:1,untouched:1,empty:1,occupant:1,esthetic:1,oarlock:1,unfurnished:1,unfunded:1,unspecific:1,untechnical:1,observer:1,elevation:1,adjustment:1,octave:1,electromyograph:1,inventory:1,index:1,imitation:1,interruption:1,unvarying:1,inaugural:1,Irish:1,arranged:1,oration:1,utterance:1,etymology:1,inning:1,unskillful:1,ace:1,overwhelming:1,ungenerous:1,authentic:1,icy:1,elysian:1,unspeakable:1,incorrigibly:1,ungracious:1,aorta:1,unyielding:1,overstuffed:1,innocent:1,insidious:1,unhealthy:1,operable:1,unsound:1,ordeal:1,intersection:1,orgy:1,armed:1,unofficial:1,apartment:1,aimed:1,unappreciative:1,ingrown:1,angelic:1,enabling:1,imitative:1,onomatopoetic:1,away:1,untruthful:1,ignominious:1,opprobrious:1,agony:1,insoluble:1,interactive:1,asset:1,accepted:1,electoral:1,interchange:1,unruly:1,insubordinate:1,exploitatory:1,archer:1,agglutinating:1,anthill:1,uncongenial:1,inimical:1,igneous:1,arctic:1,unheated:1,icicle:1,ironical:1,overhasty:1,intangible:1,immanent:1,eventful:1,awe:1,arresting:1,astounding:1,imposing:1,expansive:1,observable:1,exaugural:1,outgoing:1,inference:1,illative:1,epicurean:1,advisory:1,informed:1,educated:1,arbiter:1,ordinary:1,eviction:1,appellate:1,alteration:1,assist:1,unpaid:1,exacerbation:1,unsafe:1,easiness:1,affront:1,inspection:1,annulment:1,oak:1,embankment:1,imprint:1,explosion:1,unsuitable:1,unknowledgeable:1,inability:1,uninhabited:1,abandoned:1,unoccupied:1,unfrequented:1,inheritable:1,inherited:1,unimpeachable:1,indictable:1,exalting:1,educative:1,explanatory:1,edifying:1,enlightening:1,illuminating:1,unenlightening:1,embedded:1,agile:1,inadvertent:1,accidental:1,unintended:1,analgesic:1,interspecific:1,interested:1,uninterested:1,irksome:1,intermural:1,ultra:1,extrinsic:1,adscititious:1,extraneous:1,interfering:1,intrusive:1,upper:1,overshot:1,underhung:1,inviting:1,anguished:1,elegiac:1,actionable:1,undeserved:1,observation:1,underworld:1,upheaval:1,allied:1,Allied:1,unauthorized:1,invented:1,overcast:1,enamel:1,airbrush:1,innately:1,unheard:1,unidentified:1,uncomprehended:1,undigested:1,unlamented:1,offshore:1,epic:1,immense:1,elfin:1,olive:1,extrajudicial:1,outlaw:1,ineligible:1,unlikely:1,untrammeled:1,unlisted:1,ex:1,semiliterate:1,unliveried:1,unexploded:1,epidemic:1,epiphytotic:1,epizootic:1,unextended:1,elongate:1,abbreviated:1,amoeba:1,arbovirus:1,icosahedral:1,aerobic:1,endospore:1,aerosol:1,archive:1,outlet:1,interminable:1,hourlong:1,overnight:1,idolized:1,uncaring:1,unlucky:1,unmade:1,antimagnetic:1,unmanageable:1,unmanned:1,unmarked:1,unfeminine:1,aging:1,unaged:1,unmeaning:1,undulating:1,ovoid:1,undisclosed:1,unmitigated:1,arrant:1,owl:1,irremovable:1,over:1,utmost:1,unmodulated:1,increasing:1,invalid:1,apparently:1,affecting:1,unmown:1,unborn:1,embryo:1,amnion:1,armored:1,overhanging:1,apple:1,eldritch:1,unearthly:1,elf:1,indispensable:1,obsession:1,ignoble:1,ordered:1,inhabitant:1,aquiline:1,intruder:1,obstinate:1,obligate:1,axiomatic:1,obstructed:1,occluded:1,unobstructed:1,unimpeded:1,unclogged:1,abhorrent:1,innocuous:1,unsavory:1,unoffending:1,unapologetic:1,equilateral:1,aluminum:1,obstruction:1,apparatus:1,anthology:1,uninvited:1,unconfirmed:1,unconditioned:1,on:1,off:1,untested:1,untried:1,unenclosed:1,untapped:1,interval:1,inopportune:1,incorporated:1,unstructured:1,unregulated:1,ultrasonic:1,avant:1,orthodox:1,unorthodox:1,alfresco:1,awning:1,unroofed:1,African:1,amphibian:1,errand:1,incentive:1,improvising:1,omelette:1,illustration:1,uncompensated:1,itch:1,itchy:1,unpainted:1,impalpable:1,offspring:1,unbiased:1,unimpassioned:1,irenic:1,unpeaceful:1,insightful:1,essay:1,errorless:1,ultimate:1,imperfection:1,abiding:1,impermanent:1,interim:1,Old:1,alligator:1,outline:1,elegy:1,instrumental:1,interlude:1,elderly:1,accompaniment:1,unploughed:1,offset:1,already:1,etching:1,interlaced:1,agitated:1,anticipated:1,exemplary:1,impenetrable:1,impermeable:1,abruptly:1,interfaith:1,implacable:1,implausible:1,idyll:1,acerbic:1,irritated:1,exasperated:1,upsetting:1,impolitic:1,unpopular:1,attainable:1,impossible:1,unable:1,ostrich:1,ichthyosaur:1,expandable:1,adder:1,s:1,exoskeleton:1,arachnid:1,idol:1,isolation:1,unmanning:1,autogiro:1,influential:1,impractical:1,embattled:1,extemporaneous:1,extemporary:1,extempore:1,unforeseen:1,inimitable:1,unskilled:1,unremunerative:1,atavist:1,oracular:1,orb:1,hourglass:1,arthropod:1,intriguing:1,underbred:1,axenic:1,unmixed:1,untrained:1,unquiet:1,amount:1,unrefined:1,untreated:1,oiled:1,unregistered:1,ivory:1,undomesticated:1,otter:1,annelid:1,uncrossed:1,illegally:1,aquaplane:1,irremediable:1,unprintable:1,ancestor:1,acceptant:1,Elizabethan:1,irresistible:1,immovable:1,overpowering:1,upstanding:1,undutiful:1,answering:1,unexpansive:1,unchecked:1,anechoic:1,awakened:1,orator:1,oratorical:1,affluent:1,armadillo:1,oyster:1,ear:1,abalone:1,escort:1,insolvent:1,ambidextrous:1,oldline:1,almond:1,ellipsoid:1,angular:1,ellipse:1,economy:1,agrarian:1,entirely:1,undersea:1,unreliable:1,undiagnosed:1,insatiate:1,unconscionable:1,ultracentrifuge:1,erotically:1,embrace:1,ejection:1,insecure:1,unsecured:1,unbarred:1,unlocked:1,insured:1,uninsured:1,alluring:1,enticing:1,abscessed:1,appealingly:1,elect:1,Atlanta:1,unsettled:1,itinerant:1,accomplished:1,inevitable:1,anestrous:1,acorn:1,awl:1,eel:1,aggregate:1,Antarctic:1,endangered:1,eared:1,itinerating:1,insufficiently:1,autopsy:1,autograph:1,autographed:1,epoch:1,ensiform:1,unsophisticated:1,only:1,Australian:1,East:1,ungulate:1,eclipse:1,endowment:1,orphan:1,average:1,Olympic:1,adept:1,unfurrowed:1,irregularly:1,unsocial:1,unseamed:1,apparantly:1,elicited:1,ovipositor:1,ant:1,heir:1,auction:1,unreasonable:1,unwritten:1,unbeatable:1,arrhythmic:1,aspen:1,analeptic:1,irritative:1,unbent:1,eagle:1,arched:1,inward:1,iambic:1,unstressed:1,accented:1,unaccented:1,atonic:1,anemic:1,enslaved:1,overlying:1,excise:1,bill:1,alphabet:1,ancillary:1,adjuvant:1,amazed:1,allergy:1,amenable:1,impressionable:1,unimpressionable:1,uncharitable:1,untaxed:1,insult:1,intemperate:1,overstrung:1,inch:1,echinoderm:1,association:1,uncluttered:1,untidy:1,unkempt:1,ukempt:1,untimbered:1,intolerable:1,outrageously:1,apex:1,untraceable:1,untraversed:1,anxious:1,experienced:1,eyewitness:1,untrustworthy:1,overturned:1,upturned:1,overhand:1,opencut:1,overhead:1,udder:1,emaciated:1,ass:1,inn:1,unweaned:1,uncastrated:1,unbranded:1,Asian:1,inductive:1,oscillation:1,administrative:1,affiliation:1,intern:1,assurgent:1,improving:1,upscale:1,untranslatable:1,unguiculate:1,upstairs:1,otiose:1,unavailing:1,appraisal:1,invariable:1,inviolable:1,invisible:1,occult:1,ultraviolet:1,augmentative:1,impairment:1,antelope:1,intensely:1,ape:1,anthropoid:1,execution:1,indictment:1,endeavor:1,unhealed:1,upset:1,arid:1,altitude:1,alarm:1,unwise:1,arboreous:1,unwoven:1,intrinsic:1,abundance:1,unfaceted:1,induced:1,abbey:1,academy:1,achondrite:1,adolescent:1,agnostic:1,antheridium:1,antiapartheid:1,aecium:1,omnivorous:1,advocate:1,existence:1,Algonquian:1,alkyl:1,allantois:1,allergen:1,allergic:1,allograph:1,ambulatory:1,ammine:1,inorganic:1,amphitheater:1,ampulla:1,anagram:1,anamorphic:1,angioma:1,annalistic:1,anode:1,antineoplastic:1,antiphon:1,antistrophe:1,antitype:1,apocalypse:1,apogee:1,aponeurosis:1,apophysis:1,apse:1,aquifer:1,arbitrational:1,arbitrative:1,arborous:1,archaeological:1,archdiocese:1,archduke:1,archegonium:1,archdeacon:1,archbishop:1,archiepiscopal:1,archipelago:1,archipelagic:1,aromatic:1,arteriovenous:1,aura:1,auricle:1,auricular:1,autacoid:1,autobiography:1,autobiographical:1,autobiographer:1,avocation:1,uncle:1,axon:1,esteemed:1,oblong:1,anemone:1,eelpout:1,adversity:1,aggregated:1,autistic:1,approved:1,integer:1,"18th":1,editor:1,electrocardiograph:1,electroencephalograph:1,electrolyte:1,electrically:1,era:1,equinox:1,eruptive:1,evidentiary:1,outgrowth:1,existential:1,aid:1,abbot:1,abbess:1,abrader:1,abutment:1,expressway:1,access:1,accordion:1,input:1,antihypertensive:1,antipyretic:1,antihistamine:1,admixture:1,Afro:1,afterthought:1,airfoil:1,atomizer:1,opal:1,orientation:1,emperor:1,indusium:1,inhalant:1,ink:1,isthmus:1,oligarchy:1,umbra:1,agricultural:1,establishment:1,astral:1,airfield:1,auditorium:1,antianxiety:1,altar:1,astringent:1,antiarrhythmic:1,anticonvulsant:1,antibiotic:1,arena:1,arcade:1,artifact:1,L:1,angled:1,indicator:1,man:1,emetic:1,apron:1,architectural:1,entablature:1,argyle:1,armor:1,ointment:1,arrowhead:1,antitank:1,isometry:1,octagon:1,embodiment:1,internet:1,icon:1,ichorous:1,icosahedron:1,interbreeding:1,audile:1,octal:1,ocular:1,eparchy:1,antispasmodic:1,antidote:1,auctioneer:1,amplifier:1,accessory:1,album:1,axletree:1,immunosuppressive:1,antiviral:1,excavator:1,adornment:1,upholstered:1,outlying:1,endogen:1,intradermal:1,interface:1,interfacial:1,abnormally:1,isotherm:1,earthen:1,endodontic:1,ultraconservative:1,evaporative:1,asymptotic:1,equator:1,ovule:1,alkaloidal:1,eraser:1,ionization:1,opener:1,inlaid:1,antipersonnel:1,actuary:1,axial:1,epicycle:1,intersecting:1,Anglican:1,Episcopalian:1,autosome:1,operculum:1,asteroid:1,embolism:1,undergarment:1,implant:1,H:1,insulating:1,enclosure:1,enzyme:1,autodidact:1,aneurysm:1,oxygenated:1,etymological:1,eponym:1,alderman:1,Afrikaans:1,anecdote:1,aspect:1,interdisciplinary:1,entrepreneur:1,embalmed:1,amputation:1,alphabetical:1,engineering:1,electro:1,unattended:1,adding:1,underground:1,antipollution:1,automotive:1,inexpensive:1,adjustable:1,accelerator:1,interrogative:1,orchestral:1,extrasystole:1,alkylating:1,antimalarial:1,ornamented:1,earring:1,antipsychotic:1,accelerating:1,antitussive:1,involucre:1,accession:1,acentric:1,acrocentric:1,ultramicroscope:1,avenged:1,unavenged:1,ankle:1,instrumentality:1,operator:1,engraving:1,engraved:1,acrylic:1,anti:1,emblem:1,unglazed:1,ionizing:1,oscillator:1,overload:1,offender:1,inhalation:1,S:1,armless:1,unventilated:1,axle:1,excavation:1,isosceles:1,emblematic:1,analog:1,altarpiece:1,antenna:1,anticancer:1,elliptical:1,exercising:1,ammunition:1,electromagnet:1,earphone:1,effigy:1,applied:1,elevator:1,antiemetic:1,ACE:1,oboe:1,entrenched:1,antagonist:1,etched:1,eyecup:1,eyebath:1,overhang:1,airline:1,embellishment:1,artillery:1,airstrip:1,iris:1,antimetabolite:1,antidepressant:1,applicator:1,extractor:1,ambulance:1,airliner:1,outbuilding:1,actinomycete:1,underpass:1,arbor:1,engraver:1,intaglio:1,electrode:1,emplacement:1,enlarged:1,ironmonger:1,infrared:1,oriental:1,anvil:1,encampment:1,altimeter:1,Eskimo:1,induction:1,inlay:1,operand:1,intake:1,inhaled:1,iPod:1,extendible:1,Arab:1,agal:1,unattached:1,undercarriage:1,expanse:1,emollient:1,interconnecting:1,antidiarrheal:1,intrauterine:1,eyepiece:1,antidiuretic:1,array:1,assembly:1,exploding:1,electrometer:1,entry:1,anthelmintic:1,antidiabetic:1,amphetamine:1,antifungal:1,electromagnetic:1,injectable:1,antacid:1,alkaloid:1,acoustic:1,Arabic:1,AND:1,uncontrollable:1,intestinal:1,antibacterial:1,irrigation:1,embroidered:1,Asiatic:1,oast:1,alto:1,irritation:1,opium:1,addictive:1,astronomical:1,oscillograph:1,outboard:1,outfitter:1,outrigger:1,anticholinergic:1,implanted:1,absorbent:1,incoming:1,eyebrow:1,attacker:1,adrenergic:1,exisitng:1,actual:1,edging:1,epicyclic:1,emitter:1,autofocus:1,overskirt:1,underslung:1,insulated:1,inhaler:1,applicance:1,unfinished:1,insert:1,antiquity:1,ostentatiously:1,expectorant:1,oxford:1,undecorated:1,orbiting:1,accurately:1,earth:1,autoloader:1,underprivileged:1,octant:1,inlet:1,ophthalmologist:1,Arabian:1,approximately:1,ignition:1,orthopedic:1,eight:1,incline:1,intercom:1,oscillatory:1,omnidirectional:1,edifice:1,enlargement:1,afghan:1,observatory:1,extract:1,evacuated:1,infinitely:1,angiotensin:1,unfretted:1,electromotive:1,enclosing:1,evaporating:1,oceangoing:1,extroverted:1,introverted:1,indifference:1,acceptance:1,unwillingness:1,imp:1,unneighborly:1,encircling:1,eyelike:1,ugliness:1,esthetically:1,unwelcome:1,inconvenience:1,incompatibility:1,installment:1,executive:1,identity:1,unbridgeable:1,endearing:1,uproar:1,unpolished:1,infection:1,inhibition:1,irresolute:1,intractably:1,unceremonial:1,ionic:1,amber:1,emerald:1,appetizing:1,enervation:1,appointed:1,impermanence:1,acceleration:1,unwieldy:1,exiguity:1,indulgence:1,overabundance:1,inundation:1,embarrassment:1,orchard:1,auger:1,inducement:1,infraction:1,animating:1,admiral:1,oppressive:1,epicure:1,anatomical:1,epithelium:1,epidermal:1,epithelial:1,arterial:1,unpaired:1,unshaved:1,encapsulated:1,autonomic:1,eardrum:1,apocrine:1,atrium:1,endocrine:1,organelle:1,allele:1,oncogene:1,exogenous:1,undifferentiated:1,erythroblast:1,erythrocyte:1,agranulocytic:1,alerting:1,offshoot:1,arteriovenus:1,inflamed:1,instep:1,aptitude:1,oarsman:1,episode:1,interest:1,unfamiliar:1,unresolvable:1,albatross:1,impediment:1,ideological:1,enticement:1,unstated:1,abstracted:1,unelaborated:1,acrid:1,amputee:1,immunochemical:1,unmated:1,exposure:1,ordering:1,Englishman:1,idiom:1,easier:1,upgrade:1,approaching:1,impasse:1,exception:1,information:1,arrest:1,added:1,infliction:1,abatable:1,annoyance:1,elaborated:1,antecedent:1,emery:1,attractor:1,unrestricted:1,influence:1,expected:1,eleven:1,unintentionally:1,agenda:1,IRA:1,affirmation:1,intuition:1,exemplar:1,iconic:1,imagined:1,afterimage:1,auditory:1,idealized:1,unshakable:1,esoteric:1,iconoclast:1,unenlightened:1,undeveloped:1,observed:1,anthropological:1,experimenter:1,elite:1,emphasis:1,animistic:1,unconscious:1,oversize:1,accountant:1,emoticon:1,anaphor:1,ancestral:1,ending:1,inflection:1,infinitive:1,adnoun:1,adverbial:1,uninflected:1,epithet:1,unmarried:1,appellation:1,annotation:1,undocumented:1,ASCII:1,undeciphered:1,optician:1,adventure:1,envoy:1,epigrammatic:1,ode:1,indented:1,attention:1,endorsement:1,inscribed:1,enumeration:1,atlas:1,appendix:1,identification:1,Israelite:1,Apostle:1,exposition:1,epistle:1,Apocryphal:1,equating:1,unconditional:1,appropriation:1,encrypted:1,inventor:1,endorsed:1,acknowledgment:1,authorization:1,enactment:1,offending:1,edict:1,alpha:1,instruction:1,edition:1,opera:1,anaphoric:1,ambiguity:1,inoffensive:1,incomprehensible:1,excerpt:1,intention:1,Easter:1,asserted:1,alleged:1,initiated:1,inked:1,analyst:1,outburst:1,extravagantly:1,award:1,aliyah:1,honours:1,unsupported:1,occurrence:1,affidavit:1,obituary:1,unproved:1,unimportant:1,evasion:1,outright:1,Islamic:1,incidental:1,unnecessarily:1,approximation:1,inexperienced:1,advertisement:1,internationally:1,exponent:1,expanded:1,eighth:1,embellishing:1,insignia:1,alien:1,algorithmic:1,ideographic:1,Indo:1,Autonomus:1,Indic:1,Iranian:1,Anatolian:1,echoencephalograph:1,echocardiograph:1,improvised:1,oratorio:1,unaccompanied:1,unchanging:1,aria:1,initialism:1,exclamatory:1,affricate:1,articulatory:1,incantation:1,investor:1,offering:1,adversary:1,accommodation:1,entreaty:1,individualized:1,impostor:1,expose:1,outpouring:1,assurance:1,unaccepted:1,earnest:1,armful:1,illuminant:1,Interpol:1,unseen:1,avalanche:1,augury:1,apparent:1,electrocardiogram:1,hallucinogenic:1,intramolecular:1,originally:1,uproarious:1,initiation:1,Olympics:1,equestrian:1,elimination:1,unsatisfied:1,immortal:1,expectation:1,undermining:1,actively:1,annoyed:1,appetizer:1,assortment:1,hors:1,Indian:1,uncooked:1,eating:1,elder:1,omelet:1,herb:1,authorized:1,illicitly:1,ale:1,aperitif:1,agave:1,effervescent:1,infusion:1,artisan:1,amalgam:1,orphaned:1,emerging:1,inseparable:1,anarchic:1,analogue:1,extremist:1,estimated:1,Algerian:1,episcopal:1,Augustinian:1,industrialized:1,environmentalist:1,actuarial:1,infantry:1,elected:1,inquisition:1,al:1,autocracy:1,evangelistic:1,embassy:1,inspecting:1,interconnected:1,assigned:1,abstractionist:1,Austrian:1,ecumenical:1,impoverished:1,eroded:1,artists:1,aggregation:1,archeological:1,earl:1,aqueous:1,isogram:1,estuary:1,alpine:1,immigrant:1,irrigated:1,entrepot:1,uncultivated:1,illuminated:1,unilluminated:1,overcrowded:1,inland:1,Elector:1,Arctic:1,atoll:1,ultramodern:1,Anglo:1,overseas:1,Alaskan:1,avenue:1,aerospace:1,arsenal:1,Andean:1,instinctive:1,urge:1,actuating:1,antilepton:1,indentation:1,Alpine:1,escarpment:1,animals:1,emigrant:1,inclusion:1,eliminator:1,outcropping:1,oxbow:1,alluvial:1,expanding:1,evaporated:1,underwater:1,incrustation:1,isle:1,Ethiopian:1,accursed:1,Egyptian:1,ibis:1,upholder:1,avatar:1,incarnation:1,archangel:1,Athenian:1,enormously:1,alchemist:1,eternal:1,inveterate:1,Athapaskan:1,Iroquoian:1,Amerindian:1,Iroquois:1,Anabaptist:1,adherent:1,Oscan:1,educator:1,addiction:1,executor:1,adviser:1,agon:1,aircrew:1,elixir:1,alkahest:1,immigration:1,acolyte:1,amalgamation:1,illiterate:1,anathema:1,admirer:1,apologist:1,apostle:1,appreciator:1,anthropologist:1,enlisted:1,asseverator:1,avower:1,astronomer:1,au:1,examiner:1,activist:1,assailant:1,entertainer:1,opportunist:1,ingroup:1,outsider:1,officiating:1,idler:1,adventurer:1,advisor:1,attache:1,investigator:1,oldster:1,interpreter:1,eater:1,economist:1,egghead:1,archeologist:1,executioner:1,eminence:1,employment:1,exhibit:1,aristocrat:1,interracial:1,opposition:1,overlay:1,aunt:1,infantryman:1,inheritance:1,unemployed:1,imam:1,imported:1,epidemiological:1,auditor:1,Ivy:1,entomologist:1,undergraduate:1,inspiration:1,unnaturally:1,intermediary:1,Orthodox:1,accomplice:1,effeminate:1,often:1,overprotective:1,admiring:1,arranger:1,organizer:1,anatomist:1,overflow:1,informant:1,obstetrician:1,Aegean:1,appointee:1,annually:1,achondroplastic:1,unlicensed:1,Aztec:1,announcer:1,exile:1,habitue:1,allayer:1,uncivilized:1,acquaintance:1,utterer:1,economizer:1,Army:1,elemental:1,evangelist:1,idealistic:1,innkeeper:1,oilman:1,upstart:1,individualist:1,Ismaili:1,antielectron:1,"8th":1,expurgated:1,Oxford:1,atomistic:1,innovative:1,Argentine:1,atmospheric:1,aviator:1,antiheretical:1,anarchist:1,ark:1,imbalance:1,encyclopedic:1,emission:1,appreciable:1,oppressively:1,insulator:1,inertial:1,easterly:1,equatorial:1,electroencephalogram:1,immunological:1,elongation:1,interaction:1,endemic:1,ascomycetous:1,ascocarp:1,asexually:1,ovary:1,arrowroot:1,evergreen:1,anther:1,introduced:1,asterid:1,orchid:1,inedible:1,epiphyte:1,elm:1,onion:1,adulterant:1,herbal:1,aquarium:1,ash:1,invasive:1,odorless:1,aphrodisiac:1,earthball:1,ascomycete:1,umbrellalike:1,inky:1,annulus:1,agaric:1,ascus:1,earthstar:1,apical:1,alga:1,undisturbed:1,epiphytic:1,umbelliform:1,inflorescence:1,indehiscent:1,aroma:1,oleoresin:1,unincorporated:1,unrealized:1,expense:1,extortionate:1,appanage:1,impost:1,ownership:1,IOU:1,importer:1,exporter:1,export:1,aged:1,auditing:1,institutional:1,individually:1,acyl:1,aldol:1,adsorbed:1,adsorbent:1,erosion:1,abscess:1,unrelated:1,inflow:1,inpouring:1,agglutinogen:1,oxidation:1,ecosystem:1,evening:1,absorber:1,are:1,encounter:1,ohm:1,ampere:1,oersted:1,AC:1,em:1,ounce:1,avoirdupois:1,apothecary:1,aliquant:1,unimaginably:1,associative:1,inordinate:1,inglorious:1,antipode:1,unbounded:1,equiangular:1,obtuse:1,epicycloid:1,octahedron:1,untroubled:1,assembled:1,person:1,uncorrected:1,epidural:1,erection:1,infective:1,aching:1,epileptic:1,inflammation:1,overactive:1,underactive:1,RNA:1,outbreak:1,atypical:1,autosomal:1,inborn:1,Rh:1,onset:1,infestation:1,opportunistic:1,ulceration:1,affliction:1,eruption:1,overgrowth:1,abdominal:1,abraded:1,epiphysis:1,umbilical:1,imperforate:1,ache:1,encephalitis:1,epicondyle:1,extremity:1,airway:1,aversion:1,affective:1,interconnection:1,airless:1,unwholesome:1,antiserum:1,irrecoverable:1,autoimmune:1,adaptive:1,isotonic:1,aliphatic:1,alkane:1,inhibitory:1,oxidizer:1,emulsifier:1,amphibole:1,antifreeze:1,antithyroid:1,impure:1,agate:1,oxygen:1,aldehyde:1,allotrope:1,antioxidant:1,oxidative:1,amylase:1,androgenic:1,androgen:1,adrenal:1,immunosuppressant:1,azo:1,oxidant:1,oxidizing:1,endorphin:1,omega:1,odorous:1,extravasated:1,antigenic:1,acacia:1,Eurasian:1,optically:1,iodine:1,isomeric:1,azure:1,odoriferous:1,oxidoreductase:1,absorption:1,alkaline:1,effervescing:1,iodide:1,onyx:1,antitoxin:1,isoagglutinin:1,immunoglobulin:1,incapacitating:1,oxyacid:1,anion:1,insertion:1,immeasurably:1,anniversary:1,intermission:1,arbitrarily:1,armlet:1},kh=Object.freeze({__proto__:null,organ:1,adjacent:1,emergent:1,abridged:1,unabridged:1,assimilative:1,impact:1,appetite:1,idea:1,objective:1,abundant:1,abused:1,unacceptable:1,unapproachable:1,unreachable:1,accurate:1,original:1,inaccurate:1,outside:1,incorrect:1,unfaithful:1,acid:1,excess:1,alkali:1,acquisitive:1,accumulative:1,active:1,acrobatic:1,athletic:1,inactive:1,office:1,indolent:1,intermittently:1,extinct:1,action:1,effect:1,increased:1,adjustive:1,additive:1,extra:1,intercalary:1,unaddressed:1,adhesive:1,adoptive:1,eyeglass:1,embossed:1,heraldic:1,ornament:1,inwrought:1,exceptionally:1,adroit:1,ingenious:1,axe:1,embarrassing:1,inept:1,uncoordinated:1,advantage:1,arms:1,anisotropic:1,annoying:1,enviable:1,unkind:1,unabashed:1,alarming:1,exceedingly:1,administrator:1,hour:1,altogether:1,absolutely:1,imperfect:1,improper:1,ill:1,isotropic:1,intensifier:1,unsatisfactory:1,intensive:1,idiot:1,even:1,unusually:1,afternoon:1,extreme:1,unconventional:1,additional:1,allowance:1,interjection:1,expression:1,archaic:1,unexpectedly:1,unfortunate:1,otherwise:1,extraordinarily:1,indefinite:1,unspecified:1,especially:1,answer:1,official:1,aggressive:1,unpleasant:1,assertion:1,open:1,acceptable:1,abusive:1,extraordinary:1,exhaustive:1,indigenous:1,individualistic:1,intractable:1,earlier:1,inscription:1,inscrutable:1,insecticide:1,insensate:1,intentional:1,unintentional:1,alternative:1,entity:1,assemblage:1,organism:1,object:1,animal:1,article:1,abstraction:1,arrow:1,ideal:1,exercise:1,abort:1,initial:1,easy:1,outstanding:1,achievement:1,irreversible:1,entrance:1,act:1,arriving:1,unscheduled:1,abrupt:1,orderly:1,enemy:1,invasion:1,indication:1,opponent:1,orgasm:1,aim:1,attainment:1,unexpected:1,odor:1,irritant:1,uncontrolled:1,adult:1,optimist:1,arrogant:1,activity:1,ulcer:1,anesthetic:1,injection:1,illness:1,unrestrained:1,operation:1,appearance:1,abortion:1,aborting:1,antiseptic:1,autoclave:1,abnormal:1,unfavorable:1,adventuresome:1,audacious:1,undertaking:1,appreciation:1,aesthetic:1,indisposition:1,ignited:1,artificial:1,impression:1,elocutionary:1,unaffected:1,affirmative:1,assenting:1,obstreperous:1,exhilarating:1,agreeable:1,irritating:1,abrasive:1,airborne:1,eye:1,algorithm:1,inanimate:1,artesian:1,alphabetic:1,analphabetic:1,oracle:1,enigmatic:1,ambition:1,ample:1,exiguous:1,air:1,anabatic:1,output:1,analytic:1,analytical:1,angry:1,irascible:1,indignant:1,acrimonious:1,animated:1,anonymous:1,unknown:1,unnamed:1,assumed:1,excessive:1,onshore:1,overland:1,aquatic:1,introduction:1,event:1,unprecedented:1,enduring:1,absentminded:1,accusing:1,affected:1,analogous:1,asexual:1,asymptote:1,axis:1,extremely:1,overt:1,insane:1,indicated:1,empirical:1,encyclical:1,exasperating:1,experimental:1,unqualified:1,indefinitely:1,annuity:1,intervening:1,energetic:1,instant:1,intramuscular:1,entertaining:1,early:1,advanced:1,elegant:1,orange:1,unhurried:1,undesirable:1,evil:1,irresponsible:1,erratic:1,unscientific:1,important:1,organic:1,extravagant:1,exhibition:1,unsystematic:1,appositive:1,unconstitutional:1,undemocratic:1,aloof:1,economical:1,idiographic:1,idyllic:1,injurious:1,irrevocable:1,academic:1,unexcused:1,improbable:1,item:1,out:1,illegal:1,acronym:1,actor:1,upright:1,exchange:1,equal:1,option:1,assumption:1,owner:1,officer:1,attendant:1,illusory:1,artistic:1,impromptu:1,errant:1,unhindered:1,underhand:1,obstacle:1,applicant:1,appropriate:1,advance:1,insulin:1,elephant:1,unsuccessful:1,incision:1,oil:1,intoxicating:1,infected:1,injury:1,as:1,operating:1,explosive:1,image:1,n:1,appendage:1,accessible:1,apology:1,overdue:1,undue:1,apt:1,inappropriate:1,a:1,area:1,arbitrable:1,arm:1,artful:1,insufferably:1,artless:1,articulate:1,inarticulate:1,unblushing:1,unembarrassed:1,assertive:1,exclusive:1,unengaged:1,unguarded:1,attentive:1,inattentive:1,absent:1,attractive:1,enthralling:1,engaging:1,appealing:1,invention:1,attributive:1,example:1,audible:1,inaudible:1,auspicious:1,unpromising:1,accredited:1,autoloading:1,automated:1,alert:1,unsuspecting:1,unwitting:1,experiment:1,awareness:1,atrocious:1,ugly:1,awful:1,algebraic:1,optical:1,intellectual:1,adulterous:1,allegorical:1,alternating:1,undramatic:1,inalienable:1,acutely:1,electrostatic:1,episodic:1,imperial:1,inconceivable:1,insistent:1,institution:1,insufficient:1,extent:1,advantageous:1,excited:1,unoriginal:1,abbreviation:1,individual:1,extended:1,opposite:1,impatient:1,apologetic:1,unsteady:1,asymmetrical:1,inverse:1,exceptional:1,ocean:1,inconsiderate:1,unhelpful:1,irrational:1,uncritical:1,incompetent:1,emotional:1,irritable:1,enthusiastic:1,exaggerated:1,iron:1,irregular:1,unsympathetic:1,unconvincing:1,awkward:1,advancing:1,attempt:1,instance:1,openmouthed:1,interlocking:1,audit:1,energy:1,email:1,examination:1,airport:1,ophthalmoscope:1,art:1,overlapping:1,outfielder:1,electric:1,instrument:1,echo:1,influencing:1,overexposure:1,offer:1,artist:1,about:1,address:1,umpire:1,inescapable:1,aircraft:1,end:1,acquirer:1,emergency:1,urgent:1,expedient:1,unplanned:1,election:1,infant:1,error:1,allegory:1,oxide:1,unwanted:1,affair:1,arc:1,imposter:1,investment:1,established:1,enveloping:1,amusing:1,addition:1,enlivening:1,old:1,acre:1,impudent:1,assumptive:1,unbanded:1,optimum:1,improved:1,adust:1,unblemished:1,untarnished:1,unbloody:1,unbound:1,industrial:1,edged:1,inconvenient:1,inconveniently:1,eager:1,intelligent:1,unintelligent:1,intelligible:1,unintelligible:1,aristocratic:1,autocratic:1,undiplomatic:1,inaccessible:1,unjust:1,aimless:1,ornamental:1,ornate:1,amazing:1,impressive:1,unimpressive:1,unproductive:1,expert:1,amateurish:1,interesting:1,uninteresting:1,immoderate:1,unrealistic:1,inauspicious:1,inexorable:1,impolite:1,admirable:1,enjoyable:1,inverted:1,affable:1,ambiguous:1,unambiguous:1,unceremonious:1,angle:1,inferior:1,excellent:1,impassioned:1,editorial:1,exultant:1,anachronistic:1,infelicitous:1,unhappy:1,undiversified:1,efficient:1,inefficient:1,ominous:1,immodest:1,authoritative:1,unattractive:1,unconcerned:1,unbelievable:1,emotionally:1,expectant:1,obscure:1,indecent:1,internally:1,agreement:1,overly:1,adjournment:1,undertone:1,equivalent:1,extensive:1,adverse:1,avoidance:1,accused:1,exemption:1,organization:1,incurable:1,ancient:1,unpremeditated:1,assistant:1,involuntary:1,occupied:1,insurance:1,employee:1,account:1,enterprise:1,advertising:1,icebreaker:1,effort:1,oven:1,existing:1,enema:1,improvement:1,optimization:1,optimal:1,oversight:1,emotion:1,increase:1,illusion:1,ad:1,older:1,antique:1,opening:1,amorphous:1,external:1,incandescent:1,Acheronian:1,unshaded:1,unshadowed:1,iridescent:1,unnatural:1,unprejudiced:1,attitude:1,unbroken:1,exergonic:1,endergonic:1,idle:1,egg:1,infinite:1,incomputable:1,able:1,exact:1,incautious:1,offhand:1,intricately:1,incised:1,anorectic:1,appalling:1,unappealing:1,approving:1,ambitious:1,unambitious:1,amicable:1,unfruitful:1,adorable:1,antagonistic:1,anterior:1,apathetic:1,ardent:1,ascetic:1,unassertive:1,avid:1,adjective:1,adverb:1,amorous:1,angel:1,alliterative:1,altruistic:1,anomalous:1,ungrateful:1,antithetical:1,opportune:1,arch:1,arduous:1,ingenuous:1,inexpertly:1,oblique:1,airplane:1,austere:1,uneven:1,inhumane:1,unfair:1,easily:1,incoherent:1,equally:1,all:1,hysterical:1,immediate:1,incredulous:1,indisputable:1,impossibly:1,absurd:1,absurdly:1,unmerited:1,envious:1,adventurous:1,unwilling:1,obnoxious:1,unpleasantly:1,obvious:1,offensive:1,overbearingly:1,honest:1,obedient:1,impartially:1,offensively:1,ebullient:1,ecclesiastic:1,ecstatic:1,edge:1,educational:1,effectual:1,ingredient:1,upward:1,overhaul:1,approach:1,injured:1,exploratory:1,astronaut:1,Aborigine:1,automobile:1,intermediate:1,exciting:1,operational:1,expedition:1,organized:1,excursion:1,airing:1,intravenous:1,equilibrium:1,undesired:1,unsaturated:1,element:1,atom:1,earthenware:1,impetuous:1,outer:1,uncertain:1,assured:1,iffy:1,ineluctable:1,unavoidable:1,unalterable:1,adjusted:1,unadjusted:1,altered:1,uncharged:1,uncheerful:1,avocado:1,unripe:1,achromatic:1,ineffectual:1,effective:1,ineffective:1,elementary:1,effusive:1,egotistical:1,unselfish:1,eminent:1,encouraging:1,enterprising:1,equable:1,equably:1,equitable:1,inequitable:1,erudite:1,ethical:1,unethical:1,evasive:1,evolutionary:1,unequal:1,unexciting:1,unexcitingly:1,excusable:1,unpardonable:1,exorbitant:1,inexpedient:1,expensive:1,expensively:1,exponential:1,expressive:1,inexpressive:1,exuberant:1,insincerely:1,intimately:1,unfashionable:1,uncivil:1,inflexible:1,unforgiving:1,enthusiastically:1,impressively:1,uncalled:1,offense:1,attractively:1,informal:1,indistinct:1,unadvised:1,airtight:1,insolent:1,inhospitable:1,unhygienic:1,identical:1,identically:1,identifiable:1,idiomatic:1,idiotic:1,idolatrous:1,ignorant:1,illegible:1,illogical:1,illustrious:1,immaculate:1,impartial:1,impassive:1,impenitent:1,imperative:1,imperceptible:1,imperious:1,impersonal:1,impulsive:1,impious:1,explicit:1,impracticable:1,imprecise:1,impregnable:1,improvident:1,imprudent:1,adequate:1,inadequate:1,incisive:1,intentionally:1,incomparable:1,incongruous:1,incriminating:1,indelible:1,inexpressible:1,indeterminable:1,indeterminably:1,indifferent:1,indulgent:1,industrious:1,inextricable:1,informative:1,uninformative:1,inherent:1,unreproducible:1,inimitably:1,iniquitous:1,innate:1,inquiring:1,insatiable:1,invulnerable:1,insensitive:1,insinuating:1,insipid:1,inspiring:1,insuperable:1,interchangeable:1,intermittent:1,intolerant:1,intransitive:1,intuitive:1,inventive:1,invincible:1,irate:1,ironic:1,irrelevant:1,irretrievable:1,irreverent:1,immature:1,injudicious:1,unenthusiastically:1,elegantly:1,inclination:1,arrangement:1,oar:1,implement:1,erect:1,evisceration:1,upsurge:1,aperture:1,escalation:1,anxiety:1,elaboration:1,accumulation:1,umbrella:1,annual:1,alliance:1,attachment:1,incidence:1,iced:1,electron:1,inversion:1,unanalyzed:1,unused:1,unclean:1,impulse:1,unclouded:1,inclement:1,unsparing:1,astute:1,urban:1,approximate:1,intimate:1,artfully:1,immeasurable:1,unmelodious:1,unmemorable:1,unreasonably:1,unmusical:1,Apache:1,exposed:1,entire:1,essential:1,unnecessary:1,anxiously:1,obscene:1,obsequious:1,observant:1,obtrusive:1,unobtrusive:1,officious:1,abstract:1,obstructive:1,onerous:1,opaque:1,optimistic:1,optional:1,obligatory:1,ostentatious:1,outlandish:1,outspoken:1,overbearing:1,owlish:1,unpalatable:1,unpatriotic:1,unrecognizable:1,empire:1,uninterestingly:1,unpretentious:1,indiscriminate:1,escutcheon:1,imaginative:1,unrighteous:1,outward:1,uncomfortably:1,indulgently:1,unsentimental:1,insecurely:1,Italian:1,undercover:1,employer:1,automatic:1,ethnic:1,amusement:1,auxiliary:1,acrobat:1,upside:1,oval:1,occupation:1,agreed:1,alloy:1,impending:1,agency:1,American:1,invitation:1,engine:1,inshore:1,agglomerated:1,uprising:1,incendiary:1,unlit:1,armchair:1,uncomfortable:1,uncommon:1,unwonted:1,unusual:1,ambassador:1,unaccustomed:1,affinity:1,anecdotal:1,unpronounceable:1,impacted:1,unfeeling:1,unworkmanlike:1,earthquake:1,undivided:1,aliquot:1,oath:1,absolute:1,allover:1,unsmiling:1,uncomplimentary:1,unsociable:1,unsportsmanlike:1,enormous:1,unromantic:1,indifferently:1,affectionate:1,aggressively:1,unaccountable:1,unarguable:1,unassuming:1,unattainable:1,unbearable:1,uncanny:1,unchivalrous:1,uncompromising:1,uncouth:1,unctuous:1,undeniable:1,uneventful:1,ungrammatical:1,unimaginable:1,unstinting:1,unswervingly:1,unwarrantable:1,unwarranted:1,unworthy:1,honorable:1,urbane:1,eagerly:1,irreproachable:1,imminent:1,integral:1,identifiably:1,unquestioning:1,audience:1,insignificant:1,aggravating:1,unreasoning:1,abaxial:1,adaxial:1,adjectival:1,eccentric:1,endogenous:1,erotic:1,irreparable:1,ulterior:1,incorrigible:1,insufferable:1,attack:1,outdoor:1,eliminating:1,alley:1,ice:1,inflated:1,English:1,athlete:1,enclosed:1,elevated:1,illicit:1,occasion:1,orgiastic:1,elaborate:1,entertainment:1,eisteddfod:1,autumn:1,issue:1,automaton:1,island:1,electrical:1,emulsion:1,ideology:1,appliance:1,ester:1,ether:1,alcohol:1,asterisk:1,agent:1,interpretation:1,incomplete:1,uncompleted:1,encyclopedia:1,omnibus:1,imperturbable:1,indecipherable:1,alcove:1,urn:1,umbel:1,ability:1,utterly:1,uninvolved:1,inconclusive:1,indeterminate:1,unconsummated:1,insect:1,atrophied:1,unenforceable:1,uncrowded:1,inharmonious:1,accent:1,ascending:1,adjunct:1,exploded:1,ordained:1,egregious:1,inconspicuous:1,unnoticeable:1,indiscernible:1,inconstant:1,intricate:1,apache:1,impressionistic:1,acting:1,inspired:1,outrageous:1,ecological:1,undignified:1,opposing:1,almost:1,up:1,attestation:1,appointment:1,honorary:1,acetyl:1,artificially:1,opportunity:1,expenditure:1,allegro:1,atomic:1,ultimatum:1,abatement:1,incandescing:1,amino:1,isomer:1,illegitimate:1,industry:1,ion:1,amine:1,ore:1,amendment:1,ironclad:1,unanswerable:1,endless:1,irrepressible:1,intended:1,argumentative:1,unbranched:1,enhanced:1,uncooperative:1,inconsiderable:1,insubstantial:1,airy:1,incarnate:1,incorporeal:1,aplanatic:1,apochromatic:1,amendable:1,unregenerate:1,uncorrectable:1,unmannered:1,uncreative:1,excessively:1,appraising:1,acute:1,emir:1,understanding:1,apprentice:1,IT:1,understudy:1,exam:1,institute:1,analysis:1,isotope:1,offended:1,itemized:1,analogy:1,X:1,ax:1,underlying:1,uncut:1,ongoing:1,obsolete:1,infernal:1,earthy:1,indelicate:1,outcome:1,indecisive:1,interrogation:1,avowed:1,undeclared:1,unacknowledged:1,abyss:1,estate:1,indefeasible:1,unforfeitable:1,undefeated:1,indefinable:1,adaptation:1,inflected:1,exquisite:1,overdelicate:1,infrangible:1,exacting:1,undemanding:1,easygoing:1,importunate:1,incumbent:1,endowed:1,internship:1,exalted:1,electrician:1,interior:1,oculist:1,A:1,intense:1,inclined:1,optometrist:1,investigation:1,inquiry:1,oocyte:1,international:1,endoscope:1,antigen:1,electrochemical:1,arbitrary:1,ejaculate:1,ordinal:1,estimate:1,argument:1,engineer:1,authoritarian:1,irrefutable:1,implicative:1,undependable:1,independent:1,accident:1,equation:1,unpredictable:1,elongated:1,uncomplicated:1,undiluted:1,alcoholic:1,astonishingly:1,undeviating:1,indirect:1,appreciative:1,overall:1,arthroscope:1,anus:1,embolus:1,artery:1,intraocular:1,undescended:1,unstable:1,anticoagulant:1,oily:1,application:1,origin:1,income:1,alibi:1,order:1,encore:1,opinion:1,indivisible:1,indiscrete:1,abject:1,ingratiating:1,associate:1,under:1,unspectacular:1,actable:1,unactable:1,untheatrical:1,ox:1,absence:1,economically:1,earliest:1,earlyish:1,untimely:1,after:1,embryonic:1,incipient:1,earned:1,unearned:1,honor:1,uneasy:1,eastern:1,education:1,unlearned:1,untutored:1,operant:1,inoperative:1,efficacious:1,impelling:1,exhausting:1,effortless:1,economic:1,emphatic:1,impellent:1,elastic:1,elasticized:1,inelastic:1,elective:1,encroachment:1,antisocial:1,obligation:1,abomination:1,inclusive:1,affectation:1,assault:1,attorney:1,inside:1,alternate:1,unlawful:1,uplift:1,appeal:1,injunction:1,embargo:1,accusation:1,objection:1,interview:1,evaluation:1,electronic:1,inflammatory:1,informer:1,untruth:1,exotic:1,actress:1,inadequacy:1,accusatory:1,eligible:1,atmosphere:1,abstracting:1,encumbered:1,unencumbered:1,imposed:1,overarching:1,endocentric:1,exocentric:1,indefatigable:1,ecclesiastical:1,irreducible:1,unenthusiastic:1,epizoic:1,admission:1,equivocal:1,unequivocal:1,unquestionable:1,enlightened:1,exoteric:1,estimable:1,unflattering:1,adjoining:1,effortful:1,acquisition:1,assay:1,enzymatic:1,assignment:1,instructor:1,accounting:1,internal:1,integrated:1,isolated:1,ovum:1,omen:1,excuse:1,indentured:1,oral:1,engagement:1,unexcitable:1,aroused:1,unexcited:1,electrifying:1,unglamorous:1,accusative:1,inexhaustible:1,unfailing:1,unexhausted:1,unhoped:1,unthought:1,unfledged:1,illustrator:1,expired:1,unexpired:1,unexplainable:1,unexplained:1,implicit:1,expressible:1,extensile:1,extensible:1,erectile:1,inflatable:1,extinguishable:1,inextinguishable:1,internecine:1,inner:1,indwelling:1,exterior:1,indoor:1,eyeless:1,unplayable:1,fair:1,infallible:1,amateur:1,inerrant:1,unerring:1,odd:1,eerie:1,accelerated:1,alacritous:1,express:1,aberrant:1,invading:1,antibody:1,immune:1,orienting:1,acquired:1,aversive:1,attached:1,arithmetic:1,assessment:1,infectious:1,eyeful:1,extracurricular:1,extension:1,uninterrupted:1,imaginary:1,angiogram:1,arthrogram:1,encephalogram:1,audio:1,inert:1,omission:1,intervention:1,artwork:1,egotist:1,interlinear:1,environment:1,announcement:1,amnesty:1,aftershaft:1,Orpington:1,unfeathered:1,agreeably:1,infertile:1,unfertilized:1,initiatory:1,introductory:1,experience:1,architect:1,abnormality:1,unfit:1,intransigent:1,ossified:1,airship:1,adaptable:1,unbending:1,ungainly:1,adventive:1,author:1,affix:1,age:1,orchestra:1,estimation:1,Armageddon:1,army:1,amphibious:1,aerial:1,attacking:1,intelligence:1,operative:1,exclamation:1,envelope:1,erroneous:1,apostrophe:1,explanation:1,x:1,allegation:1,attribute:1,authority:1,identifying:1,orbit:1,unfirm:1,autonomous:1,anchor:1,emancipated:1,adscript:1,occasional:1,addled:1,edible:1,amiable:1,unfriendly:1,ally:1,abortive:1,overflowing:1,incident:1,untouched:1,empty:1,occupant:1,esthetic:1,oarlock:1,unfurnished:1,unfunded:1,unspecific:1,untechnical:1,observer:1,elevation:1,adjustment:1,octave:1,electromyograph:1,inventory:1,index:1,imitation:1,interruption:1,unvarying:1,inaugural:1,Irish:1,arranged:1,oration:1,utterance:1,etymology:1,inning:1,unskillful:1,ace:1,overwhelming:1,ungenerous:1,authentic:1,icy:1,elysian:1,unspeakable:1,incorrigibly:1,ungracious:1,aorta:1,unyielding:1,overstuffed:1,innocent:1,insidious:1,unhealthy:1,operable:1,unsound:1,ordeal:1,intersection:1,orgy:1,armed:1,unofficial:1,apartment:1,aimed:1,unappreciative:1,ingrown:1,angelic:1,enabling:1,imitative:1,onomatopoetic:1,away:1,untruthful:1,ignominious:1,opprobrious:1,agony:1,insoluble:1,interactive:1,asset:1,accepted:1,electoral:1,interchange:1,unruly:1,insubordinate:1,exploitatory:1,archer:1,agglutinating:1,anthill:1,uncongenial:1,inimical:1,igneous:1,arctic:1,unheated:1,icicle:1,ironical:1,overhasty:1,intangible:1,immanent:1,eventful:1,awe:1,arresting:1,astounding:1,imposing:1,expansive:1,observable:1,exaugural:1,outgoing:1,inference:1,illative:1,epicurean:1,advisory:1,informed:1,educated:1,arbiter:1,ordinary:1,eviction:1,appellate:1,alteration:1,assist:1,unpaid:1,exacerbation:1,unsafe:1,easiness:1,affront:1,inspection:1,annulment:1,oak:1,embankment:1,imprint:1,explosion:1,unsuitable:1,unknowledgeable:1,inability:1,uninhabited:1,abandoned:1,unoccupied:1,unfrequented:1,inheritable:1,inherited:1,unimpeachable:1,indictable:1,exalting:1,educative:1,explanatory:1,edifying:1,enlightening:1,illuminating:1,unenlightening:1,embedded:1,agile:1,inadvertent:1,accidental:1,unintended:1,analgesic:1,interspecific:1,interested:1,uninterested:1,irksome:1,intermural:1,ultra:1,extrinsic:1,adscititious:1,extraneous:1,interfering:1,intrusive:1,upper:1,overshot:1,underhung:1,inviting:1,anguished:1,elegiac:1,actionable:1,undeserved:1,observation:1,underworld:1,upheaval:1,allied:1,Allied:1,unauthorized:1,invented:1,overcast:1,enamel:1,airbrush:1,innately:1,unheard:1,unidentified:1,uncomprehended:1,undigested:1,unlamented:1,offshore:1,epic:1,immense:1,elfin:1,olive:1,extrajudicial:1,outlaw:1,ineligible:1,unlikely:1,untrammeled:1,unlisted:1,ex:1,semiliterate:1,unliveried:1,unexploded:1,epidemic:1,epiphytotic:1,epizootic:1,unextended:1,elongate:1,abbreviated:1,amoeba:1,arbovirus:1,icosahedral:1,aerobic:1,endospore:1,aerosol:1,archive:1,outlet:1,interminable:1,hourlong:1,overnight:1,idolized:1,uncaring:1,unlucky:1,unmade:1,antimagnetic:1,unmanageable:1,unmanned:1,unmarked:1,unfeminine:1,aging:1,unaged:1,unmeaning:1,undulating:1,ovoid:1,undisclosed:1,unmitigated:1,arrant:1,owl:1,irremovable:1,over:1,utmost:1,unmodulated:1,increasing:1,invalid:1,apparently:1,affecting:1,unmown:1,unborn:1,embryo:1,amnion:1,armored:1,overhanging:1,apple:1,eldritch:1,unearthly:1,elf:1,indispensable:1,obsession:1,ignoble:1,ordered:1,inhabitant:1,aquiline:1,intruder:1,obstinate:1,obligate:1,axiomatic:1,obstructed:1,occluded:1,unobstructed:1,unimpeded:1,unclogged:1,abhorrent:1,innocuous:1,unsavory:1,unoffending:1,unapologetic:1,equilateral:1,aluminum:1,obstruction:1,apparatus:1,anthology:1,uninvited:1,unconfirmed:1,unconditioned:1,on:1,off:1,untested:1,untried:1,unenclosed:1,untapped:1,interval:1,inopportune:1,incorporated:1,unstructured:1,unregulated:1,ultrasonic:1,avant:1,orthodox:1,unorthodox:1,alfresco:1,awning:1,unroofed:1,African:1,amphibian:1,errand:1,incentive:1,improvising:1,omelette:1,illustration:1,uncompensated:1,itch:1,itchy:1,unpainted:1,impalpable:1,offspring:1,unbiased:1,unimpassioned:1,irenic:1,unpeaceful:1,insightful:1,essay:1,errorless:1,ultimate:1,imperfection:1,abiding:1,impermanent:1,interim:1,Old:1,alligator:1,outline:1,elegy:1,instrumental:1,interlude:1,elderly:1,accompaniment:1,unploughed:1,offset:1,already:1,etching:1,interlaced:1,agitated:1,anticipated:1,exemplary:1,impenetrable:1,impermeable:1,abruptly:1,interfaith:1,implacable:1,implausible:1,idyll:1,acerbic:1,irritated:1,exasperated:1,upsetting:1,impolitic:1,unpopular:1,attainable:1,impossible:1,unable:1,ostrich:1,ichthyosaur:1,expandable:1,adder:1,s:1,exoskeleton:1,arachnid:1,idol:1,isolation:1,unmanning:1,autogiro:1,influential:1,impractical:1,embattled:1,extemporaneous:1,extemporary:1,extempore:1,unforeseen:1,inimitable:1,unskilled:1,unremunerative:1,atavist:1,oracular:1,orb:1,hourglass:1,arthropod:1,intriguing:1,underbred:1,axenic:1,unmixed:1,untrained:1,unquiet:1,amount:1,unrefined:1,untreated:1,oiled:1,unregistered:1,ivory:1,undomesticated:1,otter:1,annelid:1,uncrossed:1,illegally:1,aquaplane:1,irremediable:1,unprintable:1,ancestor:1,acceptant:1,Elizabethan:1,irresistible:1,immovable:1,overpowering:1,upstanding:1,undutiful:1,answering:1,unexpansive:1,unchecked:1,anechoic:1,awakened:1,orator:1,oratorical:1,affluent:1,armadillo:1,oyster:1,ear:1,abalone:1,escort:1,insolvent:1,ambidextrous:1,oldline:1,almond:1,ellipsoid:1,angular:1,ellipse:1,economy:1,agrarian:1,entirely:1,undersea:1,unreliable:1,undiagnosed:1,insatiate:1,unconscionable:1,ultracentrifuge:1,erotically:1,embrace:1,ejection:1,insecure:1,unsecured:1,unbarred:1,unlocked:1,insured:1,uninsured:1,alluring:1,enticing:1,abscessed:1,appealingly:1,elect:1,Atlanta:1,unsettled:1,itinerant:1,accomplished:1,inevitable:1,anestrous:1,acorn:1,awl:1,eel:1,aggregate:1,Antarctic:1,endangered:1,eared:1,itinerating:1,insufficiently:1,autopsy:1,autograph:1,autographed:1,epoch:1,ensiform:1,unsophisticated:1,only:1,Australian:1,East:1,ungulate:1,eclipse:1,endowment:1,orphan:1,average:1,Olympic:1,adept:1,unfurrowed:1,irregularly:1,unsocial:1,unseamed:1,apparantly:1,elicited:1,ovipositor:1,ant:1,heir:1,auction:1,unreasonable:1,unwritten:1,unbeatable:1,arrhythmic:1,aspen:1,analeptic:1,irritative:1,unbent:1,eagle:1,arched:1,inward:1,iambic:1,unstressed:1,accented:1,unaccented:1,atonic:1,anemic:1,enslaved:1,overlying:1,excise:1,bill:1,alphabet:1,ancillary:1,adjuvant:1,amazed:1,allergy:1,amenable:1,impressionable:1,unimpressionable:1,uncharitable:1,untaxed:1,insult:1,intemperate:1,overstrung:1,inch:1,echinoderm:1,association:1,uncluttered:1,untidy:1,unkempt:1,ukempt:1,untimbered:1,intolerable:1,outrageously:1,apex:1,untraceable:1,untraversed:1,anxious:1,experienced:1,eyewitness:1,untrustworthy:1,overturned:1,upturned:1,overhand:1,opencut:1,overhead:1,udder:1,emaciated:1,ass:1,inn:1,unweaned:1,uncastrated:1,unbranded:1,Asian:1,inductive:1,oscillation:1,administrative:1,affiliation:1,intern:1,assurgent:1,improving:1,upscale:1,untranslatable:1,unguiculate:1,upstairs:1,otiose:1,unavailing:1,appraisal:1,invariable:1,inviolable:1,invisible:1,occult:1,ultraviolet:1,augmentative:1,impairment:1,antelope:1,intensely:1,ape:1,anthropoid:1,execution:1,indictment:1,endeavor:1,unhealed:1,upset:1,arid:1,altitude:1,alarm:1,unwise:1,arboreous:1,unwoven:1,intrinsic:1,abundance:1,unfaceted:1,induced:1,abbey:1,academy:1,achondrite:1,adolescent:1,agnostic:1,antheridium:1,antiapartheid:1,aecium:1,omnivorous:1,advocate:1,existence:1,Algonquian:1,alkyl:1,allantois:1,allergen:1,allergic:1,allograph:1,ambulatory:1,ammine:1,inorganic:1,amphitheater:1,ampulla:1,anagram:1,anamorphic:1,angioma:1,annalistic:1,anode:1,antineoplastic:1,antiphon:1,antistrophe:1,antitype:1,apocalypse:1,apogee:1,aponeurosis:1,apophysis:1,apse:1,aquifer:1,arbitrational:1,arbitrative:1,arborous:1,archaeological:1,archdiocese:1,archduke:1,archegonium:1,archdeacon:1,archbishop:1,archiepiscopal:1,archipelago:1,archipelagic:1,aromatic:1,arteriovenous:1,aura:1,auricle:1,auricular:1,autacoid:1,autobiography:1,autobiographical:1,autobiographer:1,avocation:1,uncle:1,axon:1,esteemed:1,oblong:1,anemone:1,eelpout:1,adversity:1,aggregated:1,autistic:1,approved:1,integer:1,editor:1,electrocardiograph:1,electroencephalograph:1,electrolyte:1,electrically:1,era:1,equinox:1,eruptive:1,evidentiary:1,outgrowth:1,existential:1,aid:1,abbot:1,abbess:1,abrader:1,abutment:1,expressway:1,access:1,accordion:1,input:1,antihypertensive:1,antipyretic:1,antihistamine:1,admixture:1,Afro:1,afterthought:1,airfoil:1,atomizer:1,opal:1,orientation:1,emperor:1,indusium:1,inhalant:1,ink:1,isthmus:1,oligarchy:1,umbra:1,agricultural:1,establishment:1,astral:1,airfield:1,auditorium:1,antianxiety:1,altar:1,astringent:1,antiarrhythmic:1,anticonvulsant:1,antibiotic:1,arena:1,arcade:1,artifact:1,L:1,angled:1,indicator:1,man:1,emetic:1,apron:1,architectural:1,entablature:1,argyle:1,armor:1,ointment:1,arrowhead:1,antitank:1,isometry:1,octagon:1,embodiment:1,internet:1,icon:1,ichorous:1,icosahedron:1,interbreeding:1,audile:1,octal:1,ocular:1,eparchy:1,antispasmodic:1,antidote:1,auctioneer:1,amplifier:1,accessory:1,album:1,axletree:1,immunosuppressive:1,antiviral:1,excavator:1,adornment:1,upholstered:1,outlying:1,endogen:1,intradermal:1,interfacial:1,abnormally:1,isotherm:1,earthen:1,endodontic:1,ultraconservative:1,evaporative:1,asymptotic:1,equator:1,ovule:1,alkaloidal:1,eraser:1,ionization:1,opener:1,inlaid:1,antipersonnel:1,actuary:1,axial:1,epicycle:1,intersecting:1,Anglican:1,Episcopalian:1,autosome:1,operculum:1,asteroid:1,embolism:1,undergarment:1,implant:1,H:1,insulating:1,enclosure:1,enzyme:1,autodidact:1,aneurysm:1,oxygenated:1,etymological:1,eponym:1,alderman:1,Afrikaans:1,anecdote:1,aspect:1,interdisciplinary:1,entrepreneur:1,embalmed:1,amputation:1,alphabetical:1,engineering:1,electro:1,unattended:1,adding:1,underground:1,antipollution:1,automotive:1,inexpensive:1,adjustable:1,accelerator:1,interrogative:1,orchestral:1,extrasystole:1,alkylating:1,antimalarial:1,ornamented:1,earring:1,antipsychotic:1,accelerating:1,antitussive:1,involucre:1,accession:1,acentric:1,acrocentric:1,ultramicroscope:1,avenged:1,unavenged:1,ankle:1,instrumentality:1,operator:1,engraving:1,engraved:1,acrylic:1,anti:1,emblem:1,unglazed:1,ionizing:1,oscillator:1,overload:1,offender:1,inhalation:1,S:1,armless:1,unventilated:1,axle:1,excavation:1,isosceles:1,emblematic:1,analog:1,altarpiece:1,antenna:1,anticancer:1,elliptical:1,exercising:1,ammunition:1,electromagnet:1,earphone:1,effigy:1,applied:1,elevator:1,antiemetic:1,ACE:1,oboe:1,entrenched:1,antagonist:1,etched:1,eyecup:1,eyebath:1,overhang:1,airline:1,embellishment:1,artillery:1,airstrip:1,iris:1,antimetabolite:1,antidepressant:1,applicator:1,extractor:1,ambulance:1,airliner:1,outbuilding:1,actinomycete:1,underpass:1,arbor:1,engraver:1,intaglio:1,electrode:1,emplacement:1,enlarged:1,ironmonger:1,infrared:1,oriental:1,anvil:1,encampment:1,altimeter:1,Eskimo:1,induction:1,inlay:1,operand:1,intake:1,inhaled:1,iPod:1,extendible:1,Arab:1,agal:1,unattached:1,undercarriage:1,expanse:1,emollient:1,interconnecting:1,antidiarrheal:1,intrauterine:1,eyepiece:1,antidiuretic:1,array:1,assembly:1,exploding:1,electrometer:1,entry:1,anthelmintic:1,antidiabetic:1,amphetamine:1,antifungal:1,electromagnetic:1,injectable:1,antacid:1,alkaloid:1,acoustic:1,Arabic:1,AND:1,uncontrollable:1,intestinal:1,antibacterial:1,irrigation:1,embroidered:1,Asiatic:1,oast:1,alto:1,irritation:1,opium:1,addictive:1,astronomical:1,oscillograph:1,outboard:1,outfitter:1,outrigger:1,anticholinergic:1,implanted:1,absorbent:1,incoming:1,eyebrow:1,attacker:1,adrenergic:1,exisitng:1,actual:1,edging:1,epicyclic:1,emitter:1,autofocus:1,overskirt:1,underslung:1,insulated:1,inhaler:1,applicance:1,unfinished:1,insert:1,antiquity:1,ostentatiously:1,expectorant:1,oxford:1,undecorated:1,orbiting:1,accurately:1,earth:1,autoloader:1,underprivileged:1,octant:1,inlet:1,ophthalmologist:1,Arabian:1,approximately:1,ignition:1,orthopedic:1,eight:1,incline:1,intercom:1,oscillatory:1,omnidirectional:1,edifice:1,enlargement:1,afghan:1,observatory:1,extract:1,evacuated:1,infinitely:1,angiotensin:1,unfretted:1,electromotive:1,enclosing:1,evaporating:1,oceangoing:1,extroverted:1,introverted:1,indifference:1,acceptance:1,unwillingness:1,imp:1,unneighborly:1,encircling:1,eyelike:1,ugliness:1,esthetically:1,unwelcome:1,inconvenience:1,incompatibility:1,installment:1,executive:1,identity:1,unbridgeable:1,endearing:1,uproar:1,unpolished:1,infection:1,inhibition:1,irresolute:1,intractably:1,unceremonial:1,ionic:1,amber:1,emerald:1,appetizing:1,enervation:1,appointed:1,impermanence:1,acceleration:1,unwieldy:1,exiguity:1,indulgence:1,overabundance:1,inundation:1,embarrassment:1,orchard:1,auger:1,inducement:1,infraction:1,animating:1,admiral:1,oppressive:1,epicure:1,anatomical:1,epithelium:1,epidermal:1,epithelial:1,arterial:1,unpaired:1,unshaved:1,encapsulated:1,autonomic:1,eardrum:1,apocrine:1,atrium:1,endocrine:1,organelle:1,allele:1,oncogene:1,exogenous:1,undifferentiated:1,erythroblast:1,erythrocyte:1,agranulocytic:1,alerting:1,offshoot:1,arteriovenus:1,inflamed:1,instep:1,aptitude:1,oarsman:1,episode:1,interest:1,unfamiliar:1,unresolvable:1,albatross:1,impediment:1,ideological:1,enticement:1,unstated:1,abstracted:1,unelaborated:1,acrid:1,amputee:1,immunochemical:1,unmated:1,exposure:1,ordering:1,Englishman:1,idiom:1,easier:1,upgrade:1,approaching:1,impasse:1,exception:1,information:1,arrest:1,added:1,infliction:1,abatable:1,annoyance:1,elaborated:1,antecedent:1,emery:1,attractor:1,unrestricted:1,influence:1,expected:1,eleven:1,unintentionally:1,agenda:1,IRA:1,affirmation:1,intuition:1,exemplar:1,iconic:1,imagined:1,afterimage:1,auditory:1,idealized:1,unshakable:1,esoteric:1,iconoclast:1,unenlightened:1,undeveloped:1,observed:1,anthropological:1,experimenter:1,elite:1,emphasis:1,animistic:1,unconscious:1,oversize:1,accountant:1,emoticon:1,anaphor:1,ancestral:1,ending:1,inflection:1,infinitive:1,adnoun:1,adverbial:1,uninflected:1,epithet:1,unmarried:1,appellation:1,annotation:1,undocumented:1,ASCII:1,undeciphered:1,optician:1,adventure:1,envoy:1,epigrammatic:1,ode:1,indented:1,attention:1,endorsement:1,inscribed:1,enumeration:1,atlas:1,appendix:1,identification:1,Israelite:1,Apostle:1,exposition:1,epistle:1,Apocryphal:1,equating:1,unconditional:1,appropriation:1,encrypted:1,inventor:1,endorsed:1,acknowledgment:1,authorization:1,enactment:1,offending:1,edict:1,alpha:1,instruction:1,edition:1,opera:1,anaphoric:1,ambiguity:1,inoffensive:1,incomprehensible:1,excerpt:1,intention:1,Easter:1,asserted:1,alleged:1,initiated:1,inked:1,analyst:1,outburst:1,extravagantly:1,award:1,aliyah:1,honours:1,unsupported:1,occurrence:1,affidavit:1,obituary:1,unproved:1,unimportant:1,evasion:1,outright:1,Islamic:1,incidental:1,unnecessarily:1,approximation:1,inexperienced:1,advertisement:1,internationally:1,exponent:1,expanded:1,eighth:1,embellishing:1,insignia:1,alien:1,algorithmic:1,ideographic:1,Indo:1,Autonomus:1,Indic:1,Iranian:1,Anatolian:1,echoencephalograph:1,echocardiograph:1,improvised:1,oratorio:1,unaccompanied:1,unchanging:1,aria:1,initialism:1,exclamatory:1,affricate:1,articulatory:1,incantation:1,investor:1,offering:1,adversary:1,accommodation:1,entreaty:1,individualized:1,impostor:1,expose:1,outpouring:1,assurance:1,unaccepted:1,earnest:1,armful:1,illuminant:1,Interpol:1,unseen:1,avalanche:1,augury:1,apparent:1,electrocardiogram:1,hallucinogenic:1,intramolecular:1,originally:1,uproarious:1,initiation:1,Olympics:1,equestrian:1,elimination:1,unsatisfied:1,immortal:1,expectation:1,undermining:1,actively:1,annoyed:1,appetizer:1,assortment:1,hors:1,Indian:1,uncooked:1,eating:1,elder:1,omelet:1,herb:1,authorized:1,illicitly:1,ale:1,aperitif:1,agave:1,effervescent:1,infusion:1,artisan:1,amalgam:1,orphaned:1,emerging:1,inseparable:1,anarchic:1,analogue:1,extremist:1,estimated:1,Algerian:1,episcopal:1,Augustinian:1,industrialized:1,environmentalist:1,actuarial:1,infantry:1,elected:1,inquisition:1,al:1,autocracy:1,evangelistic:1,embassy:1,inspecting:1,interconnected:1,assigned:1,abstractionist:1,Austrian:1,ecumenical:1,impoverished:1,eroded:1,artists:1,aggregation:1,archeological:1,earl:1,aqueous:1,isogram:1,estuary:1,alpine:1,immigrant:1,irrigated:1,entrepot:1,uncultivated:1,illuminated:1,unilluminated:1,overcrowded:1,inland:1,Elector:1,Arctic:1,atoll:1,ultramodern:1,Anglo:1,overseas:1,Alaskan:1,avenue:1,aerospace:1,arsenal:1,Andean:1,instinctive:1,urge:1,actuating:1,antilepton:1,indentation:1,Alpine:1,escarpment:1,animals:1,emigrant:1,inclusion:1,eliminator:1,outcropping:1,oxbow:1,alluvial:1,expanding:1,evaporated:1,underwater:1,incrustation:1,isle:1,Ethiopian:1,accursed:1,Egyptian:1,ibis:1,upholder:1,avatar:1,incarnation:1,archangel:1,Athenian:1,enormously:1,alchemist:1,eternal:1,inveterate:1,Athapaskan:1,Iroquoian:1,Amerindian:1,Iroquois:1,Anabaptist:1,adherent:1,Oscan:1,educator:1,addiction:1,executor:1,adviser:1,agon:1,aircrew:1,elixir:1,alkahest:1,immigration:1,acolyte:1,amalgamation:1,illiterate:1,anathema:1,admirer:1,apologist:1,apostle:1,appreciator:1,anthropologist:1,enlisted:1,asseverator:1,avower:1,astronomer:1,au:1,examiner:1,activist:1,assailant:1,entertainer:1,opportunist:1,ingroup:1,outsider:1,officiating:1,idler:1,adventurer:1,advisor:1,attache:1,investigator:1,oldster:1,interpreter:1,eater:1,economist:1,egghead:1,archeologist:1,executioner:1,eminence:1,employment:1,exhibit:1,aristocrat:1,interracial:1,opposition:1,overlay:1,aunt:1,infantryman:1,inheritance:1,unemployed:1,imam:1,imported:1,epidemiological:1,auditor:1,Ivy:1,entomologist:1,undergraduate:1,inspiration:1,unnaturally:1,intermediary:1,Orthodox:1,accomplice:1,effeminate:1,often:1,overprotective:1,admiring:1,arranger:1,organizer:1,anatomist:1,overflow:1,informant:1,obstetrician:1,Aegean:1,appointee:1,annually:1,achondroplastic:1,unlicensed:1,Aztec:1,announcer:1,exile:1,habitue:1,allayer:1,uncivilized:1,acquaintance:1,utterer:1,economizer:1,Army:1,elemental:1,evangelist:1,idealistic:1,innkeeper:1,oilman:1,upstart:1,individualist:1,Ismaili:1,antielectron:1,expurgated:1,Oxford:1,atomistic:1,innovative:1,Argentine:1,atmospheric:1,aviator:1,antiheretical:1,anarchist:1,ark:1,imbalance:1,encyclopedic:1,emission:1,appreciable:1,oppressively:1,insulator:1,inertial:1,easterly:1,equatorial:1,electroencephalogram:1,immunological:1,elongation:1,interaction:1,endemic:1,ascomycetous:1,ascocarp:1,asexually:1,ovary:1,arrowroot:1,evergreen:1,anther:1,introduced:1,asterid:1,orchid:1,inedible:1,epiphyte:1,elm:1,onion:1,adulterant:1,herbal:1,aquarium:1,ash:1,invasive:1,odorless:1,aphrodisiac:1,earthball:1,ascomycete:1,umbrellalike:1,inky:1,annulus:1,agaric:1,ascus:1,earthstar:1,apical:1,alga:1,undisturbed:1,epiphytic:1,umbelliform:1,inflorescence:1,indehiscent:1,aroma:1,oleoresin:1,unincorporated:1,unrealized:1,expense:1,extortionate:1,appanage:1,impost:1,ownership:1,IOU:1,importer:1,exporter:1,aged:1,auditing:1,institutional:1,individually:1,acyl:1,aldol:1,adsorbed:1,adsorbent:1,erosion:1,abscess:1,unrelated:1,inflow:1,inpouring:1,agglutinogen:1,oxidation:1,ecosystem:1,evening:1,absorber:1,are:1,encounter:1,ohm:1,ampere:1,oersted:1,AC:1,em:1,ounce:1,avoirdupois:1,apothecary:1,aliquant:1,unimaginably:1,associative:1,inordinate:1,inglorious:1,antipode:1,unbounded:1,equiangular:1,obtuse:1,epicycloid:1,octahedron:1,untroubled:1,assembled:1,person:1,uncorrected:1,epidural:1,erection:1,infective:1,aching:1,epileptic:1,inflammation:1,overactive:1,underactive:1,RNA:1,outbreak:1,atypical:1,autosomal:1,inborn:1,Rh:1,onset:1,infestation:1,opportunistic:1,ulceration:1,affliction:1,eruption:1,overgrowth:1,abdominal:1,abraded:1,epiphysis:1,umbilical:1,imperforate:1,ache:1,encephalitis:1,epicondyle:1,extremity:1,airway:1,aversion:1,affective:1,interconnection:1,airless:1,unwholesome:1,antiserum:1,irrecoverable:1,autoimmune:1,adaptive:1,isotonic:1,aliphatic:1,alkane:1,inhibitory:1,oxidizer:1,emulsifier:1,amphibole:1,antifreeze:1,antithyroid:1,impure:1,agate:1,oxygen:1,aldehyde:1,allotrope:1,antioxidant:1,oxidative:1,amylase:1,androgenic:1,androgen:1,adrenal:1,immunosuppressant:1,azo:1,oxidant:1,oxidizing:1,endorphin:1,omega:1,odorous:1,extravasated:1,antigenic:1,acacia:1,Eurasian:1,optically:1,iodine:1,isomeric:1,azure:1,odoriferous:1,oxidoreductase:1,absorption:1,alkaline:1,effervescing:1,iodide:1,onyx:1,antitoxin:1,isoagglutinin:1,immunoglobulin:1,incapacitating:1,oxyacid:1,anion:1,insertion:1,immeasurably:1,anniversary:1,intermission:1,arbitrarily:1,armlet:1,default:Ch}),_h=2147483647,Fh=/[^\x20-\x7E]/,Ih=/[\x2E\u3002\uFF0E\uFF61]/g,Oh={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Nh=Math.floor,jh=String.fromCharCode;function Mh(e){throw new RangeError(Oh[e])}function Lh(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function Bh(e,t,n){var r=0;for(e=n?Nh(e/700):e>>1,e+=Nh(e/t);e>455;r+=36)e=Nh(e/35);return Nh(r+36*e/(e+38))}function Rh(e){return function(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]);var i=function(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}((e=e.replace(Ih,".")).split("."),t).join(".");return r+i}(e,(function(e){return Fh.test(e)?"xn--"+function(e){var t,n,r,i,a,s,o,u,l,c,p,h,d,f,m,y=[];for(h=(e=function(e){for(var t,n,r=[],i=0,a=e.length;i=55296&&t<=56319&&i=t&&pNh((_h-n)/(d=r+1))&&Mh("overflow"),n+=(o-t)*d,t=o,s=0;s_h&&Mh("overflow"),p==t){for(u=n,l=36;!(u<(c=l<=a?1:l>=a+26?26:l-a));l+=36)m=u-c,f=36-c,y.push(jh(Lh(c+m%f,0))),u=Nh(m/f);y.push(jh(Lh(u,0))),a=Bh(n,d,r==i),n=0,++r}++n,++t}return y.join("")}(e):e}))}function Uh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Vh=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function Wh(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}function zh(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r0&&o>s&&(o=s);for(var u=0;u=0?(l=d.substr(0,f),c=d.substr(f+1)):(l=d,c=""),p=decodeURIComponent(l),h=decodeURIComponent(c),Uh(i,p)?Vh(i[p])?i[p].push(h):i[p]=[i[p],h]:i[p]=h}return i}var Xh={parse:sd,resolve:function(e,t){return sd(e,!1,!0).resolve(t)},resolveObject:function(e,t){return e?sd(e,!1,!0).resolveObject(t):t},format:function(e){Xe(e)&&(e=od({},e));return ud(e)},Url:Jh};function Jh(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var $h=/^([a-z0-9.+-]+:)/i,Yh=/:[0-9]*$/,Kh=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Gh=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),Qh=["'"].concat(Gh),Zh=["%","/","?",";","#"].concat(Qh),ed=["/","?","#"],td=/^[+a-z0-9A-Z_-]{0,63}$/,nd=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,rd={javascript:!0,"javascript:":!0},id={javascript:!0,"javascript:":!0},ad={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function sd(e,t,n){if(e&&Ye(e)&&e instanceof Jh)return e;var r=new Jh;return r.parse(e,t,n),r}function od(e,t,n,r){if(!Xe(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var i=t.indexOf("?"),a=-1!==i&&i127?D+="x":D+=E[S];if(!D.match(td)){var A=x.slice(0,l),w=x.slice(l+1),P=E.match(nd);P&&(A.push(P[1]),w.unshift(P[2])),w.length&&(o="/"+w.join(".")+o),e.hostname=A.join(".");break}}}}e.hostname.length>255?e.hostname="":e.hostname=e.hostname.toLowerCase(),v||(e.hostname=Rh(e.hostname)),h=e.port?":"+e.port:"";var C=e.hostname||"";e.host=C+h,e.href+=e.host,v&&(e.hostname=e.hostname.substr(1,e.hostname.length-2),"/"!==o[0]&&(o="/"+o))}if(!rd[f])for(l=0,p=Qh.length;l0)&&r.host.split("@"))&&(r.auth=m.shift(),r.host=r.hostname=m.shift())),r.search=e.search,r.query=e.query,He(r.pathname)&&He(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!x.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var D=x.slice(-1)[0],S=(r.host||e.host||x.length>1)&&("."===D||".."===D)||""===D,T=0,A=x.length;A>=0;A--)"."===(D=x[A])?x.splice(A,1):".."===D?(x.splice(A,1),T++):T&&(x.splice(A,1),T--);if(!b&&!v)for(;T--;T)x.unshift("..");!b||""===x[0]||x[0]&&"/"===x[0].charAt(0)||x.unshift(""),S&&"/"!==x.join("/").substr(-1)&&x.push("");var w=""===x[0]||x[0]&&"/"===x[0].charAt(0);return E&&(r.hostname=r.host=w?"":x.length?x.shift():"",(m=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=m.shift(),r.host=r.hostname=m.shift())),(b=b||r.host&&x.length)&&!w&&x.unshift(""),x.length?r.pathname=x.join("/"):(r.pathname=null,r.path=null),He(r.pathname)&&He(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},Jh.prototype.parseHost=function(){return ld(this)};const{URL:cd}=Xh,pd=["a","an","and","at","but","by","for","in","nor","of","on","or","so","the","to","up","yet","v","v.","vs","vs."],hd=["(","[","{",'"',"'","_"];function dd(e){if(0===e.length)return e;const t=[...e],n=t.shift();return-1!==hd.indexOf(n)?`${n}${dd(t)}`:`${n.toUpperCase()}${t.join("")}`}var fd=function(e="",{excludedWords:t=[],useDefaultExcludedWords:n=!0}={}){e.toUpperCase()===e&&(e=e.toLowerCase()),n&&t.push(...pd);const r=e.trim().split(/\s+/);return r.map(((e,n,i)=>{const a=0===n,s=n===r.length-1,o=/.+@.+\..+/.test(e),u=/^(\/[\w.]+)+/.test(e),l=/^\w+\.\w{1,3}$/.test(e),c=/(?![-‑–—])[a-z]+[A-Z].*/.test(e),p=n>1?i[n-1]:"",h=n>1&&":"===[...p].pop();if(o||function(e){try{const t=new cd(e);return Boolean(t.hostname)}catch(e){return!1}}(e)||u||l||c)return e;const d=e.match(/[-‑–—]/g);if(d){const n=d.length>1,[r]=d;return e.split(r).map((e=>n&&-1!==t.indexOf(e.toLowerCase())?e:dd(e))).join(r)}return-1!==e.indexOf("/")?e.split("/").map(dd).join("/"):a||s||h||-1===t.indexOf(e.toLowerCase())?dd(e):e.toLowerCase()})).join(" ")},md=C(kh),yd=P((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
var n=w&&w.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageFilterEnglish=void 0;const r=n(md),i=n(fd);class a extends wh.LanguageFilter{constructor(){super(...arguments),this.cleanSpacesPunctuationDoDefault=!0}beforeProtect(e){let t=e;return t=this.aAnGeneric(t,!0),t=this.enPossessivesBeforeProtect(t),t}justBeforeUnprotect(e){let t=e;return t=this.aAnGeneric(t,!1),t=this.enPossessives(t),t}enPossessives(e){let t=e;const n=new RegExp("s([☞☜\\s]*)'s([^"+this.constants.tousCaracteresMinMajRe+"])","g");return t=t.replace(n,((e,t,n)=>`s${t}'${n}`)),t}enPossessivesBeforeProtect(e){let t=e;const n=new RegExp("(s\\s*§[\\s¤]*'s)([^"+this.constants.tousCaracteresMinMajRe+"])","g");return t=t.replace(n,((e,t,n)=>`s§' ${n}`)),t}aAnGeneric(e,t){let n=e;const i=new RegExp(`([^${this.constants.tousCaracteresMinMajRe}])([aA])${this.constants.stdBetweenWithParenthesis}(${this.constants.getInBetween(t)})([${this.constants.tousCaracteresMinMajRe}]*)`,"g");return n=n.replace(i,((e,t,n,i,a,s)=>{if(null!=s&&""!=s){return`${t}${this.redoCapitalization(n,Ph.getAAn(this.dictManager.getAdjsWordsData(),r.default,s))}${i}${a}${s}`}return e})),n}redoCapitalization(e,t){return"A"===e?t.substring(0,1).toUpperCase()+t.substring(1):t}titlecase(e){return i.default(e)}cleanSpacesPunctuationCorrect(e){let t=e;return t=t.replace(/\s*'/g,"'"),t}}t.LanguageFilterEnglish=a})),gd=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterItalian/en/true!"}),bd=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterGerman/en/true!"}),vd=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterOther/en/true!"}),xd=C(Th),Ed=C(Ah),Dd=C(gd),Sd=C(bd),Td=C(vd),Ad=P((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 xd.LanguageFilterFrench(e);case"de":return new Sd.LanguageFilterGerman(e);case"it":return new Dd.LanguageFilterItalian(e);case"en":return new yd.LanguageFilterEnglish(e);case"es":return new Ed.LanguageFilterSpanish(e);default:return new Td.LanguageFilterOther(e)}}})),wd=P((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
var n=w&&w.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),r=w&&w.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=w&&w.__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)&&n(t,e,i);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.filter=t.EATSPACE=t.inlineHtmlElts=t.blockLevelHtmlElts=void 0;const a=i(vh),s=i(xh),o=i(Dh),u=i(Sh);t.blockLevelHtmlElts=u.blockLevelElts,t.inlineHtmlElts=u.inlineElts,t.EATSPACE=a.EATSPACE,t.filter=function(e,t,n){const r=Ad.languageFilterFromLanguageCommon(t);let i=e;i=u.protectHtmlEscapeSeq(i);const l=u.replaceHtml(i);i=l.replaced,i="START. "+i,i=r.beforeProtect(i);const c=o.protectBlocks(i);i=c.protectedString,i=s.joinLines(i),i=s.specialSpacesToNormalSpaces(i),i=a.duplicatePunctuation(i,r),i=r.contractions(i),i=s.cleanStruct(i,r.constants),i=a.parenthesis(i,r),i=a.quotes(i),i=a.cleanSpacesPunctuation(i,r),i=a.addCaps(i,r),i=function(e){let t=e;const n="Addventa",r=new RegExp(n,"g");return t=t.replace(r,n+" 👍"),t}(i),i=Eh.titlecase(i,r),i=r.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),n.renderDebug&&(i=u.changeRenderDebug(i)),i=s.cleanStructAfterUnprotect(i),i=u.unProtectHtmlEscapeSeq(i),i=i.trim(),i}})),Pd=P((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 nh;t.defineConfig({currency:!1,number:!1,punctuation:!1,symbol:!1,time:!1});const n=t.tokenize(e),r=[];return n.forEach((e=>{"alien"!=e.tag&&-1==wd.blockLevelHtmlElts.indexOf(e.value)&&-1==wd.inlineHtmlElts.indexOf(e.value)&&r.push(e.value)})),r}}})),Cd=Object.freeze({__proto__:null,default:["'ll","'tis","'twas","'ve","10","39","a","a's","able","ableabout","about","above","abroad","abst","accordance","according","accordingly","across","act","actually","ad","added","adj","adopted","ae","af","affected","affecting","affects","after","afterwards","ag","again","against","ago","ah","ahead","ai","ain't","aint","al","all","allow","allows","almost","alone","along","alongside","already","also","although","always","am","amid","amidst","among","amongst","amoungst","amount","an","and","announce","another","any","anybody","anyhow","anymore","anyone","anything","anyway","anyways","anywhere","ao","apart","apparently","appear","appreciate","appropriate","approximately","aq","ar","are","area","areas","aren","aren't","arent","arise","around","arpa","as","aside","ask","asked","asking","asks","associated","at","au","auth","available","aw","away","awfully","az","b","ba","back","backed","backing","backs","backward","backwards","bb","bd","be","became","because","become","becomes","becoming","been","before","beforehand","began","begin","beginning","beginnings","begins","behind","being","beings","believe","below","beside","besides","best","better","between","beyond","bf","bg","bh","bi","big","bill","billion","biol","bj","bm","bn","bo","both","bottom","br","brief","briefly","bs","bt","but","buy","bv","bw","by","bz","c","c'mon","c's","ca","call","came","can","can't","cannot","cant","caption","case","cases","cause","causes","cc","cd","certain","certainly","cf","cg","ch","changes","ci","ck","cl","clear","clearly","click","cm","cmon","cn","co","co.","com","come","comes","computer","con","concerning","consequently","consider","considering","contain","containing","contains","copy","corresponding","could","could've","couldn","couldn't","couldnt","course","cr","cry","cs","cu","currently","cv","cx","cy","cz","d","dare","daren't","darent","date","de","dear","definitely","describe","described","despite","detail","did","didn","didn't","didnt","differ","different","differently","directly","dj","dk","dm","do","does","doesn","doesn't","doesnt","doing","don","don't","done","dont","doubtful","down","downed","downing","downs","downwards","due","during","dz","e","each","early","ec","ed","edu","ee","effect","eg","eh","eight","eighty","either","eleven","else","elsewhere","empty","end","ended","ending","ends","enough","entirely","er","es","especially","et","et-al","etc","even","evenly","ever","evermore","every","everybody","everyone","everything","everywhere","ex","exactly","example","except","f","face","faces","fact","facts","fairly","far","farther","felt","few","fewer","ff","fi","fifteen","fifth","fifty","fify","fill","find","finds","fire","first","five","fix","fj","fk","fm","fo","followed","following","follows","for","forever","former","formerly","forth","forty","forward","found","four","fr","free","from","front","full","fully","further","furthered","furthering","furthermore","furthers","fx","g","ga","gave","gb","gd","ge","general","generally","get","gets","getting","gf","gg","gh","gi","give","given","gives","giving","gl","gm","gmt","gn","go","goes","going","gone","good","goods","got","gotten","gov","gp","gq","gr","great","greater","greatest","greetings","group","grouped","grouping","groups","gs","gt","gu","gw","gy","h","had","hadn't","hadnt","half","happens","hardly","has","hasn","hasn't","hasnt","have","haven","haven't","havent","having","he","he'd","he'll","he's","hed","hell","hello","help","hence","her","here","here's","hereafter","hereby","herein","heres","hereupon","hers","herself","herse”","hes","hi","hid","high","higher","highest","him","himself","himse”","his","hither","hk","hm","hn","home","homepage","hopefully","how","how'd","how'll","how's","howbeit","however","hr","ht","htm","html","http","hu","hundred","i","i'd","i'll","i'm","i've","i.e.","id","ie","if","ignored","ii","il","ill","im","immediate","immediately","importance","important","in","inasmuch","inc","inc.","indeed","index","indicate","indicated","indicates","information","inner","inside","insofar","instead","int","interest","interested","interesting","interests","into","invention","inward","io","iq","ir","is","isn","isn't","isnt","it","it'd","it'll","it's","itd","itll","its","itself","itse”","ive","j","je","jm","jo","join","jp","just","k","ke","keep","keeps","kept","keys","kg","kh","ki","kind","km","kn","knew","know","known","knows","kp","kr","kw","ky","kz","l","la","large","largely","last","lately","later","latest","latter","latterly","lb","lc","least","length","less","lest","let","let's","lets","li","like","liked","likely","likewise","line","little","lk","ll","long","longer","longest","look","looking","looks","low","lower","lr","ls","lt","ltd","lu","lv","ly","m","ma","made","mainly","make","makes","making","man","many","may","maybe","mayn't","maynt","mc","md","me","mean","means","meantime","meanwhile","member","members","men","merely","mg","mh","microsoft","might","might've","mightn't","mightnt","mil","mill","million","mine","minus","miss","mk","ml","mm","mn","mo","more","moreover","most","mostly","move","mp","mq","mr","mrs","ms","msie","mt","mu","much","mug","must","must've","mustn't","mustnt","mv","mw","mx","my","myself","myse”","mz","n","na","name","namely","nay","nc","nd","ne","near","nearly","necessarily","necessary","need","needed","needing","needn't","neednt","needs","neither","net","netscape","never","neverf","neverless","nevertheless","new","newer","newest","next","nf","ng","ni","nine","ninety","nl","no","no-one","nobody","non","none","nonetheless","noone","nor","normally","nos","not","noted","nothing","notwithstanding","novel","now","nowhere","np","nr","nu","null","number","numbers","nz","o","obtain","obtained","obviously","of","off","often","oh","ok","okay","old","older","oldest","om","omitted","on","once","one","one's","ones","only","onto","open","opened","opening","opens","opposite","or","ord","order","ordered","ordering","orders","org","other","others","otherwise","ought","oughtn't","oughtnt","our","ours","ourselves","out","outside","over","overall","owing","own","p","pa","page","pages","part","parted","particular","particularly","parting","parts","past","pe","per","perhaps","pf","pg","ph","pk","pl","place","placed","places","please","plus","pm","pmid","pn","point","pointed","pointing","points","poorly","possible","possibly","potentially","pp","pr","predominantly","present","presented","presenting","presents","presumably","previously","primarily","probably","problem","problems","promptly","proud","provided","provides","pt","put","puts","pw","py","q","qa","que","quickly","quite","qv","r","ran","rather","rd","re","readily","really","reasonably","recent","recently","ref","refs","regarding","regardless","regards","related","relatively","research","reserved","respectively","resulted","resulting","results","right","ring","ro","room","rooms","round","ru","run","rw","s","sa","said","same","saw","say","saying","says","sb","sc","sd","se","sec","second","secondly","seconds","section","see","seeing","seem","seemed","seeming","seems","seen","sees","self","selves","sensible","sent","serious","seriously","seven","seventy","several","sg","sh","shall","shan't","shant","she","she'd","she'll","she's","shed","shell","shes","should","should've","shouldn","shouldn't","shouldnt","show","showed","showing","shown","showns","shows","si","side","sides","significant","significantly","similar","similarly","since","sincere","site","six","sixty","sj","sk","sl","slightly","sm","small","smaller","smallest","sn","so","some","somebody","someday","somehow","someone","somethan","something","sometime","sometimes","somewhat","somewhere","soon","sorry","specifically","specified","specify","specifying","sr","st","state","states","still","stop","strongly","su","sub","substantially","successfully","such","sufficiently","suggest","sup","sure","sv","sy","system","sz","t","t's","take","taken","taking","tc","td","tell","ten","tends","test","text","tf","tg","th","than","thank","thanks","thanx","that","that'll","that's","that've","thatll","thats","thatve","the","their","theirs","them","themselves","then","thence","there","there'd","there'll","there're","there's","there've","thereafter","thereby","thered","therefore","therein","therell","thereof","therere","theres","thereto","thereupon","thereve","these","they","they'd","they'll","they're","they've","theyd","theyll","theyre","theyve","thick","thin","thing","things","think","thinks","third","thirty","this","thorough","thoroughly","those","thou","though","thoughh","thought","thoughts","thousand","three","throug","through","throughout","thru","thus","til","till","tip","tis","tj","tk","tm","tn","to","today","together","too","took","top","toward","towards","tp","tr","tried","tries","trillion","truly","try","trying","ts","tt","turn","turned","turning","turns","tv","tw","twas","twelve","twenty","twice","two","tz","u","ua","ug","uk","um","un","under","underneath","undoing","unfortunately","unless","unlike","unlikely","until","unto","up","upon","ups","upwards","us","use","used","useful","usefully","usefulness","uses","using","usually","uucp","uy","uz","v","va","value","various","vc","ve","versus","very","vg","vi","via","viz","vn","vol","vols","vs","vu","w","want","wanted","wanting","wants","was","wasn","wasn't","wasnt","way","ways","we","we'd","we'll","we're","we've","web","webpage","website","wed","welcome","well","wells","went","were","weren","weren't","werent","weve","wf","what","what'd","what'll","what's","what've","whatever","whatll","whats","whatve","when","when'd","when'll","when's","whence","whenever","where","where'd","where'll","where's","whereafter","whereas","whereby","wherein","wheres","whereupon","wherever","whether","which","whichever","while","whilst","whim","whither","who","who'd","who'll","who's","whod","whoever","whole","wholl","whom","whomever","whos","whose","why","why'd","why'll","why's","widely","width","will","willing","wish","with","within","without","won","won't","wonder","wont","words","work","worked","working","works","world","would","would've","wouldn","wouldn't","wouldnt","ws","www","x","y","ye","year","years","yes","yet","you","you'd","you'll","you're","you've","youd","youll","young","younger","youngest","your","youre","yours","yourself","yourselves","youve","yt","yu","z","za","zero","zm","zr"]}),kd={};!function(e){function t(e,t){var n=function(){};n.prototype=t.prototype;var r=new n;for(var i in e)e[i].prototype=r}function n(e,t,n){function r(e,t,n){return delete e[t],e[t]=n,n}Object.defineProperty(e,t,{get:function(){return r(e,t,n())},set:function(n){r(e,t,n)},enumerable:!0,configurable:!0})}function r(){}function i(e,t,n){this.s_size=e.length,this.s=e,this.substring_i=t,this.result=n,this.method=null,this.instance=null}function a(e,t,n,r,i){this.s_size=e.length,this.s=e,this.substring_i=t,this.result=n,this.method=r,this.instance=i}function s(){}function o(){var e,t,n;this.cache={},e=this.current="",t=this.cursor=0,n=this.limit=e.length,this.limit_backward=0,this.bra=t,this.ket=n}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,n,r){var i,a;return!(e.cursor>=e.limit)&&(!((i=e.current.charCodeAt(e.cursor))>r||i>>3]&1<<(7&i))&&(a=e.cursor,e.cursor=a+1|0,!0)))}function c(e,t,n,r){var i,a;return!(e.cursor<=e.limit_backward)&&(!((i=e.current.charCodeAt(e.cursor-1))>r||i>>3]&1<<(7&i))&&(a=e.cursor,e.cursor=a-1|0,!0)))}function p(e,t,n,r){var i,a;return!(e.cursor>=e.limit)&&(((i=e.current.charCodeAt(e.cursor))>r||i>>3]&1<<(7&i)))&&(a=e.cursor,e.cursor=a+1|0,!0))}function h(e,t,n,r){var i,a;return!(e.cursor<=e.limit_backward)&&(((i=e.current.charCodeAt(e.cursor-1))>r||i>>3]&1<<(7&i)))&&(a=e.cursor,e.cursor=a-1|0,!0))}function d(e,t,n){var r;return!((e.limit-e.cursor|0)>>1)],f=h;f0)break;if(i===r)break;if(l)break;l=!0}}for(;;){if(o>=(d=t[r]).s_size){if(e.cursor=a+d.s_size|0,null==d.method)return d.result;if(m=d.method(d.instance),e.cursor=a+d.s_size|0,m)return d.result}if((r=d.substring_i)<0)return 0}return-1}function y(e,t,n){var r,i,a,s,o,u,l,c,p,h,d,f,m;for(r=0,i=n,a=e.cursor,s=e.limit_backward,o=0,u=0,l=!1;;){for(p=0,h=o>1)]).s_size-1-h;f>=0;f--){if(a-h===s){p=-1;break}if(0!==(p=e.current.charCodeAt(a-1-h)-d.s.charCodeAt(f)))break;h++}if(p<0?(i=c,u=h):(r=c,o=h),i-r<=1){if(r>0)break;if(i===r)break;if(l)break;l=!0}}for(;;){if(o>=(d=t[r]).s_size){if(e.cursor=a-d.s_size|0,null==d.method)return d.result;if(m=d.method(e),e.cursor=a-d.s_size|0,m)return d.result}if((r=d.substring_i)<0)return 0}return-1}function g(e,t,n,r){var i;return i=r.length-(n-t|0)|0,e.current=e.current.slice(0,t)+r+e.current.slice(n),e.limit=e.limit+i|0,e.cursor>=n?e.cursor=e.cursor+i|0:e.cursor>t&&(e.cursor=t),0|i}function b(e,t){var n,r,i,a;return n=!1,(r=e.bra)<0||r>(i=e.ket)||i>(a=e.limit)||a>e.current.length||(g(e,e.bra,e.ket,t),n=!0),n}function v(){o.call(this),this.B_Y_found=!1,this.I_p2=0,this.I_p1=0}function x(e){var t,n,r,i,a,s,o,u,c,p,h;e.B_Y_found=!1,t=e.cursor,s=!0;e:for(;!0===s&&(s=!1,e.bra=e.cursor,d(e,1,"'"));)if(e.ket=e.cursor,!b(e,""))return!1;n=e.cursor=t,o=!0;e:for(;!0===o&&(o=!1,e.bra=e.cursor,d(e,1,"y"));){if(e.ket=e.cursor,!b(e,"Y"))return!1;e.B_Y_found=!0}for(r=e.cursor=n,u=!0;!0===u;){u=!1;e:for(;;){i=e.cursor,c=!0;t:for(;!0===c;){c=!1;n:for(;;){a=e.cursor,p=!0;r:for(;!0===p&&(p=!1,l(e,v.g_v,97,121))&&(e.bra=e.cursor,d(e,1,"y"));){e.ket=e.cursor,e.cursor=a;break n}if((e.cursor=a)>=e.limit)break t;h=e.cursor,e.cursor=h+1|0}if(!b(e,"Y"))return!1;e.B_Y_found=!0;continue e}e.cursor=i;break e}}return e.cursor=r,!0}function E(e){var t,n,r,i,a,s,o,u,c,h,d;e.I_p1=h=e.limit,e.I_p2=h,t=e.cursor,r=!0;e:for(;!0===r;){r=!1,i=!0;t:for(;!0===i;){i=!1,n=e.cursor,a=!0;n:for(;!0===a&&(a=!1,0!==m(e,v.a_0,3));)break t;e.cursor=n;n:for(;;){s=!0;r:for(;!0===s&&(s=!1,l(e,v.g_v,97,121));)break n;if(e.cursor>=e.limit)break e;d=e.cursor,e.cursor=d+1|0}n:for(;;){o=!0;r:for(;!0===o&&(o=!1,p(e,v.g_v,97,121));)break n;if(e.cursor>=e.limit)break e;d=e.cursor,e.cursor=d+1|0}}e.I_p1=e.cursor;t:for(;;){u=!0;n:for(;!0===u&&(u=!1,l(e,v.g_v,97,121));)break t;if(e.cursor>=e.limit)break e;d=e.cursor,e.cursor=d+1|0}t:for(;;){c=!0;n:for(;!0===c&&(c=!1,p(e,v.g_v,97,121));)break t;if(e.cursor>=e.limit)break e;d=e.cursor,e.cursor=d+1|0}e.I_p2=e.cursor}return e.cursor=t,!0}function D(e){var t,n,r;n=!0;e:for(;!0===n;){n=!1,t=e.limit-e.cursor|0,r=!0;t:for(;!0===r&&(r=!1,h(e,v.g_v_WXY,89,121))&&c(e,v.g_v,97,121)&&h(e,v.g_v,97,121);)break e;if(e.cursor=e.limit-t|0,!h(e,v.g_v,97,121))return!1;if(!c(e,v.g_v,97,121))return!1;if(e.cursor>e.limit_backward)return!1}return!0}function S(e){var t,n,r,i,a,s,o,u,l;n=e.limit-e.cursor|0,i=!0;e:for(;!0===i;){if(i=!1,e.ket=e.cursor,0===(t=y(e,v.a_1,3))){e.cursor=e.limit-n|0;break e}switch(e.bra=e.cursor,t){case 0:e.cursor=e.limit-n|0;break e;case 1:if(!b(e,""))return!1}}if(e.ket=e.cursor,0===(t=y(e,v.a_2,6)))return!1;switch(e.bra=e.cursor,t){case 0:return!1;case 1:if(!b(e,"ss"))return!1;break;case 2:a=!0;e:for(;!0===a;){a=!1,r=e.limit-e.cursor|0,s=!0;t:for(;!0===s&&(s=!1,o=e.cursor-2|0,!(e.limit_backward>o||o>e.limit));){if(e.cursor=o,!b(e,"i"))return!1;break e}if(e.cursor=e.limit-r|0,!b(e,"ie"))return!1}break;case 3:if(e.cursor<=e.limit_backward)return!1;l=e.cursor,e.cursor=l-1|0;e:for(;;){u=!0;t:for(;!0===u&&(u=!1,c(e,v.g_v,97,121));)break e;if(e.cursor<=e.limit_backward)return!1;l=e.cursor,e.cursor=l-1|0}if(!b(e,""))return!1}return!0}function T(e){var t,n,r,i,a,s,o,u,l,p,h,d,f,m;if(e.ket=e.cursor,0===(t=y(e,v.a_4,6)))return!1;switch(e.bra=e.cursor,t){case 0:return!1;case 1:if(!(e.I_p1<=e.cursor))return!1;if(!b(e,"ee"))return!1;break;case 2:n=e.limit-e.cursor|0;e:for(;;){a=!0;t:for(;!0===a&&(a=!1,c(e,v.g_v,97,121));)break e;if(e.cursor<=e.limit_backward)return!1;m=e.cursor,e.cursor=m-1|0}if(e.cursor=e.limit-n|0,!b(e,""))return!1;if(r=e.limit-e.cursor|0,0===(t=y(e,v.a_3,13)))return!1;switch(e.cursor=e.limit-r|0,t){case 0:return!1;case 1:s=h=e.cursor,o=h,u=g(e,h,h,"e"),h<=e.bra&&(e.bra=e.bra+u|0),o<=e.ket&&(e.ket=e.ket+u|0),e.cursor=s;break;case 2:if(e.ket=d=e.cursor,d<=e.limit_backward)return!1;if(m=e.cursor,e.cursor=m-1|0,e.bra=e.cursor,!b(e,""))return!1;break;case 3:if(e.cursor!==e.I_p1)return!1;if(i=e.limit-e.cursor|0,!D(e))return!1;s=f=e.cursor=e.limit-i|0,l=f,p=g(e,f,f,"e"),f<=e.bra&&(e.bra=e.bra+p|0),l<=e.ket&&(e.ket=e.ket+p|0),e.cursor=s}}return!0}function A(e){var t,n,r,i,a;e.ket=e.cursor,r=!0;e:for(;!0===r;){r=!1,t=e.limit-e.cursor|0,i=!0;t:for(;!0===i&&(i=!1,f(e,1,"y"));)break e;if(e.cursor=e.limit-t|0,!f(e,1,"Y"))return!1}if(e.bra=e.cursor,!h(e,v.g_v,97,121))return!1;n=e.limit-e.cursor|0,a=!0;e:for(;!0===a&&(a=!1,!(e.cursor>e.limit_backward));)return!1;return e.cursor=e.limit-n|0,!!b(e,"i")}function w(e){var t,n;if(e.ket=e.cursor,0===(t=y(e,v.a_5,24)))return!1;if(e.bra=n=e.cursor,!(e.I_p1<=n))return!1;switch(t){case 0:return!1;case 1:if(!b(e,"tion"))return!1;break;case 2:if(!b(e,"ence"))return!1;break;case 3:if(!b(e,"ance"))return!1;break;case 4:if(!b(e,"able"))return!1;break;case 5:if(!b(e,"ent"))return!1;break;case 6:if(!b(e,"ize"))return!1;break;case 7:if(!b(e,"ate"))return!1;break;case 8:if(!b(e,"al"))return!1;break;case 9:if(!b(e,"ful"))return!1;break;case 10:if(!b(e,"ous"))return!1;break;case 11:if(!b(e,"ive"))return!1;break;case 12:if(!b(e,"ble"))return!1;break;case 13:if(!f(e,1,"l"))return!1;if(!b(e,"og"))return!1;break;case 14:if(!b(e,"ful"))return!1;break;case 15:if(!b(e,"less"))return!1;break;case 16:if(!c(e,v.g_valid_LI,99,116))return!1;if(!b(e,""))return!1}return!0}function P(e){var t,n;if(e.ket=e.cursor,0===(t=y(e,v.a_6,9)))return!1;if(e.bra=n=e.cursor,!(e.I_p1<=n))return!1;switch(t){case 0:return!1;case 1:if(!b(e,"tion"))return!1;break;case 2:if(!b(e,"ate"))return!1;break;case 3:if(!b(e,"al"))return!1;break;case 4:if(!b(e,"ic"))return!1;break;case 5:if(!b(e,""))return!1;break;case 6:if(!(e.I_p2<=e.cursor))return!1;if(!b(e,""))return!1}return!0}function C(e){var t,n,r,i,a;if(e.ket=e.cursor,0===(t=y(e,v.a_7,18)))return!1;if(e.bra=a=e.cursor,!(e.I_p2<=a))return!1;switch(t){case 0:return!1;case 1:if(!b(e,""))return!1;break;case 2:r=!0;e:for(;!0===r;){r=!1,n=e.limit-e.cursor|0,i=!0;t:for(;!0===i&&(i=!1,f(e,1,"s"));)break e;if(e.cursor=e.limit-n|0,!f(e,1,"t"))return!1}if(!b(e,""))return!1}return!0}function k(e){var t,n,r,i,a,s,o;if(e.ket=e.cursor,0===(t=y(e,v.a_8,2)))return!1;switch(e.bra=e.cursor,t){case 0:return!1;case 1:i=!0;e:for(;!0===i;){i=!1,n=e.limit-e.cursor|0,a=!0;t:for(;!0===a&&(a=!1,e.I_p2<=e.cursor);)break e;if(o=e.cursor=e.limit-n|0,!(e.I_p1<=o))return!1;r=e.limit-e.cursor|0,s=!0;t:for(;!0===s&&(s=!1,D(e));)return!1;e.cursor=e.limit-r|0}if(!b(e,""))return!1;break;case 2:if(!(e.I_p2<=e.cursor))return!1;if(!f(e,1,"l"))return!1;if(!b(e,""))return!1}return!0}function _(e){var t;return e.ket=e.cursor,0!==y(e,v.a_9,8)&&(e.bra=t=e.cursor,!(t>e.limit_backward))}function F(e){var t,n;if(e.bra=e.cursor,0===(t=m(e,v.a_10,18)))return!1;if(e.ket=n=e.cursor,n=e.limit)break t;a=e.cursor,e.cursor=a+1|0}if(!b(e,"y"))return!1;continue e}e.cursor=t;break e}return!0}e.require=function(e){var t=O[e];return void 0!==t?t:null},e.profilerIsRunning=function(){return null!=r.getResults},e.getProfileResults=function(){return(r.getResults||function(){return{}})()},e.postProfileResults=function(e,t){if(null==r.postResults)throw new Error("profiler has not been turned on");return r.postResults(e,t)},e.resetProfileResults=function(){if(null==r.resetResults)throw new Error("profiler has not been turned on");return r.resetResults()},e.DEBUG=!1,function(){try{Function('import {GeneratorFunction} from "std:iteration"; return GeneratorFunction')()}catch(e){return function(){}}}(),t([i,a],Object),t([s],Object),t([o],s),o.prototype.setCurrent$S=function(e){var t,n,r;t=this.current=e,n=this.cursor=0,r=this.limit=t.length,this.limit_backward=0,this.bra=n,this.ket=r},o.setCurrent$LBaseStemmer$S=function(e,t){var n,r,i;n=e.current=t,r=e.cursor=0,i=e.limit=n.length,e.limit_backward=0,e.bra=r,e.ket=i},o.prototype.getCurrent$=function(){return this.current},o.getCurrent$LBaseStemmer$=function(e){return e.current},o.prototype.copy_from$LBaseStemmer$=function(e){this.current=e.current,this.cursor=e.cursor,this.limit=e.limit,this.limit_backward=e.limit_backward,this.bra=e.bra,this.ket=e.ket},o.copy_from$LBaseStemmer$LBaseStemmer$=u,o.prototype.in_grouping$AIII=function(e,t,n){var r,i;return!(this.cursor>=this.limit)&&(!((r=this.current.charCodeAt(this.cursor))>n||r>>3]&1<<(7&r))&&(i=this.cursor,this.cursor=i+1|0,!0)))},o.in_grouping$LBaseStemmer$AIII=l,o.prototype.in_grouping_b$AIII=function(e,t,n){var r,i;return!(this.cursor<=this.limit_backward)&&(!((r=this.current.charCodeAt(this.cursor-1))>n||r>>3]&1<<(7&r))&&(i=this.cursor,this.cursor=i-1|0,!0)))},o.in_grouping_b$LBaseStemmer$AIII=c,o.prototype.out_grouping$AIII=function(e,t,n){var r,i;return!(this.cursor>=this.limit)&&(((r=this.current.charCodeAt(this.cursor))>n||r>>3]&1<<(7&r)))&&(i=this.cursor,this.cursor=i+1|0,!0))},o.out_grouping$LBaseStemmer$AIII=p,o.prototype.out_grouping_b$AIII=function(e,t,n){var r,i;return!(this.cursor<=this.limit_backward)&&(((r=this.current.charCodeAt(this.cursor-1))>n||r>>3]&1<<(7&r)))&&(i=this.cursor,this.cursor=i-1|0,!0))},o.out_grouping_b$LBaseStemmer$AIII=h,o.prototype.in_range$II=function(e,t){var n,r;return!(this.cursor>=this.limit)&&(!((n=this.current.charCodeAt(this.cursor))>t||n=e.limit)&&(!((r=e.current.charCodeAt(e.cursor))>n||rt||nn||r=this.limit)&&(((n=this.current.charCodeAt(this.cursor))>t||n=e.limit)&&(((r=e.current.charCodeAt(e.cursor))>n||rt||nn||r>>1)],d=p;d0)break;if(r===n)break;if(u)break;u=!0}}for(;;){if(s>=(h=e[n]).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((n=h.substring_i)<0)return 0}return-1},o.find_among$LBaseStemmer$ALAmong$I=m,o.prototype.find_among_b$ALAmong$I=function(e,t){var n,r,i,a,s,o,u,l,c,p,h,d,f;for(n=0,r=t,i=this.cursor,a=this.limit_backward,s=0,o=0,u=!1;;){for(c=0,p=s>1)]).s_size-1-p;d>=0;d--){if(i-p===a){c=-1;break}if(0!==(c=this.current.charCodeAt(i-1-p)-h.s.charCodeAt(d)))break;p++}if(c<0?(r=l,o=p):(n=l,s=p),r-n<=1){if(n>0)break;if(r===n)break;if(u)break;u=!0}}for(;;){if(s>=(h=e[n]).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((n=h.substring_i)<0)return 0}return-1},o.find_among_b$LBaseStemmer$ALAmong$I=y,o.prototype.replace_s$IIS=function(e,t,n){var r;return r=n.length-(t-e|0)|0,this.current=this.current.slice(0,e)+n+this.current.slice(t),this.limit=this.limit+r|0,this.cursor>=t?this.cursor=this.cursor+r|0:this.cursor>e&&(this.cursor=e),0|r},o.replace_s$LBaseStemmer$IIS=g,o.prototype.slice_check$=function(){var e,t,n;return!((e=this.bra)<0||e>(t=this.ket)||t>(n=this.limit)||n>this.current.length)},o.slice_check$LBaseStemmer$=function(e){var t,n,r;return!((t=e.bra)<0||t>(n=e.ket)||n>(r=e.limit)||r>e.current.length)},o.prototype.slice_from$S=function(e){var t,n,r,i;return t=!1,(n=this.bra)<0||n>(r=this.ket)||r>(i=this.limit)||i>this.current.length||(g(this,this.bra,this.ket,e),t=!0),t},o.slice_from$LBaseStemmer$S=b,o.prototype.slice_del$=function(){return b(this,"")},o.slice_del$LBaseStemmer$=function(e){return b(e,"")},o.prototype.insert$IIS=function(e,t,n){var r;r=g(this,e,t,n),e<=this.bra&&(this.bra=this.bra+r|0),e<=this.ket&&(this.ket=this.ket+r|0)},o.insert$LBaseStemmer$IIS=function(e,t,n,r){var i;i=g(e,t,n,r),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,n,r,i;return t="",(n=this.bra)<0||n>(r=this.ket)||r>(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 n,r,i,a;return n="",(r=e.bra)<0||r>(i=e.ket)||i>(a=e.limit)||a>e.current.length||(n=e.current.slice(e.bra,e.ket)),n},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,n,r,i;return null==(t=this.cache["."+e])&&(n=this.current=e,r=this.cursor=0,i=this.limit=n.length,this.limit_backward=0,this.bra=r,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,n,r,i,a,s,o;for(t=[],n=0;n=this.limit)break t;p=this.cursor,this.cursor=p+1|0}if(!b(this,"Y"))return!1;this.B_Y_found=!0;continue e}this.cursor=r;break e}}return this.cursor=n,!0},v.prototype.r_prelude=v.prototype.r_prelude$,v.r_prelude$LEnglishStemmer$=x,v.prototype.r_mark_regions$=function(){var e,t,n,r,i,a,s,o,u,c,h;this.I_p1=c=this.limit,this.I_p2=c,e=this.cursor,n=!0;e:for(;!0===n;){n=!1,r=!0;t:for(;!0===r;){r=!1,t=this.cursor,i=!0;n:for(;!0===i&&(i=!1,0!==m(this,v.a_0,3));)break t;this.cursor=t;n:for(;;){a=!0;r:for(;!0===a&&(a=!1,l(this,v.g_v,97,121));)break n;if(this.cursor>=this.limit)break e;h=this.cursor,this.cursor=h+1|0}n:for(;;){s=!0;r:for(;!0===s&&(s=!1,p(this,v.g_v,97,121));)break n;if(this.cursor>=this.limit)break e;h=this.cursor,this.cursor=h+1|0}}this.I_p1=this.cursor;t:for(;;){o=!0;n:for(;!0===o&&(o=!1,l(this,v.g_v,97,121));)break t;if(this.cursor>=this.limit)break e;h=this.cursor,this.cursor=h+1|0}t:for(;;){u=!0;n:for(;!0===u&&(u=!1,p(this,v.g_v,97,121));)break t;if(this.cursor>=this.limit)break e;h=this.cursor,this.cursor=h+1|0}this.I_p2=this.cursor}return this.cursor=e,!0},v.prototype.r_mark_regions=v.prototype.r_mark_regions$,v.r_mark_regions$LEnglishStemmer$=E,v.prototype.r_shortv$=function(){var e,t,n;t=!0;e:for(;!0===t;){t=!1,e=this.limit-this.cursor|0,n=!0;t:for(;!0===n&&(n=!1,h(this,v.g_v_WXY,89,121))&&c(this,v.g_v,97,121)&&h(this,v.g_v,97,121);)break e;if(this.cursor=this.limit-e|0,!h(this,v.g_v,97,121))return!1;if(!c(this,v.g_v,97,121))return!1;if(this.cursor>this.limit_backward)return!1}return!0},v.prototype.r_shortv=v.prototype.r_shortv$,v.r_shortv$LEnglishStemmer$=D,v.prototype.r_R1$=function(){return this.I_p1<=this.cursor},v.prototype.r_R1=v.prototype.r_R1$,v.r_R1$LEnglishStemmer$=function(e){return e.I_p1<=e.cursor},v.prototype.r_R2$=function(){return this.I_p2<=this.cursor},v.prototype.r_R2=v.prototype.r_R2$,v.r_R2$LEnglishStemmer$=function(e){return e.I_p2<=e.cursor},v.prototype.r_Step_1a$=function(){var e,t,n,r,i,a,s,o,u;t=this.limit-this.cursor|0,r=!0;e:for(;!0===r;){if(r=!1,this.ket=this.cursor,0===(e=y(this,v.a_1,3))){this.cursor=this.limit-t|0;break e}switch(this.bra=this.cursor,e){case 0:this.cursor=this.limit-t|0;break e;case 1:if(!b(this,""))return!1}}if(this.ket=this.cursor,0===(e=y(this,v.a_2,6)))return!1;switch(this.bra=this.cursor,e){case 0:return!1;case 1:if(!b(this,"ss"))return!1;break;case 2:i=!0;e:for(;!0===i;){i=!1,n=this.limit-this.cursor|0,a=!0;t:for(;!0===a&&(a=!1,s=this.cursor-2|0,!(this.limit_backward>s||s>this.limit));){if(this.cursor=s,!b(this,"i"))return!1;break e}if(this.cursor=this.limit-n|0,!b(this,"ie"))return!1}break;case 3:if(this.cursor<=this.limit_backward)return!1;u=this.cursor,this.cursor=u-1|0;e:for(;;){o=!0;t:for(;!0===o&&(o=!1,c(this,v.g_v,97,121));)break e;if(this.cursor<=this.limit_backward)return!1;u=this.cursor,this.cursor=u-1|0}if(!b(this,""))return!1}return!0},v.prototype.r_Step_1a=v.prototype.r_Step_1a$,v.r_Step_1a$LEnglishStemmer$=S,v.prototype.r_Step_1b$=function(){var e,t,n,r,i,a,s,o,u,l,p,h,d,f;if(this.ket=this.cursor,0===(e=y(this,v.a_4,6)))return!1;switch(this.bra=this.cursor,e){case 0:return!1;case 1:if(!(this.I_p1<=this.cursor))return!1;if(!b(this,"ee"))return!1;break;case 2:t=this.limit-this.cursor|0;e:for(;;){i=!0;t:for(;!0===i&&(i=!1,c(this,v.g_v,97,121));)break e;if(this.cursor<=this.limit_backward)return!1;f=this.cursor,this.cursor=f-1|0}if(this.cursor=this.limit-t|0,!b(this,""))return!1;if(n=this.limit-this.cursor|0,0===(e=y(this,v.a_3,13)))return!1;switch(this.cursor=this.limit-n|0,e){case 0:return!1;case 1:a=p=this.cursor,s=p,o=g(this,p,p,"e"),p<=this.bra&&(this.bra=this.bra+o|0),s<=this.ket&&(this.ket=this.ket+o|0),this.cursor=a;break;case 2:if(this.ket=h=this.cursor,h<=this.limit_backward)return!1;if(f=this.cursor,this.cursor=f-1|0,this.bra=this.cursor,!b(this,""))return!1;break;case 3:if(this.cursor!==this.I_p1)return!1;if(r=this.limit-this.cursor|0,!D(this))return!1;a=d=this.cursor=this.limit-r|0,u=d,l=g(this,d,d,"e"),d<=this.bra&&(this.bra=this.bra+l|0),u<=this.ket&&(this.ket=this.ket+l|0),this.cursor=a}}return!0},v.prototype.r_Step_1b=v.prototype.r_Step_1b$,v.r_Step_1b$LEnglishStemmer$=T,v.prototype.r_Step_1c$=function(){var e,t,n,r,i;this.ket=this.cursor,n=!0;e:for(;!0===n;){n=!1,e=this.limit-this.cursor|0,r=!0;t:for(;!0===r&&(r=!1,f(this,1,"y"));)break e;if(this.cursor=this.limit-e|0,!f(this,1,"Y"))return!1}if(this.bra=this.cursor,!h(this,v.g_v,97,121))return!1;t=this.limit-this.cursor|0,i=!0;e:for(;!0===i&&(i=!1,!(this.cursor>this.limit_backward));)return!1;return this.cursor=this.limit-t|0,!!b(this,"i")},v.prototype.r_Step_1c=v.prototype.r_Step_1c$,v.r_Step_1c$LEnglishStemmer$=A,v.prototype.r_Step_2$=function(){var e,t;if(this.ket=this.cursor,0===(e=y(this,v.a_5,24)))return!1;if(this.bra=t=this.cursor,!(this.I_p1<=t))return!1;switch(e){case 0:return!1;case 1:if(!b(this,"tion"))return!1;break;case 2:if(!b(this,"ence"))return!1;break;case 3:if(!b(this,"ance"))return!1;break;case 4:if(!b(this,"able"))return!1;break;case 5:if(!b(this,"ent"))return!1;break;case 6:if(!b(this,"ize"))return!1;break;case 7:if(!b(this,"ate"))return!1;break;case 8:if(!b(this,"al"))return!1;break;case 9:if(!b(this,"ful"))return!1;break;case 10:if(!b(this,"ous"))return!1;break;case 11:if(!b(this,"ive"))return!1;break;case 12:if(!b(this,"ble"))return!1;break;case 13:if(!f(this,1,"l"))return!1;if(!b(this,"og"))return!1;break;case 14:if(!b(this,"ful"))return!1;break;case 15:if(!b(this,"less"))return!1;break;case 16:if(!c(this,v.g_valid_LI,99,116))return!1;if(!b(this,""))return!1}return!0},v.prototype.r_Step_2=v.prototype.r_Step_2$,v.r_Step_2$LEnglishStemmer$=w,v.prototype.r_Step_3$=function(){var e,t;if(this.ket=this.cursor,0===(e=y(this,v.a_6,9)))return!1;if(this.bra=t=this.cursor,!(this.I_p1<=t))return!1;switch(e){case 0:return!1;case 1:if(!b(this,"tion"))return!1;break;case 2:if(!b(this,"ate"))return!1;break;case 3:if(!b(this,"al"))return!1;break;case 4:if(!b(this,"ic"))return!1;break;case 5:if(!b(this,""))return!1;break;case 6:if(!(this.I_p2<=this.cursor))return!1;if(!b(this,""))return!1}return!0},v.prototype.r_Step_3=v.prototype.r_Step_3$,v.r_Step_3$LEnglishStemmer$=P,v.prototype.r_Step_4$=function(){var e,t,n,r,i;if(this.ket=this.cursor,0===(e=y(this,v.a_7,18)))return!1;if(this.bra=i=this.cursor,!(this.I_p2<=i))return!1;switch(e){case 0:return!1;case 1:if(!b(this,""))return!1;break;case 2:n=!0;e:for(;!0===n;){n=!1,t=this.limit-this.cursor|0,r=!0;t:for(;!0===r&&(r=!1,f(this,1,"s"));)break e;if(this.cursor=this.limit-t|0,!f(this,1,"t"))return!1}if(!b(this,""))return!1}return!0},v.prototype.r_Step_4=v.prototype.r_Step_4$,v.r_Step_4$LEnglishStemmer$=C,v.prototype.r_Step_5$=function(){var e,t,n,r,i,a,s;if(this.ket=this.cursor,0===(e=y(this,v.a_8,2)))return!1;switch(this.bra=this.cursor,e){case 0:return!1;case 1:r=!0;e:for(;!0===r;){r=!1,t=this.limit-this.cursor|0,i=!0;t:for(;!0===i&&(i=!1,this.I_p2<=this.cursor);)break e;if(s=this.cursor=this.limit-t|0,!(this.I_p1<=s))return!1;n=this.limit-this.cursor|0,a=!0;t:for(;!0===a&&(a=!1,D(this));)return!1;this.cursor=this.limit-n|0}if(!b(this,""))return!1;break;case 2:if(!(this.I_p2<=this.cursor))return!1;if(!f(this,1,"l"))return!1;if(!b(this,""))return!1}return!0},v.prototype.r_Step_5=v.prototype.r_Step_5$,v.r_Step_5$LEnglishStemmer$=k,v.prototype.r_exception2$=function(){var e;return this.ket=this.cursor,0!==y(this,v.a_9,8)&&(this.bra=e=this.cursor,!(e>this.limit_backward))},v.prototype.r_exception2=v.prototype.r_exception2$,v.r_exception2$LEnglishStemmer$=_,v.prototype.r_exception1$=function(){var e,t;if(this.bra=this.cursor,0===(e=m(this,v.a_10,18)))return!1;if(this.ket=t=this.cursor,t=this.limit)break t;i=this.cursor,this.cursor=i+1|0}if(!b(this,"y"))return!1;continue e}this.cursor=e;break e}return!0},v.prototype.r_postlude=v.prototype.r_postlude$,v.r_postlude$LEnglishStemmer$=I,v.prototype.stem$=function(){var e,t,n,r,i,a,s,o,u,l,c,p,h,d,f,m,y,g,b,v,D,O,N,j,M,L,B,R,U,V,W,z,q,H,X,J,$,Y,K,G,Q,Z,ee,te,ne;d=!0;e:for(;!0===d;){d=!1,e=this.cursor,f=!0;t:for(;!0===f&&(f=!1,F(this));)break e;this.cursor=e,m=!0;t:for(;!0===m;){m=!1,t=this.cursor,y=!0;n:for(;!0===y&&(y=!1,!(0>(g=this.cursor+3|0)||g>this.limit));){this.cursor=g;break t}this.cursor=t;break e}n=this.cursor=e,b=!0;t:for(;!0===b&&(b=!1,x(this)););for(r=this.cursor=n,v=!0;!0===v;)v=!1,E(this);W=this.cursor=r,this.limit_backward=W,q=this.cursor=z=this.limit,i=z-q|0,D=!0;t:for(;!0===D&&(D=!1,S(this)););this.cursor=this.limit-i|0,O=!0;t:for(;!0===O;){O=!1,a=this.limit-this.cursor|0,N=!0;n:for(;!0===N&&(N=!1,_(this));)break t;X=this.cursor=(H=this.limit)-a|0,s=H-X|0,j=!0;n:for(;!0===j&&(j=!1,T(this)););$=this.cursor=(J=this.limit)-s|0,o=J-$|0,M=!0;n:for(;!0===M&&(M=!1,A(this)););K=this.cursor=(Y=this.limit)-o|0,u=Y-K|0,L=!0;n:for(;!0===L&&(L=!1,w(this)););Q=this.cursor=(G=this.limit)-u|0,l=G-Q|0,B=!0;n:for(;!0===B&&(B=!1,P(this)););ee=this.cursor=(Z=this.limit)-l|0,c=Z-ee|0,R=!0;n:for(;!0===R&&(R=!1,C(this)););ne=this.cursor=(te=this.limit)-c|0,p=te-ne|0,U=!0;n:for(;!0===U&&(U=!1,k(this)););this.cursor=this.limit-p|0}h=this.cursor=this.limit_backward,V=!0;t:for(;!0===V&&(V=!1,I(this)););this.cursor=h}return!0},v.prototype.stem=v.prototype.stem$,v.prototype.equals$X=function(e){return e instanceof v},v.prototype.equals=v.prototype.equals$X,v.equals$LEnglishStemmer$X=function(e,t){return t instanceof v},v.prototype.hashCode$=function(){var e,t,n;for(e="EnglishStemmer",t=0,n=0;n!t.includes(e)))),e&&(r=r.concat(e)),r.map((e=>e.toLowerCase()))}scoreAlternative(e,t,n,r,i,a){const s=this.getStopWords(t,n,r),o=this.getStemmedWords(e,s);a&&(a.filteredAlt=o);const u=this.getWordsWithPos(o,i,a);a&&(a.wordsWithPos={},Object.keys(u).forEach((e=>{u[e].length>1&&(a.wordsWithPos[e]=u[e])})));const l=this.getScore(u);return a&&(a.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,n,r,i){const a=[];return e.forEach((e=>{a.push(this.scoreAlternative(e,t,n,r,i,null))})),a.indexOf(Math.min(...a))}getScore(e){let t=0;return Object.keys(e).forEach((n=>{const r=e[n];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}})),n&&(n.identicals=t),t.forEach((e=>{const t=e.join("_");e.forEach((e=>{r[this.stemWord(e)]=t}))}))}n&&(n.identicalsMap=r);const i={};for(let t=0;t-1)){const e=new Error;throw e.name="InvalidArgumentError",e.message=`asm mode is not valid: ${n.mode}`,e}const i=[],a=Array.from(Array(e.length).keys());n&&n.mix&&this.mix(a),this.saveRollbackManager.saveSituation("isEmpty");for(const n of a){const a=e[n];this.mixinIsEmpty(t,a,r)||i.push(a)}this.saveRollbackManager.rollback();let s=n;n&&null!=n.assembly&&(s=n.assembly(i.length,i)),this.listStuff(t,i,s,r)}assemble(e,t,n,r){const i=Array.from(Array(n).keys());this.foreach(i,e,t,r)}mixinIsEmpty(e,t,n){const r=this.spy.getPugHtml();return this.runMixinOrValue(e,t,n),this.helper.htmlHasNotChanged(r)}listStuffCombined(e,t,n,r){if(!n.asms||2!==n.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=n.asms[1],a=i.max;if(!a){const e=new Error;throw e.name="InvalidArgumentError",e.message=`in 'asms', second asm must have a 'max' property: ${i}`,e}const s=n.asms[0],o=Array.from(Array(Math.ceil(t.length/a)).keys());this.listStuff(((n,r)=>{this.listStuff(e,t.slice(n*a,(n+1)*a),i,r)}),o,s,r)}listStuff(e,t,n,r){!n||"sentences"!==n.mode&&"paragraphs"!==n.mode&&"list"!==n.mode?n&&"combined"===n.mode?this.listStuffCombined(e,t,n,r):this.listStuffSingleSentence(e,t,n,r):this.listStuffSentences(e,t,n,r)}isMixin(e){return!("string"==typeof e||e instanceof String)}outputStringOrMixinHelper(e,t){this.isMixin(e)?e(t):this.helper.insertValEscaped(e)}outputStringOrMixin(e,t,r){switch(t){case n.BEGIN:this.outputStringOrMixinHelper(e,r),this.helper.appendDoubleSpace();break;case n.END:this.helper.appendDoubleSpace(),this.outputStringOrMixinHelper(e,r);break;case n.SEP:this.helper.appendDoubleSpace(),this.outputStringOrMixinHelper(e,r),this.helper.appendDoubleSpace();break;case n.OTHER:this.outputStringOrMixinHelper(e,r)}}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,r,i){if("paragraphs"===r.mode&&null!=r.end&&!this.isMixin(r.end)&&this.isDot(r.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 a=t.length;i||(i={}),i.nonEmpty=t,0===a&&r&&null!=r.if_empty&&this.outputStringOrMixin(r.if_empty,n.OTHER,i),"list"===r.mode&&this.listPutStart(r);for(let s=0;s"),this.listStuffSentencesHelper(o,i,t[s],e,r,s,a),this.helper.insertValUnescaped("
");break;case"sentences":this.helper.appendDoubleSpace(),this.listStuffSentencesHelper(o,i,t[s],e,r,s,a),this.helper.appendDoubleSpace();break;case"list":this.helper.insertValUnescaped(``),this.listStuffSentencesHelper(o,i,t[s],e,r,s,a),null!=r.list_end_item&&this.outputStringOrMixin(r.list_end_item,n.END,null),this.helper.insertValUnescaped(` `)}}"list"===r.mode&&this.listPutEnd(r)}insertSeparatorSingleSentence(e,t,r,i){e&&(t+1===r-1?e.last_separator?this.outputStringOrMixin(e.last_separator,n.SEP,i):e.separator&&this.outputStringOrMixin(e.separator,n.SEP,i):t+10;t--){const n=Math.floor(this.randomManager.getNextRnd()*(t+1));[e[t],e[n]]=[e[n],e[t]]}}}})),Gd=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Helper=void 0;t.Helper=class{constructor(e,t,n){this.genderNumberManager=e,this.saveRollbackManager=t,this.renderDebug=n}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 n=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"===n)return e[0];if("F"===n){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"===n){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}}})),Qd=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.PossessiveManager=void 0;t.PossessiveManager=class{constructor(e,t,n,r){this.languageImpl=e,this.genderNumberManager=t,this.refsManager=n,this.helper=r}setSpy(e){this.spy=e}recipientPossession(e){this.languageImpl.recipientPossession(e,this.spy,this.refsManager,this.helper)}thirdPossession(e,t,n){this.helper.appendDoubleSpace();const r=this.refsManager.getNextRep(e,n);switch(r.REPRESENTANT){case"ref":this.languageImpl.thirdPossessionTriggerRef(e,t,n,this.spy,this.helper,this.genderNumberManager);break;case"refexpr":this.languageImpl.thirdPossessionRefTriggered(e,t,n,this.spy,this.genderNumberManager);break;default:{const e=new Error;throw e.name="",e.message=`internal pb on thirdPossession: ${JSON.stringify(r)}`,e}}this.helper.appendDoubleSpace()}}})),Zd=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SentenceManager=void 0;t.SentenceManager=class{constructor(e,t,n,r,i){this.languageImpl=e,this.verbsManager=t,this.valueManager=n,this.adjectiveManager=r,this.synManager=i}setSpy(e){this.spy=e}verb(e,t,n){this.subjectVerb(e,t,Object.assign(Object.assign({},n),{noSubject:!0}))}subjectVerb(e,t,n){const r=this.synManager.synFctHelper(e);if(n&&n.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 n.invertSubjectVerb){const e=new Error;throw e.name="InvalidArgumentError",e.message="invertSubjectVerb must be a boolean",e}}n&&n.noSubject?this.spy.appendPugHtml(this.verbsManager.getAgreeVerb(r,t,n)):n&&n.invertSubjectVerb?(this.spy.appendPugHtml(this.verbsManager.getAgreeVerb(r,t,n)+"¤"),this.valueManager.value(r,n)):(this.valueManager.value(r,n),this.spy.appendPugHtml("¤"+this.verbsManager.getAgreeVerb(r,t,n)))}subjectVerbAdj(e,t,n,r){const i=this.synManager.synFctHelper(e);this.subjectVerb(i,t,r),this.spy.appendPugHtml("¤"),this.adjectiveManager.agreeAdj(n,i,r)}}})),ef=P((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SaveRollbackManager=void 0;class n{constructor(e,t,n,r,i,a,s,o,u,l,c,p,h){this.htmlBefore=e,this.hasSaid=Object.assign({},t),this.triggeredRefs=new Map(n),this.refGenderMap=new Map(r),this.refNumberMap=new Map(i),this.rndNextPos=a,this.nextRefs=new Map(s),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,n,r,i,a){this.saidManager=e,this.refsManager=t,this.genderNumberManager=n,this.randomManager=r,this.synManager=i,this.verbsManager=a}setSpy(e){this.spy=e}saveSituation(e){const t=new n(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 tf=9007199254740992,nf=9007199254740991,rf=-1>>>0,af=4294967296,sf=2147483648,of=2147483647,uf=1<<21,lf=2097151;function cf(e){return 0|e.next()}function pf(e,t){return 0===t?e:n=>e(n)+t}function hf(e){const t=0|e.next(),n=e.next()>>>0;return(t&lf)*af+n+(t&uf?-9007199254740992:0)}function df(e){for(;;){const t=0|e.next();if(!(4194304&t)){const n=e.next()>>>0;return(t&lf)*af+n+(t&uf?-9007199254740992:0)}if(4194304==(8388607&t)&&0==(0|e.next()))return tf}}function ff(e){return e.next()>>>0}function mf(e){const t=e.next()&lf,n=e.next()>>>0;return t*af+n}function yf(e){for(;;){const t=0|e.next();if(!(t&uf)){const n=e.next()>>>0;return(t&lf)*af+n}if(0==(t&lf)&&0==(0|e.next()))return tf}}function gf(e){return 0==(e+1&e)}function bf(e){return gf(e)?(t=e,e=>e.next()&t):function(e){const t=e+1,n=t*Math.floor(af/t);return e=>{let r=0;do{r=e.next()>>>0}while(r>=n);return r%t}}(e);var t}function vf(e){const t=e+1;if(0==(0|t)){const e=(t/af|0)-1;if(gf(e))return n=e,e=>{const t=e.next()&n,r=e.next()>>>0;return t*af+r}}var n;return function(e){const t=e*Math.floor(tf/e);return n=>{let r=0;do{const e=n.next()&lf,t=n.next()>>>0;r=e*af+t}while(r>=t);return r%e}}(t)}function xf(e,t){return n=>{let r=0;do{const e=0|n.next(),t=n.next()>>>0;r=(e&lf)*af+t+(e&uf?-9007199254740992:0)}while(rt);return r}}function Ef(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>tf||!isFinite(t))throw new RangeError("Expected max to be at most 9007199254740992");const n=t-e;return n<=0||!isFinite(n)?()=>e:n===rf?0===e?ff:pf(cf,e+sf):ne(n)!1;if(e>=1)return()=>!0;{const t=e*af;return t%1==0?Sf(cf,t-sf|0):Sf(mf,Math.round(e*tf))}}(e):e<=0?()=>!1:e>=t?()=>!0:Sf(Ef(0,t-1),e)}function Af(e,t){const n=Ef(+e,+t);return e=>new Date(n(e))}function wf(e){return Ef(1,e)}function Pf(e,t){const n=wf(e);return e=>{const r=[];for(let i=0;i{let i="";for(let a=0;a=s)throw new RangeError(`Cannot pick between bounds ${a} and ${s}`);return t[Ef(a,s-1)(e)]}function Mf(e){return mf(e)/tf}function Lf(e){return yf(e)/tf}function Bf(e,t,n=!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 pf((r=n?Lf:Mf,1===(i=t-e)?r:0===i?()=>0:e=>r(e)*i),e);var r,i}const Rf=Array.prototype.slice;function Uf(e,t,n=0){const r=t.length;if(r)for(let i=r-1>>>0;i>n;--i){const n=Ef(0,i)(e);if(i!==n){const e=t[i];t[i]=t[n],t[n]=e}}return t}function Vf(e,t,n){if(n<0||n>t.length||!isFinite(n))throw new RangeError("Expected sampleSize to be within 0 and the length of the population");if(0===n)return[];const r=Rf.call(t),i=r.length;if(i===n)return Uf(e,r,0);const a=i-n;return Uf(e,r,a-1).slice(a)}const Wf=(()=>{try{if("xxx"==="x".repeat(3))return(e,t)=>e.repeat(t)}catch(e){}return(e,t)=>{let n="";for(;t>0;)1&t&&(n+=e),t>>=1,e+=e;return n}})();function zf(e,t){return Wf("0",t-e.length)+e}function qf(e){const t=e.next()>>>0,n=0|e.next(),r=0|e.next(),i=e.next()>>>0;return zf(t.toString(16),8)+"-"+zf((65535&n).toString(16),4)+"-"+zf((n>>4&4095|16384).toString(16),4)+"-"+zf((16383&r|32768).toString(16),4)+"-"+zf((r>>4&65535).toString(16),4)+zf(i.toString(16),8)}const Hf={next:()=>Math.random()*af|0};const Xf=(()=>{try{const e=new ArrayBuffer(4),t=new Int32Array(e);if(t[0]=sf,-2147483648===t[0])return Int32Array}catch(e){}return Array})();let Jf=null;let $f=128;const Yf={next:()=>($f>=128&&(null===Jf&&(Jf=new Xf(128)),crypto.getRandomValues(Jf),$f=0),0|Jf[$f++])};function Kf(e=Hf,t=16){const n=[];n.push(0|(new Date).getTime());for(let r=1;r{try{if(-5===Math.imul(rf,5))return Math.imul}catch(e){}const e=65535;return(t,n)=>{const r=t&e,i=n&e;return r*i+((t>>>16&e)*i+r*(n>>>16&e)<<16>>>0)|0}})(),Qf=624,Zf=623,em=2567483615;class tm{constructor(){this.data=new Xf(Qf),this.index=0,this.uses=0}static seed(e){return(new tm).seed(e)}static seedWithArray(e){return(new tm).seedWithArray(e)}static autoSeed(){return tm.seedWithArray(Kf())}next(){(0|this.index)>=Qf&&(nm(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)>=Qf&&(nm(this.data),this.index=0);e+this.index>Qf;)e-=Qf-this.index,nm(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=Qf,this.uses=0,this}seedWithArray(e){return this.seed(19650218),function(e,t){let n=1,r=0;const i=t.length;let a=0|Math.max(i,Qf),s=0|e[0];for(;(0|a)>0;--a)e[n]=s=(e[n]^Gf(s^s>>>30,1664525))+(0|t[r])+(0|r)|0,n=n+1|0,++r,(0|n)>Zf&&(e[0]=e[623],n=1),r>=i&&(r=0);for(a=Zf;(0|a)>0;--a)e[n]=s=(e[n]^Gf(s^s>>>30,1566083941))-n|0,n=n+1|0,(0|n)>Zf&&(e[0]=e[623],n=1);e[0]=sf}(this.data,e),this}}function nm(e){let t=0,n=0;for(;(0|t)<227;t=t+1|0)n=e[t]&sf|e[t+1|0]&of,e[t]=e[t+397|0]^n>>>1^(1&n?em:0);for(;(0|t)>>1^(1&n?em:0);n=e[623]&sf|e[0]&of,e[623]=e[396]^n>>>1^(1&n?em:0)}let rm=null;let im=128;const am={next:()=>(im>=128&&(rm=new Int32Array(new Int8Array(require("crypto").randomBytes(512)).buffer),im=0),0|rm[im++])};var sm=Object.freeze({__proto__:null,Random:class{constructor(e=Hf){this.engine=e}int32(){return cf(this.engine)}uint32(){return ff(this.engine)}uint53(){return mf(this.engine)}uint53Full(){return yf(this.engine)}int53(){return hf(this.engine)}int53Full(){return df(this.engine)}integer(e,t){return Ef(e,t)(this.engine)}realZeroToOneInclusive(){return Lf(this.engine)}realZeroToOneExclusive(){return Mf(this.engine)}real(e,t,n=!1){return Bf(e,t,n)(this.engine)}bool(e,t){return Tf(e,t)(this.engine)}pick(e,t,n){return jf(this.engine,e,t,n)}shuffle(e){return Uf(this.engine,e)}sample(e,t){return Vf(this.engine,e,t)}die(e){return wf(e)(this.engine)}dice(e,t){return Pf(e,t)(this.engine)}uuid4(){return qf(this.engine)}string(e,t){return Cf(t)(this.engine,e)}hex(e,t){return If(t)(this.engine,e)}date(e,t){return Af(e,t)(this.engine)}},browserCrypto:Yf,nativeMath:Hf,MersenneTwister19937:tm,nodeCrypto:am,bool:Tf,date:Af,dice:Pf,die:wf,hex:If,int32:cf,int53:hf,int53Full:df,integer:Ef,pick:jf,picker:function(e,t,n){const r=Rf.call(e,t,n);if(0===r.length)throw new RangeError("Cannot pick from a source with no items");const i=Ef(0,r.length-1);return e=>r[i(e)]},real:Bf,realZeroToOneExclusive:Mf,realZeroToOneInclusive:Lf,sample:Vf,shuffle:Uf,string:Cf,uint32:ff,uint53:mf,uint53Full:yf,uuid4:qf,createEntropy:Kf}),om=P((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 sm.Random(sm.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;)n++;return n}getWeightedRandom(e,t){const n=this.getSumOfWeights(e,t);let r=Math.floor(this.getNextRnd()*n)+1;for(let n=1;n<=e;n++)if(r-=this.getItemWeight(t,n),r<=0)return n}randomNotIn(e,t,n){if(n.length===e)return null;const r={};let i=0;for(let a=1;a<=e;a++)-1===n.indexOf(a)&&(i++,r[i]={weight:this.getItemWeight(t,a)});const a=this.getWeightedRandom(e-n.length,r);return this.getTargetIndex(a,n)}}})),um=P((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}}})),lm=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFrench/en/true!"}),cm=Object.freeze({__proto__:null,default:"This is virtual ./LanguageSpanish/en/true!"}),pm=P((function(e){
/*! @preserve
* numeral.js
* version : 2.0.6
* author : Adam Draper
* license : MIT
* http://adamwdraper.github.com/Numeral-js/
*/
!function(t,n){e.exports?e.exports=n():t.numeral=n()}(w,(function(){var e,t,n,r,i,a={},s={},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(n){var r,i,s,o;if(e.isNumeral(n))r=n.value();else if(0===n||void 0===n)r=0;else if(null===n||t.isNaN(n))r=null;else if("string"==typeof n)if(u.zeroFormat&&n===u.zeroFormat)r=0;else if(u.nullFormat&&n===u.nullFormat||!n.replace(/[^0-9]+/g,"").length)r=null;else{for(i in a)if((o="function"==typeof a[i].regexps.unformat?a[i].regexps.unformat():a[i].regexps.unformat)&&n.match(o)){s=a[i].unformat;break}r=(s=s||e._.stringToNumber)(n)}else r=Number(n)||null;return new l(n,r)}).version="2.0.6",e.isNumeral=function(e){return e instanceof l},e._=t={numberToFormat:function(t,n,r){var i,a,o,u,l,c,p,h,d=s[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(n,"(")?(f=!0,n=n.replace(/[\(|\)]/g,"")):(e._.includes(n,"+")||e._.includes(n,"-"))&&(c=e._.includes(n,"+")?n.indexOf("+"):t<0?n.indexOf("-"):-1,n=n.replace(/[\+|\-]/g,"")),e._.includes(n,"a")&&(a=!!(a=n.match(/a(k|m|b|t)?/))&&a[1],e._.includes(n," a")&&(y=" "),n=n.replace(new RegExp(y+"a[kmbt]?"),""),o>=g&&!a||"t"===a?(y+=d.abbreviations.trillion,t/=g):o=b&&!a||"b"===a?(y+=d.abbreviations.billion,t/=b):o=v&&!a||"m"===a?(y+=d.abbreviations.million,t/=v):(o=1e3&&!a||"k"===a)&&(y+=d.abbreviations.thousand,t/=1e3)),e._.includes(n,"[.]")&&(m=!0,n=n.replace("[.]",".")),u=t.toString().split(".")[0],l=n.split(".")[1],p=n.indexOf(","),i=(n.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,r,l[1].length)):x=e._.toFixed(t,l.length,r),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,r),y&&!a&&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===n.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,n,r,i=s[u.currentLocale],a=e,o={thousand:3,million:6,billion:9,trillion:12};if(u.zeroFormat&&e===u.zeroFormat)n=0;else if(u.nullFormat&&e===u.nullFormat||!e.replace(/[^0-9]+/g,"").length)n=null;else{for(t in n=1,"."!==i.delimiters.decimal&&(e=e.replace(/\./g,"").replace(i.delimiters.decimal,".")),o)if(r=new RegExp("[^a-zA-Z]"+i.abbreviations[t]+"(?:\\)|(\\"+i.currency.symbol+")?(?:\\))?)?$"),a.match(r)){n*=Math.pow(10,o[t]);break}n*=(e.split("-").length+Math.min(e.split("(").length-1,e.split(")").length-1))%2?1:-1,e=e.replace(/[^0-9\.]+/g,""),n*=Number(e)}return n},isNaN:function(e){return"number"==typeof e&&isNaN(e)},includes:function(e,t){return-1!==e.indexOf(t)},insert:function(e,t,n){return e.slice(0,n)+t+e.slice(n)},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 n,r=Object(e),i=r.length>>>0,a=0;if(3===arguments.length)n=arguments[2];else{for(;a=i)throw new TypeError("Reduce of empty array with no initial value");n=r[a++]}for(;ar?e:r}),1)},toFixed:function(e,t,n,r){var i,a,s,o,u=e.toString().split("."),l=t-(r||0);return i=2===u.length?Math.min(Math.max(u[1].length,l),t):l,s=Math.pow(10,i),o=(n(e+"e+"+i)/s).toFixed(i),r>t-i&&(a=new RegExp("\\.?0{1,"+(r-(t-i))+"}$"),o=o.replace(a,"")),o}},e.options=u,e.formats=a,e.locales=s,e.locale=function(e){return e&&(u.currentLocale=e.toLowerCase()),u.currentLocale},e.localeData=function(e){if(!e)return s[u.currentLocale];if(e=e.toLowerCase(),!s[e])throw new Error("Unknown locale : "+e);return s[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,n){if(t=t.toLowerCase(),this[e+"s"][t])throw new TypeError(t+" "+e+" already registered.");return this[e+"s"][t]=n,n},e.validate=function(t,n){var r,i,a,s,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(n)}catch(t){l=e.localeData(e.locale())}return a=l.currency.symbol,o=l.abbreviations,r=l.delimiters.decimal,i="."===l.delimiters.thousands?"\\.":l.delimiters.thousands,(null===(c=t.match(/^[^\d]+/))||(t=t.substr(1),c[0]===a))&&((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)&&(!((s=t.split(r)).length>2)&&(s.length<2?!!s[0].match(/^\d+.*\d$/)&&!s[0].match(u):1===s[0].length?!!s[0].match(/^\d+$/)&&!s[0].match(u)&&!!s[1].match(/^\d+$/):!!s[0].match(/^\d+.*\d$/)&&!s[0].match(u)&&!!s[1].match(/^\d+$/)))))},e.fn=l.prototype={clone:function(){return e(this)},format:function(t,n){var r,i,s,o=this._value,l=t||u.defaultFormat;if(n=n||Math.round,0===o&&null!==u.zeroFormat)i=u.zeroFormat;else if(null===o&&null!==u.nullFormat)i=u.nullFormat;else{for(r in a)if(l.match(a[r].regexps.format)){s=a[r].format;break}i=(s=s||e._.numberToFormat)(o,l,n)}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 n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([this._value,e],(function(e,t,r,i){return e+Math.round(n*t)}),0)/n,this},subtract:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([e],(function(e,t,r,i){return e-Math.round(n*t)}),Math.round(this._value*n))/n,this},multiply:function(e){return this._value=t.reduce([this._value,e],(function(e,n,r,i){var a=t.correctionFactor(e,n);return Math.round(e*a)*Math.round(n*a)/Math.round(a*a)}),1),this},divide:function(e){return this._value=t.reduce([this._value,e],(function(e,n,r,i){var a=t.correctionFactor(e,n);return Math.round(e*a)/Math.round(n*a)})),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,n,r){var i,a=e._.includes(n," BPS")?" ":"";return t*=1e4,n=n.replace(/\s?BPS/,""),i=e._.numberToFormat(t,n,r),e._.includes(i,")")?((i=i.split("")).splice(-1,0,a+"BPS"),i=i.join("")):i=i+a+"BPS",i},unformat:function(t){return+(1e-4*e._.stringToNumber(t)).toFixed(15)}}),r={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},i="("+(i=(n={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}).suffixes.concat(r.suffixes.filter((function(e){return n.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,a){var s,o,u,l=e._.includes(i,"ib")?r:n,c=e._.includes(i," b")||e._.includes(i," ib")?" ":"";for(i=i.replace(/\s?i?b/,""),s=0;s<=l.suffixes.length;s++)if(o=Math.pow(l.base,s),u=Math.pow(l.base,s+1),null===t||0===t||t>=o&&t0&&(t/=o);break}return e._.numberToFormat(t,i,a)+c},unformat:function(t){var i,a,s=e._.stringToNumber(t);if(s){for(i=n.suffixes.length-1;i>=0;i--){if(e._.includes(t,n.suffixes[i])){a=Math.pow(n.base,i);break}if(e._.includes(t,r.suffixes[i])){a=Math.pow(r.base,i);break}}s*=a||1}return s}}),e.register("format","currency",{regexps:{format:/(\$)/},format:function(t,n,r){var i,a,s=e.locales[e.options.currentLocale],o={before:n.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:n.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(n=n.replace(/\s?\$\s?/,""),i=e._.numberToFormat(t,n,r),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),a=0;a=0;a--)switch(o.after[a]){case"$":i=a===o.after.length-1?i+s.currency.symbol:e._.insert(i,s.currency.symbol,-(o.after.length-(1+a)));break;case" ":i=a===o.after.length-1?i+" ":e._.insert(i," ",-(o.after.length-(1+a)+s.currency.symbol.length-1))}return i}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(t,n,r){var i=("number"!=typeof t||e._.isNaN(t)?"0e+0":t.toExponential()).split("e");return n=n.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(i[0]),n,r)+"e"+i[1]},unformat:function(t){var n=e._.includes(t,"e+")?t.split("e+"):t.split("e-"),r=Number(n[0]),i=Number(n[1]);return i=e._.includes(t,"e-")?i*=-1:i,e._.reduce([r,Math.pow(10,i)],(function(t,n,r,i){var a=e._.correctionFactor(t,n);return t*a*(n*a)/(a*a)}),1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(t,n,r){var i=e.locales[e.options.currentLocale],a=e._.includes(n," o")?" ":"";return n=n.replace(/\s?o/,""),a+=i.ordinal(t),e._.numberToFormat(t,n,r)+a}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(t,n,r){var i,a=e._.includes(n," %")?" ":"";return e.options.scalePercentBy100&&(t*=100),n=n.replace(/\s?\%/,""),i=e._.numberToFormat(t,n,r),e._.includes(i,")")?((i=i.split("")).splice(-1,0,a+"%"),i=i.join("")):i=i+a+"%",i},unformat:function(t){var n=e._.stringToNumber(t);return e.options.scalePercentBy100?.01*n:n}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,t,n){var r=Math.floor(e/60/60),i=Math.floor((e-60*r*60)/60),a=Math.round(e-60*r*60-60*i);return r+":"+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)},unformat:function(e){var t=e.split(":"),n=0;return 3===t.length?(n+=60*Number(t[0])*60,n+=60*Number(t[1]),n+=Number(t[2])):2===t.length&&(n+=60*Number(t[0]),n+=Number(t[1])),Number(n)}}),e}))}));function hm(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}function dm(e){hm(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 fm(e){hm(1,arguments);var t=dm(e);return!isNaN(t)}var mm={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function ym(e){return function(t){var n=t||{},r=n.width?String(n.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}var gm={date:ym({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:ym({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:ym({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},bm={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function vm(e){return function(t,n){var r,i=n||{};if("formatting"===(i.context?String(i.context):"standalone")&&e.formattingValues){var a=e.defaultFormattingWidth||e.defaultWidth,s=i.width?String(i.width):a;r=e.formattingValues[s]||e.formattingValues[a]}else{var o=e.defaultWidth,u=i.width?String(i.width):e.defaultWidth;r=e.values[u]||e.values[o]}return r[e.argumentCallback?e.argumentCallback(t):t]}}function xm(e){return function(t,n){var r=String(t),i=n||{},a=i.width,s=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=r.match(s);if(!o)return null;var u,l=o[0],c=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth];return u="[object Array]"===Object.prototype.toString.call(c)?function(e,t){for(var n=0;n0?"in "+r:r+" ago":r},formatLong:gm,formatRelative:function(e,t,n,r){return bm[e]},localize:{ordinalNumber:function(e,t){var n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:vm({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:vm({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return Number(e)-1}}),month:vm({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:vm({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:vm({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(Em={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}},function(e,t){var n=String(e),r=t||{},i=n.match(Em.matchPattern);if(!i)return null;var a=i[0],s=n.match(Em.parsePattern);if(!s)return null;var o=Em.valueCallback?Em.valueCallback(s[0]):s[0];return{value:o=r.valueCallback?r.valueCallback(o):o,rest:n.slice(a.length)}}),era:xm({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:xm({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:xm({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:xm({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:xm({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Sm(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 Tm(e,t){hm(2,arguments);var n=dm(e).getTime(),r=Sm(t);return new Date(n+r)}function Am(e,t){hm(2,arguments);var n=Sm(t);return Tm(e,-n)}function wm(e,t){for(var n=e<0?"-":"",r=Math.abs(e).toString();r.length0?n:1-n;return wm("yy"===t?r%100:r,t.length)},Cm=function(e,t){var n=e.getUTCMonth();return"M"===t?String(n+1):wm(n+1,2)},km=function(e,t){return wm(e.getUTCDate(),t.length)},_m=function(e,t){return wm(e.getUTCHours()%12||12,t.length)},Fm=function(e,t){return wm(e.getUTCHours(),t.length)},Im=function(e,t){return wm(e.getUTCMinutes(),t.length)},Om=function(e,t){return wm(e.getUTCSeconds(),t.length)},Nm=function(e,t){var n=t.length,r=e.getUTCMilliseconds();return wm(Math.floor(r*Math.pow(10,n-3)),t.length)},jm=864e5;function Mm(e){hm(1,arguments);var t=1,n=dm(e),r=n.getUTCDay(),i=(r=i.getTime()?n+1:t.getTime()>=s.getTime()?n:n-1}function Bm(e){hm(1,arguments);var t=Lm(e),n=new Date(0);n.setUTCFullYear(t,0,4),n.setUTCHours(0,0,0,0);var r=Mm(n);return r}var Rm=6048e5;function Um(e,t){hm(1,arguments);var n=t||{},r=n.locale,i=r&&r.options&&r.options.weekStartsOn,a=null==i?0:Sm(i),s=null==n.weekStartsOn?a:Sm(n.weekStartsOn);if(!(s>=0&&s<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var o=dm(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(r+1,0,u),l.setUTCHours(0,0,0,0);var c=Um(l,t),p=new Date(0);p.setUTCFullYear(r,0,u),p.setUTCHours(0,0,0,0);var h=Um(p,t);return n.getTime()>=c.getTime()?r+1:n.getTime()>=h.getTime()?r:r-1}function Wm(e,t){hm(1,arguments);var n=t||{},r=n.locale,i=r&&r.options&&r.options.firstWeekContainsDate,a=null==i?1:Sm(i),s=null==n.firstWeekContainsDate?a:Sm(n.firstWeekContainsDate),o=Vm(e,t),u=new Date(0);u.setUTCFullYear(o,0,s),u.setUTCHours(0,0,0,0);var l=Um(u,t);return l}var zm=6048e5;var qm="midnight",Hm="noon",Xm="morning",Jm="afternoon",$m="evening",Ym="night",Km={G:function(e,t,n){var r=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){var r=e.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return Pm(e,t)},Y:function(e,t,n,r){var i=Vm(e,r),a=i>0?i:1-i;return"YY"===t?wm(a%100,2):"Yo"===t?n.ordinalNumber(a,{unit:"year"}):wm(a,t.length)},R:function(e,t){return wm(Lm(e),t.length)},u:function(e,t){return wm(e.getUTCFullYear(),t.length)},Q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return wm(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return wm(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){var r=e.getUTCMonth();switch(t){case"M":case"MM":return Cm(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){var r=e.getUTCMonth();switch(t){case"L":return String(r+1);case"LL":return wm(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){var i=function(e,t){hm(1,arguments);var n=dm(e),r=Um(n,t).getTime()-Wm(n,t).getTime();return Math.round(r/zm)+1}(e,r);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):wm(i,t.length)},I:function(e,t,n){var r=function(e){hm(1,arguments);var t=dm(e),n=Mm(t).getTime()-Bm(t).getTime();return Math.round(n/Rm)+1}(e);return"Io"===t?n.ordinalNumber(r,{unit:"week"}):wm(r,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):km(e,t)},D:function(e,t,n){var r=function(e){hm(1,arguments);var t=dm(e),n=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var r=t.getTime(),i=n-r;return Math.floor(i/jm)+1}(e);return"Do"===t?n.ordinalNumber(r,{unit:"dayOfYear"}):wm(r,t.length)},E:function(e,t,n){var r=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){var i=e.getUTCDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(a);case"ee":return wm(a,2);case"eo":return n.ordinalNumber(a,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){var i=e.getUTCDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(a);case"cc":return wm(a,t.length);case"co":return n.ordinalNumber(a,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){var r=e.getUTCDay(),i=0===r?7:r;switch(t){case"i":return String(i);case"ii":return wm(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){var r,i=e.getUTCHours();switch(r=12===i?Hm:0===i?qm:i/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){var r,i=e.getUTCHours();switch(r=i>=17?$m:i>=12?Jm:i>=4?Xm:Ym,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){var r=e.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return _m(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Fm(e,t)},K:function(e,t,n){var r=e.getUTCHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):wm(r,t.length)},k:function(e,t,n){var r=e.getUTCHours();return 0===r&&(r=24),"ko"===t?n.ordinalNumber(r,{unit:"hour"}):wm(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Im(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Om(e,t)},S:function(e,t){return Nm(e,t)},X:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return Qm(i);case"XXXX":case"XX":return Zm(i);case"XXXXX":case"XXX":default:return Zm(i,":")}},x:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return Qm(i);case"xxxx":case"xx":return Zm(i);case"xxxxx":case"xxx":default:return Zm(i,":")}},O:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Gm(i,":");case"OOOO":default:return"GMT"+Zm(i,":")}},z:function(e,t,n,r){var i=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Gm(i,":");case"zzzz":default:return"GMT"+Zm(i,":")}},t:function(e,t,n,r){var i=r._originalDate||e;return wm(Math.floor(i.getTime()/1e3),t.length)},T:function(e,t,n,r){return wm((r._originalDate||e).getTime(),t.length)}};function Gm(e,t){var n=e>0?"-":"+",r=Math.abs(e),i=Math.floor(r/60),a=r%60;if(0===a)return n+String(i);var s=t||"";return n+String(i)+s+wm(a,2)}function Qm(e,t){return e%60==0?(e>0?"-":"+")+wm(Math.abs(e)/60,2):Zm(e,t)}function Zm(e,t){var n=t||"",r=e>0?"-":"+",i=Math.abs(e);return r+wm(Math.floor(i/60),2)+n+wm(i%60,2)}function ey(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 ty(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 ny={p:ty,P:function(e,t){var n,r=e.match(/(P+)(p+)?/),i=r[1],a=r[2];if(!a)return ey(e,t);switch(i){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;case"PPPP":default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",ey(i,t)).replace("{{time}}",ty(a,t))}};function ry(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 iy=["D","DD"],ay=["YY","YYYY"];function sy(e){return-1!==iy.indexOf(e)}function oy(e){return-1!==ay.indexOf(e)}function uy(e,t,n){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; 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(n,"`; 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(n,"`; 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(n,"`; see: https://git.io/fxCyr"))}var ly=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,cy=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,py=/^'([^]*?)'?$/,hy=/''/g,dy=/[a-zA-Z]/;function fy(e){return e.match(py)[1].replace(hy,"'")}var my=Object.freeze({__proto__:null,add:"This is virtual ./add/index.js/en/true!",addBusinessDays:"This is virtual ./addBusinessDays/index.js/en/true!",addDays:"This is virtual ./addDays/index.js/en/true!",addHours:"This is virtual ./addHours/index.js/en/true!",addISOWeekYears:"This is virtual ./addISOWeekYears/index.js/en/true!",addMilliseconds:"This is virtual ./addMilliseconds/index.js/en/true!",addMinutes:"This is virtual ./addMinutes/index.js/en/true!",addMonths:"This is virtual ./addMonths/index.js/en/true!",addQuarters:"This is virtual ./addQuarters/index.js/en/true!",addSeconds:"This is virtual ./addSeconds/index.js/en/true!",addWeeks:"This is virtual ./addWeeks/index.js/en/true!",addYears:"This is virtual ./addYears/index.js/en/true!",areIntervalsOverlapping:"This is virtual ./areIntervalsOverlapping/index.js/en/true!",closestIndexTo:"This is virtual ./closestIndexTo/index.js/en/true!",closestTo:"This is virtual ./closestTo/index.js/en/true!",compareAsc:"This is virtual ./compareAsc/index.js/en/true!",compareDesc:"This is virtual ./compareDesc/index.js/en/true!",differenceInBusinessDays:"This is virtual ./differenceInBusinessDays/index.js/en/true!",differenceInCalendarDays:"This is virtual ./differenceInCalendarDays/index.js/en/true!",differenceInCalendarISOWeekYears:"This is virtual ./differenceInCalendarISOWeekYears/index.js/en/true!",differenceInCalendarISOWeeks:"This is virtual ./differenceInCalendarISOWeeks/index.js/en/true!",differenceInCalendarMonths:"This is virtual ./differenceInCalendarMonths/index.js/en/true!",differenceInCalendarQuarters:"This is virtual ./differenceInCalendarQuarters/index.js/en/true!",differenceInCalendarWeeks:"This is virtual ./differenceInCalendarWeeks/index.js/en/true!",differenceInCalendarYears:"This is virtual ./differenceInCalendarYears/index.js/en/true!",differenceInDays:"This is virtual ./differenceInDays/index.js/en/true!",differenceInHours:"This is virtual ./differenceInHours/index.js/en/true!",differenceInISOWeekYears:"This is virtual ./differenceInISOWeekYears/index.js/en/true!",differenceInMilliseconds:"This is virtual ./differenceInMilliseconds/index.js/en/true!",differenceInMinutes:"This is virtual ./differenceInMinutes/index.js/en/true!",differenceInMonths:"This is virtual ./differenceInMonths/index.js/en/true!",differenceInQuarters:"This is virtual ./differenceInQuarters/index.js/en/true!",differenceInSeconds:"This is virtual ./differenceInSeconds/index.js/en/true!",differenceInWeeks:"This is virtual ./differenceInWeeks/index.js/en/true!",differenceInYears:"This is virtual ./differenceInYears/index.js/en/true!",eachDayOfInterval:"This is virtual ./eachDayOfInterval/index.js/en/true!",eachHourOfInterval:"This is virtual ./eachHourOfInterval/index.js/en/true!",eachMonthOfInterval:"This is virtual ./eachMonthOfInterval/index.js/en/true!",eachQuarterOfInterval:"This is virtual ./eachQuarterOfInterval/index.js/en/true!",eachWeekOfInterval:"This is virtual ./eachWeekOfInterval/index.js/en/true!",eachWeekendOfInterval:"This is virtual ./eachWeekendOfInterval/index.js/en/true!",eachWeekendOfMonth:"This is virtual ./eachWeekendOfMonth/index.js/en/true!",eachWeekendOfYear:"This is virtual ./eachWeekendOfYear/index.js/en/true!",eachYearOfInterval:"This is virtual ./eachYearOfInterval/index.js/en/true!",endOfDay:"This is virtual ./endOfDay/index.js/en/true!",endOfDecade:"This is virtual ./endOfDecade/index.js/en/true!",endOfHour:"This is virtual ./endOfHour/index.js/en/true!",endOfISOWeek:"This is virtual ./endOfISOWeek/index.js/en/true!",endOfISOWeekYear:"This is virtual ./endOfISOWeekYear/index.js/en/true!",endOfMinute:"This is virtual ./endOfMinute/index.js/en/true!",endOfMonth:"This is virtual ./endOfMonth/index.js/en/true!",endOfQuarter:"This is virtual ./endOfQuarter/index.js/en/true!",endOfSecond:"This is virtual ./endOfSecond/index.js/en/true!",endOfToday:"This is virtual ./endOfToday/index.js/en/true!",endOfTomorrow:"This is virtual ./endOfTomorrow/index.js/en/true!",endOfWeek:"This is virtual ./endOfWeek/index.js/en/true!",endOfYear:"This is virtual ./endOfYear/index.js/en/true!",endOfYesterday:"This is virtual ./endOfYesterday/index.js/en/true!",format:function(e,t,n){hm(2,arguments);var r=String(t),i=n||{},a=i.locale||Dm,s=a.options&&a.options.firstWeekContainsDate,o=null==s?1:Sm(s),u=null==i.firstWeekContainsDate?o:Sm(i.firstWeekContainsDate);if(!(u>=1&&u<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=a.options&&a.options.weekStartsOn,c=null==l?0:Sm(l),p=null==i.weekStartsOn?c:Sm(i.weekStartsOn);if(!(p>=0&&p<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!a.localize)throw new RangeError("locale must contain localize property");if(!a.formatLong)throw new RangeError("locale must contain formatLong property");var h=dm(e);if(!fm(h))throw new RangeError("Invalid time value");var d=ry(h),f=Am(h,d),m={firstWeekContainsDate:u,weekStartsOn:p,locale:a,_originalDate:h},y=r.match(cy).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,ny[t])(e,a.formatLong,m):e})).join("").match(ly).map((function(n){if("''"===n)return"'";var r=n[0];if("'"===r)return fy(n);var s=Km[r];if(s)return!i.useAdditionalWeekYearTokens&&oy(n)&&uy(n,t,e),!i.useAdditionalDayOfYearTokens&&sy(n)&&uy(n,t,e),s(f,n,a.localize,m);if(r.match(dy))throw new RangeError("Format string contains an unescaped latin alphabet character `"+r+"`");return n})).join("");return y},formatDistance:"This is virtual ./formatDistance/index.js/en/true!",formatDistanceStrict:"This is virtual ./formatDistanceStrict/index.js/en/true!",formatDistanceToNow:"This is virtual ./formatDistanceToNow/index.js/en/true!",formatDistanceToNowStrict:"This is virtual ./formatDistanceToNowStrict/index.js/en/true!",formatDuration:"This is virtual ./formatDuration/index.js/en/true!",formatISO:"This is virtual ./formatISO/index.js/en/true!",formatISO9075:"This is virtual ./formatISO9075/index.js/en/true!",formatISODuration:"This is virtual ./formatISODuration/index.js/en/true!",formatRFC3339:"This is virtual ./formatRFC3339/index.js/en/true!",formatRFC7231:"This is virtual ./formatRFC7231/index.js/en/true!",formatRelative:"This is virtual ./formatRelative/index.js/en/true!",fromUnixTime:"This is virtual ./fromUnixTime/index.js/en/true!",getDate:"This is virtual ./getDate/index.js/en/true!",getDay:"This is virtual ./getDay/index.js/en/true!",getDayOfYear:"This is virtual ./getDayOfYear/index.js/en/true!",getDaysInMonth:"This is virtual ./getDaysInMonth/index.js/en/true!",getDaysInYear:"This is virtual ./getDaysInYear/index.js/en/true!",getDecade:"This is virtual ./getDecade/index.js/en/true!",getHours:"This is virtual ./getHours/index.js/en/true!",getISODay:"This is virtual ./getISODay/index.js/en/true!",getISOWeek:"This is virtual ./getISOWeek/index.js/en/true!",getISOWeekYear:"This is virtual ./getISOWeekYear/index.js/en/true!",getISOWeeksInYear:"This is virtual ./getISOWeeksInYear/index.js/en/true!",getMilliseconds:"This is virtual ./getMilliseconds/index.js/en/true!",getMinutes:"This is virtual ./getMinutes/index.js/en/true!",getMonth:"This is virtual ./getMonth/index.js/en/true!",getOverlappingDaysInIntervals:"This is virtual ./getOverlappingDaysInIntervals/index.js/en/true!",getQuarter:"This is virtual ./getQuarter/index.js/en/true!",getSeconds:"This is virtual ./getSeconds/index.js/en/true!",getTime:"This is virtual ./getTime/index.js/en/true!",getUnixTime:"This is virtual ./getUnixTime/index.js/en/true!",getWeek:"This is virtual ./getWeek/index.js/en/true!",getWeekOfMonth:"This is virtual ./getWeekOfMonth/index.js/en/true!",getWeekYear:"This is virtual ./getWeekYear/index.js/en/true!",getWeeksInMonth:"This is virtual ./getWeeksInMonth/index.js/en/true!",getYear:"This is virtual ./getYear/index.js/en/true!",intervalToDuration:"This is virtual ./intervalToDuration/index.js/en/true!",intlFormat:"This is virtual ./intlFormat/index.js/en/true!",isAfter:"This is virtual ./isAfter/index.js/en/true!",isBefore:"This is virtual ./isBefore/index.js/en/true!",isDate:"This is virtual ./isDate/index.js/en/true!",isEqual:"This is virtual ./isEqual/index.js/en/true!",isExists:"This is virtual ./isExists/index.js/en/true!",isFirstDayOfMonth:"This is virtual ./isFirstDayOfMonth/index.js/en/true!",isFriday:"This is virtual ./isFriday/index.js/en/true!",isFuture:"This is virtual ./isFuture/index.js/en/true!",isLastDayOfMonth:"This is virtual ./isLastDayOfMonth/index.js/en/true!",isLeapYear:"This is virtual ./isLeapYear/index.js/en/true!",isMatch:"This is virtual ./isMatch/index.js/en/true!",isMonday:"This is virtual ./isMonday/index.js/en/true!",isPast:"This is virtual ./isPast/index.js/en/true!",isSameDay:"This is virtual ./isSameDay/index.js/en/true!",isSameHour:"This is virtual ./isSameHour/index.js/en/true!",isSameISOWeek:"This is virtual ./isSameISOWeek/index.js/en/true!",isSameISOWeekYear:"This is virtual ./isSameISOWeekYear/index.js/en/true!",isSameMinute:"This is virtual ./isSameMinute/index.js/en/true!",isSameMonth:"This is virtual ./isSameMonth/index.js/en/true!",isSameQuarter:"This is virtual ./isSameQuarter/index.js/en/true!",isSameSecond:"This is virtual ./isSameSecond/index.js/en/true!",isSameWeek:"This is virtual ./isSameWeek/index.js/en/true!",isSameYear:"This is virtual ./isSameYear/index.js/en/true!",isSaturday:"This is virtual ./isSaturday/index.js/en/true!",isSunday:"This is virtual ./isSunday/index.js/en/true!",isThisHour:"This is virtual ./isThisHour/index.js/en/true!",isThisISOWeek:"This is virtual ./isThisISOWeek/index.js/en/true!",isThisMinute:"This is virtual ./isThisMinute/index.js/en/true!",isThisMonth:"This is virtual ./isThisMonth/index.js/en/true!",isThisQuarter:"This is virtual ./isThisQuarter/index.js/en/true!",isThisSecond:"This is virtual ./isThisSecond/index.js/en/true!",isThisWeek:"This is virtual ./isThisWeek/index.js/en/true!",isThisYear:"This is virtual ./isThisYear/index.js/en/true!",isThursday:"This is virtual ./isThursday/index.js/en/true!",isToday:"This is virtual ./isToday/index.js/en/true!",isTomorrow:"This is virtual ./isTomorrow/index.js/en/true!",isTuesday:"This is virtual ./isTuesday/index.js/en/true!",isValid:"This is virtual ./isValid/index.js/en/true!",isWednesday:"This is virtual ./isWednesday/index.js/en/true!",isWeekend:"This is virtual ./isWeekend/index.js/en/true!",isWithinInterval:"This is virtual ./isWithinInterval/index.js/en/true!",isYesterday:"This is virtual ./isYesterday/index.js/en/true!",lastDayOfDecade:"This is virtual ./lastDayOfDecade/index.js/en/true!",lastDayOfISOWeek:"This is virtual ./lastDayOfISOWeek/index.js/en/true!",lastDayOfISOWeekYear:"This is virtual ./lastDayOfISOWeekYear/index.js/en/true!",lastDayOfMonth:"This is virtual ./lastDayOfMonth/index.js/en/true!",lastDayOfQuarter:"This is virtual ./lastDayOfQuarter/index.js/en/true!",lastDayOfWeek:"This is virtual ./lastDayOfWeek/index.js/en/true!",lastDayOfYear:"This is virtual ./lastDayOfYear/index.js/en/true!",lightFormat:"This is virtual ./lightFormat/index.js/en/true!",max:"This is virtual ./max/index.js/en/true!",milliseconds:"This is virtual ./milliseconds/index.js/en/true!",min:"This is virtual ./min/index.js/en/true!",parse:"This is virtual ./parse/index.js/en/true!",parseISO:"This is virtual ./parseISO/index.js/en/true!",parseJSON:"This is virtual ./parseJSON/index.js/en/true!",roundToNearestMinutes:"This is virtual ./roundToNearestMinutes/index.js/en/true!",set:"This is virtual ./set/index.js/en/true!",setDate:"This is virtual ./setDate/index.js/en/true!",setDay:"This is virtual ./setDay/index.js/en/true!",setDayOfYear:"This is virtual ./setDayOfYear/index.js/en/true!",setHours:"This is virtual ./setHours/index.js/en/true!",setISODay:"This is virtual ./setISODay/index.js/en/true!",setISOWeek:"This is virtual ./setISOWeek/index.js/en/true!",setISOWeekYear:"This is virtual ./setISOWeekYear/index.js/en/true!",setMilliseconds:"This is virtual ./setMilliseconds/index.js/en/true!",setMinutes:"This is virtual ./setMinutes/index.js/en/true!",setMonth:"This is virtual ./setMonth/index.js/en/true!",setQuarter:"This is virtual ./setQuarter/index.js/en/true!",setSeconds:"This is virtual ./setSeconds/index.js/en/true!",setWeek:"This is virtual ./setWeek/index.js/en/true!",setWeekYear:"This is virtual ./setWeekYear/index.js/en/true!",setYear:"This is virtual ./setYear/index.js/en/true!",startOfDay:"This is virtual ./startOfDay/index.js/en/true!",startOfDecade:"This is virtual ./startOfDecade/index.js/en/true!",startOfHour:"This is virtual ./startOfHour/index.js/en/true!",startOfISOWeek:"This is virtual ./startOfISOWeek/index.js/en/true!",startOfISOWeekYear:"This is virtual ./startOfISOWeekYear/index.js/en/true!",startOfMinute:"This is virtual ./startOfMinute/index.js/en/true!",startOfMonth:"This is virtual ./startOfMonth/index.js/en/true!",startOfQuarter:"This is virtual ./startOfQuarter/index.js/en/true!",startOfSecond:"This is virtual ./startOfSecond/index.js/en/true!",startOfToday:"This is virtual ./startOfToday/index.js/en/true!",startOfTomorrow:"This is virtual ./startOfTomorrow/index.js/en/true!",startOfWeek:"This is virtual ./startOfWeek/index.js/en/true!",startOfWeekYear:"This is virtual ./startOfWeekYear/index.js/en/true!",startOfYear:"This is virtual ./startOfYear/index.js/en/true!",startOfYesterday:"This is virtual ./startOfYesterday/index.js/en/true!",sub:"This is virtual ./sub/index.js/en/true!",subBusinessDays:"This is virtual ./subBusinessDays/index.js/en/true!",subDays:"This is virtual ./subDays/index.js/en/true!",subHours:"This is virtual ./subHours/index.js/en/true!",subISOWeekYears:"This is virtual ./subISOWeekYears/index.js/en/true!",subMilliseconds:"This is virtual ./subMilliseconds/index.js/en/true!",subMinutes:"This is virtual ./subMinutes/index.js/en/true!",subMonths:"This is virtual ./subMonths/index.js/en/true!",subQuarters:"This is virtual ./subQuarters/index.js/en/true!",subSeconds:"This is virtual ./subSeconds/index.js/en/true!",subWeeks:"This is virtual ./subWeeks/index.js/en/true!",subYears:"This is virtual ./subYears/index.js/en/true!",toDate:"This is virtual ./toDate/index.js/en/true!"}),yy=P((function(e,t){var n=w&&w.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageImpl=void 0;const r=n(pm);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 n=new Error;throw n.name="InvalidArgumentError",n.message=`determiners not available in ${this.iso2}`,n}getAgreeAdj(e,t,n,r,i){const a=new Error;throw a.name="InvalidArgumentError",a.message=`adjectives not available in ${this.iso2}`,a}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 n=new Error;throw n.name="InvalidArgumentError",n.message=`ORDINAL_TEXTUAL not available in ${this.iso2}`,n}getFormatNumberWithNumeral(e,t){if(this.langForNumeral)return r.default.locale(this.langForNumeral),r.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 r.default.locale(this.langForNumeral),r.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 n=(e+"").split(".");t=this.n2wordsLib(parseInt(n[0]),{lang:this.n2wordsLang})+" "+this.floatingPointWord+" "+this.getTextualNumberFloatPart(n[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 n=0;n syntax not implemented in ${this.iso2}`,t}thirdPossessionTriggerRef(e,t,n,r,i,a){const s=new Error;throw s.name="InvalidArgumentError",s.message=`thirdPossessionTriggerRef not available in ${this.iso2}`,s}thirdPossessionRefTriggered(e,t,n,r,i){const a=new Error;throw a.name="InvalidArgumentError",a.message=`thirdPossessionRefTriggered not available in ${this.iso2}`,a}recipientPossession(e,t,n,r){const i=new Error;throw i.name="InvalidArgumentError",i.message=`recipientPossession not implemented in ${this.iso2}`,i}getConjugation(e,t,n,r,i,a,s,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}}})),gy=P((function(e,t){function n(e){if("S"!=e&&"P"!=e){const e=new Error;throw e.name="InvalidArgumentError",e.message="numberOwned must be S or P",e}}
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.getDet=void 0,t.getDet=function(e,t,r,i,a,s){switch(e){case"DEFINITE":return function(e,t){switch(n(e),e){case"S":return"the";case"P":return t?"the":"";default:return""}}(i,s);case"INDEFINITE":return function(e){switch(n(e),e){case"S":return"a";case"P":default:return""}}(i);case"DEMONSTRATIVE":return function(e,t){if(n(e),t){if("NEAR"!=t&&"FAR"!=t){const e=new Error;throw e.name="InvalidArgumentError",e.message=`dist must be NEAR or FAR, here ${t}`,e}}else t="NEAR";switch(e){case"S":switch(t){case"NEAR":return"this";case"FAR":return"that";default:return""}case"P":switch(t){case"NEAR":return"these";case"FAR":return"those";default:return""}default:return""}}(i,a);case"POSSESSIVE":return function(e,t){if("P"!=t&&"M"!=e&&"F"!=e&&"N"!=e){const e=new Error;throw e.name="InvalidArgumentError",e.message="genderOwner must be F M or N when POSSESSIVE (unless numberOwner is P)",e}if("S"!=t&&"P"!=t){const e=new Error;throw e.name="InvalidArgumentError",e.message="numberOwner must be S or P when POSSESSIVE",e}switch(t){case"S":switch(e){case"M":return"his";case"F":return"her";case"N":return"its";default:return""}case"P":return"their";default:return""}}(t,r);default:{const t=new Error;throw t.name="InvalidArgumentError",t.message=`${e} is not a supported determiner`,t}}}})),by=P((function(e,t){e.exports=(()=>{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,n)=>{var r=n(5052);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},6637:(e,t,n)=>{var r=n(966).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},1176:(e,t,n)=>{var r=n(5052);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},507:(e,t,n)=>{var r=n(7636),i=n(2991),a=n(4960),s=n(1943),o=n(4237),u=n(2324),l=n(8830);e.exports=function(e){var t,n,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=r(g,y>2?arguments[2]:void 0,2)),null==v||m==Array&&s(v))for(n=new m(t=o(f.length));t>x;x++)d=b?g(f[x],x):f[x],u(n,x,d);else for(h=(p=v.call(f)).next,n=new m;!(c=h.call(p)).done;x++)d=b?a(p,g,[c.value,x],!0):c.value,u(n,x,d);return n.length=x,n}},9540:(e,t,n)=>{var r=n(905),i=n(4237),a=n(3231),s=function(e){return function(t,n,s){var o,u=r(t),l=i(u.length),c=a(s,l);if(e&&n!=n){for(;l>c;)if((o=u[c++])!=o)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},9996:(e,t,n)=>{var r=n(7636),i=n(9337),a=n(2991),s=n(4237),o=n(7501),u=[].push,l=function(e){var t=1==e,n=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=a(f),E=i(x),D=r(m,y,3),S=s(E.length),T=0,A=g||o,w=t?A(f,S):n||h?A(f,0):void 0;S>T;T++)if((d||T in E)&&(v=D(b=E[T],T,x),e))if(t)w[T]=v;else if(v)switch(e){case 3:return!0;case 5:return b;case 6:return T;case 2:u.call(w,b)}else switch(e){case 4:return!1;case 7:u.call(w,b)}return p?-1:l||c?c:w}};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,n)=>{var r=n(4229),i=n(95),a=n(6358),s=i("species");e.exports=function(e){return a>=51||!r((function(){var t=[];return(t.constructor={})[s]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},6038:(e,t,n)=>{var r=n(4229);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},7501:(e,t,n)=>{var r=n(5052),i=n(3718),a=n(95)("species");e.exports=function(e,t){var n;return i(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!i(n.prototype)?r(n)&&null===(n=n[a])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},4960:(e,t,n)=>{var r=n(1176),i=n(7281);e.exports=function(e,t,n,a){try{return a?t(r(n)[0],n[1]):t(n)}catch(t){throw i(e),t}}},4575:(e,t,n)=>{var r=n(95)("iterator"),i=!1;try{var a=0,s={next:function(){return{done:!!a++}},return:function(){i=!0}};s[r]=function(){return this},Array.from(s,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var a={};a[r]=function(){return{next:function(){return{done:n=!0}}}},e(a)}catch(e){}return n}},7079:e=>{var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},1589:(e,t,n)=>{var r=n(1601),i=n(7079),a=n(95)("toStringTag"),s="Arguments"==i(function(){return arguments}());e.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),a))?n:s?i(t):"Object"==(r=i(t))&&"function"==typeof t.callee?"Arguments":r}},7081:(e,t,n)=>{var r=n(816),i=n(4826),a=n(7933),s=n(1787);e.exports=function(e,t){for(var n=i(t),o=s.f,u=a.f,l=0;l{var r=n(4229);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},3723:(e,t,n)=>{var r=n(693).IteratorPrototype,i=n(2391),a=n(5358),s=n(4555),o=n(5495),u=function(){return this};e.exports=function(e,t,n){var l=t+" Iterator";return e.prototype=i(r,{next:a(1,n)}),s(e,l,!1,!0),o[l]=u,e}},5762:(e,t,n)=>{var r=n(7400),i=n(1787),a=n(5358);e.exports=r?function(e,t,n){return i.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},5358:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},2324:(e,t,n)=>{var r=n(2066),i=n(1787),a=n(5358);e.exports=function(e,t,n){var s=r(t);s in e?i.f(e,s,a(0,n)):e[s]=n}},7675:(e,t,n)=>{var r=n(3103),i=n(3723),a=n(7567),s=n(6540),o=n(4555),u=n(5762),l=n(7487),c=n(95),p=n(4231),h=n(5495),d=n(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,n,c,d,E,D){i(n,t,c);var S,T,A,w=function(e){if(e===d&&F)return F;if(!m&&e in k)return k[e];switch(e){case g:case b:case v:return function(){return new n(this,e)}}return function(){return new n(this)}},P=t+" Iterator",C=!1,k=e.prototype,_=k[y]||k["@@iterator"]||d&&k[d],F=!m&&_||w(d),I="Array"==t&&k.entries||_;if(I&&(S=a(I.call(new e)),f!==Object.prototype&&S.next&&(p||a(S)===f||(s?s(S,f):"function"!=typeof S[y]&&u(S,y,x)),o(S,P,!0,!0),p&&(h[P]=x))),d==b&&_&&_.name!==b&&(C=!0,F=function(){return _.call(this)}),p&&!D||k[y]===F||u(k,y,F),h[t]=F,d)if(T={values:w(b),keys:E?F:w(g),entries:w(v)},D)for(A in T)(m||C||!(A in k))&&l(k,A,T[A]);else r({target:t,proto:!0,forced:m||C},T);return T}},7400:(e,t,n)=>{var r=n(4229);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},2635:(e,t,n)=>{var r=n(9859),i=n(5052),a=r.document,s=i(a)&&i(a.createElement);e.exports=function(e){return s?a.createElement(e):{}}},8801:(e,t,n)=>{var r=n(7079),i=n(9859);e.exports="process"==r(i.process)},598:(e,t,n)=>{var r=n(1333);e.exports=r("navigator","userAgent")||""},6358:(e,t,n)=>{var r,i,a=n(9859),s=n(598),o=a.process,u=o&&o.versions,l=u&&u.v8;l?i=(r=l.split("."))[0]+r[1]:s&&(!(r=s.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/))&&(i=r[1]),e.exports=i&&+i},3837:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},3103:(e,t,n)=>{var r=n(9859),i=n(7933).f,a=n(5762),s=n(7487),o=n(2079),u=n(7081),l=n(6541);e.exports=function(e,t){var n,c,p,h,d,f=e.target,m=e.global,y=e.stat;if(n=m?r:y?r[f]||o(f,{}):(r[f]||{}).prototype)for(c in t){if(h=t[c],p=e.noTargetGet?(d=i(n,c))&&d.value:n[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)&&a(h,"sham",!0),s(n,c,h,e)}}},4229:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},4954:(e,t,n)=>{n(7950);var r=n(7487),i=n(4229),a=n(95),s=n(3466),o=n(5762),u=a("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=a("replace"),h=!!/./[p]&&""===/./[p]("a","$0"),d=!i((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,p){var f=a(e),m=!i((function(){var t={};return t[f]=function(){return 7},7!=""[e](t)})),y=m&&!i((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[u]=function(){return n},n.flags="",n[f]=/./[f]),n.exec=function(){return t=!0,null},n[f](""),!t}));if(!m||!y||"replace"===e&&(!l||!c||h)||"split"===e&&!d){var g=/./[f],b=n(f,""[e],(function(e,t,n,r,i){return t.exec===s?m&&!i?{done:!0,value:g.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:c,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:h}),v=b[0],x=b[1];r(String.prototype,e,v),r(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,n)=>{var r=n(3819);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},1333:(e,t,n)=>{var r=n(9276),i=n(9859),a=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?a(r[e])||a(i[e]):r[e]&&r[e][t]||i[e]&&i[e][t]}},8830:(e,t,n)=>{var r=n(1589),i=n(5495),a=n(95)("iterator");e.exports=function(e){if(null!=e)return e[a]||e["@@iterator"]||i[r(e)]}},9859:(e,t,n)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},816:e=>{var t={}.hasOwnProperty;e.exports=function(e,n){return t.call(e,n)}},5977:e=>{e.exports={}},3777:(e,t,n)=>{var r=n(1333);e.exports=r("document","documentElement")},4394:(e,t,n)=>{var r=n(7400),i=n(4229),a=n(2635);e.exports=!r&&!i((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},9337:(e,t,n)=>{var r=n(4229),i=n(7079),a="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?a.call(e,""):Object(e)}:Object},835:(e,t,n)=>{var r=n(5052),i=n(6540);e.exports=function(e,t,n){var a,s;return i&&"function"==typeof(a=t.constructor)&&a!==n&&r(s=a.prototype)&&s!==n.prototype&&i(e,s),e}},8511:(e,t,n)=>{var r=n(5353),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return i.call(e)}),e.exports=r.inspectSource},6407:(e,t,n)=>{var r,i,a,s=n(8694),o=n(9859),u=n(5052),l=n(5762),c=n(816),p=n(5353),h=n(4399),d=n(5977),f=o.WeakMap;if(s){var m=p.state||(p.state=new f),y=m.get,g=m.has,b=m.set;r=function(e,t){return t.facade=e,b.call(m,e,t),t},i=function(e){return y.call(m,e)||{}},a=function(e){return g.call(m,e)}}else{var v=h("state");d[v]=!0,r=function(e,t){return t.facade=e,l(e,v,t),t},i=function(e){return c(e,v)?e[v]:{}},a=function(e){return c(e,v)}}e.exports={set:r,get:i,has:a,enforce:function(e){return a(e)?i(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!u(t)||(n=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},1943:(e,t,n)=>{var r=n(95),i=n(5495),a=r("iterator"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||s[a]===e)}},3718:(e,t,n)=>{var r=n(7079);e.exports=Array.isArray||function(e){return"Array"==r(e)}},6541:(e,t,n)=>{var r=n(4229),i=/#|\.prototype\./,a=function(e,t){var n=o[s(e)];return n==l||n!=u&&("function"==typeof t?r(t):!!t)},s=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},o=a.data={},u=a.NATIVE="N",l=a.POLYFILL="P";e.exports=a},5052:e=>{e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},4231:e=>{e.exports=!1},8311:(e,t,n)=>{var r=n(5052),i=n(7079),a=n(95)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==i(e))}},7281:(e,t,n)=>{var r=n(1176);e.exports=function(e){var t=e.return;if(void 0!==t)return r(t.call(e)).value}},693:(e,t,n)=>{var r,i,a,s=n(4229),o=n(7567),u=n(5762),l=n(816),c=n(95),p=n(4231),h=c("iterator"),d=!1;[].keys&&("next"in(a=[].keys())?(i=o(o(a)))!==Object.prototype&&(r=i):d=!0);var f=null==r||s((function(){var e={};return r[h].call(e)!==e}));f&&(r={}),p&&!f||l(r,h)||u(r,h,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},5495:e=>{e.exports={}},3839:(e,t,n)=>{var r=n(8801),i=n(6358),a=n(4229);e.exports=!!Object.getOwnPropertySymbols&&!a((function(){return!Symbol.sham&&(r?38===i:i>37&&i<41)}))},8694:(e,t,n)=>{var r=n(9859),i=n(8511),a=r.WeakMap;e.exports="function"==typeof a&&/native code/.test(i(a))},6596:(e,t,n)=>{var r=n(9859),i=n(1017).trim,a=n(1647),s=r.parseInt,o=/^[+-]?0[Xx]/,u=8!==s(a+"08")||22!==s(a+"0x16");e.exports=u?function(e,t){var n=i(String(e));return s(n,t>>>0||(o.test(n)?16:10))}:s},2391:(e,t,n)=>{var r,i=n(1176),a=n(219),s=n(3837),o=n(5977),u=n(3777),l=n(2635),c=n(4399)("IE_PROTO"),p=function(){},h=function(e){return"