exports.id=641,exports.ids=[641],exports.modules={2648:(e,t,s)=>{"use strict";s.r(t),s.d(t,{parseHookNames:()=>x,parseSourceAndMetadata:()=>g,purgeCachedMetadata:()=>b});var r=s(8057),n=s(474),i=s.n(n),a=s(3303),o=s(2078);function l(e,t){return null!=t&&(void 0===e.mappings?e.sections.some((e=>l(e.map,t))):e.sources.some((e=>"Inline Babel script"===e||t.endsWith(e))))}const p={cache:"force-cache"},c=1e8;function u(e){if("function"==typeof atob)return atob(e);if("undefined"!=typeof Buffer&&null!==Buffer&&"function"==typeof Buffer.from)return Buffer.from(e,"base64");throw Error("Cannot decode base64 string")}function h(e,t="fetchFile"){return(0,r.OB)(`${t}("${e}")`,(s=>new Promise(((r,n)=>{fetch(e,p).then((i=>{i.ok?i.text().then((e=>{s(),r(e)})).catch((r=>{a.p&&console.log(`${t}() Could not read text for url "${e}"`),s(),n(null)})):(a.p&&console.log(`${t}() Got bad response for url "${e}"`),s(),n(null))}),(e=>{a.p&&console.log(`${t}() Could not fetch file: ${e.message}`),s(),n(null)}))}))))}function d(e){const t=[];return(0,r.Y7)("flattenHooksList()",(()=>{f(e,t)})),a.p&&console.log("flattenHooksList() hooksList:",t),t}function f(e,t){for(let s=0;s0&&f(r.subHooks,t))}}function m(e){return["Effect","ImperativeHandle","LayoutEffect","DebugValue"].includes(e.name)}const y=i()();function g(e,t){return y.parseSourceAndMetadata(e,t)}const b=y.purgeCachedMetadata,T=new Map;async function x(e,t){return(0,r.WV)("parseHookNames",(async()=>{const s=d(e);return 0===s.length?T:g(s,await async function(e,t){return(0,r.WV)("loadSourceAndMetadata()",(async()=>{const s=(0,r.Y7)("initializeHookSourceAndMetadata",(()=>function(e){const t=new Map;for(let s=0;sfunction(e,t){const s=new Map,n=[];return e.forEach((e=>{const{runtimeSourceURL:i}=e;let o=h;null!=t&&(o=e=>(0,r.WV)(`fetchFileWithCaching("${e}")`,(()=>t(e))));const l=s.get(i)||o(i).then((e=>{if(e.length>c)throw Error("Source code too large to parse");return a.p&&(console.groupCollapsed(`loadSourceFiles() runtimeSourceURL "${i}"`),console.log(e),console.groupEnd()),e}));s.set(i,l),n.push(l.then((t=>{e.runtimeSourceCode=t})))})),Promise.all(n)}(s,t))),await(0,r.WV)("extractAndLoadSourceMapJSON()",(()=>function(e){const t=new Map;a.p&&console.log("extractAndLoadSourceMapJSON() load",e.size,"source maps");const s=[];return e.forEach((e=>{const n=/ ?sourceMappingURL=([^\s'"]+)/gm,i=e.runtimeSourceCode;let o=(0,r.Y7)("sourceMapRegex.exec(runtimeSourceCode)",(()=>n.exec(i)));if(null==o)a.p&&console.log("extractAndLoadSourceMapJSON() No source map found");else{const p=[];for(;null!=o;){const{runtimeSourceURL:t}=e,s=o[1];if(s.indexOf("base64,")>=0)try{const n=s.match(/base64,([a-zA-Z0-9+\/=]+)/)[1],i=(0,r.Y7)("decodeBase64String()",(()=>u(n))),o=(0,r.Y7)("JSON.parse(decoded)",(()=>JSON.parse(i)));if(a.p&&(console.groupCollapsed("extractAndLoadSourceMapJSON() Inline source map"),console.log(o),console.groupEnd()),l(o,t)){e.sourceMapJSON=o,e.runtimeSourceCode=null;break}}catch(e){}else p.push(s);o=(0,r.Y7)("sourceMapRegex.exec(runtimeSourceCode)",(()=>n.exec(i)))}null===e.sourceMapJSON&&p.forEach(((n,i)=>{if(i!==p.length-1)return void console.warn(`More than one external source map detected in the source file; skipping "${n}"`);const{runtimeSourceURL:o}=e;let l=n;l.startsWith("http")||l.startsWith("/")||-1!==o.lastIndexOf("/")&&(l=`${o.slice(0,o.lastIndexOf("/"))}/${l}`),e.sourceMapURL=l;const c=t.get(l)||h(l).then((e=>(0,r.Y7)("JSON.parse(sourceMapContents)",(()=>JSON.parse(e)))),(e=>null));a.p&&(t.has(l)||console.log(`extractAndLoadSourceMapJSON() External source map "${l}"`)),t.set(l,c),s.push(c.then((t=>{null!==t&&(e.sourceMapJSON=t,e.runtimeSourceCode=null)})))}))}})),Promise.all(s)}(s))),s}))}(s,t))}))}},474:(e,t,s)=>{var r=s(6803),n=["parseSourceAndMetadata","purgeCachedMetadata"];e.exports=function(){var e=new Worker(URL.createObjectURL(new Blob(['(()=>{var e={785:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.codeFrameColumns=l,t.default=function(e,t,s,n={}){if(!a){a=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";r.emitWarning?r.emitWarning(e,"DeprecationWarning"):(new Error(e).name="DeprecationWarning",console.warn(new Error(e)))}return l(e,{start:{column:s=Math.max(s,0),line:t}},n)};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=r?Object.getOwnPropertyDescriptor(e,n):null;a&&(a.get||a.set)?Object.defineProperty(s,n,a):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(9258));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}let a=!1;const o=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function l(e,t,s={}){const r=(s.highlightCode||s.forceColor)&&(0,n.shouldHighlight)(s),i=(0,n.getChalk)(s),a=function(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}(i),l=(e,t)=>r?e(t):t,c=e.split(o),{start:p,end:u,markerLines:h}=function(e,t,s){const r=Object.assign({column:0,line:-1},e.start),n=Object.assign({},r,e.end),{linesAbove:i=2,linesBelow:a=3}=s||{},o=r.line,l=r.column,c=n.line,p=n.column;let u=Math.max(o-(i+1),0),h=Math.min(t.length,c+a);-1===o&&(u=0),-1===c&&(h=t.length);const d=c-o,f={};if(d)for(let e=0;e<=d;e++){const s=e+o;if(l)if(0===e){const e=t[s-1].length;f[s]=[l,e-l+1]}else if(e===d)f[s]=[0,p];else{const r=t[s-e].length;f[s]=[0,r]}else f[s]=!0}else f[o]=l===p?!l||[l,0]:[l,p-l];return{start:u,end:h,markerLines:f}}(t,c,s),d=t.start&&"number"==typeof t.start.column,f=String(u).length;let m=(r?(0,n.default)(e,s):e).split(o).slice(p,u).map(((e,t)=>{const r=p+1+t,n=` ${` ${r}`.slice(-f)} |`,i=h[r],o=!h[r+1];if(i){let t="";if(Array.isArray(i)){const r=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\\t]/g," "),c=i[1]||1;t=["\\n ",l(a.gutter,n.replace(/\\d/g," "))," ",r,l(a.marker,"^").repeat(c)].join(""),o&&s.message&&(t+=" "+l(a.message,s.message))}return[l(a.marker,">"),l(a.gutter,n),e.length>0?` ${e}`:"",t].join("")}return` ${l(a.gutter,n)}${e.length>0?` ${e}`:""}`})).join("\\n");return s.message&&!d&&(m=`${" ".repeat(f+1)}${s.message}\\n${m}`),r?i.reset(m):m}},6163:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function({node:e,parent:t,scope:s,id:n},a=!1){if(e.id)return;if(!i.isObjectProperty(t)&&!i.isObjectMethod(t,{kind:"method"})||t.computed&&!i.isLiteral(t.key)){if(i.isVariableDeclarator(t)){if(n=t.id,i.isIdentifier(n)&&!a){const t=s.parent.getBinding(n.name);if(t&&t.constant&&s.getBinding(n.name)===t)return e.id=i.cloneNode(n),void(e.id[i.NOT_LOCAL_BINDING]=!0)}}else if(i.isAssignmentExpression(t,{operator:"="}))n=t.left;else if(!n)return}else n=t.key;let o;return n&&i.isLiteral(n)?o=function(e){return i.isNullLiteral(e)?"null":i.isRegExpLiteral(e)?`_${e.pattern}_${e.flags}`:i.isTemplateLiteral(e)?e.quasis.map((e=>e.value.raw)).join(""):void 0!==e.value?e.value+"":""}(n):n&&i.isIdentifier(n)&&(o=n.name),void 0!==o?(o=i.toBindingIdentifierName(o),(n=i.identifier(o))[i.NOT_LOCAL_BINDING]=!0,function(e,t,s,n){if(e.selfReference){if(!n.hasBinding(s.name)||n.hasGlobal(s.name)){if(!i.isFunction(t))return;let e=l;t.generator&&(e=c);const a=e({FUNCTION:t,FUNCTION_ID:s,FUNCTION_KEY:n.generateUidIdentifier(s.name)}).expression,o=a.callee.body.body[0].params;for(let e=0,s=(0,r.default)(t);e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,s){const a=new WeakMap,c=new WeakMap,p=s||(0,r.validate)(null);return Object.assign(((s,...o)=>{if("string"==typeof s){if(o.length>1)throw new Error("Unexpected extra params.");return l((0,n.default)(t,s,(0,r.merge)(p,(0,r.validate)(o[0]))))}if(Array.isArray(s)){let e=a.get(s);return e||(e=(0,i.default)(t,s,p),a.set(s,e)),l(e(o))}if("object"==typeof s&&s){if(o.length>0)throw new Error("Unexpected extra params.");return e(t,(0,r.merge)(p,(0,r.validate)(s)))}throw new Error("Unexpected template param "+typeof s)}),{ast:(e,...s)=>{if("string"==typeof e){if(s.length>1)throw new Error("Unexpected extra params.");return(0,n.default)(t,e,(0,r.merge)((0,r.merge)(p,(0,r.validate)(s[0])),o))()}if(Array.isArray(e)){let n=c.get(e);return n||(n=(0,i.default)(t,e,(0,r.merge)(p,o)),c.set(e,n)),n(s)()}throw new Error("Unexpected template param "+typeof e)}})};var r=s(4044),n=a(s(8738)),i=a(s(9566));function a(e){return e&&e.__esModule?e:{default:e}}const o=(0,r.validate)({placeholderPattern:!1});function l(e){let t="";try{throw new Error}catch(e){e.stack&&(t=e.stack.split("\\n").slice(3).join("\\n"))}return s=>{try{return e(s)}catch(e){throw e.stack+=`\\n =============\\n${t}`,e}}}},1138:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.program=t.expression=t.statement=t.statements=t.smart=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){return{code:e=>`/* @babel/template */;\\n${e}`,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}const a=i((e=>e.length>1?e:e[0]));t.smart=a;const o=i((e=>e));t.statements=o;const l=i((e=>{if(0===e.length)throw new Error("Found nothing to return.");if(e.length>1)throw new Error("Found multiple statements but wanted one");return e[0]}));t.statement=l;const c={code:e=>`(\\n${e}\\n)`,validate:e=>{if(e.program.body.length>1)throw new Error("Found multiple statements but wanted one");if(0===c.unwrap(e).start)throw new Error("Parse result included parens.")},unwrap:({program:e})=>{const[t]=e.body;return r.assertExpressionStatement(t),t.expression}};t.expression=c,t.program={code:e=>e,validate:()=>{},unwrap:e=>e.program}},6594:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.program=t.expression=t.statements=t.statement=t.smart=void 0;var r,n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(1138)),i=(r=s(7640))&&r.__esModule?r:{default:r};function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}const o=(0,i.default)(n.smart);t.smart=o;const l=(0,i.default)(n.statement);t.statement=l;const c=(0,i.default)(n.statements);t.statements=c;const p=(0,i.default)(n.expression);t.expression=p;const u=(0,i.default)(n.program);t.program=u;var h=Object.assign(o.bind(void 0),{smart:o,statement:l,statements:c,expression:p,program:u,ast:o.ast});t.default=h},9566:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){const{metadata:a,names:l}=function(e,t,s){let r,i,a,l="";do{l+="$";const c=o(t,l);r=c.names,i=new Set(r),a=(0,n.default)(e,e.code(c.code),{parser:s.parser,placeholderWhitelist:new Set(c.names.concat(s.placeholderWhitelist?Array.from(s.placeholderWhitelist):[])),placeholderPattern:s.placeholderPattern,preserveComments:s.preserveComments,syntacticPlaceholders:s.syntacticPlaceholders})}while(a.placeholders.some((e=>e.isDuplicate&&i.has(e.name))));return{metadata:a,names:r}}(e,t,s);return t=>{const s={};return t.forEach(((e,t)=>{s[l[t]]=e})),t=>{const n=(0,r.normalizeReplacements)(t);return n&&Object.keys(n).forEach((e=>{if(Object.prototype.hasOwnProperty.call(s,e))throw new Error("Unexpected replacement overlap.")})),e.unwrap((0,i.default)(a,n?Object.assign(n,s):s))}}};var r=s(4044),n=a(s(3054)),i=a(s(9162));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){const s=[];let r=e[0];for(let n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.merge=function(e,t){const{placeholderWhitelist:s=e.placeholderWhitelist,placeholderPattern:r=e.placeholderPattern,preserveComments:n=e.preserveComments,syntacticPlaceholders:i=e.syntacticPlaceholders}=t;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:s,placeholderPattern:r,preserveComments:n,syntacticPlaceholders:i}},t.validate=function(e){if(null!=e&&"object"!=typeof e)throw new Error("Unknown template options.");const t=e||{},{placeholderWhitelist:s,placeholderPattern:r,preserveComments:n,syntacticPlaceholders:i}=t,a=function(e,t){if(null==e)return{};var s,r,n={},i=Object.keys(e);for(r=0;r=0||(n[s]=e[s]);return n}(t,["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"]);if(null!=s&&!(s instanceof Set))throw new Error("\'.placeholderWhitelist\' must be a Set, null, or undefined");if(null!=r&&!(r instanceof RegExp)&&!1!==r)throw new Error("\'.placeholderPattern\' must be a RegExp, false, null, or undefined");if(null!=n&&"boolean"!=typeof n)throw new Error("\'.preserveComments\' must be a boolean, null, or undefined");if(null!=i&&"boolean"!=typeof i)throw new Error("\'.syntacticPlaceholders\' must be a boolean, null, or undefined");if(!0===i&&(null!=s||null!=r))throw new Error("\'.placeholderWhitelist\' and \'.placeholderPattern\' aren\'t compatible with \'.syntacticPlaceholders: true\'");return{parser:a,placeholderWhitelist:s||void 0,placeholderPattern:null==r?void 0:r,preserveComments:null==n?void 0:n,syntacticPlaceholders:null==i?void 0:i}},t.normalizeReplacements=function(e){if(Array.isArray(e))return e.reduce(((e,t,s)=>(e["$"+s]=t,e)),{});if("object"==typeof e||null==e)return e||void 0;throw new Error("Template replacements must be an array, object, null, or undefined")}},3054:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){const{placeholderWhitelist:a,placeholderPattern:o,preserveComments:c,syntacticPlaceholders:p}=s,u=function(e,t,s){const r=(t.plugins||[]).slice();!1!==s&&r.push("placeholders"),t=Object.assign({allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,sourceType:"module"},t,{plugins:r});try{return(0,n.parse)(e,t)}catch(t){const s=t.loc;throw s&&(t.message+="\\n"+(0,i.codeFrameColumns)(e,{start:s}),t.code="BABEL_TEMPLATE_PARSE_ERROR"),t}}(t,s.parser,p);r.removePropertiesDeep(u,{preserveComments:c}),e.validate(u);const h={placeholders:[],placeholderNames:new Set},d={placeholders:[],placeholderNames:new Set},f={value:void 0};return r.traverse(u,l,{syntactic:h,legacy:d,isLegacyRef:f,placeholderWhitelist:a,placeholderPattern:o,syntacticPlaceholders:p}),Object.assign({ast:u},f.value?d:h)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),n=s(4494),i=s(5342);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}const o=/^[_$A-Z0-9]+$/;function l(e,t,s){var n;let i;if(r.isPlaceholder(e)){if(!1===s.syntacticPlaceholders)throw new Error("%%foo%%-style placeholders can\'t be used when \'.syntacticPlaceholders\' is false.");i=e.name.name,s.isLegacyRef.value=!1}else{if(!1===s.isLegacyRef.value||s.syntacticPlaceholders)return;if(r.isIdentifier(e)||r.isJSXIdentifier(e))i=e.name,s.isLegacyRef.value=!0;else{if(!r.isStringLiteral(e))return;i=e.value,s.isLegacyRef.value=!0}}if(!s.isLegacyRef.value&&(null!=s.placeholderPattern||null!=s.placeholderWhitelist))throw new Error("\'.placeholderWhitelist\' and \'.placeholderPattern\' aren\'t compatible with \'.syntacticPlaceholders: true\'");if(s.isLegacyRef.value&&(!1===s.placeholderPattern||!(s.placeholderPattern||o).test(i))&&!(null==(n=s.placeholderWhitelist)?void 0:n.has(i)))return;t=t.slice();const{node:a,key:l}=t[t.length-1];let c;r.isStringLiteral(e)||r.isPlaceholder(e,{expectedNode:"StringLiteral"})?c="string":r.isNewExpression(a)&&"arguments"===l||r.isCallExpression(a)&&"arguments"===l||r.isFunction(a)&&"params"===l?c="param":r.isExpressionStatement(a)&&!r.isPlaceholder(e)?(c="statement",t=t.slice(0,-1)):c=r.isStatement(e)&&r.isPlaceholder(e)?"statement":"other";const{placeholders:p,placeholderNames:u}=s.isLegacyRef.value?s.legacy:s.syntactic;p.push({name:i,type:c,resolve:e=>function(e,t){let s=e;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const s=r.cloneNode(e.ast);return t&&(e.placeholders.forEach((e=>{if(!Object.prototype.hasOwnProperty.call(t,e.name)){const t=e.name;throw new Error(`Error: No substitution given for "${t}". If this is not meant to be a\\n placeholder you may want to consider passing one of the following options to @babel/template:\\n - { placeholderPattern: false, placeholderWhitelist: new Set([\'${t}\'])}\\n - { placeholderPattern: /^${t}$/ }`)}})),Object.keys(t).forEach((t=>{if(!e.placeholderNames.has(t))throw new Error(`Unknown substitution "${t}" given`)}))),e.placeholders.slice().reverse().forEach((e=>{try{!function(e,t,s){e.isDuplicate&&(Array.isArray(s)?s=s.map((e=>r.cloneNode(e))):"object"==typeof s&&(s=r.cloneNode(s)));const{parent:n,key:i,index:a}=e.resolve(t);if("string"===e.type){if("string"==typeof s&&(s=r.stringLiteral(s)),!s||!r.isStringLiteral(s))throw new Error("Expected string substitution")}else if("statement"===e.type)void 0===a?s?Array.isArray(s)?s=r.blockStatement(s):"string"==typeof s?s=r.expressionStatement(r.identifier(s)):r.isStatement(s)||(s=r.expressionStatement(s)):s=r.emptyStatement():s&&!Array.isArray(s)&&("string"==typeof s&&(s=r.identifier(s)),r.isStatement(s)||(s=r.expressionStatement(s)));else if("param"===e.type){if("string"==typeof s&&(s=r.identifier(s)),void 0===a)throw new Error("Assertion failure.")}else if("string"==typeof s&&(s=r.identifier(s)),Array.isArray(s))throw new Error("Cannot replace single expression with an array.");if(void 0===a)r.validate(n,i,s),n[i]=s;else{const t=n[i].slice();"statement"===e.type||"param"===e.type?null==s?t.splice(a,1):Array.isArray(s)?t.splice(a,1,...s):t[a]=s:t[a]=s,r.validate(n,i,t),n[i]=t}}(e,s,t&&t[e.name]||null)}catch(t){throw t.message=`@babel/template placeholder "${e.name}": ${t.message}`,t}})),s};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},8738:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){let a;return t=e.code(t),o=>{const l=(0,r.normalizeReplacements)(o);return a||(a=(0,n.default)(e,t,s)),e.unwrap((0,i.default)(a,l))}};var r=s(4044),n=a(s(3054)),i=a(s(9162));function a(e){return e&&e.__esModule?e:{default:e}}},2442:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.params;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!e.isExportDeclaration())throw new Error("Only export declarations can be split.");const t=e.isExportDefaultDeclaration(),s=e.get("declaration"),n=s.isClassDeclaration();if(t){const t=s.isFunctionDeclaration()||n,i=s.isScope()?s.scope.parent:s.scope;let a=s.node.id,o=!1;a||(o=!0,a=i.generateUidIdentifier("default"),(t||s.isFunctionExpression()||s.isClassExpression())&&(s.node.id=r.cloneNode(a)));const l=t?s:r.variableDeclaration("var",[r.variableDeclarator(r.cloneNode(a),s.node)]),c=r.exportNamedDeclaration(null,[r.exportSpecifier(r.cloneNode(a),r.identifier("default"))]);return e.insertAfter(c),e.replaceWith(l),o&&i.registerDeclaration(e),e}if(e.get("specifiers").length>0)throw new Error("It doesn\'t make sense to split exported specifiers.");const i=s.getOuterBindingIdentifiers(),a=Object.keys(i).map((e=>r.exportSpecifier(r.identifier(e),r.identifier(e)))),o=r.exportNamedDeclaration(null,a);return e.insertAfter(o),e.replaceWith(s.node),e};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},5332:(e,t,s)=>{"use strict";e=s.nmd(e);const r=s(5536),n=(e,t)=>function(){return`[${e.apply(r,arguments)+t}m`},i=(e,t)=>function(){const s=e.apply(r,arguments);return`[${38+t};5;${s}m`},a=(e,t)=>function(){const s=e.apply(r,arguments);return`[${38+t};2;${s[0]};${s[1]};${s[2]}m`};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(const s of Object.keys(t)){const r=t[s];for(const s of Object.keys(r)){const n=r[s];t[s]={open:`[${n[0]}m`,close:`[${n[1]}m`},r[s]=t[s],e.set(n[0],n[1])}Object.defineProperty(t,s,{value:r,enumerable:!1}),Object.defineProperty(t,"codes",{value:e,enumerable:!1})}const s=e=>e,o=(e,t,s)=>[e,t,s];t.color.close="",t.bgColor.close="",t.color.ansi={ansi:n(s,0)},t.color.ansi256={ansi256:i(s,0)},t.color.ansi16m={rgb:a(o,0)},t.bgColor.ansi={ansi:n(s,10)},t.bgColor.ansi256={ansi256:i(s,10)},t.bgColor.ansi16m={rgb:a(o,10)};for(let e of Object.keys(r)){if("object"!=typeof r[e])continue;const s=r[e];"ansi16"===e&&(e="ansi"),"ansi16"in s&&(t.color.ansi[e]=n(s.ansi16,0),t.bgColor.ansi[e]=n(s.ansi16,10)),"ansi256"in s&&(t.color.ansi256[e]=i(s.ansi256,0),t.bgColor.ansi256[e]=i(s.ansi256,10)),"rgb"in s&&(t.color.ansi16m[e]=a(s.rgb,0),t.bgColor.ansi16m[e]=a(s.rgb,10))}return t}})},1859:(e,t,s)=>{"use strict";var r=s(397);const n=s(4005),i=s(5332),a=s(3182).stdout,o=s(6805),l="win32"===r.platform&&!(r.env.TERM||"").toLowerCase().startsWith("xterm"),c=["ansi","ansi","ansi256","ansi16m"],p=new Set(["gray"]),u=Object.create(null);function h(e,t){t=t||{};const s=a?a.level:0;e.level=void 0===t.level?s:t.level,e.enabled="enabled"in t?t.enabled:e.level>0}function d(e){if(!this||!(this instanceof d)||this.template){const t={};return h(t,e),t.template=function(){const e=[].slice.call(arguments);return g.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,d.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=d,t.template}h(this,e)}l&&(i.blue.open="");for(const e of Object.keys(i))i[e].closeRe=new RegExp(n(i[e].close),"g"),u[e]={get(){const t=i[e];return m.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};u.visible={get(){return m.call(this,this._styles||[],!0,"visible")}},i.color.closeRe=new RegExp(n(i.color.close),"g");for(const e of Object.keys(i.color.ansi))p.has(e)||(u[e]={get(){const t=this.level;return function(){const s={open:i.color[c[t]][e].apply(null,arguments),close:i.color.close,closeRe:i.color.closeRe};return m.call(this,this._styles?this._styles.concat(s):[s],this._empty,e)}}});i.bgColor.closeRe=new RegExp(n(i.bgColor.close),"g");for(const e of Object.keys(i.bgColor.ansi))p.has(e)||(u["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const s={open:i.bgColor[c[t]][e].apply(null,arguments),close:i.bgColor.close,closeRe:i.bgColor.closeRe};return m.call(this,this._styles?this._styles.concat(s):[s],this._empty,e)}}});const f=Object.defineProperties((()=>{}),u);function m(e,t,s){const r=function(){return y.apply(r,arguments)};r._styles=e,r._empty=t;const n=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>n.level,set(e){n.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>n.enabled,set(e){n.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===s||"grey"===s,r.__proto__=f,r}function y(){const e=arguments,t=e.length;let s=String(arguments[0]);if(0===t)return"";if(t>1)for(let r=1;r{"use strict";const t=/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,s=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,r=/^([\'"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,n=/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi,i=new Map([["n","\\n"],["r","\\r"],["t","\\t"],["b","\\b"],["f","\\f"],["v","\\v"],["0","\\0"],["\\\\","\\\\"],["e",""],["a",""]]);function a(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):i.get(e)||e}function o(e,t){const s=[],i=t.trim().split(/\\s*,\\s*/g);let o;for(const t of i)if(isNaN(t)){if(!(o=t.match(r)))throw new Error(`Invalid Chalk template style argument: ${t} (in style \'${e}\')`);s.push(o[2].replace(n,((e,t,s)=>t?a(t):s)))}else s.push(Number(t));return s}function l(e){s.lastIndex=0;const t=[];let r;for(;null!==(r=s.exec(e));){const e=r[1];if(r[2]){const s=o(e,r[2]);t.push([e].concat(s))}else t.push([e])}return t}function c(e,t){const s={};for(const e of t)for(const t of e.styles)s[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(s))if(Array.isArray(s[e])){if(!(e in r))throw new Error(`Unknown Chalk style: ${e}`);r=s[e].length>0?r[e].apply(r,s[e]):r[e]}return r}e.exports=(e,s)=>{const r=[],n=[];let i=[];if(s.replace(t,((t,s,o,p,u,h)=>{if(s)i.push(a(s));else if(p){const t=i.join("");i=[],n.push(0===r.length?t:c(e,r)(t)),r.push({inverse:o,styles:l(p)})}else if(u){if(0===r.length)throw new Error("Found extraneous } in Chalk template literal");n.push(c(e,r)(i.join(""))),i=[],r.pop()}else i.push(h)})),n.push(i.join("")),r.length>0){const e=`Chalk template literal is missing ${r.length} closing bracket${1===r.length?"":"s"} (\\`}\\`)`;throw new Error(e)}return n.join("")}},8325:(e,t,s)=>{var r=s(4730),n={};for(var i in r)r.hasOwnProperty(i)&&(n[r[i]]=i);var a=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var o in a)if(a.hasOwnProperty(o)){if(!("channels"in a[o]))throw new Error("missing channels property: "+o);if(!("labels"in a[o]))throw new Error("missing channel labels property: "+o);if(a[o].labels.length!==a[o].channels)throw new Error("channel and label counts mismatch: "+o);var l=a[o].channels,c=a[o].labels;delete a[o].channels,delete a[o].labels,Object.defineProperty(a[o],"channels",{value:l}),Object.defineProperty(a[o],"labels",{value:c})}a.rgb.hsl=function(e){var t,s,r=e[0]/255,n=e[1]/255,i=e[2]/255,a=Math.min(r,n,i),o=Math.max(r,n,i),l=o-a;return o===a?t=0:r===o?t=(n-i)/l:n===o?t=2+(i-r)/l:i===o&&(t=4+(r-n)/l),(t=Math.min(60*t,360))<0&&(t+=360),s=(a+o)/2,[t,100*(o===a?0:s<=.5?l/(o+a):l/(2-o-a)),100*s]},a.rgb.hsv=function(e){var t,s,r,n,i,a=e[0]/255,o=e[1]/255,l=e[2]/255,c=Math.max(a,o,l),p=c-Math.min(a,o,l),u=function(e){return(c-e)/6/p+.5};return 0===p?n=i=0:(i=p/c,t=u(a),s=u(o),r=u(l),a===c?n=r-s:o===c?n=1/3+t-r:l===c&&(n=2/3+s-t),n<0?n+=1:n>1&&(n-=1)),[360*n,100*i,100*c]},a.rgb.hwb=function(e){var t=e[0],s=e[1],r=e[2];return[a.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(s,r))*100,100*(r=1-1/255*Math.max(t,Math.max(s,r)))]},a.rgb.cmyk=function(e){var t,s=e[0]/255,r=e[1]/255,n=e[2]/255;return[100*((1-s-(t=Math.min(1-s,1-r,1-n)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-n-t)/(1-t)||0),100*t]},a.rgb.keyword=function(e){var t=n[e];if(t)return t;var s,i,a,o=1/0;for(var l in r)if(r.hasOwnProperty(l)){var c=(i=e,a=r[l],Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)+Math.pow(i[2]-a[2],2));c.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(s=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*s+.0722*r),100*(.0193*t+.1192*s+.9505*r)]},a.rgb.lab=function(e){var t=a.rgb.xyz(e),s=t[0],r=t[1],n=t[2];return r/=100,n/=108.883,s=(s/=95.047)>.008856?Math.pow(s,1/3):7.787*s+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(s-r),200*(r-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]},a.hsl.rgb=function(e){var t,s,r,n,i,a=e[0]/360,o=e[1]/100,l=e[2]/100;if(0===o)return[i=255*l,i,i];t=2*l-(s=l<.5?l*(1+o):l+o-l*o),n=[0,0,0];for(var c=0;c<3;c++)(r=a+1/3*-(c-1))<0&&r++,r>1&&r--,i=6*r<1?t+6*(s-t)*r:2*r<1?s:3*r<2?t+(s-t)*(2/3-r)*6:t,n[c]=255*i;return n},a.hsl.hsv=function(e){var t=e[0],s=e[1]/100,r=e[2]/100,n=s,i=Math.max(r,.01);return s*=(r*=2)<=1?r:2-r,n*=i<=1?i:2-i,[t,100*(0===r?2*n/(i+n):2*s/(r+s)),(r+s)/2*100]},a.hsv.rgb=function(e){var t=e[0]/60,s=e[1]/100,r=e[2]/100,n=Math.floor(t)%6,i=t-Math.floor(t),a=255*r*(1-s),o=255*r*(1-s*i),l=255*r*(1-s*(1-i));switch(r*=255,n){case 0:return[r,l,a];case 1:return[o,r,a];case 2:return[a,r,l];case 3:return[a,o,r];case 4:return[l,a,r];case 5:return[r,a,o]}},a.hsv.hsl=function(e){var t,s,r,n=e[0],i=e[1]/100,a=e[2]/100,o=Math.max(a,.01);return r=(2-i)*a,s=i*o,[n,100*(s=(s/=(t=(2-i)*o)<=1?t:2-t)||0),100*(r/=2)]},a.hwb.rgb=function(e){var t,s,r,n,i,a,o,l=e[0]/360,c=e[1]/100,p=e[2]/100,u=c+p;switch(u>1&&(c/=u,p/=u),r=6*l-(t=Math.floor(6*l)),0!=(1&t)&&(r=1-r),n=c+r*((s=1-p)-c),t){default:case 6:case 0:i=s,a=n,o=c;break;case 1:i=n,a=s,o=c;break;case 2:i=c,a=s,o=n;break;case 3:i=c,a=n,o=s;break;case 4:i=n,a=c,o=s;break;case 5:i=s,a=c,o=n}return[255*i,255*a,255*o]},a.cmyk.rgb=function(e){var t=e[0]/100,s=e[1]/100,r=e[2]/100,n=e[3]/100;return[255*(1-Math.min(1,t*(1-n)+n)),255*(1-Math.min(1,s*(1-n)+n)),255*(1-Math.min(1,r*(1-n)+n))]},a.xyz.rgb=function(e){var t,s,r,n=e[0]/100,i=e[1]/100,a=e[2]/100;return s=-.9689*n+1.8758*i+.0415*a,r=.0557*n+-.204*i+1.057*a,t=(t=3.2406*n+-1.5372*i+-.4986*a)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,s=s>.0031308?1.055*Math.pow(s,1/2.4)-.055:12.92*s,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(s=Math.min(Math.max(0,s),1)),255*(r=Math.min(Math.max(0,r),1))]},a.xyz.lab=function(e){var t=e[0],s=e[1],r=e[2];return s/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(s=s>.008856?Math.pow(s,1/3):7.787*s+16/116)-16,500*(t-s),200*(s-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.lab.xyz=function(e){var t,s,r,n=e[0];t=e[1]/500+(s=(n+16)/116),r=s-e[2]/200;var i=Math.pow(s,3),a=Math.pow(t,3),o=Math.pow(r,3);return s=i>.008856?i:(s-16/116)/7.787,t=a>.008856?a:(t-16/116)/7.787,r=o>.008856?o:(r-16/116)/7.787,[t*=95.047,s*=100,r*=108.883]},a.lab.lch=function(e){var t,s=e[0],r=e[1],n=e[2];return(t=360*Math.atan2(n,r)/2/Math.PI)<0&&(t+=360),[s,Math.sqrt(r*r+n*n),t]},a.lch.lab=function(e){var t,s=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[s,r*Math.cos(t),r*Math.sin(t)]},a.rgb.ansi16=function(e){var t=e[0],s=e[1],r=e[2],n=1 in arguments?arguments[1]:a.rgb.hsv(e)[2];if(0===(n=Math.round(n/50)))return 30;var i=30+(Math.round(r/255)<<2|Math.round(s/255)<<1|Math.round(t/255));return 2===n&&(i+=60),i},a.hsv.ansi16=function(e){return a.rgb.ansi16(a.hsv.rgb(e),e[2])},a.rgb.ansi256=function(e){var t=e[0],s=e[1],r=e[2];return t===s&&s===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(s/255*5)+Math.round(r/255*5)},a.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var s=.5*(1+~~(e>50));return[(1&t)*s*255,(t>>1&1)*s*255,(t>>2&1)*s*255]},a.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var s;return e-=16,[Math.floor(e/36)/5*255,Math.floor((s=e%36)/6)/5*255,s%6/5*255]},a.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},a.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var s=t[0];3===t[0].length&&(s=s.split("").map((function(e){return e+e})).join(""));var r=parseInt(s,16);return[r>>16&255,r>>8&255,255&r]},a.rgb.hcg=function(e){var t,s=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.max(Math.max(s,r),n),a=Math.min(Math.min(s,r),n),o=i-a;return t=o<=0?0:i===s?(r-n)/o%6:i===r?2+(n-s)/o:4+(s-r)/o+4,t/=6,[360*(t%=1),100*o,100*(o<1?a/(1-o):0)]},a.hsl.hcg=function(e){var t,s=e[1]/100,r=e[2]/100,n=0;return(t=r<.5?2*s*r:2*s*(1-r))<1&&(n=(r-.5*t)/(1-t)),[e[0],100*t,100*n]},a.hsv.hcg=function(e){var t=e[1]/100,s=e[2]/100,r=t*s,n=0;return r<1&&(n=(s-r)/(1-r)),[e[0],100*r,100*n]},a.hcg.rgb=function(e){var t=e[0]/360,s=e[1]/100,r=e[2]/100;if(0===s)return[255*r,255*r,255*r];var n,i=[0,0,0],a=t%1*6,o=a%1,l=1-o;switch(Math.floor(a)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=l,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=l,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=l}return n=(1-s)*r,[255*(s*i[0]+n),255*(s*i[1]+n),255*(s*i[2]+n)]},a.hcg.hsv=function(e){var t=e[1]/100,s=t+e[2]/100*(1-t),r=0;return s>0&&(r=t/s),[e[0],100*r,100*s]},a.hcg.hsl=function(e){var t=e[1]/100,s=e[2]/100*(1-t)+.5*t,r=0;return s>0&&s<.5?r=t/(2*s):s>=.5&&s<1&&(r=t/(2*(1-s))),[e[0],100*r,100*s]},a.hcg.hwb=function(e){var t=e[1]/100,s=t+e[2]/100*(1-t);return[e[0],100*(s-t),100*(1-s)]},a.hwb.hcg=function(e){var t=e[1]/100,s=1-e[2]/100,r=s-t,n=0;return r<1&&(n=(s-r)/(1-r)),[e[0],100*r,100*n]},a.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},a.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},a.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},a.gray.hsl=a.gray.hsv=function(e){return[0,0,e[0]]},a.gray.hwb=function(e){return[0,100,e[0]]},a.gray.cmyk=function(e){return[0,0,0,e[0]]},a.gray.lab=function(e){return[e[0],0,0]},a.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),s=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(s.length)+s},a.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},5536:(e,t,s)=>{var r=s(8325),n=s(6094),i={};Object.keys(r).forEach((function(e){i[e]={},Object.defineProperty(i[e],"channels",{value:r[e].channels}),Object.defineProperty(i[e],"labels",{value:r[e].labels});var t=n(e);Object.keys(t).forEach((function(s){var r=t[s];i[e][s]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var s=e(t);if("object"==typeof s)for(var r=s.length,n=0;n1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))})),e.exports=i},6094:(e,t,s)=>{var r=s(8325);function n(e,t){return function(s){return t(e(s))}}function i(e,t){for(var s=[t[e].parent,e],i=r[t[e].parent][e],a=t[e].parent;t[a].parent;)s.unshift(t[a].parent),i=n(r[t[a].parent][a],i),a=t[a].parent;return i.conversion=s,i}e.exports=function(e){for(var t=function(e){var t=function(){for(var e={},t=Object.keys(r),s=t.length,n=0;n{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},4005:e=>{"use strict";var t=/[|\\\\{}()[\\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(t,"\\\\$&")}},3182:(e,t,s)=>{"use strict";var r=s(397);const n=s(2037),i=s(9341),a=r.env;let o;function l(e){const t=function(e){if(!1===o)return 0;if(i("color=16m")||i("color=full")||i("color=truecolor"))return 3;if(i("color=256"))return 2;if(e&&!e.isTTY&&!0!==o)return 0;const t=o?1:0;if("win32"===r.platform){const e=n.release().split(".");return Number(r.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in a)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in a))||"codeship"===a.CI_NAME?1:t;if("TEAMCITY_VERSION"in a)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(a.TEAMCITY_VERSION)?1:0;if("truecolor"===a.COLORTERM)return 3;if("TERM_PROGRAM"in a){const e=parseInt((a.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(a.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(a.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a.TERM)||"COLORTERM"in a?1:(a.TERM,t)}(e);return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(t)}i("no-color")||i("no-colors")||i("color=false")?o=!1:(i("color")||i("colors")||i("color=true")||i("color=always"))&&(o=!0),"FORCE_COLOR"in a&&(o=0===a.FORCE_COLOR.length||0!==parseInt(a.FORCE_COLOR,10)),e.exports={supportsColor:l,stdout:l(r.stdout),stderr:l(r.stderr)}},4494:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=!0,r=!0,n=!0,i=!0;class a{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null,this.updateContext=null}}const o=new Map;function l(e,t={}){t.keyword=e;const s=new a(e,t);return o.set(e,s),s}function c(e,t){return new a(e,{beforeExpr:s,binop:t})}const p={num:new a("num",{startsExpr:r}),bigint:new a("bigint",{startsExpr:r}),decimal:new a("decimal",{startsExpr:r}),regexp:new a("regexp",{startsExpr:r}),string:new a("string",{startsExpr:r}),name:new a("name",{startsExpr:r}),privateName:new a("#name",{startsExpr:r}),eof:new a("eof"),bracketL:new a("[",{beforeExpr:s,startsExpr:r}),bracketHashL:new a("#[",{beforeExpr:s,startsExpr:r}),bracketBarL:new a("[|",{beforeExpr:s,startsExpr:r}),bracketR:new a("]"),bracketBarR:new a("|]"),braceL:new a("{",{beforeExpr:s,startsExpr:r}),braceBarL:new a("{|",{beforeExpr:s,startsExpr:r}),braceHashL:new a("#{",{beforeExpr:s,startsExpr:r}),braceR:new a("}"),braceBarR:new a("|}"),parenL:new a("(",{beforeExpr:s,startsExpr:r}),parenR:new a(")"),comma:new a(",",{beforeExpr:s}),semi:new a(";",{beforeExpr:s}),colon:new a(":",{beforeExpr:s}),doubleColon:new a("::",{beforeExpr:s}),dot:new a("."),question:new a("?",{beforeExpr:s}),questionDot:new a("?."),arrow:new a("=>",{beforeExpr:s}),template:new a("template"),ellipsis:new a("...",{beforeExpr:s}),backQuote:new a("`",{startsExpr:r}),dollarBraceL:new a("${",{beforeExpr:s,startsExpr:r}),at:new a("@"),hash:new a("#",{startsExpr:r}),interpreterDirective:new a("#!..."),eq:new a("=",{beforeExpr:s,isAssign:!0}),assign:new a("_=",{beforeExpr:s,isAssign:!0}),incDec:new a("++/--",{prefix:i,postfix:!0,startsExpr:r}),bang:new a("!",{beforeExpr:s,prefix:i,startsExpr:r}),tilde:new a("~",{beforeExpr:s,prefix:i,startsExpr:r}),pipeline:c("|>",0),nullishCoalescing:c("??",1),logicalOR:c("||",1),logicalAND:c("&&",2),bitwiseOR:c("|",3),bitwiseXOR:c("^",4),bitwiseAND:c("&",5),equality:c("==/!=/===/!==",6),relational:c("/<=/>=",7),bitShift:c("<>/>>>",8),plusMin:new a("+/-",{beforeExpr:s,binop:9,prefix:i,startsExpr:r}),modulo:new a("%",{beforeExpr:s,binop:10,startsExpr:r}),star:new a("*",{binop:10}),slash:c("/",10),exponent:new a("**",{beforeExpr:s,binop:11,rightAssociative:!0}),_break:l("break"),_case:l("case",{beforeExpr:s}),_catch:l("catch"),_continue:l("continue"),_debugger:l("debugger"),_default:l("default",{beforeExpr:s}),_do:l("do",{isLoop:n,beforeExpr:s}),_else:l("else",{beforeExpr:s}),_finally:l("finally"),_for:l("for",{isLoop:n}),_function:l("function",{startsExpr:r}),_if:l("if"),_return:l("return",{beforeExpr:s}),_switch:l("switch"),_throw:l("throw",{beforeExpr:s,prefix:i,startsExpr:r}),_try:l("try"),_var:l("var"),_const:l("const"),_while:l("while",{isLoop:n}),_with:l("with"),_new:l("new",{beforeExpr:s,startsExpr:r}),_this:l("this",{startsExpr:r}),_super:l("super",{startsExpr:r}),_class:l("class",{startsExpr:r}),_extends:l("extends",{beforeExpr:s}),_export:l("export"),_import:l("import",{startsExpr:r}),_null:l("null",{startsExpr:r}),_true:l("true",{startsExpr:r}),_false:l("false",{startsExpr:r}),_in:l("in",{beforeExpr:s,binop:7}),_instanceof:l("instanceof",{beforeExpr:s,binop:7}),_typeof:l("typeof",{beforeExpr:s,prefix:i,startsExpr:r}),_void:l("void",{beforeExpr:s,prefix:i,startsExpr:r}),_delete:l("delete",{beforeExpr:s,prefix:i,startsExpr:r})},u=/\\r\\n?|[\\n\\u2028\\u2029]/,h=new RegExp(u.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}}class b{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]}}function T(e){return e[e.length-1]}class x extends b{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)}adjustCommentsAfterTrailingComma(e,t,s){if(0===this.state.leadingComments.length)return;let r=null,n=t.length;for(;null===r&&n>0;)r=t[--n];if(null===r)return;for(let e=0;e0?r.trailingComments=i:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let s,r,n,i,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(n=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const s=T(t);s.trailingComments&&s.trailingComments[0].start>=e.end&&(n=s.trailingComments,delete s.trailingComments)}for(t.length>0&&T(t).start>=e.start&&(s=t.pop());t.length>0&&T(t).start>=e.start;)r=t.pop();if(!r&&s&&(r=s),s)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&&T(r.leadingComments).end<=e.start)e.leadingComments=r.leadingComments,delete r.leadingComments;else for(i=r.leadingComments.length-2;i>=0;--i)if(r.leadingComments[i].end<=e.start){e.leadingComments=r.leadingComments.splice(0,i+1);break}}else if(this.state.leadingComments.length>0)if(T(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(i=0;ie.start);i++);const t=this.state.leadingComments.slice(0,i);t.length&&(e.leadingComments=t),n=this.state.leadingComments.slice(i),0===n.length&&(n=null)}if(this.state.commentPreviousNode=e,n)if(n.length&&n[0].start>=e.start&&T(n).end<=e.end)e.innerComments=n;else{const t=n.findIndex((t=>t.end>=e.end));t>0?(e.innerComments=n.slice(0,t),e.trailingComments=n.slice(t)):e.trailingComments=n}t.push(e)}}const P=Object.freeze({SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"}),S=A({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:"A \'get\' accesor must not have any formal parameters.",BadSetterArity:"A \'set\' accesor must have exactly one formal parameter.",BadSetterRestParameter:"A \'set\' accesor 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.",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.",ForOfAsync:"The left-hand side of a for-of loop may not be \'async\'.",ForOfLet:"The left-hand side of a for-of loop may not start with \'let\'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:"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()`.",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.",OverrideOnConstructor:"\'override\' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can\'t contain getter or setter.",PatternHasMethod:"Object pattern can\'t contain methods.",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 or class properties.",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."},P.SyntaxError),E=A({ImportMetaOutsideModule:"import.meta may appear only with \'sourceType: \\"module\\"\'",ImportOutsideModule:"\'import\' and \'export\' may appear only with \'sourceType: \\"module\\"\'"},P.SourceTypeModuleError);function A(e,t){const s={};return Object.keys(e).forEach((r=>{s[r]=Object.freeze({code:t,reasonCode:r,template:e[r]})})),Object.freeze(s)}class v extends x{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 s,r=1,n=0;for(h.lastIndex=0;(s=h.exec(e))&&s.indexr[t]))+` (${n.line}:${n.column})`;if(this.options.errorRecovery){const t=this.state.errors;for(let s=t.length-1;s>=0;s--){const r=t[s];if(r.pos===e)return Object.assign(r,{message:i});if(r.posr[t]))+` (${n.line}:${n.column})`;return this._raise(Object.assign({loc:n,pos:e},t),i)}_raise(e,t){const s=new SyntaxError(t);if(Object.assign(s,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}class w{constructor(e,t,s,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=!!s,this.override=r}}const C={braceStatement:new w("{",!1),braceExpression:new w("{",!0),recordExpression:new w("#{",!0),templateQuasi:new w("${",!1),parenStatement:new w("(",!1),parenExpression:new w("(",!0),template:new w("`",!0,!0,(e=>e.readTmplToken())),functionExpression:new w("function",!0),functionStatement:new w("function",!1)};p.parenR.updateContext=p.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let e=this.state.context.pop();e===C.braceStatement&&"function"===this.curContext().token&&(e=this.state.context.pop()),this.state.exprAllowed=!e.isExpr},p.name.updateContext=function(e){let t=!1;e!==p.dot&&("of"!==this.state.value||this.state.exprAllowed||e===p._function||e===p._class||(t=!0)),this.state.exprAllowed=t},p.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?C.braceStatement:C.braceExpression),this.state.exprAllowed=!0},p.dollarBraceL.updateContext=function(){this.state.context.push(C.templateQuasi),this.state.exprAllowed=!0},p.parenL.updateContext=function(e){const t=e===p._if||e===p._for||e===p._with||e===p._while;this.state.context.push(t?C.parenStatement:C.parenExpression),this.state.exprAllowed=!0},p.incDec.updateContext=function(){},p._function.updateContext=p._class.updateContext=function(e){!e.beforeExpr||e===p.semi||e===p._else||e===p._return&&this.hasPrecedingLineBreak()||(e===p.colon||e===p.braceL)&&this.curContext()===C.b_stat?this.state.context.push(C.functionStatement):this.state.context.push(C.functionExpression),this.state.exprAllowed=!1},p.backQuote.updateContext=function(){this.curContext()===C.template?this.state.context.pop():this.state.context.push(C.template),this.state.exprAllowed=!1},p.braceHashL.updateContext=function(){this.state.context.push(C.recordExpression),this.state.exprAllowed=!0};let I="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",O="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const N=new RegExp("["+I+"]"),k=new RegExp("["+I+O+"]");I=O=null;const L=[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],D=[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 M(e,t){let s=65536;for(let r=0,n=t.length;re)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function _(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&N.test(String.fromCharCode(e)):M(e,L)))}function j(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&k.test(String.fromCharCode(e)):M(e,L)||M(e,D))))}const R=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"]),B=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),F=new Set(["eval","arguments"]);function U(e,t){return t&&"await"===e||"enum"===e}function V(e,t){return U(e,t)||B.has(e)}function q(e){return F.has(e)}function K(e,t){return V(e,t)||q(e)}function W(e){return R.has(e)}const H=/^in(stanceof)?$/;class Y{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 Y(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,s){let r=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(r,e,t,s),16&t?r.functions.push(e):r.lexical.push(e),8&t&&this.maybeExportDefined(r,e);else if(4&t)for(let n=this.scopeStack.length-1;n>=0&&(r=this.scopeStack[n],this.checkRedeclarationInScope(r,e,t,s),r.var.push(e),this.maybeExportDefined(r,e),!(259&r.flags));--n);this.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,s,r){this.isRedeclaredInScope(e,t,s)&&this.raise(r,S.VarRedeclaration,t)}isRedeclaredInScope(e,t,s){return!!(1&s)&&(8&s?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:16&s?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 X extends Y{constructor(...e){super(...e),this.declareFunctions=[]}}class G extends J{createScope(e){return new X(e)}declareName(e,t,s){const r=this.currentScope();if(2048&t)return this.checkRedeclarationInScope(r,e,t,s),this.maybeExportDefined(r,e),void r.declareFunctions.push(e);super.declareName(...arguments)}isRedeclaredInScope(e,t,s){return!!super.isRedeclaredInScope(...arguments)||!!(2048&s)&&!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 z=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),$=A({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."},P.SyntaxError);function Q(e){return"type"===e.importKind||"typeof"===e.importKind}function Z(e){return(e.type===p.name||!!e.type.keyword)&&"from"!==e.value}const ee={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"},te=/\\*?\\s*@((?:no)?flow)\\b/,se={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]+$/,ne=/^\\d+$/,ie=A({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>.",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",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 <>...?"},P.SyntaxError);function ae(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function oe(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return oe(e.object)+"."+oe(e.property);throw new Error("Node had unexpected type: "+e.type)}C.j_oTag=new w("...",!0,!0),p.jsxName=new a("jsxName"),p.jsxText=new a("jsxText",{beforeExpr:!0}),p.jsxTagStart=new a("jsxTagStart",{startsExpr:!0}),p.jsxTagEnd=new a("jsxTagEnd"),p.jsxTagStart.updateContext=function(){this.state.context.push(C.j_expr),this.state.context.push(C.j_oTag),this.state.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){const t=this.state.context.pop();t===C.j_oTag&&e===p.slash||t===C.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===C.j_expr):this.state.exprAllowed=!0};class le extends Y{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class ce extends J{createScope(e){return new le(e)}declareName(e,t,s){const r=this.currentScope();if(1024&t)return this.maybeExportDefined(r,e),void r.exportOnlyBindings.push(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,s),this.maybeExportDefined(r,e)),r.types.push(e)),256&t&&r.enums.push(e),512&t&&r.constEnums.push(e),128&t&&r.classes.push(e)}isRedeclaredInScope(e,t,s){return e.enums.indexOf(t)>-1?!(256&s)||!!(512&s)!=e.constEnums.indexOf(t)>-1:128&s&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(1&s):!!(2&s&&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 pe{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 ue(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=A({AbstractMethodHasImplementation:"Method \'%0\' cannot have an implementation because it is marked abstract.",AccesorCannotDeclareThisParameter:"\'get\' and \'set\' accessors cannot declare \'this\' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",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.",DeclareAccessor:"\'declare\' is not allowed in %0ters.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:"Accessibility modifier already seen.",DuplicateModifier:"Duplicate modifier: \'%0\'.",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.",ImportAliasHasImportType:"An import alias can not use \'import type\'.",IncompatibleModifiers:"\'%0\' modifier cannot be used with \'%1\' modifier.",IndexSignatureHasAbstract:"Index signatures cannot have the \'abstract\' modifier.",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier (\'%0\').",IndexSignatureHasDeclare:"Index signatures cannot have the \'declare\' modifier.",IndexSignatureHasOverride:"\'override\' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the \'static\' modifier.",InvalidModifierOnTypeMember:"\'%0\' modifier cannot appear on a type member.",InvalidModifiersOrder:"\'%0\' modifier must precede \'%1\' modifier.",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.",OverrideNotInSubClass:"This member cannot have an \'override\' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the \'abstract\' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier (\'%0\').",ReadonlyForMethodSignature:"\'readonly\' modifier can only appear on a property declaration or index signature.",SetAccesorCannotHaveOptionalParameter:"A \'set\' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A \'set\' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A \'set\' accessor cannot have a return type annotation.",StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",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."},P.SyntaxError);function me(e){return"private"===e||"public"===e||"protected"===e}p.placeholder=new a("%%",{startsExpr:!0});const ye=A({ClassNameIsRequired:"A class name is required."},P.SyntaxError);function ge(e,t){return e.some((e=>Array.isArray(e)?e[0]===t:e===t))}function be(e,t,s){const r=e.find((e=>Array.isArray(e)?e[0]===t:e===t));return r&&Array.isArray(r)?r[1][s]:null}const Te=["minimal","smart","fsharp"],xe=["hash","bar"],Pe={estree:e=>class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let s=null;try{s=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(s);return r.regex={pattern:e,flags:t},r}estreeParseBigIntLiteral(e){let t;try{t=BigInt(e)}catch(e){t=null}const s=this.estreeParseLiteral(t);return s.bigint=String(s.value||e),s}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,s=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,s.expression=this.finishNodeAt(r,"Literal",t.end,t.loc.end),s.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(s,"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),s=e.expression.value;return this.addExtra(t.value,"expressionValue",s),t}parseBlockBody(e,...t){super.parseBlockBody(e,...t);const s=e.directives.map((e=>this.directiveToStmt(e)));e.body=s.concat(e.body),delete e.directives}pushClassMethod(e,t,s,r,n,i){this.parseMethod(t,s,r,n,i,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseExprAtom(e){switch(this.state.type){case p.num:case p.string:return this.estreeParseLiteral(this.state.value);case p.regexp:return this.estreeParseRegExpLiteral(this.state.value);case p.bigint:return this.estreeParseBigIntLiteral(this.state.value);case p.decimal:return this.estreeParseDecimalLiteral(this.state.value);case p._null:return this.estreeParseLiteral(null);case p._true:return this.estreeParseLiteral(!0);case p._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.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,s,r){const n=super.parseLiteral(e,t,s,r);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,s=!1){super.parseFunctionBody(e,t,s),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,s,r,n,i,a=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,s,r,n,i,a),o.type="FunctionExpression",delete o.kind,e.value=o,"ClassPrivateMethod"===i&&(e.computed=!1),i="MethodDefinition",this.finishNode(e,i)}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,s,r,n){const i=super.parseObjectMethod(e,t,s,r,n);return i&&(i.type="Property","method"===i.kind&&(i.kind="init"),i.shorthand=!1),i}parseObjectProperty(e,t,s,r,n){const i=super.parseObjectProperty(e,t,s,r,n);return i&&(i.kind="init",i.type="Property"),i}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,S.PatternHasAccessor):e.method?this.raise(e.key.start,S.PatternHasMethod):super.toAssignableObjectExpressionProp(e,...t)}finishCallExpression(e,t){var s;(super.finishCallExpression(e,t),"Import"===e.callee.type)&&(e.type="ImportExpression",e.source=e.arguments[0],this.hasPlugin("importAssertions")&&(e.attributes=null!=(s=e.arguments[1])?s:null),delete e.arguments,delete e.callee);return 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,s,r,n){const i=super.parseSubscript(e,t,s,r,n);if(n.optionalChainMember){if("OptionalMemberExpression"!==i.type&&"OptionalCallExpression"!==i.type||(i.type=i.type.substring(8)),n.stop){const e=this.startNodeAtNode(i);return e.expression=i,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==i.type&&"CallExpression"!==i.type||(i.optional=!1);return i}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,ie.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(p.jsxTagStart)):super.getTokenFromCode(s):(e+=this.input.slice(t,this.state.pos),this.finishToken(p.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:d(s)?(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 s;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=e?"\\n":"\\r\\n"):s=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,S.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadEntity(),s=this.state.pos):d(r)?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return t+=this.input.slice(s,this.state.pos++),this.finishToken(p.string,t)}jsxReadEntity(){let e,t="",s=0,r=this.input[this.state.pos];const n=++this.state.pos;for(;this.state.posclass extends e{constructor(...e){super(...e),this.flowPragma=void 0}getScopeHandler(){return G}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==p.string&&e!==p.semi&&e!==p.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"}}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||p.colon);const s=this.flowParseType();return this.state.inType=t,s}flowParsePredicate(){const e=this.startNode(),t=this.state.start;return this.next(),this.expectContextual("checks"),this.state.lastTokStart>t+1&&this.raise(t,$.UnexpectedSpaceBetweenModuloChecks),this.eat(p.parenL)?(e.value=this.parseExpression(),this.expect(p.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(p.colon);let t=null,s=null;return this.match(p.modulo)?(this.state.inType=e,s=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(p.modulo)&&(s=this.flowParsePredicate())),[t,s]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(p.parenL);const n=this.flowParseFunctionTypeParams();return s.params=n.params,s.rest=n.rest,s.this=n._this,this.expect(p.parenR),[s.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"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(p._class))return this.flowParseDeclareClass(e);if(this.match(p._function))return this.flowParseDeclareFunction(e);if(this.match(p._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(p.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,$.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(p._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(p.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),s=t.body=[];for(this.expect(p.braceL);!this.match(p.braceR);){let e=this.startNode();this.match(p._import)?(this.next(),this.isContextual("type")||this.match(p._typeof)||this.raise(this.state.lastTokStart,$.InvalidNonTypeImportInDeclareModule),this.parseImport(e)):(this.expectContextual("declare",$.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),s.push(e)}this.scope.exit(),this.expect(p.braceR),this.finishNode(t,"BlockStatement");let r=null,n=!1;return s.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&&(n&&this.raise(e.start,$.DuplicateDeclareModuleExports),"ES"===r&&this.raise(e.start,$.AmbiguousDeclareModuleKind),r="CommonJS",n=!0):("CommonJS"===r&&this.raise(e.start,$.AmbiguousDeclareModuleKind),r="ES")})),e.kind=r||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(p._export),this.eat(p._default))return this.match(p._function)||this.match(p._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(p._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=ee[e];throw this.raise(this.state.start,$.UnsupportedDeclareExportKind,e,t)}if(this.match(p._var)||this.match(p._function)||this.match(p._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(p.star)||this.match(p.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(p._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(p.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(p.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(p.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,$.UnexpectedReservedUnderscore)}checkReservedType(e,t,s){z.has(e)&&this.raise(t,s?$.AssignReservedType:$.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(p.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(p.colon)&&(e.supertype=this.flowParseTypeInitialiser(p.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(p.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,s=this.startNode(),r=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return s.name=n.name,s.variance=r,s.bound=n.typeAnnotation,this.match(p.eq)?(this.eat(p.eq),s.default=this.flowParseType()):e&&this.raise(t,$.MissingTypeParamDefault),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(p.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const e=this.flowParseTypeParameter(s);t.params.push(e),e.default&&(s=!0),this.isRelational(">")||this.expect(p.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 s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(p.comma);return this.state.noAnonFunctionType=s,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(p.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(p._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(p.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(p.num)||this.match(p.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,s){return e.static=t,this.lookahead().type===p.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(p.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=s,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(p.bracketR),this.expect(p.bracketR),this.isRelational("<")||this.match(p.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(p.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(p.parenL),this.match(p._this)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(p.parenR)||this.expect(p.comma));!this.match(p.parenR)&&!this.match(p.ellipsis);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(p.parenR)||this.expect(p.comma);return this.eat(p.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(p.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const s=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(s),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:s,allowProto:r,allowInexact:n}){const i=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,l;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let c=!1;for(t&&this.match(p.braceBarL)?(this.expect(p.braceBarL),o=p.braceBarR,l=!0):(this.expect(p.braceL),o=p.braceR,l=!1),a.exact=l;!this.match(o);){let t=!1,i=null,o=null;const u=this.startNode();if(r&&this.isContextual("proto")){const t=this.lookahead();t.type!==p.colon&&t.type!==p.question&&(this.next(),i=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==p.colon&&e.type!==p.question&&(this.next(),t=!0)}const h=this.flowParseVariance();if(this.eat(p.bracketL))null!=i&&this.unexpected(i),this.eat(p.bracketL)?(h&&this.unexpected(h.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):a.indexers.push(this.flowParseObjectTypeIndexer(u,t,h));else if(this.match(p.parenL)||this.isRelational("<"))null!=i&&this.unexpected(i),h&&this.unexpected(h.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==p.name&&t.type!==p.string&&t.type!==p.num||(e=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(u,t,i,h,e,s,null!=n?n:!l);null===r?(c=!0,o=this.state.lastTokStart):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(p.braceR)||this.match(p.braceBarR)||this.raise(o,$.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(a.inexact=c);const u=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=i,u}flowParseObjectTypeProperty(e,t,s,r,n,i,a){if(this.eat(p.ellipsis))return this.match(p.comma)||this.match(p.semi)||this.match(p.braceR)||this.match(p.braceBarR)?(i?a||this.raise(this.state.lastTokStart,$.InexactInsideExact):this.raise(this.state.lastTokStart,$.InexactInsideNonObject),r&&this.raise(r.start,$.InexactVariance),null):(i||this.raise(this.state.lastTokStart,$.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,$.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=s,e.kind=n;let a=!1;return this.isRelational("<")||this.match(p.parenL)?(e.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==n&&"set"!==n||this.flowCheckGetterSetterParams(e),!i&&"constructor"===e.key.name&&e.value.this&&this.raise(e.value.this.start,$.ThisParamBannedInConstructor)):("init"!==n&&this.unexpected(),e.method=!1,this.eat(p.question)&&(a=!0),e.value=this.flowParseTypeInitialiser(),e.variance=r),e.optional=a,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,s=e.start,r=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.value.this.start,"get"===e.kind?$.GetterMayNotHaveThisParam:$.SetterMayNotHaveThisParam),r!==t&&("get"===e.kind?this.raise(s,S.BadGetterArity):this.raise(s,S.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(s,S.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(p.semi)||this.eat(p.comma)||this.match(p.braceR)||this.match(p.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,s){e=e||this.state.start,t=t||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(p.dot);){const s=this.startNodeAt(e,t);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(e,t,s){const r=this.startNodeAt(e,t);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(e,t,s),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(p._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(p.bracketL);this.state.possuper.parseFunctionBody(e,!0,s))):super.parseFunctionBody(e,!1,s)}parseFunctionBodyAndFinish(e,t,s=!1){if(this.match(p.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,s)}parseStatement(e,t){if(this.state.strict&&this.match(p.name)&&"interface"===this.state.value){const e=this.lookahead();if(e.type===p.name||W(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 s=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(p._class)||this.match(p.name)||this.match(p._function)||this.match(p._var)||this.match(p._export))return this.flowParseDeclare(e)}else if(this.match(p.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(p.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,s,r){if(!this.match(p.question))return e;if(r){const n=this.tryParse((()=>super.parseConditional(e,t,s)));return n.node?(n.error&&(this.state=n.failState),n.node):(r.start=n.error.pos||this.state.start,e)}this.expect(p.question);const n=this.state.clone(),i=this.state.noArrowAt,a=this.startNodeAt(t,s);let{consequent:o,failed:l}=this.tryParseConditionalConsequent(),[c,u]=this.getArrowLikeExpressions(o);if(l||u.length>0){const e=[...i];if(u.length>0){this.state=n,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(n.start,$.AmbiguousConditionalArrow),l&&1===c.length&&(this.state=n,this.state.noArrowAt=e.concat(c[0].start),({consequent:o,failed:l}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=i,this.expect(p.colon),a.test=e,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(p.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const s=[e],r=[];for(;0!==s.length;){const e=s.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):r.push(e),s.push(e.body)):"ConditionalExpression"===e.type&&(s.push(e.consequent),s.push(e.alternate))}return t?(r.forEach((e=>this.finishArrowValidation(e))),[r,[]]):function(e,t){const s=[],r=[];for(let n=0;ne.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 s;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=t(),this.state.noArrowParamsConversionAt.pop()):s=t(),s}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(p.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(p.colon)){const r=this.startNodeAt(t,s);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(p.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!==p.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,s=super.maybeParseExportNamespaceSpecifier(e);return s&&"type"===e.exportKind&&this.unexpected(t),s}parseClassId(e,t,s){super.parseClassId(e,t,s),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,s){const r=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,s),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(r,$.DeclareClassElement):t.value&&this.raise(t.value.start,$.DeclareClassFieldInitializer))}isIterator(e){return"iterator"===e||"asyncIterator"===e}readIterator(){const e=super.readWord1(),t="@@"+e;this.isIterator(e)&&this.state.inType||this.raise(this.state.pos,S.InvalidIdentifier,t),this.finishToken(p.name,t)}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(p.braceBarL,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?46===t?this.finishOp(p.questionDot,2):this.finishOp(p.question,1):function(e,t){return 64===e&&64===t}(e,t)?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e):this.finishOp(p.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,s)=>"ObjectMethod"!==e.type&&(s===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,s){for(let t=0;t1)&&t||this.raise(n.typeAnnotation.start,$.TypeCastInPattern)}return e}parseArrayLike(e,t,s,r){const n=super.parseArrayLike(e,t,s,r);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}checkLVal(e,...t){if("TypeCastExpression"!==e.type)return super.checkLVal(e,...t)}parseClassProperty(e){return this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(p.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(p.colon)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,s,r,n,i){if(t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,s,r,n,i),t.params&&n){const e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,$.ThisParamBannedInConstructor)}else if("MethodDefinition"===t.type&&n&&t.value.params){const e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,$.ThisParamBannedInConstructor)}}pushClassPrivateMethod(e,t,s,r){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,s,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(p.comma))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);const t=this.getObjectOrClassMethodParams(e);if(t.length>0){const s=t[0];this.isThisParam(s)&&"get"===e.kind?this.raise(s.start,$.GetterMayNotHaveThisParam):this.isThisParam(s)&&this.raise(s.start,$.SetterMayNotHaveThisParam)}}parsePropertyName(e,t){const s=this.flowParseVariance(),r=super.parsePropertyName(e,t);return e.variance=s,r}parseObjPropValue(e,t,s,r,n,i,a,o){let l;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!a&&(l=this.flowParseTypeParameterDeclaration(),this.match(p.parenL)||this.unexpected()),super.parseObjPropValue(e,t,s,r,n,i,a,o),l&&((e.value||e).typeParameters=l)}parseAssignableListItemTypes(e){return this.eat(p.question)&&("Identifier"!==e.type&&this.raise(e.start,$.OptionalBindingPattern),this.isThisParam(e)&&this.raise(e.start,$.ThisParamMayNotBeOptional),e.optional=!0),this.match(p.colon)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(e.start,$.ThisParamAnnotationRequired),this.match(p.eq)&&this.isThisParam(e)&&this.raise(e.start,$.ThisParamNoDefault),this.resetEndLocation(e),e}parseMaybeDefault(e,t,s){const r=super.parseMaybeDefault(e,t,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(e,t,s)),i),!n.error)return n.node;const{context:r}=this.state;r[r.length-1]===C.j_oTag?r.length-=2:r[r.length-1]===C.j_expr&&(r.length-=1)}if(null!=(r=n)&&r.error||this.isRelational("<")){var a,o;let r;i=i||this.state.clone();const l=this.tryParse((n=>{var i;r=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(r,(()=>{const n=super.parseMaybeAssign(e,t,s);return this.resetStartLocationFromNode(n,r),n}));"ArrowFunctionExpression"!==a.type&&null!=(i=a.extra)&&i.parenthesized&&n();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),a}),i);let c=null;if(l.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(l.node).type){if(!l.error&&!l.aborted)return l.node.async&&this.raise(r.start,$.UnexpectedTypeParameterBeforeAsyncArrowFunction),l.node;c=l.node}if(null!=(a=n)&&a.node)return this.state=n.failState,n.node;if(c)return this.state=l.failState,c;if(null!=(o=n)&&o.thrown)throw n.error;if(l.thrown)throw l.error;throw this.raise(r.start,$.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,s)}parseArrow(e){if(this.match(p.colon)){const t=this.tryParse((()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(p.arrow)||this.unexpected(),s}));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(p.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(e.start)){for(let t=0;t0&&this.raise(e.params[t].start,$.ThisParamMustBeFirst);return super.checkParams(...arguments)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,s,r){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const r=this.startNodeAt(t,s);r.callee=e,r.arguments=this.parseCallExpressionArguments(p.parenR,!1),e=this.finishNode(r,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const n=this.state.clone(),i=this.tryParse((e=>this.parseAsyncArrowWithTypeParameters(t,s)||e()),n);if(!i.error&&!i.aborted)return i.node;const a=this.tryParse((()=>super.parseSubscripts(e,t,s,r)),n);if(a.node&&!a.error)return a.node;if(i.node)return this.state=i.failState,i.node;if(a.node)return this.state=a.failState,a.node;throw i.error||a.error}return super.parseSubscripts(e,t,s,r)}parseSubscript(e,t,s,r,n){if(this.match(p.questionDot)&&this.isLookaheadToken_lt()){if(n.optionalChainMember=!0,r)return n.stop=!0,e;this.next();const i=this.startNodeAt(t,s);return i.callee=e,i.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(p.parenL),i.arguments=this.parseCallExpressionArguments(p.parenR,!1),i.optional=!0,this.finishCallExpression(i,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(t,s);r.callee=e;const i=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(p.parenL),r.arguments=this.parseCallExpressionArguments(p.parenR,!1),n.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,n.optionalChainMember))));if(i.node)return i.error&&(this.state=i.failState),i.node}return super.parseSubscript(e,t,s,r,n)}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 s=this.startNodeAt(e,t);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,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(p.braceBarR,2)}parseTopLevel(e,t){const s=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,$.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,$.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,S.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 s=this.input.charCodeAt(t+e),r=this.input.charCodeAt(t+e+1);return 58===s&&58===r?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===s&&58!==r&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,S.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,$.EnumBooleanMemberNotInitialized,s,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(e,$.EnumInvalidMemberName,s,r,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:s}){this.raise(e,$.EnumDuplicateMemberName,s,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,$.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:s}){return this.raise(e,null===s?$.EnumInvalidExplicitTypeUnknownSupplied:$.EnumInvalidExplicitType,t,s)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:s,memberName:r}){let n=null;switch(s){case"boolean":case"number":case"string":n=$.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":n=$.EnumInvalidMemberInitializerSymbolType;break;default:n=$.EnumInvalidMemberInitializerUnknownType}return this.raise(e,n,t,r,s)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,$.EnumNumberMemberNotInitialized,t,s)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,$.EnumStringMemberInconsistentlyInitailized,t)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(p.comma)||this.match(p.braceR);switch(this.state.type){case p.num:{const s=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:s.start,value:s}:{type:"invalid",pos:e}}case p.string:{const s=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:s.start,value:s}:{type:"invalid",pos:e}}case p._true:case p._false:{const s=this.parseBooleanLiteral();return t()?{type:"boolean",pos:s.start,value:s}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(p.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,s){const{explicitType:r}=t;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let n=!1;for(;!this.match(p.braceR);){if(this.eat(p.ellipsis)){n=!0;break}const i=this.startNode(),{id:a,init:o}=this.flowEnumMemberRaw(),l=a.name;if(""===l)continue;/^[a-z]/.test(l)&&this.flowEnumErrorInvalidMemberName(a.start,{enumName:e,memberName:l}),s.has(l)&&this.flowEnumErrorDuplicateMemberName(a.start,{enumName:e,memberName:l}),s.add(l);const c={enumName:e,explicitType:t,memberName:l};switch(i.id=a,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"boolean"),i.init=o.value,r.booleanMembers.push(this.finishNode(i,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"number"),i.init=o.value,r.numberMembers.push(this.finishNode(i,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"string"),i.init=o.value,r.stringMembers.push(this.finishNode(i,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.pos,c);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.pos,c);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.pos,c);break;default:r.defaultedMembers.push(this.finishNode(i,"EnumDefaultedMember"))}}this.match(p.braceR)||this.expect(p.comma)}return{members:r,hasUnknownMembers:n}}flowEnumStringMembers(e,t,{enumName:s}){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:s});return t}for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitailized(e.start,{enumName:s});return e}flowEnumParseExplicitType({enumName:e}){if(this.eatContextual("of")){if(!this.match(p.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:s}){const r=this.flowEnumParseExplicitType({enumName:t});this.expect(p.braceL);const{members:n,hasUnknownMembers:i}=this.flowEnumMembers({enumName:t,explicitType:r});switch(e.hasUnknownMembers=i,r){case"boolean":return e.explicitType=!0,e.members=n.booleanMembers,this.expect(p.braceR),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=n.numberMembers,this.expect(p.braceR),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(n.stringMembers,n.defaultedMembers,{enumName:t}),this.expect(p.braceR),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=n.defaultedMembers,this.expect(p.braceR),this.finishNode(e,"EnumSymbolBody");default:{const r=()=>(e.members=[],this.expect(p.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const i=n.booleanMembers.length,a=n.numberMembers.length,o=n.stringMembers.length,l=n.defaultedMembers.length;if(i||a||o||l){if(i||a){if(!a&&!o&&i>=l){for(const e of n.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=n.booleanMembers,this.expect(p.braceR),this.finishNode(e,"EnumBooleanBody")}if(!i&&!o&&a>=l){for(const e of n.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=n.numberMembers,this.expect(p.braceR),this.finishNode(e,"EnumNumberBody")}return this.flowEnumErrorInconsistentMemberValues(s,{enumName:t}),r()}return e.members=this.flowEnumStringMembers(n.stringMembers,n.defaultedMembers,{enumName:t}),this.expect(p.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(p.name)&&"of"===this.state.value&&e===p.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 ce}tsIsIdentifier(){return this.match(p.name)}tsTokenCanFollowModifier(){return(this.match(p.bracketL)||this.match(p.braceL)||this.match(p.star)||this.match(p.ellipsis)||this.match(p.privateName)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(e){if(!this.match(p.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e,t,s,r){const n=(t,s,r,n)=>{s===r&&e[n]&&this.raise(t,fe.InvalidModifiersOrder,r,n)},i=(t,s,r,n)=>{(e[r]&&s===n||e[n]&&s===r)&&this.raise(t,fe.IncompatibleModifiers,r,n)};for(;;){const a=this.state.start,o=this.tsParseModifier(t.concat(null!=s?s:[]));if(!o)break;me(o)?e.accessibility?this.raise(a,fe.DuplicateAccessibilityModifier):(n(a,o,o,"override"),n(a,o,o,"static"),e.accessibility=o):(Object.hasOwnProperty.call(e,o)?this.raise(a,fe.DuplicateModifier,o):(n(a,o,"static","readonly"),n(a,o,"static","override"),n(a,o,"override","readonly"),n(a,o,"abstract","override"),i(a,o,"declare","override"),i(a,o,"static","abstract")),e[o]=!0),null!=s&&s.includes(o)&&this.raise(a,r,o)}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(p.braceR);case"HeritageClauseElement":return this.match(p.braceL);case"TupleElementTypes":return this.match(p.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const s=[];for(;!this.tsIsListTerminator(e);)s.push(t());return s}tsParseDelimitedList(e,t){return he(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,s){const r=[];for(;!this.tsIsListTerminator(e);){const n=t();if(null==n)return;if(r.push(n),!this.eat(p.comma)){if(this.tsIsListTerminator(e))break;return void(s&&this.expect(p.comma))}}return r}tsParseBracketedList(e,t,s,r){r||(s?this.expect(p.bracketL):this.expectRelational("<"));const n=this.tsParseDelimitedList(e,t);return s?this.expect(p.bracketR):this.expectRelational(">"),n}tsParseImportType(){const e=this.startNode();return this.expect(p._import),this.expect(p.parenL),this.match(p.string)||this.raise(this.state.start,fe.UnsupportedImportTypeArgument),e.argument=this.parseExprAtom(),this.expect(p.parenR),this.eat(p.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(p.dot);){const s=this.startNodeAtNode(t);s.left=t,s.right=this.parseIdentifier(e),t=this.finishNode(s,"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(p._typeof),this.match(p._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(p._extends),e.default=this.tsEatThenParseType(p.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(p.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===p._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const s=e===p.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(p.parenL),t.parameters=this.tsParseBindingListForSignature(),(s||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(p.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(p.comma)||this.isLineTerminator()||this.expect(p.semi)}tsParseSignatureMember(e,t){return this.tsFillSignature(p.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(p.name)&&this.match(p.colon)}tsTryParseIndexSignature(e){if(!this.match(p.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(p.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(p.bracketR),e.parameters=[t];const s=this.tsTryParseTypeAnnotation();return s&&(e.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(p.question)&&(e.optional=!0);const s=e;if(this.match(p.parenL)||this.isRelational("<")){t&&this.raise(e.start,fe.ReadonlyForMethodSignature);const r=s;if(r.kind&&this.isRelational("<")&&this.raise(this.state.pos,fe.AccesorCannotHaveTypeParameters),this.tsFillSignature(p.colon,r),this.tsParseTypeMemberSemicolon(),"get"===r.kind)r.parameters.length>0&&(this.raise(this.state.pos,S.BadGetterArity),this.isThisParam(r.parameters[0])&&this.raise(this.state.pos,fe.AccesorCannotDeclareThisParameter));else if("set"===r.kind){if(1!==r.parameters.length)this.raise(this.state.pos,S.BadSetterArity);else{const e=r.parameters[0];this.isThisParam(e)&&this.raise(this.state.pos,fe.AccesorCannotDeclareThisParameter),"Identifier"===e.type&&e.optional&&this.raise(this.state.pos,fe.SetAccesorCannotHaveOptionalParameter),"RestElement"===e.type&&this.raise(this.state.pos,fe.SetAccesorCannotHaveRestParameter)}r.typeAnnotation&&this.raise(r.typeAnnotation.start,fe.SetAccesorCannotHaveReturnType)}else r.kind="method";return this.finishNode(r,"TSMethodSignature")}{const e=s;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(p.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(p._new)){const t=this.startNode();return this.next(),this.match(p.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","override"],fe.InvalidModifierOnTypeMember);return this.tsTryParseIndexSignature(e)||(this.parsePropertyName(e,!1),e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,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(p.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(p.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(p.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(p.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(p._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(p._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(p.braceL),this.match(p.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(p.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(p.bracketR),this.match(p.plusMin)?(e.optional=this.state.value,this.next(),this.expect(p.question)):this.eat(p.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(p.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,s=null;return e.elementTypes.forEach((e=>{var r;let{type:n}=e;!t||"TSRestType"===n||"TSOptionalType"===n||"TSNamedTupleMember"===n&&e.optional||this.raise(e.start,fe.OptionalTypeBeforeRequired),t=t||"TSNamedTupleMember"===n&&e.optional||"TSOptionalType"===n,"TSRestType"===n&&(n=(e=e.typeAnnotation).type);const i="TSNamedTupleMember"===n;s=null!=(r=s)?r:i,s!==i&&this.raise(e.start,fe.MixedLabeledAndUnlabeledElements)})),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,s=this.eat(p.ellipsis);let r=this.tsParseType();const n=this.eat(p.question);if(this.eat(p.colon)){const e=this.startNodeAtNode(r);e.optional=n,"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(n){const e=this.startNodeAtNode(r);e.typeAnnotation=r,r=this.finishNode(e,"TSOptionalType")}if(s){const s=this.startNodeAt(e,t);s.typeAnnotation=r,r=this.finishNode(s,"TSRestType")}return r}tsParseParenthesizedType(){const e=this.startNode();return this.expect(p.parenL),e.typeAnnotation=this.tsParseType(),this.expect(p.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){const s=this.startNode();return"TSConstructorType"===e&&(s.abstract=!!t,t&&this.next(),this.next()),this.tsFillSignature(p.arrow,s),this.finishNode(s,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case p.num:case p.bigint:case p.string:case p._true:case p._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 p.name:case p._void:case p._null:{const e=this.match(p._void)?"TSVoidKeyword":this.match(p._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 p.string:case p.num:case p.bigint:case p._true:case p._false:return this.tsParseLiteralTypeNode();case p.plusMin:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();if(t.type!==p.num&&t.type!==p.bigint)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case p._this:return this.tsParseThisTypeOrThisTypePredicate();case p._typeof:return this.tsParseTypeQuery();case p._import:return this.tsParseImportType();case p.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case p.bracketL:return this.tsParseTupleType();case p.parenL:return this.tsParseParenthesizedType();case p.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(p.bracketL);)if(this.match(p.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(p.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(p.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,s){const r=this.startNode(),n=this.eat(s),i=[];do{i.push(t())}while(this.eat(s));return 1!==i.length||n?(r.types=i,this.finishNode(r,e)):i[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),p.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),p.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(p.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(p.name)||this.match(p._this))return this.next(),!0;if(this.match(p.braceL)){let e=1;for(this.next();e>0;)this.match(p.braceL)?++e:this.match(p.braceR)&&--e,this.next();return!0}if(this.match(p.bracketL)){let e=1;for(this.next();e>0;)this.match(p.bracketL)?++e:this.match(p.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(p.parenR)||this.match(p.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(p.colon)||this.match(p.comma)||this.match(p.question)||this.match(p.eq))return!0;if(this.match(p.parenR)&&(this.next(),this.match(p.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType((()=>{const t=this.startNode();this.expect(e);const s=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(p._this)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(s.parameterName=e,s.asserts=!0,e=this.finishNode(s,"TSTypePredicate")):(this.resetStartLocationFromNode(e,s),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const n=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!n)return r?(s.parameterName=this.parseIdentifier(),s.asserts=r,t.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const i=this.tsParseTypeAnnotation(!1);return s.parameterName=n,s.typeAnnotation=i,s.asserts=r,t.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(p.colon)?this.tsParseTypeOrTypePredicateAnnotation(p.colon):void 0}tsTryParseTypeAnnotation(){return this.match(p.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(p.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(!this.match(p.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const e=this.state.containsEsc;return this.next(),!(!this.match(p.name)&&!this.match(p._this)||(e&&this.raise(this.state.lastTokStart,S.InvalidEscapedReservedWord,"asserts"),0))}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType((()=>{e&&this.expect(p.colon),t.typeAnnotation=this.tsParseType()})),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){de(this.state.inType);const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(p._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(p.question),t.trueType=this.tsParseType(),this.expect(p.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual("abstract")&&this.lookahead().type===p._new}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(p._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,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(t,fe.EmptyHeritageClauseType,e),s}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(p._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(p.eq),this.isContextual("intrinsic")&&this.lookahead().type!==p.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(p.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(p.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(p.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(p.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(p.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,p.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(p.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(256),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(p.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(p.braceL)?(this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t){e.isExport=t||!1,e.id=this.parseIdentifier(),this.checkLVal(e.id,"import equals declaration",9),this.expect(p.eq);const s=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==s.type&&this.raise(s.start,fe.ImportAliasHasImportType),e.moduleReference=s,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(p.parenL),!this.match(p.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(p.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),s=e();return this.state=t,s}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(),s=e();return void 0!==s&&!1!==s?s:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,s=this.state.type;return this.isContextual("let")&&(s=p._var,t="let"),this.tsInAmbientContext((()=>{switch(s){case p._function:return e.declare=!0,this.parseFunctionStatement(e,!1,!0);case p._class:return e.declare=!0,this.parseClass(e,!0,!1);case p._const:if(this.match(p._const)&&this.isLookaheadContextual("enum"))return this.expect(p._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case p._var:return t=t||this.state.value,this.parseVarStatement(e,t);case p.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(p.braceL)){this.scope.enter(256),this.prodParam.enter(0);const s=e;return s.global=!0,s.id=t,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,s){switch(t){case"abstract":if(this.tsCheckLineTerminator(s)&&(this.match(p._class)||this.match(p.name)))return this.tsParseAbstractDeclaration(e);break;case"enum":if(s||this.match(p.name))return s&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminator(s)&&this.match(p.name))return this.tsParseInterfaceDeclaration(e);break;case"module":if(this.tsCheckLineTerminator(s)){if(this.match(p.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.match(p.name))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(s)&&this.match(p.name))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(s)&&this.match(p.name))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(e,t);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(p.arrow),s}));return this.state.maybeInArrowParameters=s,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(p.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 s=this.state.start,r=this.state.startLoc;let n,i=!1;void 0!==e&&(n=this.parseAccessModifier(),i=!!this.tsParseModifier(["readonly"]),!1===e&&(n||i)&&this.raise(s,fe.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(n||i){const e=this.startNodeAt(s,r);return t.length&&(e.decorators=t),n&&(e.accessibility=n),i&&(e.readonly=i),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,fe.UnsupportedParameterPropertyKind),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(a.decorators=t),o}parseFunctionBodyAndFinish(e,t,s=!1){this.match(p.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(p.colon));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;r&&!this.match(p.braceL)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isAmbientContext&&(this.raise(e.start,fe.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,r,s):super.parseFunctionBodyAndFinish(e,t,s)}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,s,r,n){if(!this.hasPrecedingLineBreak()&&this.match(p.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(t,s);return r.expression=e,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const i=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,s);if(e)return e}const i=this.startNodeAt(t,s);i.callee=e;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(p.parenL))return i.arguments=this.parseCallExpressionArguments(p.parenR,!1),this.tsCheckForInvalidTypeCasts(i.arguments),i.typeParameters=a,n.optionalChainMember&&(i.optional=!1),this.finishCallExpression(i,n.optionalChainMember);if(this.match(p.backQuote)){const r=this.parseTaggedTemplateExpression(e,t,s,n);return r.typeParameters=a,r}}this.unexpected()}));if(i)return i}return super.parseSubscript(e,t,s,r,n)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch((()=>{const e=this.tsParseTypeArguments();return this.match(p.parenL)||this.unexpected(),e}));t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,s,r){if(he(p._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const n=this.startNodeAt(t,s);n.expression=e;const i=this.tsTryNextParseConstantContext();return n.typeAnnotation=i||this.tsNextThenParseType(),this.finishNode(n,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(n,t,s,r)}return super.parseExprOp(e,t,s,r)}checkReservedWord(e,t,s,r){}checkDuplicateExports(){}parseImport(e){if(e.importKind="value",this.match(p.name)||this.match(p.star)||this.match(p.braceL)){let t=this.lookahead();if(!this.isContextual("type")||t.type===p.comma||t.type===p.name&&"from"===t.value||t.type===p.eq||(e.importKind="type",this.next(),t=this.lookahead()),this.match(p.name)&&t.type===p.eq)return this.tsParseImportEqualsDeclaration(e)}const t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(t.start,fe.TypeImportCannotSpecifyDefaultAndNamed),t}parseExport(e){if(this.match(p._import))return this.next(),this.isContextual("type")&&61!==this.lookaheadCharCode()?(e.importKind="type",this.next()):e.importKind="value",this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(p.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===p.braceL?(this.next(),e.exportKind="type"):e.exportKind="value",super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===p._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===p._const){const e=this.lookahead();if(e.type===p.name&&"enum"===e.value){const e=this.startNode();return this.expect(p._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some((t=>me(t)?e.accessibility===t:!!e[t]))}parseClassMember(e,t,s){const r=["declare","private","public","protected","override","abstract","readonly"];this.tsParseModifiers(t,r.concat(["static"]));const n=()=>{const n=!!t.static;n&&this.eat(p.braceL)?(this.tsHasSomeModifiers(t,r)&&this.raise(this.state.pos,fe.StaticBlockCannotHaveModifier),this.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,s,n)};t.declare?this.tsInAmbientContext(n):n()}parseClassMemberWithIsStatic(e,t,s,r){const n=this.tsTryParseIndexSignature(t);if(n)return e.body.push(n),t.abstract&&this.raise(t.start,fe.IndexSignatureHasAbstract),t.accessibility&&this.raise(t.start,fe.IndexSignatureHasAccessibility,t.accessibility),t.declare&&this.raise(t.start,fe.IndexSignatureHasDeclare),void(t.override&&this.raise(t.start,fe.IndexSignatureHasOverride));!this.state.inAbstractClass&&t.abstract&&this.raise(t.start,fe.NonAbstractClassHasAbstractMethod),t.override&&(s.hadSuperClass||this.raise(t.start,fe.OverrideNotInSubClass)),super.parseClassMemberWithIsStatic(e,t,s,r)}parsePostMemberNameModifiers(e){this.eat(p.question)&&(e.optional=!0),e.readonly&&this.match(p.parenL)&&this.raise(e.start,fe.ClassMethodHasReadonly),e.declare&&this.match(p.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,s,r){if(!r||!this.match(p.question))return super.parseConditional(e,t,s,r);const n=this.tryParse((()=>super.parseConditional(e,t,s)));return n.node?(n.error&&(this.state=n.failState),n.node):(r.start=n.error.pos||this.state.start,e)}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(p.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(p.colon)){const r=this.startNodeAt(t,s);return r.expression=e,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,s=this.state.startLoc,r=this.eatContextual("declare");if(r&&(this.isContextual("declare")||!this.shouldParseExportDeclaration()))throw this.raise(this.state.start,fe.ExpectedAmbientAfterExportDeclare);let n;return this.match(p.name)&&(n=this.tsTryParseExportDeclaration()),n||(n=super.parseExportDeclaration(e)),n&&("TSInterfaceDeclaration"===n.type||"TSTypeAliasDeclaration"===n.type||r)&&(e.exportKind="type"),n&&r&&(this.resetStartLocation(n,t,s),n.declare=!0),n}parseClassId(e,t,s){if((!t||s)&&this.isContextual("implements"))return;super.parseClassId(e,t,s,e.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(p.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&this.match(p.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,s,r,n,i){const a=this.tsTryParseTypeParameters();a&&n&&this.raise(a.start,fe.ConstructorHasTypeParameters),!t.declare||"get"!==t.kind&&"set"!==t.kind||this.raise(t.start,fe.DeclareAccessor,t.kind),a&&(t.typeParameters=a),super.pushClassMethod(e,t,s,r,n,i)}pushClassPrivateMethod(e,t,s,r){const n=this.tsTryParseTypeParameters();n&&(t.typeParameters=n),super.pushClassPrivateMethod(e,t,s,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 s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(p.bang)&&(e.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(e.id.typeAnnotation=s,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(p.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,s,r,n,i,a,o;let l,c,u,h;if(this.hasPlugin("jsx")&&(this.match(p.jsxTagStart)||this.isRelational("<"))){if(l=this.state.clone(),c=this.tryParse((()=>super.parseMaybeAssign(...e)),l),!c.error)return c.node;const{context:t}=this.state;t[t.length-1]===C.j_oTag?t.length-=2:t[t.length-1]===C.j_expr&&(t.length-=1)}if(!(null!=(t=c)&&t.error||this.isRelational("<")))return super.parseMaybeAssign(...e);l=l||this.state.clone();const d=this.tryParse((t=>{var s,r;h=this.tsParseTypeParameters();const n=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==n.type||null!=(s=n.extra)&&s.parenthesized)&&t(),0!==(null==(r=h)?void 0:r.params.length)&&this.resetStartLocationFromNode(n,h),n.typeParameters=h,n}),l);if(!d.error&&!d.aborted)return d.node;if(!c&&(de(!this.hasPlugin("jsx")),u=this.tryParse((()=>super.parseMaybeAssign(...e)),l),!u.error))return u.node;if(null!=(s=c)&&s.node)return this.state=c.failState,c.node;if(d.node)return this.state=d.failState,d.node;if(null!=(r=u)&&r.node)return this.state=u.failState,u.node;if(null!=(n=c)&&n.thrown)throw c.error;if(d.thrown)throw d.error;if(null!=(i=u)&&i.thrown)throw u.error;throw(null==(a=c)?void 0:a.error)||d.error||(null==(o=u)?void 0:o.error)}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(p.colon)){const t=this.tryParse((e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(p.colon);return!this.canInsertSemicolon()&&this.match(p.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(p.question)&&("Identifier"===e.type||this.state.isAmbientContext||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":default:return super.toAssignable(e,t);case"ParenthesizedExpression":return this.toAssignableParenthesizedExpression(e,t);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression,t),e}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":return e.expression=this.toAssignable(e.expression,t),e;default:return super.toAssignable(e,t)}}checkLVal(e,t,...s){var r;switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,"parameter property",...s);case"TSAsExpression":case"TSTypeAssertion":if(!(s[0]||"parenthesized expression"===t||null!=(r=e.extra)&&r.parenthesized)){this.raise(e.start,S.InvalidLhs,t);break}return void this.checkLVal(e.expression,"parenthesized expression",...s);case"TSNonNullExpression":return void this.checkLVal(e.expression,t,...s);default:return void super.checkLVal(e,t,...s)}}parseBindingAtom(){return this.state.type===p._this?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(p.parenL)){const s=super.parseMaybeDecoratorArguments(e);return s.typeParameters=t,s}this.unexpected(this.state.start,p.parenL)}return super.parseMaybeDecoratorArguments(e)}checkCommaAfterRest(e){this.state.isAmbientContext&&this.match(p.comma)&&this.lookaheadCharCode()===e?this.next():super.checkCommaAfterRest(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(p.bang)||this.match(p.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),s=this.getObjectOrClassMethodParams(e)[0];return s&&this.isThisParam(s)?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){const t=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=t}}parseClass(e,...t){const s=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,...t)}finally{this.state.inAbstractClass=s}}tsParseAbstractDeclaration(e){if(this.match(p._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,p._class)}parseMethod(...e){const t=super.parseMethod(...e);if(t.abstract&&(this.hasPlugin("estree")?t.value.body:t.body)){const{key:e}=t;this.raise(t.start,fe.AbstractMethodHasImplementation,"Identifier"===e.type?e.name:`[${this.input.slice(e.start,e.end)}]`)}return t}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(p.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(p.modulo),this.match(p.name)){const e=this.parseIdentifierName(this.state.start),s=this.createIdentifier(t,e);if(s.type="V8IntrinsicIdentifier",this.match(p.parenL))return s}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(p.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(p.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const s=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,s?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(p.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){return!!super.isLet(e)||!!this.isContextual("let")&&(!e&&this.lookahead().type===p.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(p.colon)){const s=e;return s.label=this.finishPlaceholder(t,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"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,s){const r=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const n=this.state.strict,i=this.parsePlaceholder("Identifier");if(i)if(this.match(p._extends)||this.match(p.placeholder)||this.match(p.braceL))e.id=i;else{if(s||!t)return e.id=null,e.body=this.finishPlaceholder(i,"ClassBody"),this.finishNode(e,r);this.unexpected(null,ye.ClassNameIsRequired)}else this.parseClassId(e,t,s);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,n),this.finishNode(e,r)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(p.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=t,e.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(e)}isExportDefaultSpecifier(){if(this.match(p._default)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(p.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(p.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const s=this.startNodeAtNode(t);return s.local=t,this.finishNode(s,"ImportDefaultSpecifier"),e.specifiers.push(s),this.eat(p.comma)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},Se=Object.keys(Pe),Ee={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 Ae{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.isAmbientContext=!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=p.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[C.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 Ae,s=Object.keys(this);for(let r=0,n=s.length;r=48&&e<=57};const we=new Set(["g","m","s","i","y","u"]),Ce={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Ie={bin:[48,49]};Ie.oct=[...Ie.bin,50,51,52,53,54,55],Ie.dec=[...Ie.oct,56,57],Ie.hex=[...Ie.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Oe{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 Ne extends v{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.state=new Ae,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 Oe(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){return f.lastIndex=e,e+f.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++ethis.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(p.eof);const t=null==e?void 0:e.override;t?t(this):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}pushComment(e,t,s,r,n,i){const a={type:e?"CommentBlock":"CommentLine",value:t,start:s,end:r,loc:new g(n,i)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,s=this.input.indexOf("*/",this.state.pos+2);if(-1===s)throw this.raise(t,S.UnterminatedComment);let r;for(this.state.pos=s+2,h.lastIndex=t;(r=h.exec(this.input))&&r.index=48&&t<=57)throw this.raise(this.state.pos,S.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?S.RecordExpressionHashIncorrectStartSyntaxType:S.TupleExpressionHashIncorrectStartSyntaxType);123===t?this.finishToken(p.braceHashL):this.finishToken(p.bracketHashL),this.state.pos+=2}else _(t)?(++this.state.pos,this.finishToken(p.privateName,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(p.privateName,this.readWord1())):this.finishOp(p.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(p.ellipsis)):(++this.state.pos,this.finishToken(p.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(p.assign,2):this.finishOp(p.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(p.question)):(this.state.pos+=2,this.finishToken(p.questionDot))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(p.parenL);case 41:return++this.state.pos,void this.finishToken(p.parenR);case 59:return++this.state.pos,void this.finishToken(p.semi);case 44:return++this.state.pos,void this.finishToken(p.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,S.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(p.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(p.bracketL);return;case 93:return++this.state.pos,void this.finishToken(p.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,S.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(p.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(p.braceL);return;case 125:return++this.state.pos,void this.finishToken(p.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(p.doubleColon,2):(++this.state.pos,this.finishToken(p.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(p.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(p.tilde,1);case 64:return++this.state.pos,void this.finishToken(p.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(_(e))return void this.readWord(e)}throw this.raise(this.state.pos,S.InvalidOrUnexpectedToken,String.fromCodePoint(e))}finishOp(e,t){const s=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,s)}readRegexp(){const e=this.state.pos;let t,s;for(;;){if(this.state.pos>=this.length)throw this.raise(e,S.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(u.test(r))throw this.raise(e,S.UnterminatedRegExp);if(t)t=!1;else{if("["===r)s=!0;else if("]"===r&&s)s=!1;else if("/"===r&&!s)break;t="\\\\"===r}++this.state.pos}const r=this.input.slice(e,this.state.pos);++this.state.pos;let n="";for(;this.state.pos-1&&this.raise(this.state.pos+1,S.DuplicateRegExpFlags);else{if(!j(t)&&92!==t)break;this.raise(this.state.pos+1,S.MalformedRegExpFlags)}++this.state.pos,n+=e}this.finishToken(p.regexp,{pattern:r,flags:n})}readInt(e,t,s,r=!0){const n=this.state.pos,i=16===e?Ce.hex:Ce.decBinOct,a=16===e?Ie.hex:10===e?Ie.dec:8===e?Ie.oct:Ie.bin;let o=!1,l=0;for(let n=0,c=null==t?1/0:t;n=97?t-97+10:t>=65?t-65+10:ve(t)?t-48:1/0,c>=e)if(this.options.errorRecovery&&c<=9)c=0,this.raise(this.state.start+n+2,S.InvalidDigit,e);else{if(!s)break;c=0,o=!0}++this.state.pos,l=l*e+c}else{const e=this.input.charCodeAt(this.state.pos-1),t=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(t)||i.indexOf(e)>-1||i.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,S.UnexpectedNumericSeparator),r||this.raise(this.state.pos,S.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===n||null!=t&&this.state.pos-n!==t||o?null:l}readRadixNumber(e){const t=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(e);null==r&&this.raise(this.state.start+2,S.InvalidDigit,e);const n=this.input.charCodeAt(this.state.pos);if(110===n)++this.state.pos,s=!0;else if(109===n)throw this.raise(t,S.InvalidDecimal);if(_(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,S.NumberIdentifier);if(s){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(p.bigint,e)}else this.finishToken(p.num,r)}readNumber(e){const t=this.state.pos;let s=!1,r=!1,n=!1,i=!1,a=!1;e||null!==this.readInt(10)||this.raise(t,S.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,S.StrictOctalLiteral),!this.state.strict){const s=e.indexOf("_");s>0&&this.raise(s+t,S.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(e)}let l=this.input.charCodeAt(this.state.pos);if(46!==l||a||(++this.state.pos,this.readInt(10),s=!0,l=this.input.charCodeAt(this.state.pos)),69!==l&&101!==l||a||(l=this.input.charCodeAt(++this.state.pos),43!==l&&45!==l||++this.state.pos,null===this.readInt(10)&&this.raise(t,S.InvalidOrMissingExponent),s=!0,i=!0,l=this.input.charCodeAt(this.state.pos)),110===l&&((s||o)&&this.raise(t,S.InvalidBigIntLiteral),++this.state.pos,r=!0),109===l&&(this.expectPlugin("decimal",this.state.pos),(i||o)&&this.raise(t,S.InvalidDecimal),++this.state.pos,n=!0),_(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,S.NumberIdentifier);const c=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(p.bigint,c);if(n)return void this.finishToken(p.decimal,c);const u=a?parseInt(c,8):parseFloat(c);this.finishToken(p.num,u)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const s=++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(s,S.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,S.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;if(92===r)t+=this.input.slice(s,this.state.pos),t+=this.readEscapedChar(!1),s=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,S.UnterminatedString);++this.state.pos}}t+=this.input.slice(s,this.state.pos++),this.finishToken(p.string,t)}readTmplToken(){let e="",t=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,S.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(p.template)?36===r?(this.state.pos+=2,void this.finishToken(p.dollarBraceL)):(++this.state.pos,void this.finishToken(p.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(p.template,s?null:e));if(92===r){e+=this.input.slice(t,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!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,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){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,S.StrictNumericEscape);default:if(s>=48&&s<=55){const t=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const n=this.input.charCodeAt(this.state.pos);if("0"!==s||56===n||57===n){if(e)return null;this.recordStrictModeErrors(t,S.StrictNumericEscape)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(e,t,s){const r=this.state.pos,n=this.readInt(16,e,t,!1);return null===n&&(s?this.raise(r,S.InvalidEscapeSequence):this.state.pos=r-1),n}readWord1(e){this.state.containsEsc=!1;let t="";const s=this.state.pos;let r=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos{this.raise(s,t);let r=e.length-2,n=e[r];for(;n.canBeArrowParameterDeclaration();)n.clearDeclarationError(s),n=e[--r]}))}}function je(){return new De}class Re extends Ne{addExtra(e,t,s){e&&((e.extra=e.extra||{})[t]=s)}isRelational(e){return this.match(p.relational)&&this.state.value===e}expectRelational(e){this.isRelational(e)?this.next():this.unexpected(null,p.relational)}isContextual(e){return this.match(p.name)&&this.state.value===e&&!this.state.containsEsc}isUnparsedContextual(e,t){const s=e+t.length;return this.input.slice(e,s)===t&&(s===this.input.length||!j(this.input.charCodeAt(s)))}isLookaheadContextual(e){const t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return this.isContextual(e)&&this.eat(p.name)}expectContextual(e,t){this.eatContextual(e)||this.unexpected(null,t)}canInsertSemicolon(){return this.match(p.eof)||this.match(p.braceR)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return u.test(this.input.slice(this.state.lastTokEnd,this.state.start))}hasFollowingLineBreak(){return u.test(this.input.slice(this.state.end,this.nextTokenStart()))}isLineTerminator(){return this.eat(p.semi)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(p.semi))||this.raise(this.state.lastTokEnd,S.MissingSemicolon)}expect(e,t){this.eat(e)||this.unexpected(t,e)}assertNoSpace(e="Unexpected space."){this.state.start>this.state.lastTokEnd&&this.raise(this.state.lastTokEnd,{code:P.SyntaxError,reasonCode:"UnexpectedSpace",template:e})}unexpected(e,t={code:P.SyntaxError,reasonCode:"UnexpectedToken",template:"Unexpected token"}){throw t instanceof a&&(t={code:P.SyntaxError,reasonCode:"UnexpectedToken",template:`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 s={node:null};try{const r=e(((e=null)=>{throw s.node=e,s}));if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:s,doubleProto:r}=e;if(!t)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,S.DuplicateProto)}isLiteralPropertyName(){return this.match(p.name)||!!this.state.type.keyword||this.match(p.string)||this.match(p.num)||this.match(p.bigint)||this.match(p.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 s=this.state.exportedIdentifiers;this.state.exportedIdentifiers=[];const r=this.inModule;this.inModule=e;const n=this.scope,i=this.getScopeHandler();this.scope=new i(this.raise.bind(this),this.inModule);const a=this.prodParam;this.prodParam=new pe;const o=this.classScope;this.classScope=new Le(this.raise.bind(this));const l=this.expressionScope;return this.expressionScope=new _e(this.raise.bind(this)),()=>{this.state.labels=t,this.state.exportedIdentifiers=s,this.inModule=r,this.scope=n,this.prodParam=a,this.classScope=o,this.expressionScope=l}}enterInitialScopes(){let e=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e)}}class Be{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Fe{constructor(e,t,s){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(s),null!=e&&e.options.ranges&&(this.range=[t,0]),null!=e&&e.filename&&(this.loc.filename=e.filename)}__clone(){const e=new Fe,t=Object.keys(this);for(let s=0,r=t.length;s"ParenthesizedExpression"===e.type?Ve(e.expression):e;class qe extends Ue{toAssignable(e,t=!1){var s,r;let n;switch(("ParenthesizedExpression"===e.type||null!=(s=e.extra)&&s.parenthesized)&&(n=Ve(e),t?"Identifier"===n.type?this.expressionScope.recordParenthesizedIdentifierError(e.start,S.InvalidParenthesizedAssignment):"MemberExpression"!==n.type&&this.raise(e.start,S.InvalidParenthesizedAssignment):this.raise(e.start,S.InvalidParenthesizedAssignment)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(let s=0,r=e.properties.length,n=r-1;sthis.parseExpressionBase(t))):this.allowInAnd((()=>this.parseExpressionBase(t)))}parseExpressionBase(e){const t=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(e);if(this.match(p.comma)){const n=this.startNodeAt(t,s);for(n.expressions=[r];this.eat(p.comma);)n.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(n.expressions),this.finishNode(n,"SequenceExpression")}return r}parseMaybeAssignDisallowIn(e,t,s){return this.disallowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssignAllowIn(e,t,s){return this.allowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssign(e,t,s){const r=this.state.start,n=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,n)),e}let i;e?i=!1:(e=new Be,i=!0),(this.match(p.parenL)||this.match(p.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e,s);if(t&&(a=t.call(this,a,r,n)),this.state.type.isAssign){const t=this.startNodeAt(r,n),s=this.state.value;return t.operator=s,this.match(p.eq)?(t.left=this.toAssignable(a,!0),e.doubleProto=-1):t.left=a,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(a,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),a}parseMaybeConditional(e,t){const s=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprOps(e);return this.shouldExitDescending(i,n)?i:this.parseConditional(i,s,r,t)}parseConditional(e,t,s,r){if(this.eat(p.question)){const r=this.startNodeAt(t,s);return r.test=e,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(p.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseMaybeUnary(e);return this.shouldExitDescending(n,r)?n:this.parseExprOp(n,t,s,-1)}parseExprOp(e,t,s,r){let n=this.state.type.binop;if(null!=n&&(this.prodParam.hasIn||!this.match(p._in))&&n>r){const i=this.state.type;if(i===p.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const a=this.startNodeAt(t,s);a.left=e,a.operator=this.state.value;const o=i===p.logicalOR||i===p.logicalAND,l=i===p.nullishCoalescing;if(l&&(n=p.logicalAND.binop),this.next(),i===p.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(p.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,S.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(i,n),this.finishNode(a,o||l?"LogicalExpression":"BinaryExpression");const c=this.state.type;if(l&&(c===p.logicalOR||c===p.logicalAND)||o&&c===p.nullishCoalescing)throw this.raise(this.state.start,S.MixingCoalesceWithLogical);return this.parseExprOp(a,t,s,r)}return e}parseExprOpRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;if(e===p.pipeline)switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),s,r)));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(t)))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,r,e.rightAssociative?t-1:t)}checkExponentialAfterUnary(e){this.match(p.exponent)&&this.raise(e.argument.start,S.UnexpectedTokenUnaryExponentiation)}parseMaybeUnary(e,t){const s=this.state.start,r=this.state.startLoc,n=this.isContextual("await");if(n&&this.isAwaitAllowed()){this.next();const e=this.parseAwait(s,r);return t||this.checkExponentialAfterUnary(e),e}if(this.isContextual("module")&&123===this.lookaheadCharCode()&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const i=this.match(p.incDec),a=this.startNode();if(this.state.type.prefix){a.operator=this.state.value,a.prefix=!0,this.match(p._throw)&&this.expectPlugin("throwExpressions");const s=this.match(p._delete);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&s){const e=a.argument;"Identifier"===e.type?this.raise(a.start,S.StrictDelete):this.hasPropertyAsPrivateName(e)&&this.raise(a.start,S.DeletePrivateField)}if(!i)return t||this.checkExponentialAfterUnary(a),this.finishNode(a,"UnaryExpression")}const o=this.parseUpdate(a,i,e);return n&&(this.hasPlugin("v8intrinsic")?this.state.type.startsExpr:this.state.type.startsExpr&&!this.match(p.modulo))&&!this.isAmbiguousAwait()?(this.raiseOverwrite(s,this.hasPlugin("topLevelAwait")?S.AwaitNotInAsyncContext:S.AwaitNotInAsyncFunction),this.parseAwait(s,r)):o}parseUpdate(e,t,s){if(t)return this.checkLVal(e.argument,"prefix operation"),this.finishNode(e,"UpdateExpression");const r=this.state.start,n=this.state.startLoc;let i=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return i;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(r,n);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.checkLVal(i,"postfix operation"),this.next(),i=this.finishNode(e,"UpdateExpression")}return i}parseExprSubscripts(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseExprAtom(e);return this.shouldExitDescending(n,r)?n:this.parseSubscripts(n,t,s)}parseSubscripts(e,t,s,r){const n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,s,r,n),n.maybeAsyncArrow=!1}while(!n.stop);return e}parseSubscript(e,t,s,r,n){if(!r&&this.eat(p.doubleColon))return this.parseBind(e,t,s,r,n);if(this.match(p.backQuote))return this.parseTaggedTemplateExpression(e,t,s,n);let i=!1;if(this.match(p.questionDot)){if(r&&40===this.lookaheadCharCode())return n.stop=!0,e;n.optionalChainMember=i=!0,this.next()}return!r&&this.match(p.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,s,n,i):i||this.match(p.bracketL)||this.eat(p.dot)?this.parseMember(e,t,s,n,i):(n.stop=!0,e)}parseMember(e,t,s,r,n){const i=this.startNodeAt(t,s),a=this.eat(p.bracketL);i.object=e,i.computed=a;const o=!a&&this.match(p.privateName)&&this.state.value,l=a?this.parseExpression():o?this.parsePrivateName():this.parseIdentifier(!0);return!1!==o&&("Super"===i.object.type&&this.raise(t,S.SuperPrivateField),this.classScope.usePrivateName(o,l.start)),i.property=l,a&&this.expect(p.bracketR),r.optionalChainMember?(i.optional=n,this.finishNode(i,"OptionalMemberExpression")):this.finishNode(i,"MemberExpression")}parseBind(e,t,s,r,n){const i=this.startNodeAt(t,s);return i.object=e,i.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),t,s,r)}parseCoverCallAndAsyncArrowHead(e,t,s,r,n){const i=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(t,s);return a.callee=e,r.maybeAsyncArrow&&this.expressionScope.enter(new Me(2)),r.optionalChainMember&&(a.optional=n),a.arguments=n?this.parseCallExpressionArguments(p.parenR,!1):this.parseCallExpressionArguments(p.parenR,r.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,a),this.finishCallExpression(a,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!n?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,s),a)):(r.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=i,a}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,s,r){const n=this.startNodeAt(t,s);return n.tag=e,n.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(t,S.OptionalChainingNoTemplate),this.finishNode(n,"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,S.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,S.ImportCallSpreadArgument);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,s,r,n){const i=[];let a=!0;const o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(a)a=!1;else if(this.expect(p.comma),this.match(e)){!s||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(this.state.lastTokStart,S.ImportCallArgumentTrailingComma),n&&this.addExtra(n,"trailingComma",this.state.lastTokStart),this.next();break}i.push(this.parseExprListItem(!1,t?new Be:void 0,t?{start:0}:void 0,r))}return this.state.inFSharpPipelineDirectBody=o,i}shouldParseAsyncArrow(){return this.match(p.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){var s;return this.expect(p.arrow),this.parseArrowExpression(e,t.arguments,!0,null==(s=t.extra)?void 0:s.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===p.slash&&this.readRegexp();const t=this.state.potentialArrowAt===this.state.start;let s;switch(this.state.type){case p._super:return this.parseSuper();case p._import:return s=this.startNode(),this.next(),this.match(p.dot)?this.parseImportMetaProperty(s):(this.match(p.parenL)||this.raise(this.state.lastTokStart,S.UnsupportedImport),this.finishNode(s,"Import"));case p._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case p.name:{const e=this.state.containsEsc,s=this.parseIdentifier();if(!e&&"async"===s.name&&!this.canInsertSemicolon()){if(this.match(p._function)){const e=this.state.context.length-1;if(this.state.context[e]!==C.functionStatement)throw new Error("Internal error");return this.state.context[e]=C.functionExpression,this.next(),this.parseFunction(this.startNodeAtNode(s),void 0,!0)}if(this.match(p.name))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(s):s;if(this.match(p._do))return this.parseDo(!0)}return t&&this.match(p.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(s),[s],!1)):s}case p._do:return this.parseDo(!1);case p.regexp:{const e=this.state.value;return s=this.parseLiteral(e.value,"RegExpLiteral"),s.pattern=e.pattern,s.flags=e.flags,s}case p.num:return this.parseLiteral(this.state.value,"NumericLiteral");case p.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case p.decimal:return this.parseLiteral(this.state.value,"DecimalLiteral");case p.string:return this.parseLiteral(this.state.value,"StringLiteral");case p._null:return s=this.startNode(),this.next(),this.finishNode(s,"NullLiteral");case p._true:case p._false:return this.parseBooleanLiteral();case p.parenL:return this.parseParenAndDistinguishExpression(t);case p.bracketBarL:case p.bracketHashL:return this.parseArrayLike(this.state.type===p.bracketBarL?p.bracketBarR:p.bracketR,!1,!0,e);case p.bracketL:return this.parseArrayLike(p.bracketR,!0,!1,e);case p.braceBarL:case p.braceHashL:return this.parseObjectLike(this.state.type===p.braceBarL?p.braceBarR:p.braceR,!1,!0,e);case p.braceL:return this.parseObjectLike(p.braceR,!1,!1,e);case p._function:return this.parseFunctionOrFunctionSent();case p.at:this.parseDecorators();case p._class:return s=this.startNode(),this.takeDecorators(s),this.parseClass(s,!1);case p._new:return this.parseNewOrNewTarget();case p.backQuote:return this.parseTemplate(!1);case p.doubleColon:{s=this.startNode(),this.next(),s.object=null;const e=s.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(s,"BindExpression");throw this.raise(e.start,S.UnsupportedBind)}case p.privateName:{const e=this.state.start,t=this.state.value;if(s=this.parsePrivateName(),this.match(p._in))this.expectPlugin("privateIn"),this.classScope.usePrivateName(t,s.start);else{if(!this.hasPlugin("privateIn"))throw this.unexpected(e);this.raise(this.state.start,S.PrivateInExpectedIn,t)}return s}case p.hash:if(this.state.inPipeline)return s=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(s.start,S.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(s.start,S.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(s,"PipelinePrimaryTopicReference");case p.relational:if("<"===this.state.value){const e=this.input.codePointAt(this.nextTokenStart());(_(e)||62===e)&&this.expectOnePlugin(["jsx","flow","typescript"])}default:throw this.unexpected()}}parseAsyncArrowUnaryFunction(e){const t=this.startNodeAtNode(e);this.prodParam.enter(ue(!0,this.prodParam.hasYield));const s=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,S.LineTerminatorBeforeArrow),this.expect(p.arrow),this.parseArrowExpression(t,s,!0),t}parseDo(e){this.expectPlugin("doExpressions"),e&&this.expectPlugin("asyncDoExpressions");const t=this.startNode();t.async=e,this.next();const s=this.state.labels;return this.state.labels=[],e?(this.prodParam.enter(2),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=s,this.finishNode(t,"DoExpression")}parseSuper(){const e=this.startNode();return this.next(),!this.match(p.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(e.start,S.UnexpectedSuper):this.raise(e.start,S.SuperNotAllowed),this.match(p.parenL)||this.match(p.bracketL)||this.match(p.dot)||this.raise(e.start,S.UnsupportedSuper),this.finishNode(e,"Super")}parseBooleanLiteral(){const e=this.startNode();return e.value=this.match(p._true),this.next(),this.finishNode(e,"BooleanLiteral")}parseMaybePrivateName(e){return this.match(p.privateName)?(e||this.raise(this.state.start+1,S.UnexpectedPrivateField),this.parsePrivateName()):this.parseIdentifier(!0)}parsePrivateName(){const e=this.startNode(),t=this.startNodeAt(this.state.start+1,new y(this.state.curLine,this.state.start+1-this.state.lineStart)),s=this.state.value;return this.next(),e.id=this.createIdentifier(t,s),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(p.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,s){e.meta=t,"function"===t.name&&"sent"===s&&(this.isContextual(s)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==s||r)&&this.raise(e.property.start,S.UnsupportedMetaProperty,t.name,s),this.finishNode(e,"MetaProperty")}parseImportMetaProperty(e){const t=this.createIdentifier(this.startNodeAtNode(e),"import");return this.next(),this.isContextual("meta")&&(this.inModule||this.raise(t.start,E.ImportMetaOutsideModule),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}parseLiteral(e,t,s,r){s=s||this.state.start,r=r||this.state.startLoc;const n=this.startNodeAt(s,r);return this.addExtra(n,"rawValue",e),this.addExtra(n,"raw",this.input.slice(s,this.state.end)),n.value=e,this.next(),this.finishNode(n,t)}parseParenAndDistinguishExpression(e){const t=this.state.start,s=this.state.startLoc;let r;this.next(),this.expressionScope.enter(new Me(1));const n=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const a=this.state.start,o=this.state.startLoc,l=[],c=new Be,u={start:0};let h,d,f=!0;for(;!this.match(p.parenR);){if(f)f=!1;else if(this.expect(p.comma,u.start||null),this.match(p.parenR)){d=this.state.start;break}if(this.match(p.ellipsis)){const e=this.state.start,t=this.state.startLoc;h=this.state.start,l.push(this.parseParenItem(this.parseRestBinding(),e,t)),this.checkCommaAfterRest(41);break}l.push(this.parseMaybeAssignAllowIn(c,this.parseParenItem,u))}const m=this.state.lastTokEnd,y=this.state.lastTokEndLoc;this.expect(p.parenR),this.state.maybeInArrowParameters=n,this.state.inFSharpPipelineDirectBody=i;let g=this.startNodeAt(t,s);if(e&&this.shouldParseArrow()&&(g=this.parseArrow(g)))return this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(g,l,!1),g;if(this.expressionScope.exit(),l.length||this.unexpected(this.state.lastTokStart),d&&this.unexpected(d),h&&this.unexpected(h),this.checkExpressionErrors(c,!0),u.start&&this.unexpected(u.start),this.toReferencedListDeep(l,!0),l.length>1?(r=this.startNodeAt(a,o),r.expressions=l,this.finishNodeAt(r,"SequenceExpression",m,y)):r=l[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t),r;const b=this.startNodeAt(t,s);return b.expression=r,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(p.arrow))return e}parseParenItem(e,t,s){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(p.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const s=this.parseMetaProperty(e,t,"target");return this.scope.inNonArrowFunction||this.scope.inClass||this.raise(s.start,S.UnexpectedNewTarget),s}return this.parseNew(e)}parseNew(e){return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,S.ImportCallNotNewExpression):this.isOptionalChain(e.callee)?this.raise(this.state.lastTokEnd,S.OptionalChainingNoNew):this.eat(p.questionDot)&&this.raise(this.state.start,S.OptionalChainingNoNew),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(p.parenL)){const t=this.parseExprList(p.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,S.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(p.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let s=this.parseTemplateElement(e);for(t.quasis=[s];!s.tail;)this.expect(p.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(p.braceR),t.quasis.push(s=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const i=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(p.comma),this.match(e)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const n=this.parsePropertyDefinition(t,r);t||this.checkProto(n,s,i,r),s&&!this.isObjectProperty(n)&&"SpreadElement"!==n.type&&this.raise(n.start,S.InvalidRecordProperty),n.shorthand&&this.addExtra(n,"shorthand",!0),o.properties.push(n)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=n;let l="ObjectExpression";return t?l="ObjectPattern":s&&(l="RecordExpression"),this.finishNode(o,l)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(p.bracketL)||this.match(p.star))}parsePropertyDefinition(e,t){let s=[];if(this.match(p.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,S.UnsupportedPropertyDecorator);this.match(p.at);)s.push(this.parseDecorator());const r=this.startNode();let n,i,a=!1,o=!1,l=!1;if(this.match(p.ellipsis))return s.length&&this.unexpected(),e?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(e||t)&&(n=this.state.start,i=this.state.startLoc),e||(a=this.eat(p.star));const c=this.state.containsEsc,u=this.parsePropertyName(r,!1);if(!e&&!a&&!c&&this.maybeAsyncOrAccessorProp(r)){const e=u.name;"async"!==e||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(p.star),this.parsePropertyName(r,!1)),"get"!==e&&"set"!==e||(l=!0,r.kind=e,this.match(p.star)&&(a=!0,this.raise(this.state.pos,S.AccessorIsGenerator,e),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,n,i,a,o,e,l,t),r}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const s=this.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e),n=e.start;r.length!==s&&("get"===e.kind?this.raise(n,S.BadGetterArity):this.raise(n,S.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=r[r.length-1])?void 0:t.type)&&this.raise(n,S.BadSetterRestParameter)}parseObjectMethod(e,t,s,r,n){return n?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):s||t||this.match(p.parenL)?(r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,s,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,s,r,n){return e.shorthand=!1,this.eat(p.colon)?(e.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(n),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,s,e.key.__clone()):this.match(p.eq)&&n?(-1===n.shorthandAssign&&(n.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,s,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,s,r,n,i,a,o){const l=this.parseObjectMethod(e,r,n,i,a)||this.parseObjectProperty(e,t,s,i,o);return l||this.unexpected(),l}parsePropertyName(e,t){if(this.eat(p.bracketL))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(p.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0;const r=this.state.type;e.key=r===p.num||r===p.string||r===p.bigint||r===p.decimal?this.parseExprAtom():this.parseMaybePrivateName(t),r!==p.privateName&&(e.computed=!1),this.state.inPropertyName=s}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,s,r,n,i,a=!1){this.initFunction(e,s),e.generator=!!t;const o=r;return this.scope.enter(18|(a?64:0)|(n?32:0)),this.prodParam.enter(ue(s,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,i,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const i=this.startNode();return this.next(),i.elements=this.parseExprList(e,!s,r,i),this.state.inFSharpPipelineDirectBody=n,this.finishNode(i,s?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,s,r){this.scope.enter(6);let n=ue(s,!1);!this.match(p.bracketL)&&this.prodParam.hasIn&&(n|=8),this.prodParam.enter(n),this.initFunction(e,s);const i=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=i,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,s){e.params=this.toAssignableList(t,s,!1)}parseFunctionBodyAndFinish(e,t,s=!1){this.parseFunctionBody(e,!1,s),this.finishNode(e,t)}parseFunctionBody(e,t,s=!1){const r=t&&!this.match(p.braceL);if(this.expressionScope.enter(je()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,n=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,(n=>{const i=!this.isSimpleParamList(e.params);if(n&&i){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,S.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||s||i),t,a),this.state.strict&&e.id&&this.checkLVal(e.id,"function name",65,void 0,void 0,a)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=n}}isSimpleParamList(e){for(let t=0,s=e.length;t=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const n=this.parseExprOp(this.parseMaybeUnary(),t,s,e);return this.state.inFSharpPipelineDirectBody=r,n}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.eat(p.braceL);const t=this.initializeScopes(!0);this.enterInitialScopes();const s=this.startNode();try{e.body=this.parseProgram(s,p.braceR,"module")}finally{t()}return this.eat(p.braceR),this.finishNode(e,"ModuleExpression")}}const We={kind:"loop"},He={kind:"switch"},Ye=/[\\uD800-\\uDFFF]/u;class Je extends Ke{parseTopLevel(e,t){return e.program=this.parseProgram(t),e.comments=this.state.comments,this.options.tokens&&(e.tokens=function(e){for(let t=0;t0)for(const[e]of Array.from(this.scope.undefinedExports)){const t=this.scope.undefinedExports.get(e);this.raise(t,S.ModuleExportUndefined,e)}return this.finishNode(e,"Program")}stmtToDirective(e){const t=e.expression,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start),n=this.input.slice(t.start,t.end),i=s.value=n.slice(1,-1);return this.addExtra(s,"raw",n),this.addExtra(s,"rawValue",i),r.value=this.finishNodeAt(s,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(r,"Directive",e.end,e.loc.end)}parseInterpreterDirective(){if(!this.match(p.interpreterDirective))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(e){return!!this.isContextual("let")&&this.isLetKeyword(e)}isLetKeyword(e){const t=this.nextTokenStart(),s=this.input.charCodeAt(t);if(92===s||91===s)return!0;if(e)return!1;if(123===s)return!0;if(_(s)){let e=t+1;for(;j(this.input.charCodeAt(e));)++e;const s=this.input.slice(t,e);if(!H.test(s))return!0}return!1}parseStatement(e,t){return this.match(p.at)&&this.parseDecorators(!0),this.parseStatementContent(e,t)}parseStatementContent(e,t){let s=this.state.type;const r=this.startNode();let n;switch(this.isLet(e)&&(s=p._var,n="let"),s){case p._break:case p._continue:return this.parseBreakContinueStatement(r,s.keyword);case p._debugger:return this.parseDebuggerStatement(r);case p._do:return this.parseDoStatement(r);case p._for:return this.parseForStatement(r);case p._function:if(46===this.lookaheadCharCode())break;return e&&(this.state.strict?this.raise(this.state.start,S.StrictFunction):"if"!==e&&"label"!==e&&this.raise(this.state.start,S.SloppyFunction)),this.parseFunctionStatement(r,!1,!e);case p._class:return e&&this.unexpected(),this.parseClass(r,!0);case p._if:return this.parseIfStatement(r);case p._return:return this.parseReturnStatement(r);case p._switch:return this.parseSwitchStatement(r);case p._throw:return this.parseThrowStatement(r);case p._try:return this.parseTryStatement(r);case p._const:case p._var:return n=n||this.state.value,e&&"var"!==n&&this.raise(this.state.start,S.UnexpectedLexicalDeclaration),this.parseVarStatement(r,n);case p._while:return this.parseWhileStatement(r);case p._with:return this.parseWithStatement(r);case p.braceL:return this.parseBlock();case p.semi:return this.parseEmptyStatement(r);case p._import:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case p._export:{let e;return this.options.allowImportExportEverywhere||t||this.raise(this.state.start,S.UnexpectedImportExport),this.next(),s===p._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,S.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(r,!0,!e)}const i=this.state.value,a=this.parseExpression();return s===p.name&&"Identifier"===a.type&&this.eat(p.colon)?this.parseLabeledStatement(r,i,a,e):this.parseExpressionStatement(r,a)}assertModuleNodeAllowed(e){this.options.allowImportExportEverywhere||this.inModule||this.raise(e.start,E.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(p._class)}parseDecorators(e){const t=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(p.at);){const e=this.parseDecorator();t.push(e)}if(this.match(p._export))e||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,S.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,S.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,s=this.state.startLoc;let r;if(this.eat(p.parenL))r=this.parseExpression(),this.expect(p.parenR);else for(r=this.parseIdentifier(!1);this.eat(p.dot);){const e=this.startNodeAt(t,s);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(p.parenL)){const t=this.startNodeAtNode(e);return t.callee=e,t.arguments=this.parseCallExpressionArguments(p.parenR,!1),this.toReferencedList(t.arguments),this.finishNode(t,"CallExpression")}return e}parseBreakContinueStatement(e,t){const s="break"===t;return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,s?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){const s="break"===t;let r;for(r=0;rthis.parseStatement("do"))),this.state.labels.pop(),this.expect(p._while),e.test=this.parseHeaderExpression(),this.eat(p.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(We);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(0),this.expect(p.parenL),this.match(p.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const s=this.isContextual("let"),r=s&&this.isLetKeyword();if(this.match(p._var)||this.match(p._const)||r){const s=this.startNode(),n=r?"let":this.state.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.match(p._in)||this.isContextual("of"))&&1===s.declarations.length?this.parseForIn(e,s,t):(t>-1&&this.unexpected(t),this.parseFor(e,s))}const n=this.match(p.name)&&!this.state.containsEsc,i=new Be,a=this.parseExpression(!0,i),o=this.isContextual("of");if(o&&(s?this.raise(a.start,S.ForOfLet):-1===t&&n&&"Identifier"===a.type&&"async"===a.name&&this.raise(a.start,S.ForOfAsync)),o||this.match(p._in)){this.toAssignable(a,!0);const s=o?"for-of statement":"for-in statement";return this.checkLVal(a,s),this.parseForIn(e,a,t)}return this.checkExpressionErrors(i,!0),t>-1&&this.unexpected(t),this.parseFor(e,a)}parseFunctionStatement(e,t,s){return this.next(),this.parseFunction(e,1|(s?0:2),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(p._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,S.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 s;this.expect(p.braceL),this.state.labels.push(He),this.scope.enter(0);for(let e;!this.match(p.braceR);)if(this.match(p._case)||this.match(p._default)){const r=this.match(p._case);s&&this.finishNode(s,"SwitchCase"),t.push(s=this.startNode()),s.consequent=[],this.next(),r?s.test=this.parseExpression():(e&&this.raise(this.state.lastTokStart,S.MultipleDefaultsInSwitch),e=!0,s.test=null),this.expect(p.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,S.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(p._catch)){const t=this.startNode();this.next(),this.match(p.parenL)?(this.expect(p.parenL),t.param=this.parseCatchClauseParam(),this.expect(p.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(p._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,S.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(We),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,S.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,s,r){for(const e of this.state.labels)e.name===t&&this.raise(s.start,S.LabelRedeclaration,t);const n=this.state.type.isLoop?"loop":this.match(p._switch)?"switch":null;for(let t=this.state.labels.length-1;t>=0;t--){const s=this.state.labels[t];if(s.statementStart!==e.start)break;s.statementStart=this.state.start,s.kind=n}return this.state.labels.push({name:t,kind:n,statementStart:this.state.start}),e.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),e.label=s,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,s){const r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(p.braceL),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,p.braceR,s),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,s,r,n){const i=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(i,t?a:void 0,s,r,n)}parseBlockOrModuleBlockBody(e,t,s,r,n){const i=this.state.strict;let a=!1,o=!1;for(;!this.match(r);){const r=this.parseStatement(null,s);if(t&&!o){if(this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),a||"use strict"!==e.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(r)}n&&n.call(this,a),i||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(p.semi)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(p.parenR)?null:this.parseExpression(),this.expect(p.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,s){const r=this.match(p._in);return this.next(),r?s>-1&&this.unexpected(s):e.await=s>-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,S.InvalidLhs,"for-loop"):this.raise(t.start,S.ForInOfLoopInitializer,r?"for-in":"for-of"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(p.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,s){const r=e.declarations=[],n=this.hasPlugin("typescript");for(e.kind=s;;){const e=this.startNode();if(this.parseVarId(e,s),this.eat(p.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==s||this.match(p._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(p._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,S.DeclarationMissingInitializer,"Complex binding patterns"):n||this.raise(this.state.lastTokEnd,S.DeclarationMissingInitializer,"Const declarations"),e.init=null),r.push(this.finishNode(e,"VariableDeclarator")),!this.eat(p.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,s=!1){const r=1&t,n=2&t,i=!(!r||4&t);this.initFunction(e,s),this.match(p.star)&&n&&this.raise(this.state.start,S.GeneratorInSingleStatementContext),e.generator=this.eat(p.star),r&&(e.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(ue(s,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&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||this.match(p.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(p.parenL),this.expressionScope.enter(new De(3)),e.params=this.parseBindingList(p.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,s){this.next(),this.takeDecorators(e);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,s),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(p.eq)||this.match(p.semi)||this.match(p.braceR)}isClassMethod(){return this.match(p.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const s={hadConstructor:!1,hadSuperClass:e};let r=[];const n=this.startNode();if(n.body=[],this.expect(p.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(p.braceR);){if(this.eat(p.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,S.DecoratorSemicolon);continue}if(this.match(p.at)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(n,e,s),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,S.DecoratorConstructor)}})),this.state.strict=t,this.next(),r.length)throw this.raise(this.state.start,S.TrailingDecorator);return this.classScope.exit(),this.finishNode(n,"ClassBody")}parseClassMemberFromModifier(e,t){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=s,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(e,t,s){const r=this.isContextual("static");if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(p.braceL))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,s,r)}parseClassMemberWithIsStatic(e,t,s,r){const n=t,i=t,a=t,o=t,l=n,c=n;if(t.static=r,this.eat(p.star)){l.kind="method";const t=this.match(p.privateName);return this.parseClassElementName(l),t?void this.pushClassPrivateMethod(e,i,!0,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,S.ConstructorIsGenerator),void this.pushClassMethod(e,n,!0,!1,!1,!1))}const u=this.state.containsEsc,h=this.match(p.privateName),d=this.parseClassElementName(t),f="Identifier"===d.type,m=this.state.start;if(this.parsePostMemberNameModifiers(c),this.isClassMethod()){if(l.kind="method",h)return void this.pushClassPrivateMethod(e,i,!1,!1);const r=this.isNonstaticConstructor(n);let a=!1;r&&(n.kind="constructor",s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(d.start,S.DuplicateConstructor),r&&this.hasPlugin("typescript")&&t.override&&this.raise(d.start,S.OverrideOnConstructor),s.hadConstructor=!0,a=s.hadSuperClass),this.pushClassMethod(e,n,!1,!1,r,a)}else if(this.isClassProperty())h?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if(!f||"async"!==d.name||u||this.isLineTerminator())if(!f||"get"!==d.name&&"set"!==d.name||u||this.match(p.star)&&this.isLineTerminator())this.isLineTerminator()?h?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected();else{l.kind=d.name;const t=this.match(p.privateName);this.parseClassElementName(n),t?this.pushClassPrivateMethod(e,i,!1,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,S.ConstructorIsAccessor),this.pushClassMethod(e,n,!1,!1,!1,!1)),this.checkGetterSetterParams(n)}else{const t=this.eat(p.star);c.optional&&this.unexpected(m),l.kind="method";const s=this.match(p.privateName);this.parseClassElementName(l),this.parsePostMemberNameModifiers(c),s?this.pushClassPrivateMethod(e,i,t,!0):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,S.ConstructorIsAsync),this.pushClassMethod(e,n,t,!0,!1,!1))}}parseClassElementName(e){const{type:t,value:s,start:r}=this.state;return t!==p.name&&t!==p.string||!e.static||"prototype"!==s||this.raise(r,S.StaticPrototype),t===p.privateName&&"constructor"===s&&this.raise(r,S.ConstructorClassPrivateField),this.parsePropertyName(e,!0)}parseClassStaticBlock(e,t){var s;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(208);const r=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const n=t.body=[];this.parseBlockOrModuleBlockBody(n,void 0,!1,p.braceR),this.prodParam.exit(),this.scope.exit(),this.state.labels=r,e.body.push(this.finishNode(t,"StaticBlock")),null!=(s=t.decorators)&&s.length&&this.raise(t.start,S.DecoratorStaticBlock)}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,S.ConstructorClassField),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){const s=this.parseClassPrivateProperty(t);e.body.push(s),this.classScope.declarePrivateName(this.getPrivateNameSV(s.key),0,s.key.start)}pushClassMethod(e,t,s,r,n,i){e.body.push(this.parseMethod(t,s,r,n,i,"ClassMethod",!0))}pushClassPrivateMethod(e,t,s,r){const n=this.parseMethod(t,s,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(n);const i="get"===n.kind?n.static?6:2:"set"===n.kind?n.static?5:1:0;this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),i,n.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter(je()),this.prodParam.enter(0),e.value=this.eat(p.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,s,r=139){this.match(p.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,"class name",r)):s||!t?e.id=null:this.unexpected(null,S.MissingClassName)}parseClassSuper(e){e.superClass=this.eat(p._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),s=!t||this.eat(p.comma),r=s&&this.eatExportStar(e),n=r&&this.maybeParseExportNamespaceSpecifier(e),i=s&&(!n||this.eat(p.comma)),a=t||r;if(r&&!n)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(e);if(t&&s&&!r&&!o||n&&i&&!o)throw this.unexpected(null,p.braceL);let l;if(a||o?(l=!1,this.parseExportFrom(e,a)):l=this.maybeParseExportDeclaration(e),a||o||l)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(p._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,p.braceL)}eatExportStar(e){return this.eat(p.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(p.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!u.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(p._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,5,t);if(this.match(p._class))return this.parseClass(e,!0,!0);if(this.match(p.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,S.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(p._const)||this.match(p._var)||this.isLet())throw this.raise(this.state.start,S.UnsupportedDefaultExport);{const e=this.parseMaybeAssignAllowIn();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(p.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===p.name&&"from"!==e.value||e.type===p.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(p._default))return!1;const e=this.nextTokenStart(),t=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||this.match(p.name)&&t)return!0;if(this.match(p._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(p.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,S.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,s,r){if(t)if(s){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var n;const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!=4||null!=(n=t.extra)&&n.parenthesized||this.raise(t.start,S.ExportDefaultFromAsIdentifier)}}else if(e.specifiers&&e.specifiers.length)for(const t of e.specifiers){const{exported:e}=t,s="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,s),!r&&t.local){const{local:e}=t;"StringLiteral"===e.type?this.raise(t.start,S.ExportBindingIsString,e.value,s):(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,S.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?S.DuplicateDefaultExport:S.DuplicateExport,t),this.state.exportedIdentifiers.push(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(p.braceL);!this.eat(p.braceR);){if(t)t=!1;else if(this.expect(p.comma),this.eat(p.braceR))break;const s=this.startNode();s.local=this.parseModuleExportName(),s.exported=this.eatContextual("as")?this.parseModuleExportName():s.local.__clone(),e.push(this.finishNode(s,"ExportSpecifier"))}return e}parseModuleExportName(){if(this.match(p.string)){const e=this.parseLiteral(this.state.value,"StringLiteral"),t=e.value.match(Ye);return t&&this.raise(e.start,S.ModuleExportNameHasLoneSurrogate,t[0].charCodeAt(0).toString(16)),e}return this.parseIdentifier(!0)}parseImport(e){if(e.specifiers=[],!this.match(p.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(p.comma),s=t&&this.maybeParseStarImportSpecifier(e);t&&!s&&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(p.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(p.name)}parseImportSpecifierLocal(e,t,s,r){t.local=this.parseIdentifier(),this.checkLVal(t.local,r,9),e.specifiers.push(this.finishNode(t,s))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(p.braceR))break;const s=this.startNode(),r=this.state.value;if(this.match(p.string)?s.key=this.parseLiteral(r,"StringLiteral"):s.key=this.parseIdentifier(!0),this.expect(p.colon),"type"!==r&&this.raise(s.key.start,S.ModuleAttributeDifferentFromType,r),t.has(r)&&this.raise(s.key.start,S.ModuleAttributesWithDuplicateKeys,r),t.add(r),!this.match(p.string))throw this.unexpected(this.state.start,S.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(p.comma));return e}maybeParseModuleAttributes(){if(!this.match(p._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const e=[],t=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),"type"!==s.key.name&&this.raise(s.key.start,S.ModuleAttributeDifferentFromType,s.key.name),t.has(s.key.name)&&this.raise(s.key.start,S.ModuleAttributesWithDuplicateKeys,s.key.name),t.add(s.key.name),this.expect(p.colon),!this.match(p.string))throw this.unexpected(this.state.start,S.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(p.comma));return e}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(p.braceL);const e=this.parseAssertEntries();return this.eat(p.braceR),e}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(p.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(p.braceL);!this.eat(p.braceR);){if(t)t=!1;else{if(this.eat(p.colon))throw this.raise(this.state.start,S.DestructureNamedImport);if(this.expect(p.comma),this.eat(p.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,S.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"))}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}}class Xe extends Je{constructor(e,t){super(e=function(e){const t={};for(const s of Object.keys(Ee))t[s]=e&&null!=e[s]?e[s]:Ee[s];return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=function(e){const t=new Map;for(const s of e){const[e,r]=Array.isArray(s)?s:[s,{}];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 Ge(e,t){let s=Xe;return null!=e&&e.plugins&&(function(e){if(ge(e,"decorators")){if(ge(e,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const t=be(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(ge(e,"flow")&&ge(e,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(ge(e,"placeholders")&&ge(e,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(ge(e,"pipelineOperator")&&!Te.includes(be(e,"pipelineOperator","proposal")))throw new Error("\'pipelineOperator\' requires \'proposal\' option whose value should be one of: "+Te.map((e=>`\'${e}\'`)).join(", "));if(ge(e,"moduleAttributes")){if(ge(e,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==be(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(ge(e,"recordAndTuple")&&!xe.includes(be(e,"recordAndTuple","syntaxType")))throw new Error("\'recordAndTuple\' requires \'syntaxType\' option whose value should be one of: "+xe.map((e=>`\'${e}\'`)).join(", "));if(ge(e,"asyncDoExpressions")&&!ge(e,"doExpressions")){const e=new Error("\'asyncDoExpressions\' requires \'doExpressions\', please add \'doExpressions\' to parser plugins.");throw e.missingPlugins="doExpressions",e}}(e.plugins),s=function(e){const t=Se.filter((t=>ge(e,t))),s=t.join("/");let r=ze[s];if(!r){r=Xe;for(const e of t)r=Pe[e](r);ze[s]=r}return r}(e.plugins)),new s(e,t)}const ze={};t.parse=function(e,t){var s;if("unambiguous"!==(null==(s=t)?void 0:s.sourceType))return Ge(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const s=Ge(t,e),r=s.parse();if(s.sawUnambiguousESM)return r;if(s.ambiguousScriptDifferentAst)try{return t.sourceType="script",Ge(t,e).parse()}catch(e){}else r.program.sourceType="script";return r}catch(s){try{return t.sourceType="script",Ge(t,e).parse()}catch(e){}throw s}},t.parseExpression=function(e,t){const s=Ge(t,e);return s.options.strictMode&&(s.state.strict=!0),s.getExpression()},t.tokTypes=p},8241:e=>{var t=1e3,s=60*t,r=60*s,n=24*r;function i(e,t,s,r){var n=t>=1.5*s;return Math.round(e/s)+" "+r+(n?"s":"")}e.exports=function(e,a){a=a||{};var o,l,c=typeof e;if("string"===c&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var i=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(i){var a=parseFloat(i[1]);switch((i[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return 6048e5*a;case"days":case"day":case"d":return a*n;case"hours":case"hour":case"hrs":case"hr":case"h":return a*r;case"minutes":case"minute":case"mins":case"min":case"m":return a*s;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===c&&isFinite(e))return a.long?(o=e,(l=Math.abs(o))>=n?i(o,l,n,"day"):l>=r?i(o,l,r,"hour"):l>=s?i(o,l,s,"minute"):l>=t?i(o,l,t,"second"):o+" ms"):function(e){var i=Math.abs(e);return i>=n?Math.round(e/n)+"d":i>=r?Math.round(e/r)+"h":i>=s?Math.round(e/s)+"m":i>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},4987:(e,t,s)=>{var r=s(397);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const s="color: "+this.color;t.splice(1,0,s,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(n=r))})),t.splice(n,0,s)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=r.env.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=s(7179)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},7179:(e,t,s)=>{e.exports=function(e){function t(e){let s,n,i,a=null;function o(...e){if(!o.enabled)return;const r=o,n=Number(new Date),i=n-(s||n);r.diff=i,r.prev=s,r.curr=n,s=n,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((s,n)=>{if("%%"===s)return"%";a++;const i=t.formatters[n];if("function"==typeof i){const t=e[a];s=i.call(r,t),e.splice(a,1),a--}return s})),t.formatArgs.call(r,e),(r.log||t.log).apply(r,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=r,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(n!==t.namespaces&&(n=t.namespaces,i=t.enabled(e)),i),set:e=>{a=e}}),"function"==typeof t.init&&t.init(o),o}function r(e,s){const r=t(this.namespace+(void 0===s?":":s)+e);return r.log=this.log,r}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\\.\\*\\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let s;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const r=("string"==typeof e?e:"").split(/[\\s,]+/),n=r.length;for(s=0;s{t[s]=e[s]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let s=0;for(let t=0;t{var r=s(397);void 0===r||"renderer"===r.type||!0===r.browser||r.__nwjs?e.exports=s(4987):e.exports=s(848)},848:(e,t,s)=>{var r=s(397);const n=s(6224),i=s(3837);t.init=function(e){e.inspectOpts={};const s=Object.keys(t.inspectOpts);for(let r=0;r{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{const e=s(7319);e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(r.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const s=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=r.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[s]=n,e}),{}),e.exports=s(7179)(t);const{formatters:a}=e.exports;a.o=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts).split("\\n").map((e=>e.trim())).join(" ")},a.O=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts)}},8715:function(e,t,s){var r,n,i;!function(a,o){"use strict";n=[s(7356)],void 0===(i="function"==typeof(r=function(e){var t=/(^|@)\\S+:\\d+/,s=/^\\s*at .*(\\S+:\\d+|\\(native\\))/m,r=/^(eval@)?(\\[native code])?$/;return{parse:function(e){if(void 0!==e.stacktrace||void 0!==e["opera#sourceloc"])return this.parseOpera(e);if(e.stack&&e.stack.match(s))return this.parseV8OrIE(e);if(e.stack)return this.parseFFOrSafari(e);throw new Error("Cannot parse given Error object")},extractLocation:function(e){if(-1===e.indexOf(":"))return[e];var t=/(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(e.replace(/[()]/g,""));return[t[1],t[2]||void 0,t[3]||void 0]},parseV8OrIE:function(t){return t.stack.split("\\n").filter((function(e){return!!e.match(s)}),this).map((function(t){t.indexOf("(eval ")>-1&&(t=t.replace(/eval code/g,"eval").replace(/(\\(eval at [^()]*)|(\\),.*$)/g,""));var s=t.replace(/^\\s+/,"").replace(/\\(eval code/g,"("),r=s.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/),n=(s=r?s.replace(r[0],""):s).split(/\\s+/).slice(1),i=this.extractLocation(r?r[1]:n.pop()),a=n.join(" ")||void 0,o=["eval",""].indexOf(i[0])>-1?void 0:i[0];return new e({functionName:a,fileName:o,lineNumber:i[1],columnNumber:i[2],source:t})}),this)},parseFFOrSafari:function(t){return t.stack.split("\\n").filter((function(e){return!e.match(r)}),this).map((function(t){if(t.indexOf(" > eval")>-1&&(t=t.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g,":$1")),-1===t.indexOf("@")&&-1===t.indexOf(":"))return new e({functionName:t});var s=/((.*".+"[^@]*)?[^@]*)(?:@)/,r=t.match(s),n=r&&r[1]?r[1]:void 0,i=this.extractLocation(t.replace(s,""));return new e({functionName:n,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:t})}),this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\\n")>-1&&e.message.split("\\n").length>e.stacktrace.split("\\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(t){for(var s=/Line (\\d+).*script (?:in )?(\\S+)/i,r=t.message.split("\\n"),n=[],i=2,a=r.length;i/,"$2").replace(/\\([^)]*\\)/g,"")||void 0;i.match(/\\(([^)]*)\\)/)&&(s=i.replace(/^[^(]+\\(([^)]*)\\)$/,"$1"));var o=void 0===s||"[arguments not available]"===s?void 0:s.split(",");return new e({functionName:a,args:o,fileName:n[0],lineNumber:n[1],columnNumber:n[2],source:t})}),this)}}})?r.apply(t,n):r)||(e.exports=i)}()},2261:(e,t,s)=>{"use strict";e.exports=s(964)},9341:(e,t,s)=>{"use strict";var r=s(397);e.exports=(e,t)=>{t=t||r.argv;const s=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(s+e),i=t.indexOf("--");return-1!==n&&(-1===i||n{Object.defineProperty(t,"__esModule",{value:!0}),t.default=/(([\'"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\\'"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}},442:e=>{"use strict";const t={},s=t.hasOwnProperty,r=(e,t)=>{for(const r in e)s.call(e,r)&&t(r,e[r])},n=t.toString,i=Array.isArray,a=Buffer.isBuffer,o={\'"\':\'\\\\"\',"\'":"\\\\\'","\\\\":"\\\\\\\\","\\b":"\\\\b","\\f":"\\\\f","\\n":"\\\\n","\\r":"\\\\r","\\t":"\\\\t"},l=/["\'\\\\\\b\\f\\n\\r\\t]/,c=/[0-9]/,p=/[ !#-&\\(-\\[\\]-_a-~]/,u=(e,t)=>{const s=()=>{x=T,++t.indentLevel,T=t.indent.repeat(t.indentLevel)},h={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\\t",indentLevel:0,__inline1__:!1,__inline2__:!1},d=t&&t.json;var f,m;d&&(h.quotes="double",h.wrap=!0),f=h,t=(m=t)?(r(m,((e,t)=>{f[e]=t})),f):f,"single"!=t.quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");const y="double"==t.quotes?\'"\':"backtick"==t.quotes?"`":"\'",g=t.compact,b=t.lowercaseHex;let T=t.indent.repeat(t.indentLevel),x="";const P=t.__inline1__,S=t.__inline2__,E=g?"":"\\n";let A,v=!0;const w="binary"==t.numbers,C="octal"==t.numbers,I="decimal"==t.numbers,O="hexadecimal"==t.numbers;if(d&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),"string"!=typeof(N=e)&&"[object String]"!=n.call(N)){if((e=>"[object Map]"==n.call(e))(e))return 0==e.size?"new Map()":(g||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+u(Array.from(e),t)+")");if((e=>"[object Set]"==n.call(e))(e))return 0==e.size?"new Set()":"new Set("+u(Array.from(e),t)+")";if(a(e))return 0==e.length?"Buffer.from([])":"Buffer.from("+u(Array.from(e),t)+")";if(i(e))return A=[],t.wrap=!0,P&&(t.__inline1__=!1,t.__inline2__=!0),S||s(),((e,t)=>{const s=e.length;let r=-1;for(;++r{v=!1,S&&(t.__inline2__=!1),A.push((g||S?"":T)+u(e,t))})),v?"[]":S?"["+A.join(", ")+"]":"["+E+A.join(","+E)+E+(g?"":x)+"]";if(!(e=>"number"==typeof e||"[object Number]"==n.call(e))(e))return(e=>"[object Object]"==n.call(e))(e)?(A=[],t.wrap=!0,s(),r(e,((e,s)=>{v=!1,A.push((g?"":T)+u(e,t)+":"+(g?"":" ")+u(s,t))})),v?"{}":"{"+E+A.join(","+E)+E+(g?"":x)+"}"):d?JSON.stringify(e)||"null":String(e);if(d)return JSON.stringify(e);if(I)return String(e);if(O){let t=e.toString(16);return b||(t=t.toUpperCase()),"0x"+t}if(w)return"0b"+e.toString(2);if(C)return"0o"+e.toString(8)}var N;const k=e;let L=-1;const D=k.length;for(A="";++L=55296&&e<=56319&&D>L+1){const t=k.charCodeAt(L+1);if(t>=56320&&t<=57343){let s=(1024*(e-55296)+t-56320+65536).toString(16);b||(s=s.toUpperCase()),A+="\\\\u{"+s+"}",++L;continue}}}if(!t.escapeEverything){if(p.test(e)){A+=e;continue}if(\'"\'==e){A+=y==e?\'\\\\"\':e;continue}if("`"==e){A+=y==e?"\\\\`":e;continue}if("\'"==e){A+=y==e?"\\\\\'":e;continue}}if("\\0"==e&&!d&&!c.test(k.charAt(L+1))){A+="\\\\0";continue}if(l.test(e)){A+=o[e];continue}const s=e.charCodeAt(0);if(t.minimal&&8232!=s&&8233!=s){A+=e;continue}let r=s.toString(16);b||(r=r.toUpperCase());const n=r.length>2||d,i="\\\\"+(n?"u":"x")+("0000"+r).slice(n?-4:-2);A+=i}return t.wrap&&(A=y+A+y),"`"==y&&(A=A.replace(/\\$\\{/g,"\\\\${")),t.isScriptContext?A.replace(/<\\/(script|style)/gi,"<\\\\/$1").replace(/\x3c!--/g,d?"\\\\u003C!--":"\\\\x3C!--"):A};u.version="2.5.2",e.exports=u},3018:(e,t,s)=>{"use strict";const r=s(5986),n=Symbol("max"),i=Symbol("length"),a=Symbol("lengthCalculator"),o=Symbol("allowStale"),l=Symbol("maxAge"),c=Symbol("dispose"),p=Symbol("noDisposeOnSet"),u=Symbol("lruList"),h=Symbol("cache"),d=Symbol("updateAgeOnGet"),f=()=>1,m=(e,t,s)=>{const r=e[h].get(t);if(r){const t=r.value;if(y(e,t)){if(b(e,r),!e[o])return}else s&&(e[d]&&(r.value.now=Date.now()),e[u].unshiftNode(r));return t.value}},y=(e,t)=>{if(!t||!t.maxAge&&!e[l])return!1;const s=Date.now()-t.now;return t.maxAge?s>t.maxAge:e[l]&&s>e[l]},g=e=>{if(e[i]>e[n])for(let t=e[u].tail;e[i]>e[n]&&null!==t;){const s=t.prev;b(e,t),t=s}},b=(e,t)=>{if(t){const s=t.value;e[c]&&e[c](s.key,s.value),e[i]-=s.length,e[h].delete(s.key),e[u].removeNode(t)}};class T{constructor(e,t,s,r,n){this.key=e,this.value=t,this.length=s,this.now=r,this.maxAge=n||0}}const x=(e,t,s,r)=>{let n=s.value;y(e,n)&&(b(e,s),e[o]||(n=void 0)),n&&t.call(r,n.value,n.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[n]=e.max||1/0;const t=e.length||f;if(this[a]="function"!=typeof t?f:t,this[o]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[l]=e.maxAge||0,this[c]=e.dispose,this[p]=e.noDisposeOnSet||!1,this[d]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[n]=e||1/0,g(this)}get max(){return this[n]}set allowStale(e){this[o]=!!e}get allowStale(){return this[o]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[l]=e,g(this)}get maxAge(){return this[l]}set lengthCalculator(e){"function"!=typeof e&&(e=f),e!==this[a]&&(this[a]=e,this[i]=0,this[u].forEach((e=>{e.length=this[a](e.value,e.key),this[i]+=e.length}))),g(this)}get lengthCalculator(){return this[a]}get length(){return this[i]}get itemCount(){return this[u].length}rforEach(e,t){t=t||this;for(let s=this[u].tail;null!==s;){const r=s.prev;x(this,e,s,t),s=r}}forEach(e,t){t=t||this;for(let s=this[u].head;null!==s;){const r=s.next;x(this,e,s,t),s=r}}keys(){return this[u].toArray().map((e=>e.key))}values(){return this[u].toArray().map((e=>e.value))}reset(){this[c]&&this[u]&&this[u].length&&this[u].forEach((e=>this[c](e.key,e.value))),this[h]=new Map,this[u]=new r,this[i]=0}dump(){return this[u].map((e=>!y(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[u]}set(e,t,s){if((s=s||this[l])&&"number"!=typeof s)throw new TypeError("maxAge must be a number");const r=s?Date.now():0,o=this[a](t,e);if(this[h].has(e)){if(o>this[n])return b(this,this[h].get(e)),!1;const a=this[h].get(e).value;return this[c]&&(this[p]||this[c](e,a.value)),a.now=r,a.maxAge=s,a.value=t,this[i]+=o-a.length,a.length=o,this.get(e),g(this),!0}const d=new T(e,t,o,r,s);return d.length>this[n]?(this[c]&&this[c](e,t),!1):(this[i]+=d.length,this[u].unshift(d),this[h].set(e,this[u].head),g(this),!0)}has(e){if(!this[h].has(e))return!1;const t=this[h].get(e).value;return!y(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[u].tail;return e?(b(this,e),e.value):null}del(e){b(this,this[h].get(e))}load(e){this.reset();const t=Date.now();for(let s=e.length-1;s>=0;s--){const r=e[s],n=r.e||0;if(0===n)this.set(r.k,r.v);else{const e=n-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[h].forEach(((e,t)=>m(this,t,!1)))}}},7614:(e,t,s)=>{var r=s(397);let n=s(6224),i=!("NO_COLOR"in r.env||r.argv.includes("--no-color"))&&("FORCE_COLOR"in r.env||r.argv.includes("--color")||"win32"===r.platform||n.isatty(1)&&"dumb"!==r.env.TERM||"CI"in r.env),a=(e,t,s=e)=>r=>{let n=""+r,i=n.indexOf(t,e.length);return~i?e+o(n,t,s,i)+t:e+n+t},o=(e,t,s,r)=>{let n=e.substring(0,r)+s,i=e.substring(r+t.length),a=i.indexOf(t);return~a?n+o(i,t,s,a):n+i},l=(e=i)=>({isColorSupported:e,reset:e?e=>`${e}`:String,bold:e?a("","",""):String,dim:e?a("","",""):String,italic:e?a("",""):String,underline:e?a("",""):String,inverse:e?a("",""):String,hidden:e?a("",""):String,strikethrough:e?a("",""):String,black:e?a("",""):String,red:e?a("",""):String,green:e?a("",""):String,yellow:e?a("",""):String,blue:e?a("",""):String,magenta:e?a("",""):String,cyan:e?a("",""):String,white:e?a("",""):String,gray:e?a("",""):String,bgBlack:e?a("",""):String,bgRed:e?a("",""):String,bgGreen:e?a("",""):String,bgYellow:e?a("",""):String,bgBlue:e?a("",""):String,bgMagenta:e?a("",""):String,bgCyan:e?a("",""):String,bgWhite:e?a("",""):String});e.exports=l(),e.exports.createColors=l},397:e=>{var t,s,r=e.exports={};function n(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===n||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(s){try{return t.call(null,e,0)}catch(s){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:n}catch(e){t=n}try{s="function"==typeof clearTimeout?clearTimeout:i}catch(e){s=i}}();var o,l=[],c=!1,p=-1;function u(){c&&o&&(c=!1,o.length?l=o.concat(l):p=-1,l.length&&h())}function h(){if(!c){var e=a(u);c=!0;for(var t=l.length;t;){for(o=l,l=[];++p1)for(var s=1;s{t.getArg=function(e,t,s){if(t in e)return e[t];if(3===arguments.length)return s;throw new Error(\'"\'+t+\'" is a required argument.\')};var s=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,r=/^data:.+\\,.+$/;function n(e){var t=e.match(s);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(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}t.urlParse=n,t.urlGenerate=i;var a,o,l=(a=function(e){var s=e,r=n(e);if(r){if(!r.path)return e;s=r.path}for(var a=t.isAbsolute(s),o=[],l=0,c=0;;){if(l=c,-1===(c=s.indexOf("/",l))){o.push(s.slice(l));break}for(o.push(s.slice(l,c));c=0;c--)"."===(p=o[c])?o.splice(c,1):".."===p?u++:u>0&&(""===p?(o.splice(c+1,u),u=0):(o.splice(c,2),u--));return""===(s=o.join("/"))&&(s=a?"/":"."),r?(r.path=s,i(r)):s},o=[],function(e){for(var t=0;t32&&o.pop(),r});function c(e,t){""===e&&(e="."),""===t&&(t=".");var s=n(t),a=n(e);if(a&&(e=a.path||"/"),s&&!s.scheme)return a&&(s.scheme=a.scheme),i(s);if(s||t.match(r))return t;if(a&&!a.host&&!a.path)return a.host=t,i(a);var o="/"===t.charAt(0)?t:l(e.replace(/\\/+$/,"")+"/"+t);return a?(a.path=o,i(a)):o}t.normalize=l,t.join=c,t.isAbsolute=function(e){return"/"===e.charAt(0)||s.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\\/$/,"");for(var s=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++s}return Array(s+1).join("../")+t.substr(e.length+1)};var p=!("__proto__"in Object.create(null));function u(e){return e}function h(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 s=t-10;s>=0;s--)if(36!==e.charCodeAt(s))return!1;return!0}function d(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=p?u:function(e){return h(e)?"$"+e:e},t.fromSetString=p?u:function(e){return h(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,s){var r=d(e.source,t.source);return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||s||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:d(e.name,t.name)},t.compareByOriginalPositionsNoSource=function(e,t,s){var r;return 0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||s||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:d(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,s){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||s||0!==(r=d(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.compareByGeneratedPositionsDeflatedNoLine=function(e,t,s){var r=e.generatedColumn-t.generatedColumn;return 0!==r||s||0!==(r=d(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var s=e.generatedLine-t.generatedLine;return 0!==s||0!=(s=e.generatedColumn-t.generatedColumn)||0!==(s=d(e.source,t.source))||0!=(s=e.originalLine-t.originalLine)||0!=(s=e.originalColumn-t.originalColumn)?s:d(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}\'[^\\n]*\\n/,""))},t.computeSourceURL=function(e,t,s){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),s){var r=n(s);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var a=r.path.lastIndexOf("/");a>=0&&(r.path=r.path.substring(0,a+1))}t=c(i(r),t)}return l(t)}},7356:function(e,t){var s,r,n;!function(i,a){"use strict";r=[],void 0===(n="function"==typeof(s=function(){function e(e){return e.charAt(0).toUpperCase()+e.substring(1)}function t(e){return function(){return this[e]}}var s=["isConstructor","isEval","isNative","isToplevel"],r=["columnNumber","lineNumber"],n=["fileName","functionName","source"],i=s.concat(r,n,["args"]);function a(t){if(t)for(var s=0;s{"use strict";var r=s(397);const n=s(2037),i=s(6224),a=s(9358),{env:o}=r;let l;function c(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function p(e,t){if(0===l)return 0;if(a("color=16m")||a("color=full")||a("color=truecolor"))return 3;if(a("color=256"))return 2;if(e&&!t&&void 0===l)return 0;const s=l||0;if("dumb"===o.TERM)return s;if("win32"===r.platform){const e=n.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in o)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((e=>e in o))||"codeship"===o.CI_NAME?1:s;if("TEAMCITY_VERSION"in o)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(o.TEAMCITY_VERSION)?1:0;if("truecolor"===o.COLORTERM)return 3;if("TERM_PROGRAM"in o){const e=parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:s}a("no-color")||a("no-colors")||a("color=false")||a("color=never")?l=0:(a("color")||a("colors")||a("color=true")||a("color=always"))&&(l=1),"FORCE_COLOR"in o&&(l="true"===o.FORCE_COLOR?1:"false"===o.FORCE_COLOR?0:0===o.FORCE_COLOR.length?1:Math.min(parseInt(o.FORCE_COLOR,10),3)),e.exports={supportsColor:function(e){return c(p(e,e&&e.isTTY))},stdout:c(p(!0,i.isatty(1))),stderr:c(p(!0,i.isatty(2)))}},9358:(e,t,s)=>{"use strict";var r=s(397);e.exports=(e,t=r.argv)=>{const s=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(s+e),i=t.indexOf("--");return-1!==n&&(-1===i||n{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},5986:(e,t,s)=>{"use strict";function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var s=0,n=arguments.length;s1)s=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,s=this.head.value}for(var n=0;null!==r;n++)s=e(s,r.value,n),r=r.next;return s},r.prototype.reduceReverse=function(e,t){var s,r=this.tail;if(arguments.length>1)s=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,s=this.tail.value}for(var n=this.length-1;null!==r;n--)s=e(s,r.value,n),r=r.prev;return s},r.prototype.toArray=function(){for(var e=new Array(this.length),t=0,s=this.head;null!==s;t++)e[t]=s.value,s=s.next;return e},r.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,s=this.tail;null!==s;t++)e[t]=s.value,s=s.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var s=new r;if(tthis.length&&(t=this.length);for(var n=0,i=this.head;null!==i&&nthis.length&&(t=this.length);for(var n=this.length,i=this.tail;null!==i&&n>t;n--)i=i.prev;for(;null!==i&&n>e;n--,i=i.prev)s.push(i.value);return s},r.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var s=0,r=this.head;null!==r&&s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const s=/^[ \\t]+$/;t.default=class{constructor(e){this._map=null,this._buf=[],this._last="",this._queue=[],this._position={line:1,column:0},this._sourcePosition={identifierName:null,line:null,column:null,filename:null},this._disallowedPop=null,this._map=e}get(){this._flush();const e=this._map,t={code:this._buf.join("").trimRight(),map:null,rawMappings:null==e?void 0:e.getRawMappings()};return e&&Object.defineProperty(t,"map",{configurable:!0,enumerable:!0,get(){return this.map=e.get()},set(e){Object.defineProperty(this,"map",{value:e,writable:!0})}}),t}append(e){this._flush();const{line:t,column:s,filename:r,identifierName:n,force:i}=this._sourcePosition;this._append(e,t,s,n,r,i)}queue(e){if("\\n"===e)for(;this._queue.length>0&&s.test(this._queue[0][0]);)this._queue.shift();const{line:t,column:r,filename:n,identifierName:i,force:a}=this._sourcePosition;this._queue.unshift([e,t,r,i,n,a])}_flush(){let e;for(;e=this._queue.pop();)this._append(...e)}_append(e,t,s,r,n,i){this._buf.push(e),this._last=e[e.length-1];let a=e.indexOf("\\n"),o=0;for(0!==a&&this._mark(t,s,r,n,i);-1!==a;)this._position.line++,this._position.column=0,o=a+1,o0&&"\\n"===this._queue[0][0]&&this._queue.shift()}removeLastSemicolon(){this._queue.length>0&&";"===this._queue[0][0]&&this._queue.shift()}endsWith(e){if(1===e.length){let t;if(this._queue.length>0){const e=this._queue[0][0];t=e[e.length-1]}else t=this._last;return t===e}const t=this._last+this._queue.reduce(((e,t)=>t[0]+e),"");return e.length<=t.length&&t.slice(-e.length)===e}hasContent(){return this._queue.length>0||!!this._last}exactSource(e,t){this.source("start",e,!0),t(),this.source("end",e),this._disallowPop("start",e)}source(e,t,s){e&&!t||this._normalizePosition(e,t,this._sourcePosition,s)}withSource(e,t,s){if(!this._map)return s();const r=this._sourcePosition.line,n=this._sourcePosition.column,i=this._sourcePosition.filename,a=this._sourcePosition.identifierName;this.source(e,t),s(),this._sourcePosition.force&&this._sourcePosition.line===r&&this._sourcePosition.column===n&&this._sourcePosition.filename===i||this._disallowedPop&&this._disallowedPop.line===r&&this._disallowedPop.column===n&&this._disallowedPop.filename===i||(this._sourcePosition.line=r,this._sourcePosition.column=n,this._sourcePosition.filename=i,this._sourcePosition.identifierName=a,this._sourcePosition.force=!1,this._disallowedPop=null)}_disallowPop(e,t){e&&!t||(this._disallowedPop=this._normalizePosition(e,t))}_normalizePosition(e,t,s,r){const n=t?t[e]:null;void 0===s&&(s={identifierName:null,line:null,column:null,filename:null,force:!1});const i=s.line,a=s.column,o=s.filename;return s.identifierName="start"===e&&(null==t?void 0:t.identifierName)||null,s.line=null==n?void 0:n.line,s.column=null==n?void 0:n.column,s.filename=null==t?void 0:t.filename,(r||s.line!==i||s.column!==a||s.filename!==o)&&(s.force=r),s}getCurrentColumn(){const e=this._queue.reduce(((e,t)=>t[0]+e),""),t=e.lastIndexOf("\\n");return-1===t?this._position.column+e.length:e.length-1-t}getCurrentLine(){const e=this._queue.reduce(((e,t)=>t[0]+e),"");let t=0;for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.File=function(e){e.program&&this.print(e.program.interpreter,e),this.print(e.program,e)},t.Program=function(e){this.printInnerComments(e,!1),this.printSequence(e.directives,e),e.directives&&e.directives.length&&this.newline(),this.printSequence(e.body,e)},t.BlockStatement=function(e){var t;this.token("{"),this.printInnerComments(e);const s=null==(t=e.directives)?void 0:t.length;e.body.length||s?(this.newline(),this.printSequence(e.directives,e,{indent:!0}),s&&this.newline(),this.printSequence(e.body,e,{indent:!0}),this.removeTrailingNewline(),this.source("end",e.loc),this.endsWith("\\n")||this.newline(),this.rightBrace()):(this.source("end",e.loc),this.token("}"))},t.Noop=function(){},t.Directive=function(e){this.print(e.value,e),this.semicolon()},t.DirectiveLiteral=function(e){const t=this.getPossibleRaw(e);if(null!=t)return void this.token(t);const{value:n}=e;if(r.test(n)){if(s.test(n))throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");this.token(`\'${n}\'`)}else this.token(`"${n}"`)},t.InterpreterDirective=function(e){this.token(`#!${e.value}\\n`)},t.Placeholder=function(e){this.token("%%"),this.print(e.name),this.token("%%"),"Statement"===e.expectedNode&&this.semicolon()};const s=/(?:^|[^\\\\])(?:\\\\\\\\)*\'/,r=/(?:^|[^\\\\])(?:\\\\\\\\)*"/},9570:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClassExpression=t.ClassDeclaration=function(e,t){this.format.decoratorsBeforeExport&&(r.isExportDefaultDeclaration(t)||r.isExportNamedDeclaration(t))||this.printJoin(e.decorators,e),e.declare&&(this.word("declare"),this.space()),e.abstract&&(this.word("abstract"),this.space()),this.word("class"),e.id&&(this.space(),this.print(e.id,e)),this.print(e.typeParameters,e),e.superClass&&(this.space(),this.word("extends"),this.space(),this.print(e.superClass,e),this.print(e.superTypeParameters,e)),e.implements&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)},t.ClassBody=function(e){this.token("{"),this.printInnerComments(e),0===e.body.length?this.token("}"):(this.newline(),this.indent(),this.printSequence(e.body,e),this.dedent(),this.endsWith("\\n")||this.newline(),this.rightBrace())},t.ClassProperty=function(e){this.printJoin(e.decorators,e),this.tsPrintClassMemberModifiers(e,!0),e.computed?(this.token("["),this.print(e.key,e),this.token("]")):(this._variance(e),this.print(e.key,e)),e.optional&&this.token("?"),e.definite&&this.token("!"),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.token("="),this.space(),this.print(e.value,e)),this.semicolon()},t.ClassPrivateProperty=function(e){this.printJoin(e.decorators,e),e.static&&(this.word("static"),this.space()),this.print(e.key,e),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.token("="),this.space(),this.print(e.value,e)),this.semicolon()},t.ClassMethod=function(e){this._classMethodHead(e),this.space(),this.print(e.body,e)},t.ClassPrivateMethod=function(e){this._classMethodHead(e),this.space(),this.print(e.body,e)},t._classMethodHead=function(e){this.printJoin(e.decorators,e),this.tsPrintClassMemberModifiers(e,!1),this._methodHead(e)},t.StaticBlock=function(e){this.word("static"),this.space(),this.token("{"),0===e.body.length?this.token("}"):(this.newline(),this.printSequence(e.body,e,{indent:!0}),this.rightBrace())};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},9901:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnaryExpression=function(e){"void"===e.operator||"delete"===e.operator||"typeof"===e.operator||"throw"===e.operator?(this.word(e.operator),this.space()):this.token(e.operator),this.print(e.argument,e)},t.DoExpression=function(e){this.word("do"),this.space(),this.print(e.body,e)},t.ParenthesizedExpression=function(e){this.token("("),this.print(e.expression,e),this.token(")")},t.UpdateExpression=function(e){e.prefix?(this.token(e.operator),this.print(e.argument,e)):(this.startTerminatorless(!0),this.print(e.argument,e),this.endTerminatorless(),this.token(e.operator))},t.ConditionalExpression=function(e){this.print(e.test,e),this.space(),this.token("?"),this.space(),this.print(e.consequent,e),this.space(),this.token(":"),this.space(),this.print(e.alternate,e)},t.NewExpression=function(e,t){this.word("new"),this.space(),this.print(e.callee,e),(!this.format.minified||0!==e.arguments.length||e.optional||r.isCallExpression(t,{callee:e})||r.isMemberExpression(t)||r.isNewExpression(t))&&(this.print(e.typeArguments,e),this.print(e.typeParameters,e),e.optional&&this.token("?."),this.token("("),this.printList(e.arguments,e),this.token(")"))},t.SequenceExpression=function(e){this.printList(e.expressions,e)},t.ThisExpression=function(){this.word("this")},t.Super=function(){this.word("super")},t.Decorator=function(e){this.token("@"),this.print(e.expression,e),this.newline()},t.OptionalMemberExpression=function(e){if(this.print(e.object,e),!e.computed&&r.isMemberExpression(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");let t=e.computed;r.isLiteral(e.property)&&"number"==typeof e.property.value&&(t=!0),e.optional&&this.token("?."),t?(this.token("["),this.print(e.property,e),this.token("]")):(e.optional||this.token("."),this.print(e.property,e))},t.OptionalCallExpression=function(e){this.print(e.callee,e),this.print(e.typeArguments,e),this.print(e.typeParameters,e),e.optional&&this.token("?."),this.token("("),this.printList(e.arguments,e),this.token(")")},t.CallExpression=function(e){this.print(e.callee,e),this.print(e.typeArguments,e),this.print(e.typeParameters,e),this.token("("),this.printList(e.arguments,e),this.token(")")},t.Import=function(){this.word("import")},t.EmptyStatement=function(){this.semicolon(!0)},t.ExpressionStatement=function(e){this.print(e.expression,e),this.semicolon()},t.AssignmentPattern=function(e){this.print(e.left,e),e.left.optional&&this.token("?"),this.print(e.left.typeAnnotation,e),this.space(),this.token("="),this.space(),this.print(e.right,e)},t.LogicalExpression=t.BinaryExpression=t.AssignmentExpression=function(e,t){const s=this.inForStatementInitCounter&&"in"===e.operator&&!n.needsParens(e,t);s&&this.token("("),this.print(e.left,e),this.space(),"in"===e.operator||"instanceof"===e.operator?this.word(e.operator):this.token(e.operator),this.space(),this.print(e.right,e),s&&this.token(")")},t.BindExpression=function(e){this.print(e.object,e),this.token("::"),this.print(e.callee,e)},t.MemberExpression=function(e){if(this.print(e.object,e),!e.computed&&r.isMemberExpression(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");let t=e.computed;r.isLiteral(e.property)&&"number"==typeof e.property.value&&(t=!0),t?(this.token("["),this.print(e.property,e),this.token("]")):(this.token("."),this.print(e.property,e))},t.MetaProperty=function(e){this.print(e.meta,e),this.token("."),this.print(e.property,e)},t.PrivateName=function(e){this.token("#"),this.print(e.id,e)},t.V8IntrinsicIdentifier=function(e){this.token("%"),this.word(e.name)},t.AwaitExpression=t.YieldExpression=void 0;var r=a(s(4473)),n=a(s(944));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function a(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=r?Object.getOwnPropertyDescriptor(e,n):null;a&&(a.get||a.set)?Object.defineProperty(s,n,a):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}function o(e){return function(t){if(this.word(e),t.delegate&&this.token("*"),t.argument){this.space();const e=this.startTerminatorless();this.print(t.argument,t),this.endTerminatorless(e)}}}const l=o("yield");t.YieldExpression=l;const c=o("await");t.AwaitExpression=c},308:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyTypeAnnotation=function(){this.word("any")},t.ArrayTypeAnnotation=function(e){this.print(e.elementType,e),this.token("["),this.token("]")},t.BooleanTypeAnnotation=function(){this.word("boolean")},t.BooleanLiteralTypeAnnotation=function(e){this.word(e.value?"true":"false")},t.NullLiteralTypeAnnotation=function(){this.word("null")},t.DeclareClass=function(e,t){r.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("class"),this.space(),this._interfaceish(e)},t.DeclareFunction=function(e,t){r.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("function"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation.typeAnnotation,e),e.predicate&&(this.space(),this.print(e.predicate,e)),this.semicolon()},t.InferredPredicate=function(){this.token("%"),this.word("checks")},t.DeclaredPredicate=function(e){this.token("%"),this.word("checks"),this.token("("),this.print(e.value,e),this.token(")")},t.DeclareInterface=function(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)},t.DeclareModule=function(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id,e),this.space(),this.print(e.body,e)},t.DeclareModuleExports=function(e){this.word("declare"),this.space(),this.word("module"),this.token("."),this.word("exports"),this.print(e.typeAnnotation,e)},t.DeclareTypeAlias=function(e){this.word("declare"),this.space(),this.TypeAlias(e)},t.DeclareOpaqueType=function(e,t){r.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.OpaqueType(e)},t.DeclareVariable=function(e,t){r.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("var"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation,e),this.semicolon()},t.DeclareExportDeclaration=function(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space()),p.apply(this,arguments)},t.DeclareExportAllDeclaration=function(){this.word("declare"),this.space(),n.ExportAllDeclaration.apply(this,arguments)},t.EnumDeclaration=function(e){const{id:t,body:s}=e;this.word("enum"),this.space(),this.print(t,e),this.print(s,e)},t.EnumBooleanBody=function(e){const{explicitType:t}=e;o(this,"boolean",t),l(this,e)},t.EnumNumberBody=function(e){const{explicitType:t}=e;o(this,"number",t),l(this,e)},t.EnumStringBody=function(e){const{explicitType:t}=e;o(this,"string",t),l(this,e)},t.EnumSymbolBody=function(e){o(this,"symbol",!0),l(this,e)},t.EnumDefaultedMember=function(e){const{id:t}=e;this.print(t,e),this.token(",")},t.EnumBooleanMember=function(e){c(this,e)},t.EnumNumberMember=function(e){c(this,e)},t.EnumStringMember=function(e){c(this,e)},t.ExistsTypeAnnotation=function(){this.token("*")},t.FunctionTypeAnnotation=function(e,t){this.print(e.typeParameters,e),this.token("("),this.printList(e.params,e),e.rest&&(e.params.length&&(this.token(","),this.space()),this.token("..."),this.print(e.rest,e)),this.token(")"),"ObjectTypeCallProperty"===t.type||"DeclareFunction"===t.type||"ObjectTypeProperty"===t.type&&t.method?this.token(":"):(this.space(),this.token("=>")),this.space(),this.print(e.returnType,e)},t.FunctionTypeParam=function(e){this.print(e.name,e),e.optional&&this.token("?"),e.name&&(this.token(":"),this.space()),this.print(e.typeAnnotation,e)},t.GenericTypeAnnotation=t.ClassImplements=t.InterfaceExtends=function(e){this.print(e.id,e),this.print(e.typeParameters,e)},t._interfaceish=function(e){this.print(e.id,e),this.print(e.typeParameters,e),e.extends.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e)),e.mixins&&e.mixins.length&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins,e)),e.implements&&e.implements.length&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)},t._variance=function(e){e.variance&&("plus"===e.variance.kind?this.token("+"):"minus"===e.variance.kind&&this.token("-"))},t.InterfaceDeclaration=function(e){this.word("interface"),this.space(),this._interfaceish(e)},t.InterfaceTypeAnnotation=function(e){this.word("interface"),e.extends&&e.extends.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e)),this.space(),this.print(e.body,e)},t.IntersectionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:u})},t.MixedTypeAnnotation=function(){this.word("mixed")},t.EmptyTypeAnnotation=function(){this.word("empty")},t.NullableTypeAnnotation=function(e){this.token("?"),this.print(e.typeAnnotation,e)},t.NumberTypeAnnotation=function(){this.word("number")},t.StringTypeAnnotation=function(){this.word("string")},t.ThisTypeAnnotation=function(){this.word("this")},t.TupleTypeAnnotation=function(e){this.token("["),this.printList(e.types,e),this.token("]")},t.TypeofTypeAnnotation=function(e){this.word("typeof"),this.space(),this.print(e.argument,e)},t.TypeAlias=function(e){this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),this.space(),this.token("="),this.space(),this.print(e.right,e),this.semicolon()},t.TypeAnnotation=function(e){this.token(":"),this.space(),e.optional&&this.token("?"),this.print(e.typeAnnotation,e)},t.TypeParameterDeclaration=t.TypeParameterInstantiation=function(e){this.token("<"),this.printList(e.params,e,{}),this.token(">")},t.TypeParameter=function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound,e),e.default&&(this.space(),this.token("="),this.space(),this.print(e.default,e))},t.OpaqueType=function(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),e.supertype&&(this.token(":"),this.space(),this.print(e.supertype,e)),e.impltype&&(this.space(),this.token("="),this.space(),this.print(e.impltype,e)),this.semicolon()},t.ObjectTypeAnnotation=function(e){e.exact?this.token("{|"):this.token("{");const t=e.properties.concat(e.callProperties||[],e.indexers||[],e.internalSlots||[]);t.length&&(this.space(),this.printJoin(t,e,{addNewlines(e){if(e&&!t[0])return 1},indent:!0,statement:!0,iterator:()=>{(1!==t.length||e.inexact)&&(this.token(","),this.space())}}),this.space()),e.inexact&&(this.indent(),this.token("..."),t.length&&this.newline(),this.dedent()),e.exact?this.token("|}"):this.token("}")},t.ObjectTypeInternalSlot=function(e){e.static&&(this.word("static"),this.space()),this.token("["),this.token("["),this.print(e.id,e),this.token("]"),this.token("]"),e.optional&&this.token("?"),e.method||(this.token(":"),this.space()),this.print(e.value,e)},t.ObjectTypeCallProperty=function(e){e.static&&(this.word("static"),this.space()),this.print(e.value,e)},t.ObjectTypeIndexer=function(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.token("["),e.id&&(this.print(e.id,e),this.token(":"),this.space()),this.print(e.key,e),this.token("]"),this.token(":"),this.space(),this.print(e.value,e)},t.ObjectTypeProperty=function(e){e.proto&&(this.word("proto"),this.space()),e.static&&(this.word("static"),this.space()),"get"!==e.kind&&"set"!==e.kind||(this.word(e.kind),this.space()),this._variance(e),this.print(e.key,e),e.optional&&this.token("?"),e.method||(this.token(":"),this.space()),this.print(e.value,e)},t.ObjectTypeSpreadProperty=function(e){this.token("..."),this.print(e.argument,e)},t.QualifiedTypeIdentifier=function(e){this.print(e.qualification,e),this.token("."),this.print(e.id,e)},t.SymbolTypeAnnotation=function(){this.word("symbol")},t.UnionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:h})},t.TypeCastExpression=function(e){this.token("("),this.print(e.expression,e),this.print(e.typeAnnotation,e),this.token(")")},t.Variance=function(e){"plus"===e.kind?this.token("+"):this.token("-")},t.VoidTypeAnnotation=function(){this.word("void")},Object.defineProperty(t,"NumberLiteralTypeAnnotation",{enumerable:!0,get:function(){return i.NumericLiteral}}),Object.defineProperty(t,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return i.StringLiteral}});var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),n=s(3503),i=s(4827);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e,t,s){s&&(e.space(),e.word("of"),e.space(),e.word(t)),e.space()}function l(e,t){const{members:s}=t;e.token("{"),e.indent(),e.newline();for(const r of s)e.print(r,t),e.newline();e.dedent(),e.token("}")}function c(e,t){const{id:s,init:r}=t;e.print(s,t),e.space(),e.token("="),e.space(),e.print(r,t),e.token(",")}function p(e){if(e.declaration){const t=e.declaration;this.print(t,e),r.isStatement(t)||this.semicolon()}else this.token("{"),e.specifiers.length&&(this.space(),this.printList(e.specifiers,e),this.space()),this.token("}"),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e)),this.semicolon()}function u(){this.space(),this.token("&"),this.space()}function h(){this.space(),this.token("|"),this.space()}},1464:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(3378);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var n=s(9901);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}}))}));var i=s(9772);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var a=s(9570);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=s(4390);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var l=s(3503);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var c=s(4827);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var p=s(308);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var u=s(3762);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var h=s(6209);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===h[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))}));var d=s(5529);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}))},6209:(e,t)=>{"use strict";function s(){this.space()}Object.defineProperty(t,"__esModule",{value:!0}),t.JSXAttribute=function(e){this.print(e.name,e),e.value&&(this.token("="),this.print(e.value,e))},t.JSXIdentifier=function(e){this.word(e.name)},t.JSXNamespacedName=function(e){this.print(e.namespace,e),this.token(":"),this.print(e.name,e)},t.JSXMemberExpression=function(e){this.print(e.object,e),this.token("."),this.print(e.property,e)},t.JSXSpreadAttribute=function(e){this.token("{"),this.token("..."),this.print(e.argument,e),this.token("}")},t.JSXExpressionContainer=function(e){this.token("{"),this.print(e.expression,e),this.token("}")},t.JSXSpreadChild=function(e){this.token("{"),this.token("..."),this.print(e.expression,e),this.token("}")},t.JSXText=function(e){const t=this.getPossibleRaw(e);null!=t?this.token(t):this.token(e.value)},t.JSXElement=function(e){const t=e.openingElement;if(this.print(t,e),!t.selfClosing){this.indent();for(const t of e.children)this.print(t,e);this.dedent(),this.print(e.closingElement,e)}},t.JSXOpeningElement=function(e){this.token("<"),this.print(e.name,e),this.print(e.typeParameters,e),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,e,{separator:s})),e.selfClosing?(this.space(),this.token("/>")):this.token(">")},t.JSXClosingElement=function(e){this.token("")},t.JSXEmptyExpression=function(e){this.printInnerComments(e)},t.JSXFragment=function(e){this.print(e.openingFragment,e),this.indent();for(const t of e.children)this.print(t,e);this.dedent(),this.print(e.closingFragment,e)},t.JSXOpeningFragment=function(){this.token("<"),this.token(">")},t.JSXClosingFragment=function(){this.token("")}},4390:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._params=function(e){this.print(e.typeParameters,e),this.token("("),this._parameters(e.params,e),this.token(")"),this.print(e.returnType,e)},t._parameters=function(e,t){for(let s=0;se.loc.start.line?(this.indent(),this.print(t,e),this.dedent(),this._catchUp("start",e.body.loc)):this.print(t,e),this.token(")")):this.print(t,e):this._params(e),this._predicate(e),this.space(),this.token("=>"),this.space(),this.print(e.body,e)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},3503:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImportSpecifier=function(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported,e),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local,e))},t.ImportDefaultSpecifier=function(e){this.print(e.local,e)},t.ExportDefaultSpecifier=function(e){this.print(e.exported,e)},t.ExportSpecifier=function(e){this.print(e.local,e),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported,e))},t.ExportNamespaceSpecifier=function(e){this.token("*"),this.space(),this.word("as"),this.space(),this.print(e.exported,e)},t.ExportAllDeclaration=function(e){this.word("export"),this.space(),"type"===e.exportKind&&(this.word("type"),this.space()),this.token("*"),this.space(),this.word("from"),this.space(),this.print(e.source,e),this.printAssertions(e),this.semicolon()},t.ExportNamedDeclaration=function(e){this.format.decoratorsBeforeExport&&r.isClassDeclaration(e.declaration)&&this.printJoin(e.declaration.decorators,e),this.word("export"),this.space(),i.apply(this,arguments)},t.ExportDefaultDeclaration=function(e){this.format.decoratorsBeforeExport&&r.isClassDeclaration(e.declaration)&&this.printJoin(e.declaration.decorators,e),this.word("export"),this.space(),this.word("default"),this.space(),i.apply(this,arguments)},t.ImportDeclaration=function(e){var t;this.word("import"),this.space(),("type"===e.importKind||"typeof"===e.importKind)&&(this.word(e.importKind),this.space());const s=e.specifiers.slice(0);if(null==s?void 0:s.length){for(;;){const t=s[0];if(!r.isImportDefaultSpecifier(t)&&!r.isImportNamespaceSpecifier(t))break;this.print(s.shift(),e),s.length&&(this.token(","),this.space())}s.length&&(this.token("{"),this.space(),this.printList(s,e),this.space(),this.token("}")),this.space(),this.word("from"),this.space()}this.print(e.source,e),this.printAssertions(e),(null==(t=e.attributes)?void 0:t.length)&&(this.space(),this.word("with"),this.space(),this.printList(e.attributes,e)),this.semicolon()},t.ImportAttribute=function(e){this.print(e.key),this.token(":"),this.space(),this.print(e.value)},t.ImportNamespaceSpecifier=function(e){this.token("*"),this.space(),this.word("as"),this.space(),this.print(e.local,e)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){if(e.declaration){const t=e.declaration;this.print(t,e),r.isStatement(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());const t=e.specifiers.slice(0);let s=!1;for(;;){const n=t[0];if(!r.isExportDefaultSpecifier(n)&&!r.isExportNamespaceSpecifier(n))break;s=!0,this.print(t.shift(),e),t.length&&(this.token(","),this.space())}(t.length||!t.length&&!s)&&(this.token("{"),t.length&&(this.space(),this.printList(t,e),this.space()),this.token("}")),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e),this.printAssertions(e)),this.semicolon()}}},9772:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WithStatement=function(e){this.word("with"),this.space(),this.token("("),this.print(e.object,e),this.token(")"),this.printBlock(e)},t.IfStatement=function(e){this.word("if"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.space();const t=e.alternate&&r.isIfStatement(i(e.consequent));t&&(this.token("{"),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent,e),t&&(this.dedent(),this.newline(),this.token("}")),e.alternate&&(this.endsWith("}")&&this.space(),this.word("else"),this.space(),this.printAndIndentOnComments(e.alternate,e))},t.ForStatement=function(e){this.word("for"),this.space(),this.token("("),this.inForStatementInitCounter++,this.print(e.init,e),this.inForStatementInitCounter--,this.token(";"),e.test&&(this.space(),this.print(e.test,e)),this.token(";"),e.update&&(this.space(),this.print(e.update,e)),this.token(")"),this.printBlock(e)},t.WhileStatement=function(e){this.word("while"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.printBlock(e)},t.DoWhileStatement=function(e){this.word("do"),this.space(),this.print(e.body,e),this.space(),this.word("while"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.semicolon()},t.LabeledStatement=function(e){this.print(e.label,e),this.token(":"),this.space(),this.print(e.body,e)},t.TryStatement=function(e){this.word("try"),this.space(),this.print(e.block,e),this.space(),e.handlers?this.print(e.handlers[0],e):this.print(e.handler,e),e.finalizer&&(this.space(),this.word("finally"),this.space(),this.print(e.finalizer,e))},t.CatchClause=function(e){this.word("catch"),this.space(),e.param&&(this.token("("),this.print(e.param,e),this.print(e.param.typeAnnotation,e),this.token(")"),this.space()),this.print(e.body,e)},t.SwitchStatement=function(e){this.word("switch"),this.space(),this.token("("),this.print(e.discriminant,e),this.token(")"),this.space(),this.token("{"),this.printSequence(e.cases,e,{indent:!0,addNewlines(t,s){if(!t&&e.cases[e.cases.length-1]===s)return-1}}),this.token("}")},t.SwitchCase=function(e){e.test?(this.word("case"),this.space(),this.print(e.test,e),this.token(":")):(this.word("default"),this.token(":")),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,e,{indent:!0}))},t.DebuggerStatement=function(){this.word("debugger"),this.semicolon()},t.VariableDeclaration=function(e,t){e.declare&&(this.word("declare"),this.space()),this.word(e.kind),this.space();let s,n=!1;if(!r.isFor(t))for(const t of e.declarations)t.init&&(n=!0);n&&(s="const"===e.kind?m:f),this.printList(e.declarations,e,{separator:s}),(!r.isFor(t)||t.left!==e&&t.init!==e)&&this.semicolon()},t.VariableDeclarator=function(e){this.print(e.id,e),e.definite&&this.token("!"),this.print(e.id.typeAnnotation,e),e.init&&(this.space(),this.token("="),this.space(),this.print(e.init,e))},t.ThrowStatement=t.BreakStatement=t.ReturnStatement=t.ContinueStatement=t.ForOfStatement=t.ForInStatement=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){return r.isStatement(e.body)?i(e.body):e}const a=function(e){return function(t){this.word("for"),this.space(),"of"===e&&t.await&&(this.word("await"),this.space()),this.token("("),this.print(t.left,t),this.space(),this.word(e),this.space(),this.print(t.right,t),this.token(")"),this.printBlock(t)}},o=a("in");t.ForInStatement=o;const l=a("of");function c(e,t="label"){return function(s){this.word(e);const r=s[t];if(r){this.space();const e="label"==t,n=this.startTerminatorless(e);this.print(r,s),this.endTerminatorless(n)}this.semicolon()}}t.ForOfStatement=l;const p=c("continue");t.ContinueStatement=p;const u=c("return","argument");t.ReturnStatement=u;const h=c("break");t.BreakStatement=h;const d=c("throw","argument");function f(){if(this.token(","),this.newline(),this.endsWith("\\n"))for(let e=0;e<4;e++)this.space(!0)}function m(){if(this.token(","),this.newline(),this.endsWith("\\n"))for(let e=0;e<6;e++)this.space(!0)}t.ThrowStatement=d},3378:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaggedTemplateExpression=function(e){this.print(e.tag,e),this.print(e.typeParameters,e),this.print(e.quasi,e)},t.TemplateElement=function(e,t){const s=t.quasis[0]===e,r=t.quasis[t.quasis.length-1]===e,n=(s?"`":"}")+e.value.raw+(r?"`":"${");this.token(n)},t.TemplateLiteral=function(e){const t=e.quasis;for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Identifier=function(e){this.exactSource(e.loc,(()=>{this.word(e.name)}))},t.ArgumentPlaceholder=function(){this.token("?")},t.SpreadElement=t.RestElement=function(e){this.token("..."),this.print(e.argument,e)},t.ObjectPattern=t.ObjectExpression=function(e){const t=e.properties;this.token("{"),this.printInnerComments(e),t.length&&(this.space(),this.printList(t,e,{indent:!0,statement:!0}),this.space()),this.token("}")},t.ObjectMethod=function(e){this.printJoin(e.decorators,e),this._methodHead(e),this.space(),this.print(e.body,e)},t.ObjectProperty=function(e){if(this.printJoin(e.decorators,e),e.computed)this.token("["),this.print(e.key,e),this.token("]");else{if(n.isAssignmentPattern(e.value)&&n.isIdentifier(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value,e);if(this.print(e.key,e),e.shorthand&&n.isIdentifier(e.key)&&n.isIdentifier(e.value)&&e.key.name===e.value.name)return}this.token(":"),this.space(),this.print(e.value,e)},t.ArrayPattern=t.ArrayExpression=function(e){const t=e.elements,s=t.length;this.token("["),this.printInnerComments(e);for(let r=0;r0&&this.space(),this.print(n,e),r0&&this.space(),this.print(n,e),r{"use strict";function s(e,t){!0!==t&&e.token(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.TSTypeAnnotation=function(e){this.token(":"),this.space(),e.optional&&this.token("?"),this.print(e.typeAnnotation,e)},t.TSTypeParameterDeclaration=t.TSTypeParameterInstantiation=function(e){this.token("<"),this.printList(e.params,e,{}),this.token(">")},t.TSTypeParameter=function(e){this.word(e.name),e.constraint&&(this.space(),this.word("extends"),this.space(),this.print(e.constraint,e)),e.default&&(this.space(),this.token("="),this.space(),this.print(e.default,e))},t.TSParameterProperty=function(e){e.accessibility&&(this.word(e.accessibility),this.space()),e.readonly&&(this.word("readonly"),this.space()),this._param(e.parameter)},t.TSDeclareFunction=function(e){e.declare&&(this.word("declare"),this.space()),this._functionHead(e),this.token(";")},t.TSDeclareMethod=function(e){this._classMethodHead(e),this.token(";")},t.TSQualifiedName=function(e){this.print(e.left,e),this.token("."),this.print(e.right,e)},t.TSCallSignatureDeclaration=function(e){this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSConstructSignatureDeclaration=function(e){this.word("new"),this.space(),this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSPropertySignature=function(e){const{readonly:t,initializer:s}=e;t&&(this.word("readonly"),this.space()),this.tsPrintPropertyOrMethodName(e),this.print(e.typeAnnotation,e),s&&(this.space(),this.token("="),this.space(),this.print(s,e)),this.token(";")},t.tsPrintPropertyOrMethodName=function(e){e.computed&&this.token("["),this.print(e.key,e),e.computed&&this.token("]"),e.optional&&this.token("?")},t.TSMethodSignature=function(e){this.tsPrintPropertyOrMethodName(e),this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSIndexSignature=function(e){const{readonly:t}=e;t&&(this.word("readonly"),this.space()),this.token("["),this._parameters(e.parameters,e),this.token("]"),this.print(e.typeAnnotation,e),this.token(";")},t.TSAnyKeyword=function(){this.word("any")},t.TSBigIntKeyword=function(){this.word("bigint")},t.TSUnknownKeyword=function(){this.word("unknown")},t.TSNumberKeyword=function(){this.word("number")},t.TSObjectKeyword=function(){this.word("object")},t.TSBooleanKeyword=function(){this.word("boolean")},t.TSStringKeyword=function(){this.word("string")},t.TSSymbolKeyword=function(){this.word("symbol")},t.TSVoidKeyword=function(){this.word("void")},t.TSUndefinedKeyword=function(){this.word("undefined")},t.TSNullKeyword=function(){this.word("null")},t.TSNeverKeyword=function(){this.word("never")},t.TSIntrinsicKeyword=function(){this.word("intrinsic")},t.TSThisType=function(){this.word("this")},t.TSFunctionType=function(e){this.tsPrintFunctionOrConstructorType(e)},t.TSConstructorType=function(e){this.word("new"),this.space(),this.tsPrintFunctionOrConstructorType(e)},t.tsPrintFunctionOrConstructorType=function(e){const{typeParameters:t,parameters:s}=e;this.print(t,e),this.token("("),this._parameters(s,e),this.token(")"),this.space(),this.token("=>"),this.space(),this.print(e.typeAnnotation.typeAnnotation,e)},t.TSTypeReference=function(e){this.print(e.typeName,e),this.print(e.typeParameters,e)},t.TSTypePredicate=function(e){e.asserts&&(this.word("asserts"),this.space()),this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word("is"),this.space(),this.print(e.typeAnnotation.typeAnnotation))},t.TSTypeQuery=function(e){this.word("typeof"),this.space(),this.print(e.exprName)},t.TSTypeLiteral=function(e){this.tsPrintTypeLiteralOrInterfaceBody(e.members,e)},t.tsPrintTypeLiteralOrInterfaceBody=function(e,t){this.tsPrintBraced(e,t)},t.tsPrintBraced=function(e,t){if(this.token("{"),e.length){this.indent(),this.newline();for(const s of e)this.print(s,t),this.newline();this.dedent(),this.rightBrace()}else this.token("}")},t.TSArrayType=function(e){this.print(e.elementType,e),this.token("[]")},t.TSTupleType=function(e){this.token("["),this.printList(e.elementTypes,e),this.token("]")},t.TSOptionalType=function(e){this.print(e.typeAnnotation,e),this.token("?")},t.TSRestType=function(e){this.token("..."),this.print(e.typeAnnotation,e)},t.TSNamedTupleMember=function(e){this.print(e.label,e),e.optional&&this.token("?"),this.token(":"),this.space(),this.print(e.elementType,e)},t.TSUnionType=function(e){this.tsPrintUnionOrIntersectionType(e,"|")},t.TSIntersectionType=function(e){this.tsPrintUnionOrIntersectionType(e,"&")},t.tsPrintUnionOrIntersectionType=function(e,t){this.printJoin(e.types,e,{separator(){this.space(),this.token(t),this.space()}})},t.TSConditionalType=function(e){this.print(e.checkType),this.space(),this.word("extends"),this.space(),this.print(e.extendsType),this.space(),this.token("?"),this.space(),this.print(e.trueType),this.space(),this.token(":"),this.space(),this.print(e.falseType)},t.TSInferType=function(e){this.token("infer"),this.space(),this.print(e.typeParameter)},t.TSParenthesizedType=function(e){this.token("("),this.print(e.typeAnnotation,e),this.token(")")},t.TSTypeOperator=function(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation,e)},t.TSIndexedAccessType=function(e){this.print(e.objectType,e),this.token("["),this.print(e.indexType,e),this.token("]")},t.TSMappedType=function(e){const{nameType:t,optional:r,readonly:n,typeParameter:i}=e;this.token("{"),this.space(),n&&(s(this,n),this.word("readonly"),this.space()),this.token("["),this.word(i.name),this.space(),this.word("in"),this.space(),this.print(i.constraint,i),t&&(this.space(),this.word("as"),this.space(),this.print(t,e)),this.token("]"),r&&(s(this,r),this.token("?")),this.token(":"),this.space(),this.print(e.typeAnnotation,e),this.space(),this.token("}")},t.TSLiteralType=function(e){this.print(e.literal,e)},t.TSExpressionWithTypeArguments=function(e){this.print(e.expression,e),this.print(e.typeParameters,e)},t.TSInterfaceDeclaration=function(e){const{declare:t,id:s,typeParameters:r,extends:n,body:i}=e;t&&(this.word("declare"),this.space()),this.word("interface"),this.space(),this.print(s,e),this.print(r,e),n&&(this.space(),this.word("extends"),this.space(),this.printList(n,e)),this.space(),this.print(i,e)},t.TSInterfaceBody=function(e){this.tsPrintTypeLiteralOrInterfaceBody(e.body,e)},t.TSTypeAliasDeclaration=function(e){const{declare:t,id:s,typeParameters:r,typeAnnotation:n}=e;t&&(this.word("declare"),this.space()),this.word("type"),this.space(),this.print(s,e),this.print(r,e),this.space(),this.token("="),this.space(),this.print(n,e),this.token(";")},t.TSAsExpression=function(e){const{expression:t,typeAnnotation:s}=e;this.print(t,e),this.space(),this.word("as"),this.space(),this.print(s,e)},t.TSTypeAssertion=function(e){const{typeAnnotation:t,expression:s}=e;this.token("<"),this.print(t,e),this.token(">"),this.space(),this.print(s,e)},t.TSEnumDeclaration=function(e){const{declare:t,const:s,id:r,members:n}=e;t&&(this.word("declare"),this.space()),s&&(this.word("const"),this.space()),this.word("enum"),this.space(),this.print(r,e),this.space(),this.tsPrintBraced(n,e)},t.TSEnumMember=function(e){const{id:t,initializer:s}=e;this.print(t,e),s&&(this.space(),this.token("="),this.space(),this.print(s,e)),this.token(",")},t.TSModuleDeclaration=function(e){const{declare:t,id:s}=e;if(t&&(this.word("declare"),this.space()),e.global||(this.word("Identifier"===s.type?"namespace":"module"),this.space()),this.print(s,e),!e.body)return void this.token(";");let r=e.body;for(;"TSModuleDeclaration"===r.type;)this.token("."),this.print(r.id,r),r=r.body;this.space(),this.print(r,e)},t.TSModuleBlock=function(e){this.tsPrintBraced(e.body,e)},t.TSImportType=function(e){const{argument:t,qualifier:s,typeParameters:r}=e;this.word("import"),this.token("("),this.print(t,e),this.token(")"),s&&(this.token("."),this.print(s,e)),r&&this.print(r,e)},t.TSImportEqualsDeclaration=function(e){const{isExport:t,id:s,moduleReference:r}=e;t&&(this.word("export"),this.space()),this.word("import"),this.space(),this.print(s,e),this.space(),this.token("="),this.space(),this.print(r,e),this.token(";")},t.TSExternalModuleReference=function(e){this.token("require("),this.print(e.expression,e),this.token(")")},t.TSNonNullExpression=function(e){this.print(e.expression,e),this.token("!")},t.TSExportAssignment=function(e){this.word("export"),this.space(),this.token("="),this.space(),this.print(e.expression,e),this.token(";")},t.TSNamespaceExportDeclaration=function(e){this.word("export"),this.space(),this.word("as"),this.space(),this.word("namespace"),this.space(),this.print(e.id,e)},t.tsPrintSignatureDeclarationBase=function(e){const{typeParameters:t,parameters:s}=e;this.print(t,e),this.token("("),this._parameters(s,e),this.token(")"),this.print(e.typeAnnotation,e)},t.tsPrintClassMemberModifiers=function(e,t){t&&e.declare&&(this.word("declare"),this.space()),e.accessibility&&(this.word(e.accessibility),this.space()),e.static&&(this.word("static"),this.space()),e.abstract&&(this.word("abstract"),this.space()),t&&e.readonly&&(this.word("readonly"),this.space())}},5386:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){return new a(e,t,s).generate()},t.CodeGenerator=void 0;var r=i(s(1783)),n=i(s(3237));function i(e){return e&&e.__esModule?e:{default:e}}class a extends n.default{constructor(e,t={},s){const n=function(e,t){const s={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,jsonCompatibleStrings:t.jsonCompatibleStrings,indent:{adjustMultilineComment:!0,style:" ",base:0},decoratorsBeforeExport:!!t.decoratorsBeforeExport,jsescOption:Object.assign({quotes:"double",wrap:!0},t.jsescOption),recordAndTupleSyntaxType:t.recordAndTupleSyntaxType};return s.minified?(s.compact=!0,s.shouldPrintComment=s.shouldPrintComment||(()=>s.comments)):s.shouldPrintComment=s.shouldPrintComment||(e=>s.comments||e.indexOf("@license")>=0||e.indexOf("@preserve")>=0),"auto"===s.compact&&(s.compact=e.length>5e5,s.compact&&console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${t.filename} as it exceeds the max of 500KB.`)),s.compact&&(s.indent.adjustMultilineComment=!1),s}(s,t);super(n,t.sourceMaps?new r.default(t,s):null),this.ast=void 0,this.ast=e}generate(){return super.generate(this.ast)}}t.CodeGenerator=class{constructor(e,t,s){this._generator=new a(e,t,s)}generate(){return this._generator.generate()}}},944:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.needsWhitespace=f,t.needsWhitespaceBefore=function(e,t){return f(e,t,"before")},t.needsWhitespaceAfter=function(e,t){return f(e,t,"after")},t.needsParens=function(e,t,s){return!!t&&(!(!i.isNewExpression(t)||t.callee!==e||!d(e))||h(c,e,t,s))};var r=o(s(3880)),n=o(s(3602)),i=o(s(4473));function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}function l(e){const t={};function s(e,s){const r=t[e];t[e]=r?function(e,t,n){const i=r(e,t,n);return null==i?s(e,t,n):i}:s}for(const t of Object.keys(e)){const r=i.FLIPPED_ALIAS_KEYS[t];if(r)for(const n of r)s(n,e[t]);else s(t,e[t])}return t}const c=l(n),p=l(r.nodes),u=l(r.list);function h(e,t,s,r){const n=e[t.type];return n?n(t,s,r):null}function d(e){return!!i.isCallExpression(e)||i.isMemberExpression(e)&&d(e.object)}function f(e,t,s){if(!e)return 0;i.isExpressionStatement(e)&&(e=e.expression);let r=h(p,e,t);if(!r){const n=h(u,e,t);if(n)for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NullableTypeAnnotation=function(e,t){return r.isArrayTypeAnnotation(t)},t.FunctionTypeAnnotation=function(e,t,s){return r.isUnionTypeAnnotation(t)||r.isIntersectionTypeAnnotation(t)||r.isArrayTypeAnnotation(t)||r.isTypeAnnotation(t)&&r.isArrowFunctionExpression(s[s.length-3])},t.UpdateExpression=function(e,t){return o(e,t)||a(e,t)},t.ObjectExpression=function(e,t,s){return p(s,{considerArrow:!0})},t.DoExpression=function(e,t,s){return p(s)},t.Binary=function(e,t){if("**"===e.operator&&r.isBinaryExpression(t,{operator:"**"}))return t.left===e;if(a(e,t))return!0;if(o(e,t)||r.isUnaryLike(t)||r.isAwaitExpression(t))return!0;if(r.isBinary(t)){const s=t.operator,n=i[s],a=e.operator,o=i[a];if(n===o&&t.right===e&&!r.isLogicalExpression(t)||n>o)return!0}},t.IntersectionTypeAnnotation=t.UnionTypeAnnotation=function(e,t){return r.isArrayTypeAnnotation(t)||r.isNullableTypeAnnotation(t)||r.isIntersectionTypeAnnotation(t)||r.isUnionTypeAnnotation(t)},t.TSAsExpression=function(){return!0},t.TSTypeAssertion=function(){return!0},t.TSIntersectionType=t.TSUnionType=function(e,t){return r.isTSArrayType(t)||r.isTSOptionalType(t)||r.isTSIntersectionType(t)||r.isTSUnionType(t)||r.isTSRestType(t)},t.TSInferType=function(e,t){return r.isTSArrayType(t)||r.isTSOptionalType(t)},t.BinaryExpression=function(e,t){return"in"===e.operator&&(r.isVariableDeclarator(t)||r.isFor(t))},t.SequenceExpression=function(e,t){return!(r.isForStatement(t)||r.isThrowStatement(t)||r.isReturnStatement(t)||r.isIfStatement(t)&&t.test===e||r.isWhileStatement(t)&&t.test===e||r.isForInStatement(t)&&t.right===e||r.isSwitchStatement(t)&&t.discriminant===e||r.isExpressionStatement(t)&&t.expression===e)},t.AwaitExpression=t.YieldExpression=function(e,t){return r.isBinary(t)||r.isUnaryLike(t)||o(e,t)||r.isAwaitExpression(t)&&r.isYieldExpression(e)||r.isConditionalExpression(t)&&e===t.test||a(e,t)},t.ClassExpression=function(e,t,s){return p(s,{considerDefaultExports:!0})},t.UnaryLike=l,t.FunctionExpression=function(e,t,s){return p(s,{considerDefaultExports:!0})},t.ArrowFunctionExpression=function(e,t){return r.isExportDeclaration(t)||c(e,t)},t.ConditionalExpression=c,t.OptionalCallExpression=t.OptionalMemberExpression=function(e,t){return r.isCallExpression(t,{callee:e})||r.isMemberExpression(t,{object:e})},t.AssignmentExpression=function(e,t,s){return!!r.isObjectPattern(e.left)||c(e,t)},t.LogicalExpression=function(e,t){switch(e.operator){case"||":return!!r.isLogicalExpression(t)&&("??"===t.operator||"&&"===t.operator);case"&&":return r.isLogicalExpression(t,{operator:"??"});case"??":return r.isLogicalExpression(t)&&"??"!==t.operator}};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}const i={"||":0,"??":0,"&&":1,"|":2,"^":3,"&":4,"==":5,"===":5,"!=":5,"!==":5,"<":6,">":6,"<=":6,">=":6,in:6,instanceof:6,">>":7,"<<":7,">>>":7,"+":8,"-":8,"*":9,"/":9,"%":9,"**":10},a=(e,t)=>(r.isClassDeclaration(t)||r.isClassExpression(t))&&t.superClass===e,o=(e,t)=>(r.isMemberExpression(t)||r.isOptionalMemberExpression(t))&&t.object===e||(r.isCallExpression(t)||r.isOptionalCallExpression(t)||r.isNewExpression(t))&&t.callee===e||r.isTaggedTemplateExpression(t)&&t.tag===e||r.isTSNonNullExpression(t);function l(e,t){return o(e,t)||r.isBinaryExpression(t,{operator:"**",left:e})||a(e,t)}function c(e,t){return!!(r.isUnaryLike(t)||r.isBinary(t)||r.isConditionalExpression(t,{test:e})||r.isAwaitExpression(t)||r.isTSTypeAssertion(t)||r.isTSAsExpression(t))||l(e,t)}function p(e,{considerArrow:t=!1,considerDefaultExports:s=!1}={}){let n=e.length-1,i=e[n];n--;let a=e[n];for(;n>=0;){if(r.isExpressionStatement(a,{expression:i})||s&&r.isExportDefaultDeclaration(a,{declaration:i})||t&&r.isArrowFunctionExpression(a,{body:i}))return!0;if(!(o(i,a)&&!r.isNewExpression(a)||r.isSequenceExpression(a)&&a.expressions[0]===i||r.isConditional(a,{test:i})||r.isBinary(a,{left:i})||r.isAssignmentExpression(a,{left:i})))return!1;i=a,n--,a=e[n]}return!1}},3880:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.list=t.nodes=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e,t={}){return r.isMemberExpression(e)||r.isOptionalMemberExpression(e)?(i(e.object,t),e.computed&&i(e.property,t)):r.isBinary(e)||r.isAssignmentExpression(e)?(i(e.left,t),i(e.right,t)):r.isCallExpression(e)||r.isOptionalCallExpression(e)?(t.hasCall=!0,i(e.callee,t)):r.isFunction(e)?t.hasFunction=!0:r.isIdentifier(e)&&(t.hasHelper=t.hasHelper||a(e.callee)),t}function a(e){return r.isMemberExpression(e)?a(e.object)||a(e.property):r.isIdentifier(e)?"require"===e.name||"_"===e.name[0]:r.isCallExpression(e)?a(e.callee):!(!r.isBinary(e)&&!r.isAssignmentExpression(e))&&(r.isIdentifier(e.left)&&a(e.left)||a(e.right))}function o(e){return r.isLiteral(e)||r.isObjectExpression(e)||r.isArrayExpression(e)||r.isIdentifier(e)||r.isMemberExpression(e)}const l={AssignmentExpression(e){const t=i(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return{before:t.hasFunction,after:!0}},SwitchCase:(e,t)=>({before:e.consequent.length||t.cases[0]===e,after:!e.consequent.length&&t.cases[t.cases.length-1]===e}),LogicalExpression(e){if(r.isFunction(e.left)||r.isFunction(e.right))return{after:!0}},Literal(e){if("use strict"===e.value)return{after:!0}},CallExpression(e){if(r.isFunction(e.callee)||a(e))return{before:!0,after:!0}},OptionalCallExpression(e){if(r.isFunction(e.callee))return{before:!0,after:!0}},VariableDeclaration(e){for(let t=0;te.declarations.map((e=>e.init)),ArrayExpression:e=>e.elements,ObjectExpression:e=>e.properties},[["Function",!0],["Class",!0],["Loop",!0],["LabeledStatement",!0],["SwitchStatement",!0],["TryStatement",!0]].forEach((function([e,t]){"boolean"==typeof t&&(t={after:t,before:t}),[e].concat(r.FLIPPED_ALIAS_KEYS[e]||[]).forEach((function(e){l[e]=function(){return t}}))}))},3237:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=s(8404))&&r.__esModule?r:{default:r},i=c(s(944)),a=c(s(4473)),o=c(s(1464));function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}function c(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}const p=/e/i,u=/\\.0+$/,h=/^0[box]/,d=/^\\s*[@#]__PURE__\\s*$/;class f{constructor(e,t){this.inForStatementInitCounter=0,this._printStack=[],this._indent=0,this._insideAux=!1,this._printedCommentStarts={},this._parenPushNewlineState=null,this._noLineTerminator=!1,this._printAuxAfterOnNextUserNode=!1,this._printedComments=new WeakSet,this._endsWithInteger=!1,this._endsWithWord=!1,this.format=e||{},this._buf=new n.default(t)}generate(e){return this.print(e),this._maybeAddAuxComment(),this._buf.get()}indent(){this.format.compact||this.format.concise||this._indent++}dedent(){this.format.compact||this.format.concise||this._indent--}semicolon(e=!1){this._maybeAddAuxComment(),this._append(";",!e)}rightBrace(){this.format.minified&&this._buf.removeLastSemicolon(),this.token("}")}space(e=!1){this.format.compact||(this._buf.hasContent()&&!this.endsWith(" ")&&!this.endsWith("\\n")||e)&&this._space()}word(e){(this._endsWithWord||this.endsWith("/")&&0===e.indexOf("/"))&&this._space(),this._maybeAddAuxComment(),this._append(e),this._endsWithWord=!0}number(e){this.word(e),this._endsWithInteger=Number.isInteger(+e)&&!h.test(e)&&!p.test(e)&&!u.test(e)&&"."!==e[e.length-1]}token(e){("--"===e&&this.endsWith("!")||"+"===e[0]&&this.endsWith("+")||"-"===e[0]&&this.endsWith("-")||"."===e[0]&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._append(e)}newline(e){if(!this.format.retainLines&&!this.format.compact)if(this.format.concise)this.space();else if(!(this.endsWith("\\n\\n")||("number"!=typeof e&&(e=1),e=Math.min(2,e),(this.endsWith("{\\n")||this.endsWith(":\\n"))&&e--,e<=0)))for(let t=0;t{r.call(this,e,t)})),this._printTrailingComments(e),o&&this.token(")"),this._printStack.pop(),this.format.concise=s,this._insideAux=n}_maybeAddAuxComment(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}_printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!0;const e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:"CommentBlock",value:e})}_printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!1;const e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:"CommentBlock",value:e})}getPossibleRaw(e){const t=e.extra;if(t&&null!=t.raw&&null!=t.rawValue&&e.value===t.rawValue)return t.raw}printJoin(e,t,s={}){if(!(null==e?void 0:e.length))return;s.indent&&this.indent();const r={addNewlines:s.addNewlines};for(let n=0;n0;s&&this.indent(),this.print(e,t),s&&this.dedent()}printBlock(e){const t=e.body;a.isEmptyStatement(t)||this.space(),this.print(t,e)}_printTrailingComments(e){this._printComments(this._getComments(!1,e))}_printLeadingComments(e){this._printComments(this._getComments(!0,e),!0)}printInnerComments(e,t=!0){var s;(null==(s=e.innerComments)?void 0:s.length)&&(t&&this.indent(),this._printComments(e.innerComments),t&&this.dedent())}printSequence(e,t,s={}){return s.statement=!0,this.printJoin(e,t,s)}printList(e,t,s={}){return null==s.separator&&(s.separator=m),this.printJoin(e,t,s)}_printNewline(e,t,s,r){if(this.format.retainLines||this.format.compact)return;if(this.format.concise)return void this.space();let n=0;this._buf.hasContent()&&(e||n++,r.addNewlines&&(n+=r.addNewlines(e,t)||0),(e?i.needsWhitespaceBefore:i.needsWhitespaceAfter)(t,s)&&n++),this.newline(n)}_getComments(e,t){return t&&(e?t.leadingComments:t.trailingComments)||[]}_printComment(e,t){if(!this.format.shouldPrintComment(e.value))return;if(e.ignore)return;if(this._printedComments.has(e))return;if(this._printedComments.add(e),null!=e.start){if(this._printedCommentStarts[e.start])return;this._printedCommentStarts[e.start]=!0}const s="CommentBlock"===e.type,r=s&&!t&&!this._noLineTerminator;r&&this._buf.hasContent()&&this.newline(1),this.endsWith("[")||this.endsWith("{")||this.space();let n=s||this._noLineTerminator?`/*${e.value}*/`:`//${e.value}\\n`;if(s&&this.format.indent.adjustMultilineComment){var i;const t=null==(i=e.loc)?void 0:i.start.column;if(t){const e=new RegExp("\\\\n\\\\s{1,"+t+"}","g");n=n.replace(e,"\\n")}const s=Math.max(this._getIndent().length,this.format.retainLines?0:this._buf.getCurrentColumn());n=n.replace(/\\n(?!$)/g,`\\n${" ".repeat(s)}`)}this.endsWith("/")&&this._space(),this.withSource("start",e.loc,(()=>{this._append(n)})),r&&this.newline(1)}_printComments(e,t){if(null==e?void 0:e.length)if(t&&1===e.length&&d.test(e[0].value))this._printComment(e[0],this._buf.hasContent()&&!this.endsWith("\\n"));else for(const t of e)this._printComment(t)}printAssertions(e){var t;(null==(t=e.assertions)?void 0:t.length)&&(this.space(),this.word("assert"),this.space(),this.token("{"),this.space(),this.printList(e.assertions,e),this.space(),this.token("}"))}}function m(){this.token(","),this.space()}t.default=f,Object.assign(f.prototype,o)},1783:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=s(8737))&&r.__esModule?r:{default:r};t.default=class{constructor(e,t){this._cachedMap=null,this._code=t,this._opts=e,this._rawMappings=[]}get(){if(!this._cachedMap){const e=this._cachedMap=new n.default.SourceMapGenerator({sourceRoot:this._opts.sourceRoot}),t=this._code;"string"==typeof t?e.setSourceContent(this._opts.sourceFileName.replace(/\\\\/g,"/"),t):"object"==typeof t&&Object.keys(t).forEach((s=>{e.setSourceContent(s.replace(/\\\\/g,"/"),t[s])})),this._rawMappings.forEach((t=>e.addMapping(t)),e)}return this._cachedMap.toJSON()}getRawMappings(){return this._rawMappings.slice()}mark(e,t,s,r,n,i,a){this._lastGenLine!==e&&null===s||(a||this._lastGenLine!==e||this._lastSourceLine!==s||this._lastSourceColumn!==r)&&(this._cachedMap=null,this._lastGenLine=e,this._lastSourceLine=s,this._lastSourceColumn=r,this._rawMappings.push({name:n||void 0,generated:{line:e,column:t},source:null==s?void 0:(i||this._opts.sourceFileName).replace(/\\\\/g,"/"),original:null==s?void 0:{line:s,column:r}}))}}},7493:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=!0,r=!0,n=!0,i=!0;class a{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null,this.updateContext=null}}const o=new Map;function l(e,t={}){t.keyword=e;const s=new a(e,t);return o.set(e,s),s}function c(e,t){return new a(e,{beforeExpr:s,binop:t})}const p={num:new a("num",{startsExpr:r}),bigint:new a("bigint",{startsExpr:r}),decimal:new a("decimal",{startsExpr:r}),regexp:new a("regexp",{startsExpr:r}),string:new a("string",{startsExpr:r}),name:new a("name",{startsExpr:r}),eof:new a("eof"),bracketL:new a("[",{beforeExpr:s,startsExpr:r}),bracketHashL:new a("#[",{beforeExpr:s,startsExpr:r}),bracketBarL:new a("[|",{beforeExpr:s,startsExpr:r}),bracketR:new a("]"),bracketBarR:new a("|]"),braceL:new a("{",{beforeExpr:s,startsExpr:r}),braceBarL:new a("{|",{beforeExpr:s,startsExpr:r}),braceHashL:new a("#{",{beforeExpr:s,startsExpr:r}),braceR:new a("}"),braceBarR:new a("|}"),parenL:new a("(",{beforeExpr:s,startsExpr:r}),parenR:new a(")"),comma:new a(",",{beforeExpr:s}),semi:new a(";",{beforeExpr:s}),colon:new a(":",{beforeExpr:s}),doubleColon:new a("::",{beforeExpr:s}),dot:new a("."),question:new a("?",{beforeExpr:s}),questionDot:new a("?."),arrow:new a("=>",{beforeExpr:s}),template:new a("template"),ellipsis:new a("...",{beforeExpr:s}),backQuote:new a("`",{startsExpr:r}),dollarBraceL:new a("${",{beforeExpr:s,startsExpr:r}),at:new a("@"),hash:new a("#",{startsExpr:r}),interpreterDirective:new a("#!..."),eq:new a("=",{beforeExpr:s,isAssign:!0}),assign:new a("_=",{beforeExpr:s,isAssign:!0}),incDec:new a("++/--",{prefix:i,postfix:!0,startsExpr:r}),bang:new a("!",{beforeExpr:s,prefix:i,startsExpr:r}),tilde:new a("~",{beforeExpr:s,prefix:i,startsExpr:r}),pipeline:c("|>",0),nullishCoalescing:c("??",1),logicalOR:c("||",1),logicalAND:c("&&",2),bitwiseOR:c("|",3),bitwiseXOR:c("^",4),bitwiseAND:c("&",5),equality:c("==/!=/===/!==",6),relational:c("/<=/>=",7),bitShift:c("<>/>>>",8),plusMin:new a("+/-",{beforeExpr:s,binop:9,prefix:i,startsExpr:r}),modulo:new a("%",{beforeExpr:s,binop:10,startsExpr:r}),star:new a("*",{binop:10}),slash:c("/",10),exponent:new a("**",{beforeExpr:s,binop:11,rightAssociative:!0}),_break:l("break"),_case:l("case",{beforeExpr:s}),_catch:l("catch"),_continue:l("continue"),_debugger:l("debugger"),_default:l("default",{beforeExpr:s}),_do:l("do",{isLoop:n,beforeExpr:s}),_else:l("else",{beforeExpr:s}),_finally:l("finally"),_for:l("for",{isLoop:n}),_function:l("function",{startsExpr:r}),_if:l("if"),_return:l("return",{beforeExpr:s}),_switch:l("switch"),_throw:l("throw",{beforeExpr:s,prefix:i,startsExpr:r}),_try:l("try"),_var:l("var"),_const:l("const"),_while:l("while",{isLoop:n}),_with:l("with"),_new:l("new",{beforeExpr:s,startsExpr:r}),_this:l("this",{startsExpr:r}),_super:l("super",{startsExpr:r}),_class:l("class",{startsExpr:r}),_extends:l("extends",{beforeExpr:s}),_export:l("export"),_import:l("import",{startsExpr:r}),_null:l("null",{startsExpr:r}),_true:l("true",{startsExpr:r}),_false:l("false",{startsExpr:r}),_in:l("in",{beforeExpr:s,binop:7}),_instanceof:l("instanceof",{beforeExpr:s,binop:7}),_typeof:l("typeof",{beforeExpr:s,prefix:i,startsExpr:r}),_void:l("void",{beforeExpr:s,prefix:i,startsExpr:r}),_delete:l("delete",{beforeExpr:s,prefix:i,startsExpr:r})},u=/\\r\\n?|[\\n\\u2028\\u2029]/,h=new RegExp(u.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}}class b{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]}}function T(e){return e[e.length-1]}class x extends b{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)}adjustCommentsAfterTrailingComma(e,t,s){if(0===this.state.leadingComments.length)return;let r=null,n=t.length;for(;null===r&&n>0;)r=t[--n];if(null===r)return;for(let e=0;e0?r.trailingComments=i:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let s,r,n,i,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(n=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const s=T(t);s.trailingComments&&s.trailingComments[0].start>=e.end&&(n=s.trailingComments,delete s.trailingComments)}for(t.length>0&&T(t).start>=e.start&&(s=t.pop());t.length>0&&T(t).start>=e.start;)r=t.pop();if(!r&&s&&(r=s),s)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&&T(r.leadingComments).end<=e.start)e.leadingComments=r.leadingComments,delete r.leadingComments;else for(i=r.leadingComments.length-2;i>=0;--i)if(r.leadingComments[i].end<=e.start){e.leadingComments=r.leadingComments.splice(0,i+1);break}}else if(this.state.leadingComments.length>0)if(T(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(i=0;ie.start);i++);const t=this.state.leadingComments.slice(0,i);t.length&&(e.leadingComments=t),n=this.state.leadingComments.slice(i),0===n.length&&(n=null)}if(this.state.commentPreviousNode=e,n)if(n.length&&n[0].start>=e.start&&T(n).end<=e.end)e.innerComments=n;else{const t=n.findIndex((t=>t.end>=e.end));t>0?(e.innerComments=n.slice(0,t),e.trailingComments=n.slice(t)):e.trailingComments=n}t.push(e)}}const P=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",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.",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 S extends x{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 s,r=1,n=0;for(h.lastIndex=0;(s=h.exec(e))&&s.indexr[t]))+` (${n.line}:${n.column})`;return this._raise(Object.assign({loc:n,pos:e},t),i)}_raise(e,t){const s=new SyntaxError(t);if(Object.assign(s,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}function E(e){return null!=e&&"Property"===e.type&&"init"===e.kind&&!1===e.method}class A{constructor(e,t,s,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=!!s,this.override=r}}const v={braceStatement:new A("{",!1),braceExpression:new A("{",!0),recordExpression:new A("#{",!0),templateQuasi:new A("${",!1),parenStatement:new A("(",!1),parenExpression:new A("(",!0),template:new A("`",!0,!0,(e=>e.readTmplToken())),functionExpression:new A("function",!0),functionStatement:new A("function",!1)};p.parenR.updateContext=p.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let e=this.state.context.pop();e===v.braceStatement&&"function"===this.curContext().token&&(e=this.state.context.pop()),this.state.exprAllowed=!e.isExpr},p.name.updateContext=function(e){let t=!1;e!==p.dot&&("of"!==this.state.value||this.state.exprAllowed||e===p._function||e===p._class||(t=!0)),this.state.exprAllowed=t,this.state.isIterator&&(this.state.isIterator=!1)},p.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?v.braceStatement:v.braceExpression),this.state.exprAllowed=!0},p.dollarBraceL.updateContext=function(){this.state.context.push(v.templateQuasi),this.state.exprAllowed=!0},p.parenL.updateContext=function(e){const t=e===p._if||e===p._for||e===p._with||e===p._while;this.state.context.push(t?v.parenStatement:v.parenExpression),this.state.exprAllowed=!0},p.incDec.updateContext=function(){},p._function.updateContext=p._class.updateContext=function(e){!e.beforeExpr||e===p.semi||e===p._else||e===p._return&&this.hasPrecedingLineBreak()||(e===p.colon||e===p.braceL)&&this.curContext()===v.b_stat?this.state.context.push(v.functionStatement):this.state.context.push(v.functionExpression),this.state.exprAllowed=!1},p.backQuote.updateContext=function(){this.curContext()===v.template?this.state.context.pop():this.state.context.push(v.template),this.state.exprAllowed=!1},p.braceHashL.updateContext=function(){this.state.context.push(v.recordExpression),this.state.exprAllowed=!0};let w="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",C="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const I=new RegExp("["+w+"]"),O=new RegExp("["+w+C+"]");w=C=null;const N=[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],k=[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 L(e,t){let s=65536;for(let r=0,n=t.length;re)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function D(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&I.test(String.fromCharCode(e)):L(e,N)))}function M(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&O.test(String.fromCharCode(e)):L(e,N)||L(e,k))))}const _=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"]),j=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),R=new Set(["eval","arguments"]);function B(e,t){return t&&"await"===e||"enum"===e}function F(e,t){return B(e,t)||j.has(e)}function U(e){return R.has(e)}function V(e,t){return F(e,t)||U(e)}function q(e){return _.has(e)}const K=/^in(stanceof)?$/,W=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),H=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`.",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.",SpreadVariance:"Spread properties cannot have variance",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 Y(e){return"type"===e.importKind||"typeof"===e.importKind}function J(e){return(e.type===p.name||!!e.type.keyword)&&"from"!==e.value}const X={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"},G=/\\*?\\s*@((?:no)?flow)\\b/,z={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:"♦"},$=/^[\\da-fA-F]+$/,Q=/^\\d+$/,Z=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>",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 ee(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function te(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return te(e.object)+"."+te(e.property);throw new Error("Node had unexpected type: "+e.type)}v.j_oTag=new A("...",!0,!0),p.jsxName=new a("jsxName"),p.jsxText=new a("jsxText",{beforeExpr:!0}),p.jsxTagStart=new a("jsxTagStart",{startsExpr:!0}),p.jsxTagEnd=new a("jsxTagEnd"),p.jsxTagStart.updateContext=function(){this.state.context.push(v.j_expr),this.state.context.push(v.j_oTag),this.state.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){const t=this.state.context.pop();t===v.j_oTag&&e===p.slash||t===v.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===v.j_expr):this.state.exprAllowed=!0};class se{constructor(e){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=e}}class re{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 inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new se(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,s){let r=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(r,e,t,s),16&t?r.functions.push(e):r.lexical.push(e),8&t&&this.maybeExportDefined(r,e);else if(4&t)for(let n=this.scopeStack.length-1;n>=0&&(r=this.scopeStack[n],this.checkRedeclarationInScope(r,e,t,s),r.var.push(e),this.maybeExportDefined(r,e),!(131&r.flags));--n);this.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,s,r){this.isRedeclaredInScope(e,t,s)&&this.raise(r,P.VarRedeclaration,t)}isRedeclaredInScope(e,t,s){return!!(1&s)&&(8&s?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:16&s?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(131&t.flags)return t}}currentThisScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if((131&t.flags||64&t.flags)&&!(4&t.flags))return t}}}class ne extends se{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class ie extends re{createScope(e){return new ne(e)}declareName(e,t,s){const r=this.currentScope();if(1024&t)return this.maybeExportDefined(r,e),void r.exportOnlyBindings.push(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,s),this.maybeExportDefined(r,e)),r.types.push(e)),256&t&&r.enums.push(e),512&t&&r.constEnums.push(e),128&t&&r.classes.push(e)}isRedeclaredInScope(e,t,s){return e.enums.indexOf(t)>-1?!(256&s)||!!(512&s)!=e.constEnums.indexOf(t)>-1:128&s&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(1&s):!!(2&s&&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 ae{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 oe(e,t){return(e?2:0)|(t?1:0)}function le(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}function ce(e){if(!e)throw new Error("Assert fail")}const pe=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\'",EmptyHeritageClauseType:"\'%0\' list cannot be empty.",EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",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",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",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\')",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 ue(e,t){return e.some((e=>Array.isArray(e)?e[0]===t:e===t))}function he(e,t,s){const r=e.find((e=>Array.isArray(e)?e[0]===t:e===t));return r&&Array.isArray(r)?r[1][s]:null}p.placeholder=new a("%%",{startsExpr:!0});const de=["minimal","smart","fsharp"],fe=["hash","bar"],me={estree:e=>class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let s=null;try{s=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(s);return r.regex={pattern:e,flags:t},r}estreeParseBigIntLiteral(e){const t="undefined"!=typeof BigInt?BigInt(e):null,s=this.estreeParseLiteral(t);return s.bigint=String(s.value||e),s}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,s=this.startNodeAt(e.start,e.loc.start),r=this.startNodeAt(t.start,t.loc.start);return r.value=t.value,r.raw=t.extra.raw,s.expression=this.finishNodeAt(r,"Literal",t.end,t.loc.end),s.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(s,"ExpressionStatement",e.end,e.loc.end)}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){E(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}checkLVal(e,t=64,s,r,n){"ObjectPattern"===e.type?e.properties.forEach((e=>{this.checkLVal("Property"===e.type?e.value:e,t,s,"object destructuring pattern",n)})):super.checkLVal(e,t,s,r,n)}checkProto(e,t,s,r){e.method||super.checkProto(e,t,s,r)}isValidDirective(e){var t;return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!(null==(t=e.expression.extra)?void 0:t.parenthesized)}stmtToDirective(e){const t=super.stmtToDirective(e),s=e.expression.value;return t.value.value=s,t}parseBlockBody(e,t,s,r){super.parseBlockBody(e,t,s,r);const n=e.directives.map((e=>this.directiveToStmt(e)));e.body=n.concat(e.body),delete e.directives}pushClassMethod(e,t,s,r,n,i){this.parseMethod(t,s,r,n,i,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseExprAtom(e){switch(this.state.type){case p.num:case p.string:return this.estreeParseLiteral(this.state.value);case p.regexp:return this.estreeParseRegExpLiteral(this.state.value);case p.bigint:return this.estreeParseBigIntLiteral(this.state.value);case p.decimal:return this.estreeParseDecimalLiteral(this.state.value);case p._null:return this.estreeParseLiteral(null);case p._true:return this.estreeParseLiteral(!0);case p._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(e)}}parseLiteral(e,t,s,r){const n=super.parseLiteral(e,t,s,r);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,s=!1){super.parseFunctionBody(e,t,s),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,s,r,n,i,a=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,s,r,n,i,a),o.type="FunctionExpression",delete o.kind,e.value=o,i="ClassMethod"===i?"MethodDefinition":i,this.finishNode(e,i)}parseObjectMethod(e,t,s,r,n){const i=super.parseObjectMethod(e,t,s,r,n);return i&&(i.type="Property","method"===i.kind&&(i.kind="init"),i.shorthand=!1),i}parseObjectProperty(e,t,s,r,n){const i=super.parseObjectProperty(e,t,s,r,n);return i&&(i.kind="init",i.type="Property"),i}toAssignable(e){return E(e)?(this.toAssignable(e.value),e):super.toAssignable(e)}toAssignableObjectExpressionProp(e,t){if("get"===e.kind||"set"===e.kind)throw this.raise(e.key.start,P.PatternHasAccessor);if(e.method)throw this.raise(e.key.start,P.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,s,r,n){const i=super.parseSubscript(e,t,s,r,n);if(n.optionalChainMember){if("OptionalMemberExpression"!==i.type&&"OptionalCallExpression"!==i.type||(i.type=i.type.substring(8)),n.stop){const e=this.startNodeAtNode(i);return e.expression=i,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==i.type&&"CallExpression"!==i.type||(i.optional=!1);return i}},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,Z.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(p.jsxTagStart)):super.getTokenFromCode(s):(e+=this.input.slice(t,this.state.pos),this.finishToken(p.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:d(s)?(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 s;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=e?"\\n":"\\r\\n"):s=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,P.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadEntity(),s=this.state.pos):d(r)?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return t+=this.input.slice(s,this.state.pos++),this.finishToken(p.string,t)}jsxReadEntity(){let e,t="",s=0,r=this.input[this.state.pos];const n=++this.state.pos;for(;this.state.pos{var t;return t=class extends e{constructor(e,t){super(e,t),this.flowPragma=void 0,this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==p.string&&e!==p.semi&&e!==p.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){const t=G.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"}}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||p.colon);const s=this.flowParseType();return this.state.inType=t,s}flowParsePredicate(){const e=this.startNode(),t=this.state.startLoc,s=this.state.start;this.expect(p.modulo);const r=this.state.startLoc;return this.expectContextual("checks"),t.line===r.line&&t.column===r.column-1||this.raise(s,H.UnexpectedSpaceBetweenModuloChecks),this.eat(p.parenL)?(e.value=this.parseExpression(),this.expect(p.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(p.colon);let t=null,s=null;return this.match(p.modulo)?(this.state.inType=e,s=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(p.modulo)&&(s=this.flowParsePredicate())),[t,s]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(p.parenL);const n=this.flowParseFunctionTypeParams();return s.params=n.params,s.rest=n.rest,this.expect(p.parenR),[s.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(r,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(p._class))return this.flowParseDeclareClass(e);if(this.match(p._function))return this.flowParseDeclareFunction(e);if(this.match(p._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(p.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,H.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(p._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(p.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),s=t.body=[];for(this.expect(p.braceL);!this.match(p.braceR);){let e=this.startNode();this.match(p._import)?(this.next(),this.isContextual("type")||this.match(p._typeof)||this.raise(this.state.lastTokStart,H.InvalidNonTypeImportInDeclareModule),this.parseImport(e)):(this.expectContextual("declare",H.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),s.push(e)}this.scope.exit(),this.expect(p.braceR),this.finishNode(t,"BlockStatement");let r=null,n=!1;return s.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&&(n&&this.raise(e.start,H.DuplicateDeclareModuleExports),"ES"===r&&this.raise(e.start,H.AmbiguousDeclareModuleKind),r="CommonJS",n=!0):("CommonJS"===r&&this.raise(e.start,H.AmbiguousDeclareModuleKind),r="ES")})),e.kind=r||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(p._export),this.eat(p._default))return this.match(p._function)||this.match(p._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(p._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=X[e];throw this.raise(this.state.start,H.UnsupportedDeclareExportKind,e,t)}if(this.match(p._var)||this.match(p._function)||this.match(p._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(p.star)||this.match(p.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(p._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(p.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(p.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(p.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,H.UnexpectedReservedUnderscore)}checkReservedType(e,t,s){W.has(e)&&this.raise(t,s?H.AssignReservedType:H.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(p.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(p.colon)&&(e.supertype=this.flowParseTypeInitialiser(p.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(p.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,s=this.startNode(),r=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return s.name=n.name,s.variance=r,s.bound=n.typeAnnotation,this.match(p.eq)?(this.eat(p.eq),s.default=this.flowParseType()):e&&this.raise(t,H.MissingTypeParamDefault),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(p.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const e=this.flowParseTypeParameter(s);t.params.push(e),e.default&&(s=!0),this.isRelational(">")||this.expect(p.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 s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(p.comma);return this.state.noAnonFunctionType=s,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(p.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(p._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(p.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(p.num)||this.match(p.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,s){return e.static=t,this.lookahead().type===p.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(p.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=s,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(p.bracketR),this.expect(p.bracketR),this.isRelational("<")||this.match(p.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(p.question)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(p.parenL);!this.match(p.parenR)&&!this.match(p.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(p.parenR)||this.expect(p.comma);return this.eat(p.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),this.expect(p.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const s=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(s),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:s,allowProto:r,allowInexact:n}){const i=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,l;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let c=!1;for(t&&this.match(p.braceBarL)?(this.expect(p.braceBarL),o=p.braceBarR,l=!0):(this.expect(p.braceL),o=p.braceR,l=!1),a.exact=l;!this.match(o);){let t=!1,i=null,o=null;const u=this.startNode();if(r&&this.isContextual("proto")){const t=this.lookahead();t.type!==p.colon&&t.type!==p.question&&(this.next(),i=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==p.colon&&e.type!==p.question&&(this.next(),t=!0)}const h=this.flowParseVariance();if(this.eat(p.bracketL))null!=i&&this.unexpected(i),this.eat(p.bracketL)?(h&&this.unexpected(h.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):a.indexers.push(this.flowParseObjectTypeIndexer(u,t,h));else if(this.match(p.parenL)||this.isRelational("<"))null!=i&&this.unexpected(i),h&&this.unexpected(h.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==p.name&&t.type!==p.string&&t.type!==p.num||(e=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(u,t,i,h,e,s,null!=n?n:!l);null===r?(c=!0,o=this.state.lastTokStart):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(p.braceR)||this.match(p.braceBarR)||this.raise(o,H.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(a.inexact=c);const u=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=i,u}flowParseObjectTypeProperty(e,t,s,r,n,i,a){if(this.eat(p.ellipsis))return this.match(p.comma)||this.match(p.semi)||this.match(p.braceR)||this.match(p.braceBarR)?(i?a||this.raise(this.state.lastTokStart,H.InexactInsideExact):this.raise(this.state.lastTokStart,H.InexactInsideNonObject),r&&this.raise(r.start,H.InexactVariance),null):(i||this.raise(this.state.lastTokStart,H.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,H.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=s,e.kind=n;let i=!1;return this.isRelational("<")||this.match(p.parenL)?(e.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==n&&"set"!==n||this.flowCheckGetterSetterParams(e)):("init"!==n&&this.unexpected(),e.method=!1,this.eat(p.question)&&(i=!0),e.value=this.flowParseTypeInitialiser(),e.variance=r),e.optional=i,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,s=e.start;e.value.params.length+(e.value.rest?1:0)!==t&&("get"===e.kind?this.raise(s,P.BadGetterArity):this.raise(s,P.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(s,P.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(p.semi)||this.eat(p.comma)||this.match(p.braceR)||this.match(p.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,s){e=e||this.state.start,t=t||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(p.dot);){const s=this.startNodeAt(e,t);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(e,t,s){const r=this.startNodeAt(e,t);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(e,t,s),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(p._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(p.bracketL);this.state.possuper.parseFunctionBody(e,!0,s))):super.parseFunctionBody(e,!1,s)}parseFunctionBodyAndFinish(e,t,s=!1){if(this.match(p.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,s)}parseStatement(e,t){if(this.state.strict&&this.match(p.name)&&"interface"===this.state.value){const e=this.lookahead();if(e.type===p.name||q(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 s=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(p._class)||this.match(p.name)||this.match(p._function)||this.match(p._var)||this.match(p._export))return this.flowParseDeclare(e)}else if(this.match(p.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(p.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,s,r){if(!this.match(p.question))return e;if(r){const n=this.tryParse((()=>super.parseConditional(e,t,s)));return n.node?(n.error&&(this.state=n.failState),n.node):(r.start=n.error.pos||this.state.start,e)}this.expect(p.question);const n=this.state.clone(),i=this.state.noArrowAt,a=this.startNodeAt(t,s);let{consequent:o,failed:l}=this.tryParseConditionalConsequent(),[c,u]=this.getArrowLikeExpressions(o);if(l||u.length>0){const e=[...i];if(u.length>0){this.state=n,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(n.start,H.AmbiguousConditionalArrow),l&&1===c.length&&(this.state=n,this.state.noArrowAt=e.concat(c[0].start),({consequent:o,failed:l}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=i,this.expect(p.colon),a.test=e,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(p.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const s=[e],r=[];for(;0!==s.length;){const e=s.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):r.push(e),s.push(e.body)):"ConditionalExpression"===e.type&&(s.push(e.consequent),s.push(e.alternate))}return t?(r.forEach((e=>this.finishArrowValidation(e))),[r,[]]):function(e,t){const s=[],r=[];for(let n=0;ne.params.every((e=>this.isAssignable(e,!0)))))}finishArrowValidation(e){var t;this.toAssignableList(e.params,null==(t=e.extra)?void 0:t.trailingComma),this.scope.enter(6),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=t(),this.state.noArrowParamsConversionAt.pop()):s=t(),s}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(p.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(p.colon)){const r=this.startNodeAt(t,s);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(p.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!==p.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,s=super.maybeParseExportNamespaceSpecifier(e);return s&&"type"===e.exportKind&&this.unexpected(t),s}parseClassId(e,t,s){super.parseClassId(e,t,s),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,s){const r=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,s),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type?this.raise(r,H.DeclareClassElement):t.value&&this.raise(t.value.start,H.DeclareClassFieldInitializer))}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(p.braceBarL,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?this.finishOp(p.question,1):function(e,t){return 64===e&&64===t}(e,t)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(e):this.finishOp(p.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,s)=>"ObjectMethod"!==e.type&&(s===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){return"TypeCastExpression"===e.type?super.toAssignable(this.typeCastToParameter(e)):super.toAssignable(e)}toAssignableList(e,t){for(let t=0;t1||!t)&&this.raise(n.typeAnnotation.start,H.TypeCastInPattern)}return e}parseArrayLike(e,t,s,r){const n=super.parseArrayLike(e,t,s,r);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}checkLVal(e,t=64,s,r){if("TypeCastExpression"!==e.type)return super.checkLVal(e,t,s,r)}parseClassProperty(e){return this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(p.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(p.colon)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,s,r,n,i){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,s,r,n,i)}pushClassPrivateMethod(e,t,s,r){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,s,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(p.comma))}}parsePropertyName(e,t){const s=this.flowParseVariance(),r=super.parsePropertyName(e,t);return e.variance=s,r}parseObjPropValue(e,t,s,r,n,i,a,o){let l;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!a&&(l=this.flowParseTypeParameterDeclaration(),this.match(p.parenL)||this.unexpected()),super.parseObjPropValue(e,t,s,r,n,i,a,o),l&&((e.value||e).typeParameters=l)}parseAssignableListItemTypes(e){return this.eat(p.question)&&("Identifier"!==e.type&&this.raise(e.start,H.OptionalBindingPattern),e.optional=!0),this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(e),e}parseMaybeDefault(e,t,s){const r=super.parseMaybeDefault(e,t,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(e,t,s)),i),!n.error)return n.node;const{context:r}=this.state;r[r.length-1]===v.j_oTag?r.length-=2:r[r.length-1]===v.j_expr&&(r.length-=1)}if((null==(r=n)?void 0:r.error)||this.isRelational("<")){var a,o;let r;i=i||this.state.clone();const l=this.tryParse((n=>{var i;r=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(r,(()=>{const n=super.parseMaybeAssign(e,t,s);return this.resetStartLocationFromNode(n,r),n}));"ArrowFunctionExpression"!==a.type&&(null==(i=a.extra)?void 0:i.parenthesized)&&n();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),a}),i);let c=null;if(l.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(l.node).type){if(!l.error&&!l.aborted)return l.node.async&&this.raise(r.start,H.UnexpectedTypeParameterBeforeAsyncArrowFunction),l.node;c=l.node}if(null==(a=n)?void 0:a.node)return this.state=n.failState,n.node;if(c)return this.state=l.failState,c;if(null==(o=n)?void 0:o.thrown)throw n.error;if(l.thrown)throw l.error;throw this.raise(r.start,H.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,s)}parseArrow(e){if(this.match(p.colon)){const t=this.tryParse((()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(p.arrow)||this.unexpected(),s}));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(p.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(e.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,s,r){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const r=this.startNodeAt(t,s);r.callee=e,r.arguments=this.parseCallExpressionArguments(p.parenR,!1),e=this.finishNode(r,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const n=this.state.clone(),i=this.tryParse((e=>this.parseAsyncArrowWithTypeParameters(t,s)||e()),n);if(!i.error&&!i.aborted)return i.node;const a=this.tryParse((()=>super.parseSubscripts(e,t,s,r)),n);if(a.node&&!a.error)return a.node;if(i.node)return this.state=i.failState,i.node;if(a.node)return this.state=a.failState,a.node;throw i.error||a.error}return super.parseSubscripts(e,t,s,r)}parseSubscript(e,t,s,r,n){if(this.match(p.questionDot)&&this.isLookaheadToken_lt()){if(n.optionalChainMember=!0,r)return n.stop=!0,e;this.next();const i=this.startNodeAt(t,s);return i.callee=e,i.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(p.parenL),i.arguments=this.parseCallExpressionArguments(p.parenR,!1),i.optional=!0,this.finishCallExpression(i,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(t,s);r.callee=e;const i=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(p.parenL),r.arguments=this.parseCallExpressionArguments(p.parenR,!1),n.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,n.optionalChainMember))));if(i.node)return i.error&&(this.state=i.failState),i.node}return super.parseSubscript(e,t,s,r,n)}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 s=this.startNodeAt(e,t);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,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(p.braceBarR,2)}parseTopLevel(e,t){const s=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,H.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,H.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,P.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 s=this.input.charCodeAt(t+e),r=this.input.charCodeAt(t+e+1);return 58===s&&58===r?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===s&&58!==r&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,P.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,H.EnumBooleanMemberNotInitialized,s,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(e,H.EnumInvalidMemberName,s,r,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:s}){this.raise(e,H.EnumDuplicateMemberName,s,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,H.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:s}){return this.raise(e,null===s?H.EnumInvalidExplicitTypeUnknownSupplied:H.EnumInvalidExplicitType,t,s)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:s,memberName:r}){let n=null;switch(s){case"boolean":case"number":case"string":n=H.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":n=H.EnumInvalidMemberInitializerSymbolType;break;default:n=H.EnumInvalidMemberInitializerUnknownType}return this.raise(e,n,t,r,s)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,H.EnumNumberMemberNotInitialized,t,s)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,H.EnumStringMemberInconsistentlyInitailized,t)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(p.comma)||this.match(p.braceR);switch(this.state.type){case p.num:{const s=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:s.start,value:s}:{type:"invalid",pos:e}}case p.string:{const s=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:s.start,value:s}:{type:"invalid",pos:e}}case p._true:case p._false:{const s=this.parseBooleanLiteral();return t()?{type:"boolean",pos:s.start,value:s}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(p.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,s){const{explicitType:r}=t;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};for(;!this.match(p.braceR);){const n=this.startNode(),{id:i,init:a}=this.flowEnumMemberRaw(),o=i.name;if(""===o)continue;/^[a-z]/.test(o)&&this.flowEnumErrorInvalidMemberName(i.start,{enumName:e,memberName:o}),s.has(o)&&this.flowEnumErrorDuplicateMemberName(i.start,{enumName:e,memberName:o}),s.add(o);const l={enumName:e,explicitType:t,memberName:o};switch(n.id=i,a.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"boolean"),n.init=a.value,r.booleanMembers.push(this.finishNode(n,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"number"),n.init=a.value,r.numberMembers.push(this.finishNode(n,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"string"),n.init=a.value,r.stringMembers.push(this.finishNode(n,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(a.pos,l);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(a.pos,l);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(a.pos,l);break;default:r.defaultedMembers.push(this.finishNode(n,"EnumDefaultedMember"))}}this.match(p.braceR)||this.expect(p.comma)}return r}flowEnumStringMembers(e,t,{enumName:s}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(let t=0;t(e.members=[],this.expect(p.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const i=n.booleanMembers.length,a=n.numberMembers.length,o=n.stringMembers.length,l=n.defaultedMembers.length;if(i||a||o||l){if(i||a){if(!a&&!o&&i>=l){for(let e=0,s=n.defaultedMembers;e=l){for(let e=0,s=n.defaultedMembers;eclass extends e{getScopeHandler(){return ie}tsIsIdentifier(){return this.match(p.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(p.parenL)||this.match(p.parenR)||this.match(p.colon)||this.match(p.eq)||this.match(p.question)||this.match(p.bang))}tsParseModifier(e){if(!this.match(p.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e,t){for(;;){const s=this.state.start,r=this.tsParseModifier(t);if(!r)break;Object.hasOwnProperty.call(e,r)&&this.raise(s,pe.DuplicateModifier,r),e[r]=!0}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(p.braceR);case"HeritageClauseElement":return this.match(p.braceL);case"TupleElementTypes":return this.match(p.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const s=[];for(;!this.tsIsListTerminator(e);)s.push(t());return s}tsParseDelimitedList(e,t){return le(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,s){const r=[];for(;!this.tsIsListTerminator(e);){const n=t();if(null==n)return;if(r.push(n),!this.eat(p.comma)){if(this.tsIsListTerminator(e))break;return void(s&&this.expect(p.comma))}}return r}tsParseBracketedList(e,t,s,r){r||(s?this.expect(p.bracketL):this.expectRelational("<"));const n=this.tsParseDelimitedList(e,t);return s?this.expect(p.bracketR):this.expectRelational(">"),n}tsParseImportType(){const e=this.startNode();return this.expect(p._import),this.expect(p.parenL),this.match(p.string)||this.raise(this.state.start,pe.UnsupportedImportTypeArgument),e.argument=this.parseExprAtom(),this.expect(p.parenR),this.eat(p.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(p.dot);){const s=this.startNodeAtNode(t);s.left=t,s.right=this.parseIdentifier(e),t=this.finishNode(s,"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),this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(p._typeof),this.match(p._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(p._extends),e.default=this.tsEatThenParseType(p.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(p.jsxTagStart)?this.next():this.unexpected(),e.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),0===e.params.length&&this.raise(e.start,pe.EmptyTypeParameters),this.finishNode(e,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===p._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const s=e===p.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(p.parenL),t.parameters=this.tsParseBindingListForSignature(),(s||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(p.parenR,41).map((e=>("Identifier"!==e.type&&"RestElement"!==e.type&&"ObjectPattern"!==e.type&&"ArrayPattern"!==e.type&&this.raise(e.start,pe.UnsupportedSignatureParameterKind,e.type),e)))}tsParseTypeMemberSemicolon(){this.eat(p.comma)||this.semicolon()}tsParseSignatureMember(e,t){return this.tsFillSignature(p.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(p.name)&&this.match(p.colon)}tsTryParseIndexSignature(e){if(!this.match(p.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(p.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(p.bracketR),e.parameters=[t];const s=this.tsTryParseTypeAnnotation();return s&&(e.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(p.question)&&(e.optional=!0);const s=e;if(t||!this.match(p.parenL)&&!this.isRelational("<")){const e=s;t&&(e.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSPropertySignature")}{const e=s;return this.tsFillSignature(p.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSMethodSignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(p.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(p._new)){const t=this.startNode();return this.next(),this.match(p.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}const t=!!this.tsParseModifier(["readonly"]),s=this.tsTryParseIndexSignature(e);return s?(t&&(e.readonly=!0),s):(this.parsePropertyName(e,!1),this.tsParsePropertyOrMethodSignature(e,t))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(p.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(p.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(p.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(p.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(p._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(p._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(p.braceL),this.match(p.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(p.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(p.bracketR),this.match(p.plusMin)?(e.optional=this.state.value,this.next(),this.expect(p.question)):this.eat(p.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(p.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,s=null;return e.elementTypes.forEach((e=>{var r;let{type:n}=e;!t||"TSRestType"===n||"TSOptionalType"===n||"TSNamedTupleMember"===n&&e.optional||this.raise(e.start,pe.OptionalTypeBeforeRequired),t=t||"TSNamedTupleMember"===n&&e.optional||"TSOptionalType"===n,"TSRestType"===n&&(n=(e=e.typeAnnotation).type);const i="TSNamedTupleMember"===n;s=null!=(r=s)?r:i,s!==i&&this.raise(e.start,pe.MixedLabeledAndUnlabeledElements)})),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,s=this.eat(p.ellipsis);let r=this.tsParseType();const n=this.eat(p.question);if(this.eat(p.colon)){const e=this.startNodeAtNode(r);e.optional=n,"TSTypeReference"!==r.type||r.typeParameters||"Identifier"!==r.typeName.type?(this.raise(r.start,pe.InvalidTupleMemberLabel),e.label=r):e.label=r.typeName,e.elementType=this.tsParseType(),r=this.finishNode(e,"TSNamedTupleMember")}else if(n){const e=this.startNodeAtNode(r);e.typeAnnotation=r,r=this.finishNode(e,"TSOptionalType")}if(s){const s=this.startNodeAt(e,t);s.typeAnnotation=r,r=this.finishNode(s,"TSRestType")}return r}tsParseParenthesizedType(){const e=this.startNode();return this.expect(p.parenL),e.typeAnnotation=this.tsParseType(),this.expect(p.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e){const t=this.startNode();return"TSConstructorType"===e&&this.expect(p._new),this.tsFillSignature(p.arrow,t),this.finishNode(t,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case p.num:case p.bigint:case p.string:case p._true:case p._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 p.name:case p._void:case p._null:{const e=this.match(p._void)?"TSVoidKeyword":this.match(p._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 p.string:case p.num:case p.bigint:case p._true:case p._false:return this.tsParseLiteralTypeNode();case p.plusMin:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();if(t.type!==p.num&&t.type!==p.bigint)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case p._this:return this.tsParseThisTypeOrThisTypePredicate();case p._typeof:return this.tsParseTypeQuery();case p._import:return this.tsParseImportType();case p.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case p.bracketL:return this.tsParseTupleType();case p.parenL:return this.tsParseParenthesizedType();case p.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(p.bracketL);)if(this.match(p.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(p.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(p.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,pe.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,s){this.eat(s);let r=t();if(this.match(s)){const n=[r];for(;this.eat(s);)n.push(t());const i=this.startNodeAtNode(r);i.types=n,r=this.finishNode(i,e)}return r}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),p.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),p.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(p.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(p.name)||this.match(p._this))return this.next(),!0;if(this.match(p.braceL)){let e=1;for(this.next();e>0;)this.match(p.braceL)?++e:this.match(p.braceR)&&--e,this.next();return!0}if(this.match(p.bracketL)){let e=1;for(this.next();e>0;)this.match(p.bracketL)?++e:this.match(p.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(p.parenR)||this.match(p.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(p.colon)||this.match(p.comma)||this.match(p.question)||this.match(p.eq))return!0;if(this.match(p.parenR)&&(this.next(),this.match(p.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType((()=>{const t=this.startNode();this.expect(e);const s=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(s&&this.match(p._this)){let e=this.tsParseThisTypeOrThisTypePredicate();if("TSThisType"===e.type){const s=this.startNodeAtNode(t);s.parameterName=e,s.asserts=!0,e=this.finishNode(s,"TSTypePredicate")}else e.asserts=!0;return t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const r=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!r){if(!s)return this.tsParseTypeAnnotation(!1,t);const e=this.startNodeAtNode(t);return e.parameterName=this.parseIdentifier(),e.asserts=s,t.typeAnnotation=this.finishNode(e,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}const n=this.tsParseTypeAnnotation(!1),i=this.startNodeAtNode(t);return i.parameterName=r,i.typeAnnotation=n,i.asserts=s,t.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(p.colon)?this.tsParseTypeOrTypePredicateAnnotation(p.colon):void 0}tsTryParseTypeAnnotation(){return this.match(p.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(p.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(!this.match(p.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const e=this.state.containsEsc;return this.next(),!(!this.match(p.name)&&!this.match(p._this)||(e&&this.raise(this.state.lastTokStart,P.InvalidEscapedReservedWord,"asserts"),0))}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType((()=>{e&&this.expect(p.colon),t.typeAnnotation=this.tsParseType()})),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){ce(this.state.inType);const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(p._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(p.question),t.trueType=this.tsParseType(),this.expect(p.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(p._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):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,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(t,pe.EmptyHeritageClauseType,e),s}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,130,void 0,"typescript interface declaration"),e.typeParameters=this.tsTryParseTypeParameters(),this.eat(p._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,2,void 0,"typescript type alias"),e.typeParameters=this.tsTryParseTypeParameters(),e.typeAnnotation=this.tsInType((()=>{if(this.expect(p.eq),this.isContextual("intrinsic")&&this.lookahead().type!==p.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(p.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(p.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,t?779:267,void 0,"typescript enum declaration"),this.expect(p.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(p.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(p.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,p.braceR),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){if(e.id=this.parseIdentifier(),t||this.checkLVal(e.id,1024,null,"module or namespace declaration"),this.eat(p.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(128),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(p.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(p.braceL)?(this.scope.enter(128),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,9,void 0,"import equals declaration"),this.expect(p.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(p.parenL),!this.match(p.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(p.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),s=e();return this.state=t,s}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(),s=e();return void 0!==s&&!1!==s?s:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,s=this.state.type;return this.isContextual("let")&&(s=p._var,t="let"),this.tsInDeclareContext((()=>{switch(s){case p._function:return e.declare=!0,this.parseFunctionStatement(e,!1,!0);case p._class:return e.declare=!0,this.parseClass(e,!0,!1);case p._const:if(this.match(p._const)&&this.isLookaheadContextual("enum"))return this.expect(p._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case p._var:return t=t||this.state.value,this.parseVarStatement(e,t);case p.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(p.braceL)){this.scope.enter(128),this.prodParam.enter(0);const s=e;return s.global=!0,s.id=t,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,s){switch(t){case"abstract":if(this.tsCheckLineTerminatorAndMatch(p._class,s)){const t=e;return t.abstract=!0,s&&(this.next(),this.match(p._class)||this.unexpected(null,p._class)),this.parseClass(t,!0,!1)}break;case"enum":if(s||this.match(p.name))return s&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminatorAndMatch(p.name,s))return s&&this.next(),this.tsParseInterfaceDeclaration(e);break;case"module":if(s&&this.next(),this.match(p.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.tsCheckLineTerminatorAndMatch(p.name,s))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"namespace":if(this.tsCheckLineTerminatorAndMatch(p.name,s))return s&&this.next(),this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminatorAndMatch(p.name,s))return s&&this.next(),this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminatorAndMatch(e,t){return(t||this.match(e))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(e,t);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(p.arrow),s}));return this.state.maybeInArrowParameters=s,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,pe.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(p.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 s=this.state.start,r=this.state.startLoc;let n,i=!1;void 0!==e&&(n=this.parseAccessModifier(),i=!!this.tsParseModifier(["readonly"]),!1===e&&(n||i)&&this.raise(s,pe.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(n||i){const e=this.startNodeAt(s,r);return t.length&&(e.decorators=t),n&&(e.accessibility=n),i&&(e.readonly=i),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,pe.UnsupportedParameterPropertyKind),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(a.decorators=t),o}parseFunctionBodyAndFinish(e,t,s=!1){this.match(p.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(p.colon));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;r&&!this.match(p.braceL)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isDeclareContext&&(this.raise(e.start,pe.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,r,s):super.parseFunctionBodyAndFinish(e,t,s)}registerFunctionStatementId(e){!e.body&&e.id?this.checkLVal(e.id,1024,null,"function name"):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(e){e.forEach((e=>{"TSTypeCastExpression"===(null==e?void 0:e.type)&&this.raise(e.typeAnnotation.start,pe.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,s,r,n){if(!this.hasPrecedingLineBreak()&&this.match(p.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(t,s);return r.expression=e,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const i=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,s);if(e)return e}const i=this.startNodeAt(t,s);i.callee=e;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(p.parenL))return i.arguments=this.parseCallExpressionArguments(p.parenR,!1),this.tsCheckForInvalidTypeCasts(i.arguments),i.typeParameters=a,this.finishCallExpression(i,n.optionalChainMember);if(this.match(p.backQuote)){const r=this.parseTaggedTemplateExpression(e,t,s,n);return r.typeParameters=a,r}}this.unexpected()}));if(i)return i}return super.parseSubscript(e,t,s,r,n)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch((()=>{const e=this.tsParseTypeArguments();return this.match(p.parenL)||this.unexpected(),e}));t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,s,r){if(le(p._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const n=this.startNodeAt(t,s);n.expression=e;const i=this.tsTryNextParseConstantContext();return n.typeAnnotation=i||this.tsNextThenParseType(),this.finishNode(n,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(n,t,s,r)}return super.parseExprOp(e,t,s,r)}checkReservedWord(e,t,s,r){}checkDuplicateExports(){}parseImport(e){if(this.match(p.name)||this.match(p.star)||this.match(p.braceL)){const t=this.lookahead();if(this.match(p.name)&&t.type===p.eq)return this.tsParseImportEqualsDeclaration(e);!this.isContextual("type")||t.type===p.comma||t.type===p.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(p._import))return this.expect(p._import),this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(p.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===p.braceL?(this.next(),e.exportKind="type"):e.exportKind="value",super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===p._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),this.parseClass(e,!0,!0),e.abstract=!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===p._const){const e=this.lookahead();if(e.type===p.name&&"enum"===e.value){const e=this.startNode();return this.expect(p._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(e,t,s){this.tsParseModifiers(t,["declare"]);const r=this.parseAccessModifier();r&&(t.accessibility=r),this.tsParseModifiers(t,["declare"]);const n=()=>{super.parseClassMember(e,t,s)};t.declare?this.tsInDeclareContext(n):n()}parseClassMemberWithIsStatic(e,t,s,r){this.tsParseModifiers(t,["abstract","readonly","declare"]);const n=this.tsTryParseIndexSignature(t);if(n)return e.body.push(n),t.abstract&&this.raise(t.start,pe.IndexSignatureHasAbstract),r&&this.raise(t.start,pe.IndexSignatureHasStatic),t.accessibility&&this.raise(t.start,pe.IndexSignatureHasAccessibility,t.accessibility),void(t.declare&&this.raise(t.start,pe.IndexSignatureHasDeclare));super.parseClassMemberWithIsStatic(e,t,s,r)}parsePostMemberNameModifiers(e){this.eat(p.question)&&(e.optional=!0),e.readonly&&this.match(p.parenL)&&this.raise(e.start,pe.ClassMethodHasReadonly),e.declare&&this.match(p.parenL)&&this.raise(e.start,pe.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,s,r){if(!r||!this.match(p.question))return super.parseConditional(e,t,s,r);const n=this.tryParse((()=>super.parseConditional(e,t,s)));return n.node?(n.error&&(this.state=n.failState),n.node):(r.start=n.error.pos||this.state.start,e)}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(p.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(p.colon)){const r=this.startNodeAt(t,s);return r.expression=e,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,s=this.state.startLoc,r=this.eatContextual("declare");let n;return this.match(p.name)&&(n=this.tsTryParseExportDeclaration()),n||(n=super.parseExportDeclaration(e)),n&&("TSInterfaceDeclaration"===n.type||"TSTypeAliasDeclaration"===n.type||r)&&(e.exportKind="type"),n&&r&&(this.resetStartLocation(n,t,s),n.declare=!0),n}parseClassId(e,t,s){if((!t||s)&&this.isContextual("implements"))return;super.parseClassId(e,t,s,e.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(p.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),this.state.isDeclareContext&&this.match(p.eq)&&this.raise(this.state.start,pe.DeclareClassFieldHasInitializer),super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(e.start,pe.PrivateElementHasAbstract),e.accessibility&&this.raise(e.start,pe.PrivateElementHasAccessibility,e.accessibility),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}pushClassMethod(e,t,s,r,n,i){const a=this.tsTryParseTypeParameters();a&&n&&this.raise(a.start,pe.ConstructorHasTypeParameters),a&&(t.typeParameters=a),super.pushClassMethod(e,t,s,r,n,i)}pushClassPrivateMethod(e,t,s,r){const n=this.tsTryParseTypeParameters();n&&(t.typeParameters=n),super.pushClassPrivateMethod(e,t,s,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 s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(p.bang)&&(e.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(e.id.typeAnnotation=s,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(p.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,s,r,n,i,a,o;let l,c,u,h;if(this.match(p.jsxTagStart)){if(l=this.state.clone(),c=this.tryParse((()=>super.parseMaybeAssign(...e)),l),!c.error)return c.node;const{context:t}=this.state;t[t.length-1]===v.j_oTag?t.length-=2:t[t.length-1]===v.j_expr&&(t.length-=1)}if(!(null==(t=c)?void 0:t.error)&&!this.isRelational("<"))return super.parseMaybeAssign(...e);l=l||this.state.clone();const d=this.tryParse((t=>{var s;h=this.tsParseTypeParameters();const r=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==r.type||r.extra&&r.extra.parenthesized)&&t(),0!==(null==(s=h)?void 0:s.params.length)&&this.resetStartLocationFromNode(r,h),r.typeParameters=h,r}),l);if(!d.error&&!d.aborted)return d.node;if(!c&&(ce(!this.hasPlugin("jsx")),u=this.tryParse((()=>super.parseMaybeAssign(...e)),l),!u.error))return u.node;if(null==(s=c)?void 0:s.node)return this.state=c.failState,c.node;if(d.node)return this.state=d.failState,d.node;if(null==(r=u)?void 0:r.node)return this.state=u.failState,u.node;if(null==(n=c)?void 0:n.thrown)throw c.error;if(d.thrown)throw d.error;if(null==(i=u)?void 0:i.thrown)throw u.error;throw(null==(a=c)?void 0:a.error)||d.error||(null==(o=u)?void 0:o.error)}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(p.colon)){const t=this.tryParse((e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(p.colon);return!this.canInsertSemicolon()&&this.match(p.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(p.question)&&("Identifier"===e.type||this.state.isDeclareContext||this.state.inType||this.raise(e.start,pe.PatternIsOptional),e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}toAssignable(e){switch(e.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(e));case"TSParameterProperty":default:return super.toAssignable(e);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression),e}}checkLVal(e,t=64,s,r){switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,t,s,"parameter property");case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(e.expression,t,s,r);default:return void super.checkLVal(e,t,s,r)}}parseBindingAtom(){return this.state.type===p._this?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(p.parenL)){const s=super.parseMaybeDecoratorArguments(e);return s.typeParameters=t,s}this.unexpected(this.state.start,p.parenL)}return super.parseMaybeDecoratorArguments(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(p.bang)||this.match(p.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),s=e.params[0];return s&&"Identifier"===s.type&&"this"===s.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}}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(p.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(p.modulo),this.match(p.name)){const e=this.parseIdentifierName(this.state.start),s=this.createIdentifier(t,e);if(s.type="V8IntrinsicIdentifier",this.match(p.parenL))return s}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(p.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(p.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const s=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,s?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(p.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)}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(p.colon)){const s=e;return s.label=this.finishPlaceholder(t,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"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,s){const r=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const n=this.state.strict,i=this.parsePlaceholder("Identifier");if(i)if(this.match(p._extends)||this.match(p.placeholder)||this.match(p.braceL))e.id=i;else{if(s||!t)return e.id=null,e.body=this.finishPlaceholder(i,"ClassBody"),this.finishNode(e,r);this.unexpected(null,"A class name is required")}else this.parseClassId(e,t,s);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,n),this.finishNode(e,r)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(p.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=t,e.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(e)}isExportDefaultSpecifier(){if(this.match(p._default)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(p.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?void 0: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(p.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const s=this.startNodeAtNode(t);return s.local=t,this.finishNode(s,"ImportDefaultSpecifier"),e.specifiers.push(s),this.eat(p.comma)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},ye=Object.keys(me),ge={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 be{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.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=p.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[v.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.octalPositions=[],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 be,s=Object.keys(this);for(let r=0,n=s.length;r=48&&e<=57};const xe=new Set(["g","m","s","i","y","u"]),Pe={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Se={bin:[48,49]};Se.oct=[...Se.bin,50,51,52,53,54,55],Se.dec=[...Se.oct,56,57],Se.hex=[...Se.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Ee{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 Ae extends S{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.state=new be,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 Ee(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){return f.lastIndex=e,e+f.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(e){if(this.state.strict=e,this.match(p.num)||this.match(p.string)){for(this.state.pos=this.state.start;this.state.pos=this.length)return void this.finishToken(p.eof);const t=null==e?void 0:e.override;t?t(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(e,t,s,r,n,i){const a={type:e?"CommentBlock":"CommentLine",value:t,start:s,end:r,loc:new g(n,i)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,s=this.input.indexOf("*/",this.state.pos+2);if(-1===s)throw this.raise(t,P.UnterminatedComment);let r;for(this.state.pos=s+2,h.lastIndex=t;(r=h.exec(this.input))&&r.index=48&&t<=57)throw this.raise(this.state.pos,P.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?P.RecordExpressionHashIncorrectStartSyntaxType:P.TupleExpressionHashIncorrectStartSyntaxType);123===t?this.finishToken(p.braceHashL):this.finishToken(p.bracketHashL),this.state.pos+=2}else this.finishOp(p.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(p.ellipsis)):(++this.state.pos,this.finishToken(p.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(p.assign,2):this.finishOp(p.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(p.question)):(this.state.pos+=2,this.finishToken(p.questionDot))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(p.parenL);case 41:return++this.state.pos,void this.finishToken(p.parenR);case 59:return++this.state.pos,void this.finishToken(p.semi);case 44:return++this.state.pos,void this.finishToken(p.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,P.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(p.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(p.bracketL);return;case 93:return++this.state.pos,void this.finishToken(p.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,P.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(p.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(p.braceL);return;case 125:return++this.state.pos,void this.finishToken(p.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(p.doubleColon,2):(++this.state.pos,this.finishToken(p.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(p.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(p.tilde,1);case 64:return++this.state.pos,void this.finishToken(p.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(D(e))return void this.readWord()}throw this.raise(this.state.pos,P.InvalidOrUnexpectedToken,String.fromCodePoint(e))}finishOp(e,t){const s=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,s)}readRegexp(){const e=this.state.pos;let t,s;for(;;){if(this.state.pos>=this.length)throw this.raise(e,P.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(u.test(r))throw this.raise(e,P.UnterminatedRegExp);if(t)t=!1;else{if("["===r)s=!0;else if("]"===r&&s)s=!1;else if("/"===r&&!s)break;t="\\\\"===r}++this.state.pos}const r=this.input.slice(e,this.state.pos);++this.state.pos;let n="";for(;this.state.pos-1&&this.raise(this.state.pos+1,P.DuplicateRegExpFlags);else{if(!M(t)&&92!==t)break;this.raise(this.state.pos+1,P.MalformedRegExpFlags)}++this.state.pos,n+=e}this.finishToken(p.regexp,{pattern:r,flags:n})}readInt(e,t,s,r=!0){const n=this.state.pos,i=16===e?Pe.hex:Pe.decBinOct,a=16===e?Se.hex:10===e?Se.dec:8===e?Se.oct:Se.bin;let o=!1,l=0;for(let n=0,c=null==t?1/0:t;n=97?t-97+10:t>=65?t-65+10:Te(t)?t-48:1/0,c>=e)if(this.options.errorRecovery&&c<=9)c=0,this.raise(this.state.start+n+2,P.InvalidDigit,e);else{if(!s)break;c=0,o=!0}++this.state.pos,l=l*e+c}else{const e=this.input.charCodeAt(this.state.pos-1),t=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(t)||i.indexOf(e)>-1||i.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,P.UnexpectedNumericSeparator),r||this.raise(this.state.pos,P.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===n||null!=t&&this.state.pos-n!==t||o?null:l}readRadixNumber(e){const t=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(e);null==r&&this.raise(this.state.start+2,P.InvalidDigit,e);const n=this.input.charCodeAt(this.state.pos);if(110===n)++this.state.pos,s=!0;else if(109===n)throw this.raise(t,P.InvalidDecimal);if(D(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,P.NumberIdentifier);if(s){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(p.bigint,e)}else this.finishToken(p.num,r)}readNumber(e){const t=this.state.pos;let s=!1,r=!1,n=!1,i=!1,a=!1;e||null!==this.readInt(10)||this.raise(t,P.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.state.strict)this.raise(t,P.StrictOctalLiteral);else{const s=e.indexOf("_");s>0&&this.raise(s+t,P.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(e)}let l=this.input.charCodeAt(this.state.pos);if(46!==l||a||(++this.state.pos,this.readInt(10),s=!0,l=this.input.charCodeAt(this.state.pos)),69!==l&&101!==l||a||(l=this.input.charCodeAt(++this.state.pos),43!==l&&45!==l||++this.state.pos,null===this.readInt(10)&&this.raise(t,P.InvalidOrMissingExponent),s=!0,i=!0,l=this.input.charCodeAt(this.state.pos)),110===l&&((s||o)&&this.raise(t,P.InvalidBigIntLiteral),++this.state.pos,r=!0),109===l&&(this.expectPlugin("decimal",this.state.pos),(i||o)&&this.raise(t,P.InvalidDecimal),++this.state.pos,n=!0),D(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,P.NumberIdentifier);const c=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(p.bigint,c);if(n)return void this.finishToken(p.decimal,c);const u=a?parseInt(c,8):parseFloat(c);this.finishToken(p.num,u)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const s=++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(s,P.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,P.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;if(92===r)t+=this.input.slice(s,this.state.pos),t+=this.readEscapedChar(!1),s=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,P.UnterminatedString);++this.state.pos}}t+=this.input.slice(s,this.state.pos++),this.finishToken(p.string,t)}readTmplToken(){let e="",t=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,P.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(p.template)?36===r?(this.state.pos+=2,void this.finishToken(p.dollarBraceL)):(++this.state.pos,void this.finishToken(p.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(p.template,s?null:e));if(92===r){e+=this.input.slice(t,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!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}}readEscapedChar(e){const t=!e,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){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.state.strict&&this.raise(this.state.pos-1,P.StrictNumericEscape);default:if(s>=48&&s<=55){const t=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const n=this.input.charCodeAt(this.state.pos);if("0"!==s||56===n||57===n){if(e)return null;this.state.strict?this.raise(t,P.StrictNumericEscape):this.state.octalPositions.push(t)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(e,t,s){const r=this.state.pos,n=this.readInt(16,e,t,!1);return null===n&&(s?this.raise(r,P.InvalidEscapeSequence):this.state.pos=r-1),n}readWord1(){let e="";this.state.containsEsc=!1;const t=this.state.pos;let s=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 s={node:null};try{const r=e(((e=null)=>{throw s.node=e,s}));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===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:s,doubleProto:r}=e;if(!t)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,P.DuplicateProto)}isLiteralPropertyName(){return this.match(p.name)||!!this.state.type.keyword||this.match(p.string)||this.match(p.num)||this.match(p.bigint)||this.match(p.decimal)}}class we{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Ce{constructor(e,t,s){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(s),(null==e?void 0:e.options.ranges)&&(this.range=[t,0]),(null==e?void 0:e.filename)&&(this.loc.filename=e.filename)}__clone(){const e=new Ce,t=Object.keys(this);for(let s=0,r=t.length;s"ParenthesizedExpression"===e.type?Oe(e.expression):e;class Ne extends Ie{toAssignable(e){var t,s;let r;switch(("ParenthesizedExpression"===e.type||(null==(t=e.extra)?void 0:t.parenthesized))&&(r=Oe(e),"Identifier"!==r.type&&"MemberExpression"!==r.type&&this.raise(e.start,P.InvalidParenthesizedAssignment)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(let t=0,s=e.properties.length,r=s-1;t{this.raise(s,t);let r=e.length-2,n=e[r];for(;n.canBeArrowParameterDeclaration();)n.clearDeclarationError(s),n=e[--r]}))}}function Me(){return new ke}class _e extends Ne{checkProto(e,t,s,r){if("SpreadElement"===e.type||"ObjectMethod"===e.type||e.computed||e.shorthand)return;const n=e.key;if("__proto__"===("Identifier"===n.type?n.name:n.value)){if(t)return void this.raise(n.start,P.RecordNoProto);s.used&&(r?-1===r.doubleProto&&(r.doubleProto=n.start):this.raise(n.start,P.DuplicateProto)),s.used=!0}}shouldExitDescending(e,t){return"ArrowFunctionExpression"===e.type&&e.start===t}getExpression(){let e=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e),this.nextToken();const t=this.parseExpression();return this.match(p.eof)||this.unexpected(),t.comments=this.state.comments,t.errors=this.state.errors,t}parseExpression(e,t){return e?this.disallowInAnd((()=>this.parseExpressionBase(t))):this.allowInAnd((()=>this.parseExpressionBase(t)))}parseExpressionBase(e){const t=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(e);if(this.match(p.comma)){const n=this.startNodeAt(t,s);for(n.expressions=[r];this.eat(p.comma);)n.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(n.expressions),this.finishNode(n,"SequenceExpression")}return r}parseMaybeAssignDisallowIn(e,t,s){return this.disallowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssignAllowIn(e,t,s){return this.allowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssign(e,t,s){const r=this.state.start,n=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,n)),e}let i;e?i=!1:(e=new we,i=!0),(this.match(p.parenL)||this.match(p.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e,s);if(t&&(a=t.call(this,a,r,n)),this.state.type.isAssign){const t=this.startNodeAt(r,n),s=this.state.value;return t.operator=s,this.match(p.eq)?(t.left=this.toAssignable(a),e.doubleProto=-1):t.left=a,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(a,void 0,void 0,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),a}parseMaybeConditional(e,t){const s=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprOps(e);return this.shouldExitDescending(i,n)?i:this.parseConditional(i,s,r,t)}parseConditional(e,t,s,r){if(this.eat(p.question)){const r=this.startNodeAt(t,s);return r.test=e,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(p.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseMaybeUnary(e);return this.shouldExitDescending(n,r)?n:this.parseExprOp(n,t,s,-1)}parseExprOp(e,t,s,r){let n=this.state.type.binop;if(null!=n&&(this.prodParam.hasIn||!this.match(p._in))&&n>r){const i=this.state.type;if(i===p.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const a=this.startNodeAt(t,s);a.left=e,a.operator=this.state.value,i!==p.exponent||"UnaryExpression"!==e.type||!this.options.createParenthesizedExpressions&&e.extra&&e.extra.parenthesized||this.raise(e.argument.start,P.UnexpectedTokenUnaryExponentiation);const o=i===p.logicalOR||i===p.logicalAND,l=i===p.nullishCoalescing;if(l&&(n=p.logicalAND.binop),this.next(),i===p.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(p.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,P.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(i,n),this.finishNode(a,o||l?"LogicalExpression":"BinaryExpression");const c=this.state.type;if(l&&(c===p.logicalOR||c===p.logicalAND)||o&&c===p.nullishCoalescing)throw this.raise(this.state.start,P.MixingCoalesceWithLogical);return this.parseExprOp(a,t,s,r)}return e}parseExprOpRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;if(e===p.pipeline)switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),s,r)));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(t)))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,r,e.rightAssociative?t-1:t)}parseMaybeUnary(e){if(this.isContextual("await")&&this.isAwaitAllowed())return this.parseAwait();const t=this.match(p.incDec),s=this.startNode();if(this.state.type.prefix){s.operator=this.state.value,s.prefix=!0,this.match(p._throw)&&this.expectPlugin("throwExpressions");const r=this.match(p._delete);if(this.next(),s.argument=this.parseMaybeUnary(),this.checkExpressionErrors(e,!0),this.state.strict&&r){const e=s.argument;"Identifier"===e.type?this.raise(s.start,P.StrictDelete):"MemberExpression"!==e.type&&"OptionalMemberExpression"!==e.type||"PrivateName"!==e.property.type||this.raise(s.start,P.DeletePrivateField)}if(!t)return this.finishNode(s,"UnaryExpression")}return this.parseUpdate(s,t,e)}parseUpdate(e,t,s){if(t)return this.checkLVal(e.argument,void 0,void 0,"prefix operation"),this.finishNode(e,"UpdateExpression");const r=this.state.start,n=this.state.startLoc;let i=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return i;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(r,n);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.checkLVal(i,void 0,void 0,"postfix operation"),this.next(),i=this.finishNode(e,"UpdateExpression")}return i}parseExprSubscripts(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseExprAtom(e);return this.shouldExitDescending(n,r)?n:this.parseSubscripts(n,t,s)}parseSubscripts(e,t,s,r){const n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,s,r,n),n.maybeAsyncArrow=!1}while(!n.stop);return e}parseSubscript(e,t,s,r,n){if(!r&&this.eat(p.doubleColon))return this.parseBind(e,t,s,r,n);if(this.match(p.backQuote))return this.parseTaggedTemplateExpression(e,t,s,n);let i=!1;if(this.match(p.questionDot)){if(n.optionalChainMember=i=!0,r&&40===this.lookaheadCharCode())return n.stop=!0,e;this.next()}return!r&&this.match(p.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,s,n,i):i||this.match(p.bracketL)||this.eat(p.dot)?this.parseMember(e,t,s,n,i):(n.stop=!0,e)}parseMember(e,t,s,r,n){const i=this.startNodeAt(t,s),a=this.eat(p.bracketL);i.object=e,i.computed=a;const o=a?this.parseExpression():this.parseMaybePrivateName(!0);return"PrivateName"===o.type&&("Super"===i.object.type&&this.raise(t,P.SuperPrivateField),this.classScope.usePrivateName(o.id.name,o.start)),i.property=o,a&&this.expect(p.bracketR),r.optionalChainMember?(i.optional=n,this.finishNode(i,"OptionalMemberExpression")):this.finishNode(i,"MemberExpression")}parseBind(e,t,s,r,n){const i=this.startNodeAt(t,s);return i.object=e,i.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),t,s,r)}parseCoverCallAndAsyncArrowHead(e,t,s,r,n){const i=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(t,s);return a.callee=e,r.maybeAsyncArrow&&this.expressionScope.enter(new Le(2)),r.optionalChainMember&&(a.optional=n),a.arguments=n?this.parseCallExpressionArguments(p.parenR,!1):this.parseCallExpressionArguments(p.parenR,r.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,a),this.finishCallExpression(a,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!n?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,s),a)):(r.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=i,a}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,s,r){const n=this.startNodeAt(t,s);return n.tag=e,n.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(t,P.OptionalChainingNoTemplate),this.finishNode(n,"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,P.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(let t=0,s=e.arguments;t1?(r=this.startNodeAt(a,o),r.expressions=l,this.finishNodeAt(r,"SequenceExpression",m,y)):r=l[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t),r;const b=this.startNodeAt(t,s);return b.expression=r,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(p.arrow))return e}parseParenItem(e,t,s){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(p.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const s=this.parseMetaProperty(e,t,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let e=P.UnexpectedNewTarget;this.hasPlugin("classProperties")&&(e+=" or class properties"),this.raise(s.start,e)}return s}return this.parseNew(e)}parseNew(e){return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,P.ImportCallNotNewExpression):"OptionalMemberExpression"===e.callee.type||"OptionalCallExpression"===e.callee.type?this.raise(this.state.lastTokEnd,P.OptionalChainingNoNew):this.eat(p.questionDot)&&this.raise(this.state.start,P.OptionalChainingNoNew),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(p.parenL)){const t=this.parseExprList(p.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,P.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(p.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let s=this.parseTemplateElement(e);for(t.quasis=[s];!s.tail;)this.expect(p.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(p.braceR),t.quasis.push(s=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const i=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(p.comma),this.match(e)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const n=this.parsePropertyDefinition(t,r);t||this.checkProto(n,s,i,r),s&&"ObjectProperty"!==n.type&&"SpreadElement"!==n.type&&this.raise(n.start,P.InvalidRecordProperty),n.shorthand&&this.addExtra(n,"shorthand",!0),o.properties.push(n)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=n;let l="ObjectExpression";return t?l="ObjectPattern":s&&(l="RecordExpression"),this.finishNode(o,l)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(p.bracketL)||this.match(p.star))}parsePropertyDefinition(e,t){let s=[];if(this.match(p.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,P.UnsupportedPropertyDecorator);this.match(p.at);)s.push(this.parseDecorator());const r=this.startNode();let n,i,a=!1,o=!1,l=!1;if(this.match(p.ellipsis))return s.length&&this.unexpected(),e?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(e||t)&&(n=this.state.start,i=this.state.startLoc),e||(a=this.eat(p.star));const c=this.state.containsEsc,u=this.parsePropertyName(r,!1);if(!e&&!a&&!c&&this.maybeAsyncOrAccessorProp(r)){const e=u.name;"async"!==e||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(p.star),this.parsePropertyName(r,!1)),"get"!==e&&"set"!==e||(l=!0,r.kind=e,this.match(p.star)&&(a=!0,this.raise(this.state.pos,P.AccessorIsGenerator,e),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,n,i,a,o,e,l,t),r}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const s=this.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e),n=e.start;r.length!==s&&("get"===e.kind?this.raise(n,P.BadGetterArity):this.raise(n,P.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=r[r.length-1])?void 0:t.type)&&this.raise(n,P.BadSetterRestParameter)}parseObjectMethod(e,t,s,r,n){return n?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):s||t||this.match(p.parenL)?(r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,s,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,s,r,n){return e.shorthand=!1,this.eat(p.colon)?(e.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(n),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,s,e.key.__clone()):this.match(p.eq)&&n?(-1===n.shorthandAssign&&(n.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,s,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,s,r,n,i,a,o){const l=this.parseObjectMethod(e,r,n,i,a)||this.parseObjectProperty(e,t,s,i,o);return l||this.unexpected(),l}parsePropertyName(e,t){if(this.eat(p.bracketL))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(p.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(p.num)||this.match(p.string)||this.match(p.bigint)||this.match(p.decimal)?this.parseExprAtom():this.parseMaybePrivateName(t),"PrivateName"!==e.key.type&&(e.computed=!1),this.state.inPropertyName=s}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,s,r,n,i,a=!1){this.initFunction(e,s),e.generator=!!t;const o=r;return this.scope.enter(18|(a?64:0)|(n?32:0)),this.prodParam.enter(oe(s,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,i,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const i=this.startNode();return this.next(),i.elements=this.parseExprList(e,!s,r,i),this.state.inFSharpPipelineDirectBody=n,this.finishNode(i,s?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,s,r){this.scope.enter(6);let n=oe(s,!1);!this.match(p.bracketL)&&this.prodParam.hasIn&&(n|=8),this.prodParam.enter(n),this.initFunction(e,s);const i=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=i,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,s){e.params=this.toAssignableList(t,s)}parseFunctionBodyAndFinish(e,t,s=!1){this.parseFunctionBody(e,!1,s),this.finishNode(e,t)}parseFunctionBody(e,t,s=!1){const r=t&&!this.match(p.braceL);if(this.expressionScope.enter(Me()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,n=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,(n=>{const i=!this.isSimpleParamList(e.params);if(n&&i){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,P.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||s||i),t,a),this.state.strict&&e.id&&this.checkLVal(e.id,65,void 0,"function name",void 0,a)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=n}}isSimpleParamList(e){for(let t=0,s=e.length;t=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const n=this.parseExprOp(this.parseMaybeUnary(),t,s,e);return this.state.inFSharpPipelineDirectBody=r,n}}const je={kind:"loop"},Re={kind:"switch"},Be=/[\\uD800-\\uDFFF]/u;class Fe extends _e{parseTopLevel(e,t){if(t.sourceType=this.options.sourceType,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,p.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let e=0,t=Array.from(this.scope.undefinedExports);ethis.parseStatement("do"))),this.state.labels.pop(),this.expect(p._while),e.test=this.parseHeaderExpression(),this.eat(p.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(je);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(0),this.expect(p.parenL),this.match(p.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const s=this.isLet();if(this.match(p._var)||this.match(p._const)||s){const r=this.startNode(),n=s?"let":this.state.value;return this.next(),this.parseVar(r,!0,n),this.finishNode(r,"VariableDeclaration"),(this.match(p._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 we,n=this.parseExpression(!0,r);if(this.match(p._in)||this.isContextual("of")){this.toAssignable(n);const s=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(n,void 0,void 0,s),this.parseForIn(e,n,t)}return this.checkExpressionErrors(r,!0),t>-1&&this.unexpected(t),this.parseFor(e,n)}parseFunctionStatement(e,t,s){return this.next(),this.parseFunction(e,1|(s?0:2),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(p._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,P.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 s;this.expect(p.braceL),this.state.labels.push(Re),this.scope.enter(0);for(let e;!this.match(p.braceR);)if(this.match(p._case)||this.match(p._default)){const r=this.match(p._case);s&&this.finishNode(s,"SwitchCase"),t.push(s=this.startNode()),s.consequent=[],this.next(),r?s.test=this.parseExpression():(e&&this.raise(this.state.lastTokStart,P.MultipleDefaultsInSwitch),e=!0,s.test=null),this.expect(p.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,P.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,9,null,"catch clause"),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(p._catch)){const t=this.startNode();this.next(),this.match(p.parenL)?(this.expect(p.parenL),t.param=this.parseCatchClauseParam(),this.expect(p.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(p._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,P.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(je),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,P.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,s,r){for(let e=0,r=this.state.labels;e=0;t--){const s=this.state.labels[t];if(s.statementStart!==e.start)break;s.statementStart=this.state.start,s.kind=n}return this.state.labels.push({name:t,kind:n,statementStart:this.state.start}),e.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),e.label=s,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,s){const r=this.startNode();return this.expect(p.braceL),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,p.braceR,s),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,s,r,n){const i=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(i,t?a:void 0,s,r,n)}parseBlockOrModuleBlockBody(e,t,s,r,n){const i=[],a=this.state.strict;let o=!1,l=!1;for(;!this.match(r);){!l&&this.state.octalPositions.length&&i.push(...this.state.octalPositions);const r=this.parseStatement(null,s);if(t&&!l&&this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),o||"use strict"!==e.value.value||(o=!0,this.setStrict(!0))}else l=!0,e.push(r)}if(this.state.strict&&i.length)for(let e=0;ethis.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,s){const r=this.match(p._in);return this.next(),r?s>-1&&this.unexpected(s):e.await=s>-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,P.InvalidLhs,"for-loop"):this.raise(t.start,P.ForInOfLoopInitializer,r?"for-in":"for-of"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(p.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,s){const r=e.declarations=[],n=this.hasPlugin("typescript");for(e.kind=s;;){const e=this.startNode();if(this.parseVarId(e,s),this.eat(p.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==s||this.match(p._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(p._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,P.DeclarationMissingInitializer,"Complex binding patterns"):n||this.raise(this.state.lastTokEnd,P.DeclarationMissingInitializer,"Const declarations"),e.init=null),r.push(this.finishNode(e,"VariableDeclarator")),!this.eat(p.comma))break}return e}parseVarId(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?5:9,void 0,"variable declaration","var"!==t)}parseFunction(e,t=0,s=!1){const r=1&t,n=2&t,i=!(!r||4&t);this.initFunction(e,s),this.match(p.star)&&n&&this.raise(this.state.start,P.GeneratorInSingleStatementContext),e.generator=this.eat(p.star),r&&(e.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(oe(s,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&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||this.match(p.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(p.parenL),this.expressionScope.enter(new ke(3)),e.params=this.parseBindingList(p.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,s){this.next(),this.takeDecorators(e);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,s),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(p.eq)||this.match(p.semi)||this.match(p.braceR)}isClassMethod(){return this.match(p.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const s={constructorAllowsSuper:e,hadConstructor:!1,hadStaticBlock:!1};let r=[];const n=this.startNode();if(n.body=[],this.expect(p.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(p.braceR);){if(this.eat(p.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,P.DecoratorSemicolon);continue}if(this.match(p.at)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(n,e,s),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,P.DecoratorConstructor)}})),this.state.strict=t,this.next(),r.length)throw this.raise(this.state.start,P.TrailingDecorator);return this.classScope.exit(),this.finishNode(n,"ClassBody")}parseClassMemberFromModifier(e,t){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=s,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(e,t,s){const r=this.isContextual("static");if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(p.braceL))return void this.parseClassStaticBlock(e,t,s)}this.parseClassMemberWithIsStatic(e,t,s,r)}parseClassMemberWithIsStatic(e,t,s,r){const n=t,i=t,a=t,o=t,l=n,c=n;if(t.static=r,this.eat(p.star))return l.kind="method",this.parseClassElementName(l),"PrivateName"===l.key.type?void this.pushClassPrivateMethod(e,i,!0,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,P.ConstructorIsGenerator),void this.pushClassMethod(e,n,!0,!1,!1,!1));const u=this.state.containsEsc,h=this.parseClassElementName(t),d="PrivateName"===h.type,f="Identifier"===h.type,m=this.state.start;if(this.parsePostMemberNameModifiers(c),this.isClassMethod()){if(l.kind="method",d)return void this.pushClassPrivateMethod(e,i,!1,!1);const t=this.isNonstaticConstructor(n);let r=!1;t&&(n.kind="constructor",s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(h.start,P.DuplicateConstructor),s.hadConstructor=!0,r=s.constructorAllowsSuper),this.pushClassMethod(e,n,!1,!1,t,r)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if(!f||"async"!==h.name||u||this.isLineTerminator())!f||"get"!==h.name&&"set"!==h.name||u||this.match(p.star)&&this.isLineTerminator()?this.isLineTerminator()?d?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected():(l.kind=h.name,this.parseClassElementName(n),"PrivateName"===l.key.type?this.pushClassPrivateMethod(e,i,!1,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,P.ConstructorIsAccessor),this.pushClassMethod(e,n,!1,!1,!1,!1)),this.checkGetterSetterParams(n));else{const t=this.eat(p.star);c.optional&&this.unexpected(m),l.kind="method",this.parseClassElementName(l),this.parsePostMemberNameModifiers(c),"PrivateName"===l.key.type?this.pushClassPrivateMethod(e,i,t,!0):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,P.ConstructorIsAsync),this.pushClassMethod(e,n,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,P.StaticPrototype),"PrivateName"===t.type&&"constructor"===t.id.name&&this.raise(t.start,P.ConstructorClassPrivateField),t}parseClassStaticBlock(e,t,s){var r;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(80),this.expressionScope.enter(Me());const n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const i=t.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,p.braceR),this.prodParam.exit(),this.expressionScope.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,"StaticBlock")),s.hadStaticBlock&&this.raise(t.start,P.DuplicateStaticBlock),(null==(r=t.decorators)?void 0:r.length)&&this.raise(t.start,P.DecoratorStaticBlock),s.hadStaticBlock=!0}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,P.ConstructorClassField),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){this.expectPlugin("classPrivateProperties",t.key.start);const s=this.parseClassPrivateProperty(t);e.body.push(s),this.classScope.declarePrivateName(s.key.id.name,0,s.key.start)}pushClassMethod(e,t,s,r,n,i){e.body.push(this.parseMethod(t,s,r,n,i,"ClassMethod",!0))}pushClassPrivateMethod(e,t,s,r){this.expectPlugin("classPrivateMethods",t.key.start);const n=this.parseMethod(t,s,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(n);const i="get"===n.kind?n.static?6:2:"set"===n.kind?n.static?5:1:0;this.classScope.declarePrivateName(n.key.id.name,i,n.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return e.typeAnnotation&&!this.match(p.eq)||this.expectPlugin("classProperties"),this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter(Me()),this.prodParam.enter(0),e.value=this.eat(p.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,s,r=139){this.match(p.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,r,void 0,"class name")):s||!t?e.id=null:this.unexpected(null,P.MissingClassName)}parseClassSuper(e){e.superClass=this.eat(p._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),s=!t||this.eat(p.comma),r=s&&this.eatExportStar(e),n=r&&this.maybeParseExportNamespaceSpecifier(e),i=s&&(!n||this.eat(p.comma)),a=t||r;if(r&&!n)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(e);if(t&&s&&!r&&!o||n&&i&&!o)throw this.unexpected(null,p.braceL);let l;if(a||o?(l=!1,this.parseExportFrom(e,a)):l=this.maybeParseExportDeclaration(e),a||o||l)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(p._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,p.braceL)}eatExportStar(e){return this.eat(p.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(p.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!u.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(p._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,5,t);if(this.match(p._class))return this.parseClass(e,!0,!0);if(this.match(p.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,P.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(p._const)||this.match(p._var)||this.isLet())throw this.raise(this.state.start,P.UnsupportedDefaultExport);{const e=this.parseMaybeAssignAllowIn();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(p.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===p.name&&"from"!==e.value||e.type===p.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(p._default))return!1;const e=this.nextTokenStart(),t=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||this.match(p.name)&&t)return!0;if(this.match(p._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(p.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,P.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,s,r){if(t)if(s){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var n;const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!=4||(null==(n=t.extra)?void 0:n.parenthesized)||this.raise(t.start,P.ExportDefaultFromAsIdentifier)}}else if(e.specifiers&&e.specifiers.length)for(let t=0,s=e.specifiers;t-1&&this.raise(e.start,"default"===t?P.DuplicateDefaultExport:P.DuplicateExport,t),this.state.exportedIdentifiers.push(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(p.braceL);!this.eat(p.braceR);){if(t)t=!1;else if(this.expect(p.comma),this.eat(p.braceR))break;const s=this.startNode();s.local=this.parseModuleExportName(),s.exported=this.eatContextual("as")?this.parseModuleExportName():s.local.__clone(),e.push(this.finishNode(s,"ExportSpecifier"))}return e}parseModuleExportName(){if(this.match(p.string)){this.expectPlugin("moduleStringNames");const e=this.parseLiteral(this.state.value,"StringLiteral"),t=e.value.match(Be);return t&&this.raise(e.start,P.ModuleExportNameHasLoneSurrogate,t[0].charCodeAt(0).toString(16)),e}return this.parseIdentifier(!0)}parseImport(e){if(e.specifiers=[],!this.match(p.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(p.comma),s=t&&this.maybeParseStarImportSpecifier(e);t&&!s&&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(p.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(p.name)}parseImportSpecifierLocal(e,t,s,r){t.local=this.parseIdentifier(),this.checkLVal(t.local,9,void 0,r),e.specifiers.push(this.finishNode(t,s))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(p.braceR))break;const s=this.startNode(),r=this.state.value;if(this.match(p.string)?s.key=this.parseLiteral(r,"StringLiteral"):s.key=this.parseIdentifier(!0),this.expect(p.colon),"type"!==r&&this.raise(s.key.start,P.ModuleAttributeDifferentFromType,r),t.has(r)&&this.raise(s.key.start,P.ModuleAttributesWithDuplicateKeys,r),t.add(r),!this.match(p.string))throw this.unexpected(this.state.start,P.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(p.comma));return e}maybeParseModuleAttributes(){if(!this.match(p._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const e=[],t=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),"type"!==s.key.name&&this.raise(s.key.start,P.ModuleAttributeDifferentFromType,s.key.name),t.has(s.key.name)&&this.raise(s.key.start,P.ModuleAttributesWithDuplicateKeys,s.key.name),t.add(s.key.name),this.expect(p.colon),!this.match(p.string))throw this.unexpected(this.state.start,P.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(p.comma));return e}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(p.braceL);const e=this.parseAssertEntries();return this.eat(p.braceR),e}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(p.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(p.braceL);!this.eat(p.braceR);){if(t)t=!1;else{if(this.eat(p.colon))throw this.raise(this.state.start,P.DestructureNamedImport);if(this.expect(p.comma),this.eat(p.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,P.ImportBindingIsString,e.value);this.checkReservedWord(e.name,t.start,!0,!0),t.local=e.__clone()}this.checkLVal(t.local,9,void 0,"import specifier"),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))}}class Ue{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class Ve{constructor(e){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Ue)}exit(){const e=this.stack.pop(),t=this.current();for(let s=0,r=Array.from(e.undefinedPrivateNames);s`\'${e}\'`)).join(", "));if(ue(e,"moduleAttributes")){if(ue(e,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==he(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(ue(e,"recordAndTuple")&&!fe.includes(he(e,"recordAndTuple","syntaxType")))throw new Error("\'recordAndTuple\' requires \'syntaxType\' option whose value should be one of: "+fe.map((e=>`\'${e}\'`)).join(", "))}(e.plugins),s=function(e){const t=ye.filter((t=>ue(e,t))),s=t.join("/");let r=We[s];if(!r){r=qe;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clear=function(){n(),i()},t.clearPath=n,t.clearScope=i,t.scope=t.path=void 0;let s=new WeakMap;t.path=s;let r=new WeakMap;function n(){t.path=s=new WeakMap}function i(){t.scope=r=new WeakMap}t.scope=r},7193:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=s(706))&&r.__esModule?r:{default:r},i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473));function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}t.default=class{constructor(e,t,s,r){this.queue=null,this.parentPath=r,this.scope=e,this.state=s,this.opts=t}shouldVisit(e){const t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;const s=i.VISITOR_KEYS[e.type];if(!(null==s?void 0:s.length))return!1;for(const t of s)if(e[t])return!0;return!1}create(e,t,s,r){return n.default.get({parentPath:this.parentPath,parent:e,container:t,key:s,listKey:r})}maybeQueue(e,t){if(this.trap)throw new Error("Infinite cycle detected");this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}visitMultiple(e,t,s){if(0===e.length)return!1;const r=[];for(let n=0;n=0)){if(t.push(r.node),r.visit()){s=!0;break}if(this.priorityQueue.length&&(s=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,s))break}for(const t of e)t.popContext();return this.queue=null,s}visit(e,t){const s=e[t];return!!s&&(Array.isArray(s)?this.visitMultiple(s,e,t):this.visitSingle(e,t))}}},8672:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{getCode(){}getScope(){}addHelper(){throw new Error("Helpers are not supported by the default hub.")}buildError(e,t,s=TypeError){return new s(t)}}},1910:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=d,Object.defineProperty(t,"NodePath",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"Hub",{enumerable:!0,get:function(){return c.default}}),t.visitors=void 0;var r=h(s(7193)),n=u(s(8221));t.visitors=n;var i=u(s(4473)),a=u(s(1826)),o=h(s(706)),l=h(s(4639)),c=h(s(8672));function p(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return p=function(){return e},e}function u(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=p();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}function h(e){return e&&e.__esModule?e:{default:e}}function d(e,t,s,r,a){if(e){if(t||(t={}),!t.noScope&&!s&&"Program"!==e.type&&"File"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);i.VISITOR_KEYS[e.type]&&(n.explode(t),d.node(e,t,s,r,a))}}function f(e,t){e.node.type===t.type&&(t.has=!0,e.stop())}d.visitors=n,d.verify=n.verify,d.explode=n.explode,d.cheap=function(e,t){return i.traverseFast(e,t)},d.node=function(e,t,s,n,a,o){const l=i.VISITOR_KEYS[e.type];if(!l)return;const c=new r.default(s,t,n,a);for(const t of l)if((!o||!o[t])&&c.visit(e,t))return},d.clearNode=function(e,t){i.removeProperties(e,t),a.path.delete(e)},d.removeProperties=function(e,t){return i.traverseFast(e,d.clearNode,t),e},d.hasType=function(e,t,s){if(null==s?void 0:s.includes(e.type))return!1;if(e.type===t)return!0;const r={has:!1,type:t};return d(e,{noScope:!0,denylist:s,enter:f},null,r),r.has},d.cache=a},4852:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findParent=function(e){let t=this;for(;t=t.parentPath;)if(e(t))return t;return null},t.find=function(e){let t=this;do{if(e(t))return t}while(t=t.parentPath);return null},t.getFunctionParent=function(){return this.findParent((e=>e.isFunction()))},t.getStatementParent=function(){let e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can\'t possibly find a statement parent to this");return e},t.getEarliestCommonAncestorFrom=function(e){return this.getDeepestCommonAncestorFrom(e,(function(e,t,s){let r;const i=n.VISITOR_KEYS[e.type];for(const e of s){const s=e[t+1];r?(s.listKey&&r.listKey===s.listKey&&s.keyi.indexOf(s.parentKey))&&(r=s):r=s}return r}))},t.getDeepestCommonAncestorFrom=function(e,t){if(!e.length)return this;if(1===e.length)return e[0];let s,r,n=1/0;const i=e.map((e=>{const t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==this);return t.lengtht===e))},t.inType=function(){let e=this;for(;e;){for(const t of arguments)if(e.node.type===t)return!0;e=e.parentPath}return!1};var r,n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=r?Object.getOwnPropertyDescriptor(e,n):null;a&&(a.get||a.set)?Object.defineProperty(s,n,a):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}(r=s(706))&&r.__esModule},7403:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.shareCommentsWithSiblings=function(){if("string"==typeof this.key)return;const e=this.node;if(!e)return;const t=e.trailingComments,s=e.leadingComments;if(!t&&!s)return;const r=this.getSibling(this.key-1),n=this.getSibling(this.key+1),i=Boolean(r.node),a=Boolean(n.node);i&&!a?r.addComments("trailing",t):a&&!i&&n.addComments("leading",s)},t.addComment=function(e,t,s){r.addComment(this.node,e,t,s)},t.addComments=function(e,t){r.addComments(this.node,e,t)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},7036:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.call=function(e){const t=this.opts;return this.debug(e),!(!this.node||!this._call(t[e]))||!!this.node&&this._call(t[this.node.type]&&t[this.node.type][e])},t._call=function(e){if(!e)return!1;for(const t of e){if(!t)continue;const e=this.node;if(!e)return!0;const s=t.call(this.state,this,this.state);if(s&&"object"==typeof s&&"function"==typeof s.then)throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not support. If you\'re using a published plugin, you may need to upgrade your @babel/core version.");if(s)throw new Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e)return!0;if(this._traverseFlags>0)return!0}return!1},t.isBlacklisted=t.isDenylisted=function(){var e;const t=null!=(e=this.opts.denylist)?e:this.opts.blacklist;return t&&t.indexOf(this.node.type)>-1},t.visit=function(){return!!this.node&&(!this.isDenylisted()&&((!this.opts.shouldSkip||!this.opts.shouldSkip(this))&&(this.shouldSkip||this.call("enter")||this.shouldSkip?(this.debug("Skip..."),this.shouldStop):(this.debug("Recursing into..."),n.default.node(this.node,this.opts,this.scope,this.state,this,this.skipKeys),this.call("exit"),this.shouldStop))))},t.skip=function(){this.shouldSkip=!0},t.skipKey=function(e){null==this.skipKeys&&(this.skipKeys={}),this.skipKeys[e]=!0},t.stop=function(){this._traverseFlags|=i.SHOULD_SKIP|i.SHOULD_STOP},t.setScope=function(){if(this.opts&&this.opts.noScope)return;let e,t=this.parentPath;for(;t&&!e;){if(t.opts&&t.opts.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope&&this.scope.init()},t.setContext=function(e){return null!=this.skipKeys&&(this.skipKeys={}),this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts),this.setScope(),this},t.resync=function(){this.removed||(this._resyncParent(),this._resyncList(),this._resyncKey())},t._resyncParent=function(){this.parentPath&&(this.parent=this.parentPath.node)},t._resyncKey=function(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)},t.pushContext=function(e){this.contexts.push(e),this.setContext(e)},t.setup=function(e,t,s,r){this.listKey=s,this.container=t,this.parentPath=e||this.parentPath,this.setKey(r)},t.setKey=function(e){var t;this.key=e,this.node=this.container[this.key],this.type=null==(t=this.node)?void 0:t.type},t.requeue=function(e=this){if(e.removed)return;const t=this.contexts;for(const s of t)s.maybeQueue(e)},t._getQueueContexts=function(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t};var r,n=(r=s(1910))&&r.__esModule?r:{default:r},i=s(706)},7926:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toComputedKey=function(){const e=this.node;let t;if(this.isMemberExpression())t=e.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");t=e.key}return e.computed||n.isIdentifier(t)&&(t=n.stringLiteral(t.name)),t},t.ensureBlock=function(){const e=this.get("body"),t=e.node;if(Array.isArray(e))throw new Error("Can\'t convert array path to a block statement");if(!t)throw new Error("Can\'t convert node without a body");if(e.isBlockStatement())return t;const s=[];let r,i,a="body";e.isStatement()?(i="body",r=0,s.push(e.node)):(a+=".body.0",this.isFunction()?(r="argument",s.push(n.returnStatement(e.node))):(r="expression",s.push(n.expressionStatement(e.node)))),this.node.body=n.blockStatement(s);const o=this.get(a);return e.setup(o,i?o.node[i]:o.node,i,r),this.node},t.arrowFunctionToShadowed=function(){this.isArrowFunctionExpression()&&this.arrowFunctionToExpression()},t.unwrapFunctionEnvironment=function(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError("Can only unwrap the environment of a function.");o(this)},t.arrowFunctionToExpression=function({allowInsertArrow:e=!0,specCompliant:t=!1}={}){if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");const s=o(this,t,e);if(this.ensureBlock(),this.node.type="FunctionExpression",t){const e=s?null:this.parentPath.scope.generateUidIdentifier("arrowCheckId");e&&this.parentPath.scope.push({id:e,init:n.objectExpression([])}),this.get("body").unshiftContainer("body",n.expressionStatement(n.callExpression(this.hub.addHelper("newArrowCheck"),[n.thisExpression(),e?n.identifier(e.name):n.identifier(s)]))),this.replaceWith(n.callExpression(n.memberExpression((0,i.default)(this,!0)||this.node,n.identifier("bind")),[e?n.identifier(e.name):n.thisExpression()]))}};var r,n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),i=(r=s(6163))&&r.__esModule?r:{default:r};function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e,t=!1,s=!0){const r=e.findParent((e=>e.isFunction()&&!e.isArrowFunctionExpression()||e.isProgram()||e.isClassProperty({static:!1}))),i="constructor"===(null==r?void 0:r.node.kind);if(r.isClassProperty())throw e.buildCodeFrameError("Unable to transform arrow inside class property");const{thisPaths:a,argumentsPaths:o,newTargetPaths:p,superProps:u,superCalls:h}=function(e){const t=[],s=[],r=[],n=[],i=[];return e.traverse({ClassProperty(e){e.skip()},Function(e){e.isArrowFunctionExpression()||e.skip()},ThisExpression(e){t.push(e)},JSXIdentifier(e){"this"===e.node.name&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&t.push(e)},CallExpression(e){e.get("callee").isSuper()&&i.push(e)},MemberExpression(e){e.get("object").isSuper()&&n.push(e)},ReferencedIdentifier(e){"arguments"===e.node.name&&s.push(e)},MetaProperty(e){e.get("meta").isIdentifier({name:"new"})&&e.get("property").isIdentifier({name:"target"})&&r.push(e)}}),{thisPaths:t,argumentsPaths:s,newTargetPaths:r,superProps:n,superCalls:i}}(e);if(i&&h.length>0){if(!s)throw h[0].buildCodeFrameError("Unable to handle nested super() usage in arrow");const e=[];r.traverse({Function(e){e.isArrowFunctionExpression()||e.skip()},ClassProperty(e){e.skip()},CallExpression(t){t.get("callee").isSuper()&&e.push(t)}});const t=function(e){return c(e,"supercall",(()=>{const t=e.scope.generateUidIdentifier("args");return n.arrowFunctionExpression([n.restElement(t)],n.callExpression(n.super(),[n.spreadElement(n.identifier(t.name))]))}))}(r);e.forEach((e=>{const s=n.identifier(t);s.loc=e.node.callee.loc,e.get("callee").replaceWith(s)}))}if(o.length>0){const e=c(r,"arguments",(()=>n.identifier("arguments")));o.forEach((t=>{const s=n.identifier(e);s.loc=t.node.loc,t.replaceWith(s)}))}if(p.length>0){const e=c(r,"newtarget",(()=>n.metaProperty(n.identifier("new"),n.identifier("target"))));p.forEach((t=>{const s=n.identifier(e);s.loc=t.node.loc,t.replaceWith(s)}))}if(u.length>0){if(!s)throw u[0].buildCodeFrameError("Unable to handle nested super.prop usage");u.reduce(((e,t)=>e.concat(function(e){if(e.parentPath.isAssignmentExpression()&&"="!==e.parentPath.node.operator){const t=e.parentPath,s=t.node.operator.slice(0,-1),r=t.node.right;if(t.node.operator="=",e.node.computed){const i=e.scope.generateDeclaredUidIdentifier("tmp");t.get("left").replaceWith(n.memberExpression(e.node.object,n.assignmentExpression("=",i,e.node.property),!0)),t.get("right").replaceWith(n.binaryExpression(s,n.memberExpression(e.node.object,n.identifier(i.name),!0),r))}else t.get("left").replaceWith(n.memberExpression(e.node.object,e.node.property)),t.get("right").replaceWith(n.binaryExpression(s,n.memberExpression(e.node.object,n.identifier(e.node.property.name)),r));return[t.get("left"),t.get("right").get("left")]}if(e.parentPath.isUpdateExpression()){const t=e.parentPath,s=e.scope.generateDeclaredUidIdentifier("tmp"),r=e.node.computed?e.scope.generateDeclaredUidIdentifier("prop"):null,i=[n.assignmentExpression("=",s,n.memberExpression(e.node.object,r?n.assignmentExpression("=",r,e.node.property):e.node.property,e.node.computed)),n.assignmentExpression("=",n.memberExpression(e.node.object,r?n.identifier(r.name):e.node.property,e.node.computed),n.binaryExpression("+",n.identifier(s.name),n.numericLiteral(1)))];return e.parentPath.node.prefix||i.push(n.identifier(s.name)),t.replaceWith(n.sequenceExpression(i)),[t.get("expressions.0.right"),t.get("expressions.1.left")]}return[e]}(t))),[]).forEach((e=>{const t=e.node.computed?"":e.get("property").node.name,s=e.parentPath.isAssignmentExpression({left:e.node}),i=e.parentPath.isCallExpression({callee:e.node}),o=function(e,t,s){return c(e,`superprop_${t?"set":"get"}:${s||""}`,(()=>{const r=[];let i;if(s)i=n.memberExpression(n.super(),n.identifier(s));else{const t=e.scope.generateUidIdentifier("prop");r.unshift(t),i=n.memberExpression(n.super(),n.identifier(t.name),!0)}if(t){const t=e.scope.generateUidIdentifier("value");r.push(t),i=n.assignmentExpression("=",i,n.identifier(t.name))}return n.arrowFunctionExpression(r,i)}))}(r,s,t),l=[];if(e.node.computed&&l.push(e.get("property").node),s){const t=e.parentPath.node.right;l.push(t)}const p=n.callExpression(n.identifier(o),l);i?(e.parentPath.unshiftContainer("arguments",n.thisExpression()),e.replaceWith(n.memberExpression(p,n.identifier("call"))),a.push(e.parentPath.get("arguments.0"))):s?e.parentPath.replaceWith(p):e.replaceWith(p)}))}let d;return(a.length>0||t)&&(d=function(e,t){return c(e,"this",(s=>{if(!t||!l(e))return n.thisExpression();const r=new WeakSet;e.traverse({Function(e){e.isArrowFunctionExpression()||e.skip()},ClassProperty(e){e.skip()},CallExpression(e){e.get("callee").isSuper()&&(r.has(e.node)||(r.add(e.node),e.replaceWithMultiple([e.node,n.assignmentExpression("=",n.identifier(s),n.identifier("this"))])))}})}))}(r,i),(!t||i&&l(r))&&(a.forEach((e=>{const t=e.isJSX()?n.jsxIdentifier(d):n.identifier(d);t.loc=e.node.loc,e.replaceWith(t)})),t&&(d=null))),d}function l(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}function c(e,t,s){const r="binding:"+t;let n=e.getData(r);if(!n){const i=e.scope.generateUidIdentifier(t);n=i.name,e.setData(r,n),e.scope.push({id:i,init:s(n)})}return n}},5635:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateTruthy=function(){const e=this.evaluate();if(e.confident)return!!e.value},t.evaluate=function(){const e={confident:!0,deoptPath:null,seen:new Map};let t=i(this,e);return e.confident||(t=void 0),{confident:e.confident,deopt:e.deoptPath,value:t}};const s=["String","Number","Math"],r=["random"];function n(e,t){t.confident&&(t.deoptPath=e,t.confident=!1)}function i(e,t){const{node:o}=e,{seen:l}=t;if(l.has(o)){const s=l.get(o);return s.resolved?s.value:void n(e,t)}{const c={resolved:!1};l.set(o,c);const p=function(e,t){if(!t.confident)return;const{node:o}=e;if(e.isSequenceExpression()){const s=e.get("expressions");return i(s[s.length-1],t)}if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return o.value;if(e.isNullLiteral())return null;if(e.isTemplateLiteral())return a(e,o.quasis,t);if(e.isTaggedTemplateExpression()&&e.get("tag").isMemberExpression()){const s=e.get("tag.object"),{node:{name:r}}=s,n=e.get("tag.property");if(s.isIdentifier()&&"String"===r&&!e.scope.getBinding(r,!0)&&n.isIdentifier&&"raw"===n.node.name)return a(e,o.quasi.quasis,t,!0)}if(e.isConditionalExpression()){const s=i(e.get("test"),t);if(!t.confident)return;return i(s?e.get("consequent"):e.get("alternate"),t)}if(e.isExpressionWrapper())return i(e.get("expression"),t);if(e.isMemberExpression()&&!e.parentPath.isCallExpression({callee:o})){const t=e.get("property"),s=e.get("object");if(s.isLiteral()&&t.isIdentifier()){const e=s.node.value,r=typeof e;if("number"===r||"string"===r)return e[t.node.name]}}if(e.isReferencedIdentifier()){const s=e.scope.getBinding(o.name);if(s&&s.constantViolations.length>0)return n(s.path,t);if(s&&e.node.start":return s>r;case"<=":return s<=r;case">=":return s>=r;case"==":return s==r;case"!=":return s!=r;case"===":return s===r;case"!==":return s!==r;case"|":return s|r;case"&":return s&r;case"^":return s^r;case"<<":return s<>":return s>>r;case">>>":return s>>>r}}if(e.isCallExpression()){const n=e.get("callee");let a,l;if(n.isIdentifier()&&!e.scope.getBinding(n.node.name,!0)&&s.indexOf(n.node.name)>=0&&(l=global[o.callee.name]),n.isMemberExpression()){const e=n.get("object"),t=n.get("property");if(e.isIdentifier()&&t.isIdentifier()&&s.indexOf(e.node.name)>=0&&r.indexOf(t.node.name)<0&&(a=global[e.node.name],l=a[t.node.name]),e.isLiteral()&&t.isIdentifier()){const s=typeof e.node.value;"string"!==s&&"number"!==s||(a=e.node.value,l=a[t.node.name])}}if(l){const s=e.get("arguments").map((e=>i(e,t)));if(!t.confident)return;return l.apply(a,s)}}n(e,t)}(e,t);return t.confident&&(c.resolved=!0,c.value=p),p}}function a(e,t,s,r=!1){let n="",a=0;const o=e.get("expressions");for(const e of t){if(!s.confident)break;n+=r?e.value.raw:e.value.cooked;const t=o[a++];t&&(n+=String(i(t,s)))}if(s.confident)return n}},4189:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getOpposite=function(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):void 0},t.getCompletionRecords=function(){let e=[];if(this.isIfStatement())e=o(this.get("consequent"),e),e=o(this.get("alternate"),e);else if(this.isDoExpression()||this.isFor()||this.isWhile())e=o(this.get("body"),e);else if(this.isProgram()||this.isBlockStatement())e=o(this.get("body").pop(),e);else{if(this.isFunction())return this.get("body").getCompletionRecords();this.isTryStatement()?(e=o(this.get("block"),e),e=o(this.get("handler"),e)):this.isCatchClause()?e=o(this.get("body"),e):this.isSwitchStatement()?e=function(e,t){let s=!0;for(let r=e.length-1;r>=0;r--){const n=e[r].get("consequent");let i=l(n);if(i){for(;0===i.key&&i.parentPath.isBlockStatement();)i=i.parentPath;const e=i.getPrevSibling();i.key>0&&(e.isExpressionStatement()||e.isBlockStatement())?(t=o(e,t),i.remove()):(i.replaceWith(i.scope.buildUndefinedNode()),t=o(i,t))}else if(s){const e=t=>!t.isBlockStatement()||t.get("body").some(e);n.some(e)&&(t=o(n[n.length-1],t),s=!1)}}return t}(this.get("cases"),e):e.push(this)}return e},t.getSibling=function(e){return n.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e})},t.getPrevSibling=function(){return this.getSibling(this.key-1)},t.getNextSibling=function(){return this.getSibling(this.key+1)},t.getAllNextSiblings=function(){let e=this.key,t=this.getSibling(++e);const s=[];for(;t.node;)s.push(t),t=this.getSibling(++e);return s},t.getAllPrevSiblings=function(){let e=this.key,t=this.getSibling(--e);const s=[];for(;t.node;)s.push(t),t=this.getSibling(--e);return s},t.get=function(e,t){!0===t&&(t=this.context);const s=e.split(".");return 1===s.length?this._getKey(e,t):this._getPattern(s,t)},t._getKey=function(e,t){const s=this.node,r=s[e];return Array.isArray(r)?r.map(((i,a)=>n.default.get({listKey:e,parentPath:this,parent:s,container:r,key:a}).setContext(t))):n.default.get({parentPath:this,parent:s,container:s,key:e}).setContext(t)},t._getPattern=function(e,t){let s=this;for(const r of e)s="."===r?s.parentPath:Array.isArray(s)?s[r]:s.get(r,t);return s},t.getBindingIdentifiers=function(e){return i.getBindingIdentifiers(this.node,e)},t.getOuterBindingIdentifiers=function(e){return i.getOuterBindingIdentifiers(this.node,e)},t.getBindingIdentifierPaths=function(e=!1,t=!1){let s=[].concat(this);const r=Object.create(null);for(;s.length;){const n=s.shift();if(!n)continue;if(!n.node)continue;const a=i.getBindingIdentifiers.keys[n.node.type];if(n.isIdentifier())e?(r[n.node.name]=r[n.node.name]||[]).push(n):r[n.node.name]=n;else if(n.isExportDeclaration()){const e=n.get("declaration");e.isDeclaration()&&s.push(e)}else{if(t){if(n.isFunctionDeclaration()){s.push(n.get("id"));continue}if(n.isFunctionExpression())continue}if(a)for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.SHOULD_SKIP=t.SHOULD_STOP=t.REMOVED=void 0;var r=E(s(1025)),n=P(s(4410)),i=P(s(1910)),a=P(s(4639)),o=E(s(4473)),l=s(1826),c=P(s(5386)),p=E(s(4852)),u=E(s(3078)),h=E(s(4638)),d=E(s(5635)),f=E(s(7926)),m=E(s(5201)),y=E(s(7036)),g=E(s(6788)),b=E(s(9613)),T=E(s(4189)),x=E(s(7403));function P(e){return e&&e.__esModule?e:{default:e}}function S(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return S=function(){return e},e}function E(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=S();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}const A=(0,n.default)("babel");t.REMOVED=1,t.SHOULD_STOP=2,t.SHOULD_SKIP=4;class v{constructor(e,t){this.contexts=[],this.state=null,this.opts=null,this._traverseFlags=0,this.skipKeys=null,this.parentPath=null,this.container=null,this.listKey=null,this.key=null,this.node=null,this.type=null,this.parent=t,this.hub=e,this.data=null,this.context=null,this.scope=null}static get({hub:e,parentPath:t,parent:s,container:r,listKey:n,key:i}){if(!e&&t&&(e=t.hub),!s)throw new Error("To get a node path the parent needs to exist");const a=r[i],o=l.path.get(s)||[];let c;l.path.has(s)||l.path.set(s,o);for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTypeAnnotation=function(){if(this.typeAnnotation)return this.typeAnnotation;let e=this._getTypeAnnotation()||n.anyTypeAnnotation();return n.isTypeAnnotation(e)&&(e=e.typeAnnotation),this.typeAnnotation=e},t._getTypeAnnotation=function(){var e;const t=this.node;if(!t){if("init"===this.key&&this.parentPath.isVariableDeclarator()){const e=this.parentPath.parentPath,t=e.parentPath;return"left"===e.key&&t.isForInStatement()?n.stringTypeAnnotation():"left"===e.key&&t.isForOfStatement()?n.anyTypeAnnotation():n.voidTypeAnnotation()}return}if(t.typeAnnotation)return t.typeAnnotation;let s=r[t.type];return s?s.call(this,t):(s=r[this.parentPath.type],(null==(e=s)?void 0:e.validParent)?this.parentPath.getTypeAnnotation():void 0)},t.isBaseType=function(e,t){return o(e,this.getTypeAnnotation(),t)},t.couldBeBaseType=function(e){const t=this.getTypeAnnotation();if(n.isAnyTypeAnnotation(t))return!0;if(n.isUnionTypeAnnotation(t)){for(const s of t.types)if(n.isAnyTypeAnnotation(s)||o(e,s,!0))return!0;return!1}return o(e,t,!0)},t.baseTypeStrictlyMatches=function(e){const t=this.getTypeAnnotation();if(e=e.getTypeAnnotation(),!n.isAnyTypeAnnotation(t)&&n.isFlowBaseAnnotation(t))return e.type===t.type},t.isGenericType=function(e){const t=this.getTypeAnnotation();return n.isGenericTypeAnnotation(t)&&n.isIdentifier(t.id,{name:e})};var r=a(s(4606)),n=a(s(4473));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function a(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=r?Object.getOwnPropertyDescriptor(e,n):null;a&&(a.get||a.set)?Object.defineProperty(s,n,a):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}function o(e,t,s){if("string"===e)return n.isStringTypeAnnotation(t);if("number"===e)return n.isNumberTypeAnnotation(t);if("boolean"===e)return n.isBooleanTypeAnnotation(t);if("any"===e)return n.isAnyTypeAnnotation(t);if("mixed"===e)return n.isMixedTypeAnnotation(t);if("empty"===e)return n.isEmptyTypeAnnotation(t);if("void"===e)return n.isVoidTypeAnnotation(t);if(s)return!1;throw new Error(`Unknown base type ${e}`)}},7875:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!this.isReferenced())return;const t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t,s){const n=[],a=[];let l=i(e,t,a);const c=o(e,t,s);if(c){const t=i(e,c.ifStatement);l=l.filter((e=>t.indexOf(e)<0)),n.push(c.typeAnnotation)}if(l.length){l=l.concat(a);for(const e of l)n.push(e.getTypeAnnotation())}if(n.length)return r.isTSTypeAnnotation(n[0])&&r.createTSUnionType?r.createTSUnionType(n):r.createFlowUnionType?r.createFlowUnionType(n):r.createUnionTypeAnnotation(n)}(t,this,e.name):"undefined"===e.name?r.voidTypeAnnotation():"NaN"===e.name||"Infinity"===e.name?r.numberTypeAnnotation():void e.name};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e,t,s){const r=e.constantViolations.slice();return r.unshift(e.path),r.filter((e=>{const r=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return s&&"unknown"===r&&s.push(e),"before"===r}))}function a(e,t){const s=t.node.operator,n=t.get("right").resolve(),i=t.get("left").resolve();let a,o,l;if(i.isIdentifier({name:e})?a=n:n.isIdentifier({name:e})&&(a=i),a)return"==="===s?a.getTypeAnnotation():r.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(s)>=0?r.numberTypeAnnotation():void 0;if("==="!==s&&"=="!==s)return;if(i.isUnaryExpression({operator:"typeof"})?(o=i,l=n):n.isUnaryExpression({operator:"typeof"})&&(o=n,l=i),!o)return;if(!o.get("argument").isIdentifier({name:e}))return;if(l=l.resolve(),!l.isLiteral())return;const c=l.node.value;return"string"==typeof c?r.createTypeAnnotationBasedOnTypeof(c):void 0}function o(e,t,s){const n=function(e,t,s){let r;for(;r=t.parentPath;){if(r.isIfStatement()||r.isConditionalExpression()){if("test"===t.key)return;return r}if(r.isFunction()&&r.parentPath.scope.getBinding(s)!==e)return;t=r}}(e,t,s);if(!n)return;const i=[n.get("test")],l=[];for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VariableDeclarator=function(){var e;if(!this.get("id").isIdentifier())return;const t=this.get("init");let s=t.getTypeAnnotation();return"AnyTypeAnnotation"===(null==(e=s)?void 0:e.type)&&t.isCallExpression()&&t.get("callee").isIdentifier({name:"Array"})&&!t.scope.hasBinding("Array",!0)&&(s=l()),s},t.TypeCastExpression=o,t.NewExpression=function(e){if(this.get("callee").isIdentifier())return n.genericTypeAnnotation(e.callee)},t.TemplateLiteral=function(){return n.stringTypeAnnotation()},t.UnaryExpression=function(e){const t=e.operator;return"void"===t?n.voidTypeAnnotation():n.NUMBER_UNARY_OPERATORS.indexOf(t)>=0?n.numberTypeAnnotation():n.STRING_UNARY_OPERATORS.indexOf(t)>=0?n.stringTypeAnnotation():n.BOOLEAN_UNARY_OPERATORS.indexOf(t)>=0?n.booleanTypeAnnotation():void 0},t.BinaryExpression=function(e){const t=e.operator;if(n.NUMBER_BINARY_OPERATORS.indexOf(t)>=0)return n.numberTypeAnnotation();if(n.BOOLEAN_BINARY_OPERATORS.indexOf(t)>=0)return n.booleanTypeAnnotation();if("+"===t){const e=this.get("right"),t=this.get("left");return t.isBaseType("number")&&e.isBaseType("number")?n.numberTypeAnnotation():t.isBaseType("string")||e.isBaseType("string")?n.stringTypeAnnotation():n.unionTypeAnnotation([n.stringTypeAnnotation(),n.numberTypeAnnotation()])}},t.LogicalExpression=function(){const e=[this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()];return n.isTSTypeAnnotation(e[0])&&n.createTSUnionType?n.createTSUnionType(e):n.createFlowUnionType?n.createFlowUnionType(e):n.createUnionTypeAnnotation(e)},t.ConditionalExpression=function(){const e=[this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()];return n.isTSTypeAnnotation(e[0])&&n.createTSUnionType?n.createTSUnionType(e):n.createFlowUnionType?n.createFlowUnionType(e):n.createUnionTypeAnnotation(e)},t.SequenceExpression=function(){return this.get("expressions").pop().getTypeAnnotation()},t.ParenthesizedExpression=function(){return this.get("expression").getTypeAnnotation()},t.AssignmentExpression=function(){return this.get("right").getTypeAnnotation()},t.UpdateExpression=function(e){const t=e.operator;if("++"===t||"--"===t)return n.numberTypeAnnotation()},t.StringLiteral=function(){return n.stringTypeAnnotation()},t.NumericLiteral=function(){return n.numberTypeAnnotation()},t.BooleanLiteral=function(){return n.booleanTypeAnnotation()},t.NullLiteral=function(){return n.nullLiteralTypeAnnotation()},t.RegExpLiteral=function(){return n.genericTypeAnnotation(n.identifier("RegExp"))},t.ObjectExpression=function(){return n.genericTypeAnnotation(n.identifier("Object"))},t.ArrayExpression=l,t.RestElement=c,t.ClassDeclaration=t.ClassExpression=t.FunctionDeclaration=t.ArrowFunctionExpression=t.FunctionExpression=function(){return n.genericTypeAnnotation(n.identifier("Function"))},t.CallExpression=function(){const{callee:e}=this.node;return u(e)?n.arrayTypeAnnotation(n.stringTypeAnnotation()):p(e)||h(e)?n.arrayTypeAnnotation(n.anyTypeAnnotation()):d(e)?n.arrayTypeAnnotation(n.tupleTypeAnnotation([n.stringTypeAnnotation(),n.anyTypeAnnotation()])):f(this.get("callee"))},t.TaggedTemplateExpression=function(){return f(this.get("tag"))},Object.defineProperty(t,"Identifier",{enumerable:!0,get:function(){return i.default}});var r,n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),i=(r=s(7875))&&r.__esModule?r:{default:r};function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e){return e.typeAnnotation}function l(){return n.genericTypeAnnotation(n.identifier("Array"))}function c(){return l()}o.validParent=!0,c.validParent=!0;const p=n.buildMatchMemberExpression("Array.from"),u=n.buildMatchMemberExpression("Object.keys"),h=n.buildMatchMemberExpression("Object.values"),d=n.buildMatchMemberExpression("Object.entries");function f(e){if((e=e.resolve()).isFunction()){if(e.is("async"))return e.is("generator")?n.genericTypeAnnotation(n.identifier("AsyncIterator")):n.genericTypeAnnotation(n.identifier("Promise"));if(e.node.returnType)return e.node.returnType}}},5201:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matchesPattern=function(e,t){return r.matchesPattern(this.node,e,t)},t.has=i,t.isStatic=function(){return this.scope.isStatic(this.node)},t.isnt=function(e){return!this.has(e)},t.equals=function(e,t){return this.node[e]===t},t.isNodeType=function(e){return r.isType(this.type,e)},t.canHaveVariableDeclarationOrExpression=function(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()},t.canSwapBetweenExpressionAndStatement=function(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?r.isBlockStatement(e):!!this.isBlockStatement()&&r.isExpression(e))},t.isCompletionRecord=function(e){let t=this,s=!0;do{const r=t.container;if(t.isFunction()&&!s)return!!e;if(s=!1,Array.isArray(r)&&t.key!==r.length-1)return!1}while((t=t.parentPath)&&!t.isProgram());return!0},t.isStatementOrBlock=function(){return!this.parentPath.isLabeledStatement()&&!r.isBlockStatement(this.container)&&r.STATEMENT_OR_BLOCK_KEYS.includes(this.key)},t.referencesImport=function(e,t){if(!this.isReferencedIdentifier())return!1;const s=this.scope.getBinding(this.node.name);if(!s||"module"!==s.kind)return!1;const r=s.path,n=r.parentPath;return!!n.isImportDeclaration()&&(n.node.source.value===e&&(!t||(!(!r.isImportDefaultSpecifier()||"default"!==t)||(!(!r.isImportNamespaceSpecifier()||"*"!==t)||!(!r.isImportSpecifier()||r.node.imported.name!==t)))))},t.getSource=function(){const e=this.node;if(e.end){const t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return""},t.willIMaybeExecuteBefore=function(e){return"after"!==this._guessExecutionStatusRelativeTo(e)},t._guessExecutionStatusRelativeTo=function(e){const t={this:o(this),target:o(e)};if(t.target.node!==t.this.node)return this._guessExecutionStatusRelativeToDifferentFunctions(t.target);const s={target:e.getAncestry(),this:this.getAncestry()};if(s.target.indexOf(this)>=0)return"after";if(s.this.indexOf(e)>=0)return"before";let n;const i={target:0,this:0};for(;!n&&i.this=0?n=e:i.this++}if(!n)throw new Error("Internal Babel error - The two compared nodes don\'t appear to belong to the same program.");if(c(s.this,i.this-1)||c(s.target,i.target-1))return"unknown";const a={this:s.this[i.this-1],target:s.target[i.target-1]};if(a.target.listKey&&a.this.listKey&&a.target.container===a.this.container)return a.target.key>a.this.key?"before":"after";const l=r.VISITOR_KEYS[n.type],p=l.indexOf(a.this.parentKey);return l.indexOf(a.target.parentKey)>p?"before":"after"},t._guessExecutionStatusRelativeToDifferentFunctions=function(e){if(!e.isFunctionDeclaration()||e.parentPath.isExportDeclaration())return"unknown";const t=e.scope.getBinding(e.node.id.name);if(!t.references)return"before";const s=t.referencePaths;let r;for(const t of s){if(t.find((t=>t.node===e.node)))continue;if("callee"!==t.key||!t.parentPath.isCallExpression())return"unknown";if(p.has(t.node))continue;p.add(t.node);const s=this._guessExecutionStatusRelativeTo(t);if(p.delete(t.node),r&&r!==s)return"unknown";r=s}return r},t.resolve=function(e,t){return this._resolve(e,t)||this},t._resolve=function(e,t){if(!(t&&t.indexOf(this)>=0))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){const s=this.scope.getBinding(this.node.name);if(!s)return;if(!s.constant)return;if("module"===s.kind)return;if(s.path!==this){const r=s.path.resolve(e,t);if(this.find((e=>e.node===r.node)))return;return r}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){const s=this.toComputedKey();if(!r.isLiteral(s))return;const n=s.value,i=this.get("object").resolve(e,t);if(i.isObjectExpression()){const s=i.get("properties");for(const r of s){if(!r.isProperty())continue;const s=r.get("key");let i=r.isnt("computed")&&s.isIdentifier({name:n});if(i=i||s.isLiteral({value:n}),i)return r.get("value").resolve(e,t)}}else if(i.isArrayExpression()&&!isNaN(+n)){const s=i.get("elements")[n];if(s)return s.resolve(e,t)}}}},t.isConstantExpression=function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}return this.isLiteral()?!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every((e=>e.isConstantExpression()))):this.isUnaryExpression()?"void"===this.get("operator").node&&this.get("argument").isConstantExpression():!!this.isBinaryExpression()&&(this.get("left").isConstantExpression()&&this.get("right").isConstantExpression())},t.isInStrictMode=function(){return!!(this.isProgram()?this:this.parentPath).find((e=>{if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(!e.isProgram()&&!e.isFunction())return!1;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;let{node:t}=e;e.isFunction()&&(t=t.body);for(const e of t.directives)if("use strict"===e.value.value)return!0}))},t.is=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){const t=this.node&&this.node[e];return t&&Array.isArray(t)?!!t.length:!!t}const a=i;function o(e){return(e.scope.getFunctionParent()||e.scope.getProgramParent()).path}function l(e,t){switch(e){case"LogicalExpression":case"AssignmentPattern":return"right"===t;case"ConditionalExpression":case"IfStatement":return"consequent"===t||"alternate"===t;case"WhileStatement":case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":return"body"===t;case"ForStatement":return"body"===t||"update"===t;case"SwitchStatement":return"cases"===t;case"TryStatement":return"handler"===t;case"OptionalMemberExpression":return"property"===t;case"OptionalCallExpression":return"arguments"===t;default:return!1}}function c(e,t){for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}const i={ReferencedIdentifier(e,t){if(e.isJSXIdentifier()&&r.react.isCompatTag(e.node.name)&&!e.parentPath.isJSXMemberExpression())return;if("this"===e.node.name){let s=e.scope;do{if(s.path.isFunction()&&!s.path.isArrowFunctionExpression())break}while(s=s.parent);s&&t.breakOnScopePaths.push(s.path)}const s=e.scope.getBinding(e.node.name);if(s){for(const r of s.constantViolations)if(r.scope!==s.path.scope)return t.mutableBinding=!0,void e.stop();s===t.scope.getBinding(e.node.name)&&(t.bindings[e.node.name]=s)}}};t.default=class{constructor(e,t){this.breakOnScopePaths=[],this.bindings={},this.mutableBinding=!1,this.scopes=[],this.scope=t,this.path=e,this.attachAfter=!1}isCompatibleScope(e){for(const t of Object.keys(this.bindings)){const s=this.bindings[t];if(!e.bindingIdentifierEquals(t,s.identifier))return!1}return!0}getCompatibleScopes(){let e=this.path.scope;do{if(!this.isCompatibleScope(e))break;if(this.scopes.push(e),this.breakOnScopePaths.indexOf(e.path)>=0)break}while(e=e.parent)}getAttachmentPath(){let e=this._getAttachmentPath();if(!e)return;let t=e.scope;if(t.path===e&&(t=e.scope.parent),t.path.isProgram()||t.path.isFunction())for(const s of Object.keys(this.bindings)){if(!t.hasOwnBinding(s))continue;const r=this.bindings[s];if("param"!==r.kind&&"params"!==r.path.parentKey&&this.getAttachmentParentForPath(r.path).key>=e.key){this.attachAfter=!0,e=r.path;for(const t of r.constantViolations)this.getAttachmentParentForPath(t).key>e.key&&(e=t)}}return e}_getAttachmentPath(){const e=this.scopes.pop();if(e)if(e.path.isFunction()){if(!this.hasOwnParamBindings(e))return this.getNextScopeAttachmentParent();{if(this.scope===e)return;const t=e.path.get("body").get("body");for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hooks=void 0,t.hooks=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&("consequent"===e.key||"alternate"===e.key)||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}]},1025:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForAwaitStatement=t.NumericLiteralTypeAnnotation=t.ExistentialTypeParam=t.SpreadProperty=t.RestProperty=t.Flow=t.Pure=t.Generated=t.User=t.Var=t.BlockScoped=t.Referenced=t.Scope=t.Expression=t.Statement=t.BindingIdentifier=t.ReferencedMemberExpression=t.ReferencedIdentifier=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}const i={types:["Identifier","JSXIdentifier"],checkPath(e,t){const{node:s,parent:n}=e;if(!r.isIdentifier(s,t)&&!r.isJSXMemberExpression(n,t)){if(!r.isJSXIdentifier(s,t))return!1;if(r.react.isCompatTag(s.name))return!1}return r.isReferenced(s,n,e.parentPath.parent)}};t.ReferencedIdentifier=i;const a={types:["MemberExpression"],checkPath:({node:e,parent:t})=>r.isMemberExpression(e)&&r.isReferenced(e,t)};t.ReferencedMemberExpression=a;const o={types:["Identifier"],checkPath(e){const{node:t,parent:s}=e,n=e.parentPath.parent;return r.isIdentifier(t)&&r.isBinding(t,s,n)}};t.BindingIdentifier=o;const l={types:["Statement"],checkPath({node:e,parent:t}){if(r.isStatement(e)){if(r.isVariableDeclaration(e)){if(r.isForXStatement(t,{left:e}))return!1;if(r.isForStatement(t,{init:e}))return!1}return!0}return!1}};t.Statement=l;const c={types:["Expression"],checkPath:e=>e.isIdentifier()?e.isReferencedIdentifier():r.isExpression(e.node)};t.Expression=c;const p={types:["Scopable","Pattern"],checkPath:e=>r.isScope(e.node,e.parent)};t.Scope=p;const u={checkPath:e=>r.isReferenced(e.node,e.parent)};t.Referenced=u;const h={checkPath:e=>r.isBlockScoped(e.node)};t.BlockScoped=h;const d={types:["VariableDeclaration"],checkPath:e=>r.isVar(e.node)};t.Var=d;t.User={checkPath:e=>e.node&&!!e.node.loc};t.Generated={checkPath:e=>!e.isUser()};t.Pure={checkPath:(e,t)=>e.scope.isPure(e.node,t)};const f={types:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],checkPath:({node:e})=>!(!r.isFlow(e)&&(r.isImportDeclaration(e)?"type"!==e.importKind&&"typeof"!==e.importKind:r.isExportDeclaration(e)?"type"!==e.exportKind:!r.isImportSpecifier(e)||"type"!==e.importKind&&"typeof"!==e.importKind))};t.Flow=f;t.RestProperty={types:["RestElement"],checkPath:e=>e.parentPath&&e.parentPath.isObjectPattern()};t.SpreadProperty={types:["RestElement"],checkPath:e=>e.parentPath&&e.parentPath.isObjectExpression()},t.ExistentialTypeParam={types:["ExistsTypeAnnotation"]},t.NumericLiteralTypeAnnotation={types:["NumberLiteralTypeAnnotation"]};t.ForAwaitStatement={types:["ForOfStatement"],checkPath:({node:e})=>!0===e.await}},9613:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.insertBefore=function(e){this._assertUnremoved(),e=this._verifyNodeList(e);const{parentPath:t}=this;if(t.isExpressionStatement()||t.isLabeledStatement()||t.isExportNamedDeclaration()||t.isExportDefaultDeclaration()&&this.isDeclaration())return t.insertBefore(e);if(this.isNodeType("Expression")&&!this.isJSXElement()||t.isForStatement()&&"init"===this.key)return this.node&&e.push(this.node),this.replaceExpressionWithStatements(e);if(Array.isArray(this.container))return this._containerInsertBefore(e);if(this.isStatementOrBlock()){const t=this.node&&(!this.isExpressionStatement()||null!=this.node.expression);return this.replaceWith(a.blockStatement(t?[this.node]:[])),this.unshiftContainer("body",e)}throw new Error("We don\'t know what to do with this node type. We were previously a Statement but we can\'t fit in here?")},t._containerInsert=function(e,t){this.updateSiblingKeys(e,t.length);const s=[];this.container.splice(e,0,...t);for(let r=0;ra.isExpression(e)?a.expressionStatement(e):e)));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!t.isJSXElement()||t.isForStatement()&&"init"===this.key){if(this.node){let{scope:s}=this;t.isMethod({computed:!0,key:this.node})&&(s=s.parent);const r=s.generateDeclaredUidIdentifier();e.unshift(a.expressionStatement(a.assignmentExpression("=",a.cloneNode(r),this.node))),e.push(a.expressionStatement(a.cloneNode(r)))}return this.replaceExpressionWithStatements(e)}if(Array.isArray(this.container))return this._containerInsertAfter(e);if(this.isStatementOrBlock()){const t=this.node&&(!this.isExpressionStatement()||null!=this.node.expression);return this.replaceWith(a.blockStatement(t?[this.node]:[])),this.pushContainer("body",e)}throw new Error("We don\'t know what to do with this node type. We were previously a Statement but we can\'t fit in here?")},t.updateSiblingKeys=function(e,t){if(!this.parent)return;const s=r.path.get(this.parent);for(let r=0;r=e&&(n.key+=t)}},t._verifyNodeList=function(e){if(!e)return[];e.constructor!==Array&&(e=[e]);for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.remove=function(){var e;this._assertUnremoved(),this.resync(),(null==(e=this.opts)?void 0:e.noScope)||this._removeFromScope(),this._callRemovalHooks()||(this.shareCommentsWithSiblings(),this._remove()),this._markRemoved()},t._removeFromScope=function(){const e=this.getBindingIdentifiers();Object.keys(e).forEach((e=>this.scope.removeBinding(e)))},t._callRemovalHooks=function(){for(const e of r.hooks)if(e(this,this.parentPath))return!0},t._remove=function(){Array.isArray(this.container)?(this.container.splice(this.key,1),this.updateSiblingKeys(this.key,-1)):this._replaceWith(null)},t._markRemoved=function(){this._traverseFlags|=n.SHOULD_SKIP|n.REMOVED,this.node=null},t._assertUnremoved=function(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")};var r=s(8004),n=s(706)},4638:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceWithMultiple=function(e){this.resync(),e=this._verifyNodeList(e),o.inheritLeadingComments(e[0],this.node),o.inheritTrailingComments(e[e.length-1],this.node),this.node=this.container[this.key]=null;const t=this.insertAfter(e);return this.node?this.requeue():this.remove(),t},t.replaceWithSourceString=function(e){this.resync();try{e=`(${e})`,e=(0,a.parse)(e)}catch(t){const s=t.loc;throw s&&(t.message+=" - make sure this is an expression.\\n"+(0,r.codeFrameColumns)(e,{start:{line:s.line,column:s.column+1}}),t.code="BABEL_REPLACE_SOURCE_ERROR"),t}return e=e.program.body[0].expression,n.default.removeProperties(e),this.replaceWith(e)},t.replaceWith=function(e){if(this.resync(),this.removed)throw new Error("You can\'t replace this node, we\'ve already removed it");if(e instanceof i.default&&(e=e.node),!e)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node===e)return[this];if(this.isProgram()&&!o.isProgram(e))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(e))throw new Error("Don\'t use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof e)throw new Error("Don\'t use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");let t="";if(this.isNodeType("Statement")&&o.isExpression(e)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(e)||this.parentPath.isExportDefaultDeclaration()||(e=o.expressionStatement(e),t="expression")),this.isNodeType("Expression")&&o.isStatement(e)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(e))return this.replaceExpressionWithStatements([e]);const s=this.node;return s&&(o.inheritsComments(e,s),o.removeComments(s)),this._replaceWith(e),this.type=e.type,this.setScope(),this.requeue(),[t?this.get(t):this]},t._replaceWith=function(e){if(!this.container)throw new ReferenceError("Container is falsy");this.inList?o.validate(this.parent,this.key,[e]):o.validate(this.parent,this.key,e),this.debug(`Replace with ${null==e?void 0:e.type}`),this.node=this.container[this.key]=e},t.replaceExpressionWithStatements=function(e){this.resync();const t=o.toSequenceExpression(e,this.scope);if(t)return this.replaceWith(t)[0].get("expressions");const s=this.getFunctionParent(),r=null==s?void 0:s.is("async"),i=o.arrowFunctionExpression([],o.blockStatement(e));this.replaceWith(o.callExpression(i,[])),this.traverse(p);const a=this.get("callee").getCompletionRecords();for(const e of a){if(!e.isExpressionStatement())continue;const t=e.findParent((e=>e.isLoop()));if(t){let s=t.getData("expressionReplacementReturnUid");if(s)s=o.identifier(s.name);else{const e=this.get("callee");s=e.scope.generateDeclaredUidIdentifier("ret"),e.get("body").pushContainer("body",o.returnStatement(o.cloneNode(s))),t.setData("expressionReplacementReturnUid",s)}e.get("expression").replaceWith(o.assignmentExpression("=",o.cloneNode(s),e.node.expression))}else e.replaceWith(o.returnStatement(e.node.expression))}const l=this.get("callee");return l.arrowFunctionToExpression(),r&&n.default.hasType(this.get("callee.body").node,"AwaitExpression",o.FUNCTION_TYPES)&&(l.set("async",!0),this.replaceWith(o.awaitExpression(this.node))),l.get("body.body")},t.replaceInline=function(e){if(this.resync(),Array.isArray(e)){if(Array.isArray(this.container)){e=this._verifyNodeList(e);const t=this._containerInsertAfter(e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)};var r=s(785),n=c(s(1910)),i=c(s(706)),a=s(7493),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473));function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}function c(e){return e&&e.__esModule?e:{default:e}}const p={Function(e){e.skip()},VariableDeclaration(e){if("var"!==e.node.kind)return;const t=e.getBindingIdentifiers();for(const s of Object.keys(t))e.scope.push({id:t[s]});const s=[];for(const t of e.node.declarations)t.init&&s.push(o.expressionStatement(o.assignmentExpression("=",t.id,t.init)));e.replaceWithMultiple(s)}}},2329:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor({identifier:e,scope:t,path:s,kind:r}){this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.identifier=e,this.scope=t,this.path=s,this.kind=r,this.clearValue()}deoptValue(){this.clearValue(),this.hasDeoptedValue=!0}setValue(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}clearValue(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}reassign(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)}reference(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))}dereference(){this.references--,this.referenced=!!this.references}}},4639:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=p(s(1360)),n=p(s(1910)),i=p(s(2329)),a=p(s(2261)),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),l=s(1826);function c(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function p(e){return e&&e.__esModule?e:{default:e}}function u(e,t){switch(null==e?void 0:e.type){default:if(o.isModuleDeclaration(e))if(e.source)u(e.source,t);else if(e.specifiers&&e.specifiers.length)for(const s of e.specifiers)u(s,t);else e.declaration&&u(e.declaration,t);else o.isModuleSpecifier(e)?u(e.local,t):o.isLiteral(e)&&t.push(e.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":u(e.object,t),u(e.property,t);break;case"Identifier":case"JSXIdentifier":case"JSXOpeningElement":t.push(e.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":u(e.callee,t);break;case"ObjectExpression":case"ObjectPattern":for(const s of e.properties)u(s,t);break;case"SpreadElement":case"RestElement":case"UnaryExpression":case"UpdateExpression":u(e.argument,t);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":u(e.key,t);break;case"ThisExpression":t.push("this");break;case"Super":t.push("super");break;case"Import":t.push("import");break;case"DoExpression":t.push("do");break;case"YieldExpression":t.push("yield"),u(e.argument,t);break;case"AwaitExpression":t.push("await"),u(e.argument,t);break;case"AssignmentExpression":u(e.left,t);break;case"VariableDeclarator":case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":u(e.id,t);break;case"ParenthesizedExpression":u(e.expression,t);break;case"MetaProperty":u(e.meta,t),u(e.property,t);break;case"JSXElement":u(e.openingElement,t);break;case"JSXFragment":u(e.openingFragment,t);break;case"JSXOpeningFragment":t.push("Fragment");break;case"JSXNamespacedName":u(e.namespace,t),u(e.name,t)}}const h={For(e){for(const t of o.FOR_INIT_KEYS){const s=e.get(t);s.isVar()&&(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerBinding("var",s)}},Declaration(e){e.isBlockScoped()||e.isExportDeclaration()&&e.get("declaration").isDeclaration()||(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e)},ReferencedIdentifier(e,t){t.references.push(e)},ForXStatement(e,t){const s=e.get("left");(s.isPattern()||s.isIdentifier())&&t.constantViolations.push(e)},ExportDeclaration:{exit(e){const{node:t,scope:s}=e,r=t.declaration;if(o.isClassDeclaration(r)||o.isFunctionDeclaration(r)){const t=r.id;if(!t)return;const n=s.getBinding(t.name);n&&n.reference(e)}else if(o.isVariableDeclaration(r))for(const t of r.declarations)for(const r of Object.keys(o.getBindingIdentifiers(t))){const t=s.getBinding(r);t&&t.reference(e)}}},LabeledStatement(e){e.scope.getProgramParent().addGlobal(e.node),e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression(e,t){t.assignments.push(e)},UpdateExpression(e,t){t.constantViolations.push(e)},UnaryExpression(e,t){"delete"===e.node.operator&&t.constantViolations.push(e)},BlockScoped(e){let t=e.scope;if(t.path===e&&(t=t.parent),t.getBlockParent().registerDeclaration(e),e.isClassDeclaration()&&e.node.id){const t=e.node.id.name;e.scope.bindings[t]=e.scope.parent.getBinding(t)}},Block(e){const t=e.get("body");for(const s of t)s.isFunctionDeclaration()&&e.scope.getBlockParent().registerDeclaration(s)},CatchClause(e){e.scope.registerBinding("let",e)},Function(e){e.isFunctionExpression()&&e.has("id")&&!e.get("id").node[o.NOT_LOCAL_BINDING]&&e.scope.registerBinding("local",e.get("id"),e);const t=e.get("params");for(const s of t)e.scope.registerBinding("param",s)},ClassExpression(e){e.has("id")&&!e.get("id").node[o.NOT_LOCAL_BINDING]&&e.scope.registerBinding("local",e)}};let d=0;class f{constructor(e){const{node:t}=e,s=l.scope.get(t);if((null==s?void 0:s.path)===e)return s;l.scope.set(t,this),this.uid=d++,this.block=t,this.path=e,this.labels=new Map,this.inited=!1}get parent(){const e=this.path.findParent((e=>e.isScope()));return null==e?void 0:e.scope}get parentBlock(){return this.path.parent}get hub(){return this.path.hub}traverse(e,t,s){(0,n.default)(e,t,this,s,this.path)}generateDeclaredUidIdentifier(e){const t=this.generateUidIdentifier(e);return this.push({id:t}),o.cloneNode(t)}generateUidIdentifier(e){return o.identifier(this.generateUid(e))}generateUid(e="temp"){let t;e=o.toIdentifier(e).replace(/^_+/,"").replace(/[0-9]+$/g,"");let s=1;do{t=this._generateUid(e,s),s++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));const r=this.getProgramParent();return r.references[t]=!0,r.uids[t]=!0,t}_generateUid(e,t){let s=e;return t>1&&(s+=t),`_${s}`}generateUidBasedOnNode(e,t){const s=[];u(e,s);let r=s.join("$");return r=r.replace(/^_/,"")||t||"ref",this.generateUid(r.slice(0,20))}generateUidIdentifierBasedOnNode(e,t){return o.identifier(this.generateUidBasedOnNode(e,t))}isStatic(e){if(o.isThisExpression(e)||o.isSuper(e))return!0;if(o.isIdentifier(e)){const t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}maybeGenerateMemoised(e,t){if(this.isStatic(e))return null;{const s=this.generateUidIdentifierBasedOnNode(e);return t?s:(this.push({id:s}),o.cloneNode(s))}}checkBlockScopedCollisions(e,t,s,r){if("param"!==t&&"local"!==e.kind&&("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&("let"===t||"const"===t)))throw this.hub.buildError(r,`Duplicate declaration "${s}"`,TypeError)}rename(e,t,s){const n=this.getBinding(e);if(n)return t=t||this.generateUidIdentifier(e).name,new r.default(n,e,t).rename(s)}_renameFromMap(e,t,s,r){e[t]&&(e[s]=r,e[t]=null)}dump(){const e="-".repeat(60);console.log(e);let t=this;do{console.log("#",t.block.type);for(const e of Object.keys(t.bindings)){const s=t.bindings[e];console.log(" -",e,{constant:s.constant,references:s.references,violations:s.constantViolations.length,kind:s.kind})}}while(t=t.parent);console.log(e)}toArray(e,t,s){if(o.isIdentifier(e)){const t=this.getBinding(e.name);if((null==t?void 0:t.constant)&&t.path.isGenericType("Array"))return e}if(o.isArrayExpression(e))return e;if(o.isIdentifier(e,{name:"arguments"}))return o.callExpression(o.memberExpression(o.memberExpression(o.memberExpression(o.identifier("Array"),o.identifier("prototype")),o.identifier("slice")),o.identifier("call")),[e]);let r;const n=[e];return!0===t?r="toConsumableArray":t?(n.push(o.numericLiteral(t)),r="slicedToArray"):r="toArray",s&&(n.unshift(this.hub.addHelper(r)),r="maybeArrayLike"),o.callExpression(this.hub.addHelper(r),n)}hasLabel(e){return!!this.getLabel(e)}getLabel(e){return this.labels.get(e)}registerLabel(e){this.labels.set(e.node.label.name,e)}registerDeclaration(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration()){const t=e.get("declarations");for(const s of t)this.registerBinding(e.node.kind,s)}else if(e.isClassDeclaration())this.registerBinding("let",e);else if(e.isImportDeclaration()){const t=e.get("specifiers");for(const e of t)this.registerBinding("module",e)}else if(e.isExportDeclaration()){const t=e.get("declaration");(t.isClassDeclaration()||t.isFunctionDeclaration()||t.isVariableDeclaration())&&this.registerDeclaration(t)}else this.registerBinding("unknown",e)}buildUndefinedNode(){return o.unaryExpression("void",o.numericLiteral(0),!0)}registerConstantViolation(e){const t=e.getBindingIdentifiers();for(const s of Object.keys(t)){const t=this.getBinding(s);t&&t.reassign(e)}}registerBinding(e,t,s=t){if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration()){const s=t.get("declarations");for(const t of s)this.registerBinding(e,t);return}const r=this.getProgramParent(),n=t.getOuterBindingIdentifiers(!0);for(const t of Object.keys(n)){r.references[t]=!0;for(const r of n[t]){const n=this.getOwnBinding(t);if(n){if(n.identifier===r)continue;this.checkBlockScopedCollisions(n,e,t,r)}n?this.registerConstantViolation(s):this.bindings[t]=new i.default({identifier:r,scope:this,path:s,kind:e})}}}addGlobal(e){this.globals[e.name]=e}hasUid(e){let t=this;do{if(t.uids[e])return!0}while(t=t.parent);return!1}hasGlobal(e){let t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1}hasReference(e){return!!this.getProgramParent().references[e]}isPure(e,t){if(o.isIdentifier(e)){const s=this.getBinding(e.name);return!!s&&(!t||s.constant)}if(o.isClass(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&this.isPure(e.body,t);if(o.isClassBody(e)){for(const s of e.body)if(!this.isPure(s,t))return!1;return!0}if(o.isBinary(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(o.isArrayExpression(e)){for(const s of e.elements)if(!this.isPure(s,t))return!1;return!0}if(o.isObjectExpression(e)){for(const s of e.properties)if(!this.isPure(s,t))return!1;return!0}if(o.isMethod(e))return!(e.computed&&!this.isPure(e.key,t))&&"get"!==e.kind&&"set"!==e.kind;if(o.isProperty(e))return!(e.computed&&!this.isPure(e.key,t))&&this.isPure(e.value,t);if(o.isUnaryExpression(e))return this.isPure(e.argument,t);if(o.isTaggedTemplateExpression(e))return o.matchesPattern(e.tag,"String.raw")&&!this.hasBinding("String",!0)&&this.isPure(e.quasi,t);if(o.isTemplateLiteral(e)){for(const s of e.expressions)if(!this.isPure(s,t))return!1;return!0}return o.isPureish(e)}setData(e,t){return this.data[e]=t}getData(e){let t=this;do{const s=t.data[e];if(null!=s)return s}while(t=t.parent)}removeData(e){let t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)}init(){this.inited||(this.inited=!0,this.crawl())}crawl(){const e=this.path;if(this.references=Object.create(null),this.bindings=Object.create(null),this.globals=Object.create(null),this.uids=Object.create(null),this.data=Object.create(null),e.isFunction()){e.isFunctionExpression()&&e.has("id")&&!e.get("id").node[o.NOT_LOCAL_BINDING]&&this.registerBinding("local",e.get("id"),e);const t=e.get("params");for(const e of t)this.registerBinding("param",e)}const t=this.getProgramParent();if(t.crawling)return;const s={references:[],constantViolations:[],assignments:[]};this.crawling=!0,e.traverse(h,s),this.crawling=!1;for(const e of s.assignments){const s=e.getBindingIdentifiers();for(const r of Object.keys(s))e.scope.getBinding(r)||t.addGlobal(s[r]);e.scope.registerConstantViolation(e)}for(const e of s.references){const s=e.scope.getBinding(e.node.name);s?s.reference(e):t.addGlobal(e.node)}for(const e of s.constantViolations)e.scope.registerConstantViolation(e)}push(e){let t=this.path;t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path),(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get("body"));const s=e.unique,r=e.kind||"var",n=null==e._blockHoist?2:e._blockHoist,i=`declaration:${r}:${n}`;let a=!s&&t.getData(i);if(!a){const e=o.variableDeclaration(r,[]);e._blockHoist=n,[a]=t.unshiftContainer("body",[e]),s||t.setData(i,a)}const l=o.variableDeclarator(e.id,e.init);a.node.declarations.push(l),this.registerBinding(r,a.get("declarations").pop())}getProgramParent(){let e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("Couldn\'t find a Program")}getFunctionParent(){let e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);return null}getBlockParent(){let e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn\'t find a BlockStatement, For, Switch, Function, Loop or Program...")}getAllBindings(){const e=Object.create(null);let t=this;do{for(const s of Object.keys(t.bindings))s in e==0&&(e[s]=t.bindings[s]);t=t.parent}while(t);return e}getAllBindingsOfKind(){const e=Object.create(null);for(const t of arguments){let s=this;do{for(const r of Object.keys(s.bindings)){const n=s.bindings[r];n.kind===t&&(e[r]=n)}s=s.parent}while(s)}return e}bindingIdentifierEquals(e,t){return this.getBindingIdentifier(e)===t}getBinding(e){let t,s=this;do{const n=s.getOwnBinding(e);var r;if(n&&(!(null==(r=t)?void 0:r.isPattern())||"param"===n.kind))return n;t=s.path}while(s=s.parent)}getOwnBinding(e){return this.bindings[e]}getBindingIdentifier(e){var t;return null==(t=this.getBinding(e))?void 0:t.identifier}getOwnBindingIdentifier(e){const t=this.bindings[e];return null==t?void 0:t.identifier}hasOwnBinding(e){return!!this.getOwnBinding(e)}hasBinding(e,t){return!(!e||!this.hasOwnBinding(e)&&!this.parentHasBinding(e,t)&&!this.hasUid(e)&&(t||!f.globals.includes(e))&&(t||!f.contextVariables.includes(e)))}parentHasBinding(e,t){var s;return null==(s=this.parent)?void 0:s.hasBinding(e,t)}moveBindingTo(e,t){const s=this.getBinding(e);s&&(s.scope.removeOwnBinding(e),s.scope=t,t.bindings[e]=s)}removeOwnBinding(e){delete this.bindings[e]}removeBinding(e){var t;null==(t=this.getBinding(e))||t.scope.removeOwnBinding(e);let s=this;do{s.uids[e]&&(s.uids[e]=!1)}while(s=s.parent)}}t.default=f,f.globals=Object.keys(a.default.builtin),f.contextVariables=["arguments","undefined","Infinity","NaN"]},1360:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,i(s(2329));var r=i(s(7224));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}!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 s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}s.default=e,t&&t.set(e,s)}(s(4473));const a={ReferencedIdentifier({node:e},t){e.name===t.oldName&&(e.name=t.newName)},Scope(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||e.skip()},"AssignmentExpression|Declaration|VariableDeclarator"(e,t){if(e.isVariableDeclaration())return;const s=e.getOuterBindingIdentifiers();for(const e in s)e===t.oldName&&(s[e].name=t.newName)}};t.default=class{constructor(e,t,s){this.newName=s,this.oldName=t,this.binding=e}maybeConvertFromExportDeclaration(e){const t=e.parentPath;t.isExportDeclaration()&&(t.isExportDefaultDeclaration()&&!t.get("declaration").node.id||(0,r.default)(t))}maybeConvertFromClassFunctionDeclaration(e){}maybeConvertFromClassFunctionExpression(e){}rename(e){const{binding:t,oldName:s,newName:r}=this,{scope:n,path:i}=t,o=i.find((e=>e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression()));o&&o.getOuterBindingIdentifiers()[s]===t.identifier&&this.maybeConvertFromExportDeclaration(o),n.traverse(e||n.block,a,this),e||(n.removeOwnBinding(s),n.bindings[r]=t,this.binding.identifier.name=r),t.type,o&&(this.maybeConvertFromClassFunctionDeclaration(o),this.maybeConvertFromClassFunctionExpression(o))}}},8221:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.explode=o,t.verify=l,t.merge=function(e,t=[],s){const r={};for(let n=0;ne.toString()),r})),r[n]=i)}return r}function u(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function h(e,t){const s=function(s){if(e.checkPath(s))return t.apply(this,arguments)};return s.toString=()=>t.toString(),s}function d(e){return"_"===e[0]||"enter"===e||"exit"===e||"shouldSkip"===e||"denylist"===e||"noScope"===e||"skipKeys"===e||"blacklist"===e}function f(e,t){for(const s of Object.keys(t))e[s]=[].concat(e[s]||[],t[s])}},2579:(e,t,s)=>{var r=s(1639),n=Object.prototype.hasOwnProperty,i="undefined"!=typeof Map;function a(){this._array=[],this._set=i?new Map:Object.create(null)}a.fromArray=function(e,t){for(var s=new a,r=0,n=e.length;r=0)return t}else{var s=r.toSetString(e);if(n.call(this._set,s))return this._set[s]}throw new Error(\'"\'+e+\'" is not in the set.\')},a.prototype.at=function(e){if(e>=0&&e{var r=s(7382);t.encode=function(e){var t,s="",n=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&n,(n>>>=5)>0&&(t|=32),s+=r.encode(t)}while(n>0);return s},t.decode=function(e,t,s){var n,i,a,o,l=e.length,c=0,p=0;do{if(t>=l)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));n=!!(32&i),c+=(i&=31)<>1,1==(1&a)?-o:o),s.rest=t}},7382:(e,t)=>{var s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{function s(e,r,n,i,a,o){var l=Math.floor((r-e)/2)+e,c=a(n,i[l],!0);return 0===c?l:c>0?r-l>1?s(l,r,n,i,a,o):o==t.LEAST_UPPER_BOUND?r1?s(e,l,n,i,a,o):o==t.LEAST_UPPER_BOUND?l:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,n,i){if(0===r.length)return-1;var a=s(-1,r.length,e,r,n,i||t.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===n(r[a],r[a-1],!0);)--a;return a}},7898:(e,t,s)=>{var r=s(1639);function n(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}n.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},n.prototype.add=function(e){var t,s,n,i,a,o;s=e,n=(t=this._last).generatedLine,i=s.generatedLine,a=t.generatedColumn,o=s.generatedColumn,i>n||i==n&&o>=a||r.compareByGeneratedPositionsInflated(t,s)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},n.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=n},4820:(e,t)=>{function s(e,t,s){var r=e[t];e[t]=e[s],e[s]=r}function r(e,t,n,i){if(n{var r=s(1639),n=s(5698),i=s(2579).I,a=s(7810),o=s(4820).U;function l(e){var t=e;return"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,""))),null!=t.sections?new u(t):new c(t)}function c(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,"")));var s=r.getArg(t,"version"),n=r.getArg(t,"sources"),a=r.getArg(t,"names",[]),o=r.getArg(t,"sourceRoot",null),l=r.getArg(t,"sourcesContent",null),c=r.getArg(t,"mappings"),p=r.getArg(t,"file",null);if(s!=this._version)throw new Error("Unsupported version: "+s);n=n.map(String).map(r.normalize).map((function(e){return o&&r.isAbsolute(o)&&r.isAbsolute(e)?r.relative(o,e):e})),this._names=i.fromArray(a.map(String),!0),this._sources=i.fromArray(n,!0),this.sourceRoot=o,this.sourcesContent=l,this._mappings=c,this.file=p}function p(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function u(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,"")));var s=r.getArg(t,"version"),n=r.getArg(t,"sections");if(s!=this._version)throw new Error("Unsupported version: "+s);this._sources=new i,this._names=new i;var a={line:-1,column:0};this._sections=n.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var t=r.getArg(e,"offset"),s=r.getArg(t,"line"),n=r.getArg(t,"column");if(s=0){var o=this._originalMappings[a];if(void 0===e.column)for(var l=o.originalLine;o&&o.originalLine===l;)i.push({line:r.getArg(o,"generatedLine",null),column:r.getArg(o,"generatedColumn",null),lastColumn:r.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++a];else for(var c=o.originalColumn;o&&o.originalLine===t&&o.originalColumn==c;)i.push({line:r.getArg(o,"generatedLine",null),column:r.getArg(o,"generatedColumn",null),lastColumn:r.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++a]}return i},t.SourceMapConsumer=l,c.prototype=Object.create(l.prototype),c.prototype.consumer=l,c.fromSourceMap=function(e){var t=Object.create(c.prototype),s=t._names=i.fromArray(e._names.toArray(),!0),n=t._sources=i.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),l=t.__generatedMappings=[],u=t.__originalMappings=[],h=0,d=a.length;h1&&(s.source=m+i[1],m+=i[1],s.originalLine=d+i[2],d=s.originalLine,s.originalLine+=1,s.originalColumn=f+i[3],f=s.originalColumn,i.length>4&&(s.name=y+i[4],y+=i[4])),S.push(s),"number"==typeof s.originalLine&&P.push(s)}o(S,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=S,o(P,r.compareByOriginalPositions),this.__originalMappings=P},c.prototype._findMapping=function(e,t,s,r,i,a){if(e[s]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[s]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return n.search(e,t,i,a)},c.prototype.computeColumnSpans=function(){for(var e=0;e=0){var n=this._generatedMappings[s];if(n.generatedLine===t.generatedLine){var i=r.getArg(n,"source",null);null!==i&&(i=this._sources.at(i),null!=this.sourceRoot&&(i=r.join(this.sourceRoot,i)));var a=r.getArg(n,"name",null);return null!==a&&(a=this._names.at(a)),{source:i,line:r.getArg(n,"originalLine",null),column:r.getArg(n,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},c.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=r.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var s;if(null!=this.sourceRoot&&(s=r.urlParse(this.sourceRoot))){var n=e.replace(/^file:\\/\\//,"");if("file"==s.scheme&&this._sources.has(n))return this.sourcesContent[this._sources.indexOf(n)];if((!s.path||"/"==s.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error(\'"\'+e+\'" is not in the SourceMap.\')},c.prototype.generatedPositionFor=function(e){var t=r.getArg(e,"source");if(null!=this.sourceRoot&&(t=r.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var s={source:t=this._sources.indexOf(t),originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")},n=this._findMapping(s,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",l.GREATEST_LOWER_BOUND));if(n>=0){var i=this._originalMappings[n];if(i.source===s.source)return{line:r.getArg(i,"generatedLine",null),column:r.getArg(i,"generatedColumn",null),lastColumn:r.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},u.prototype=Object.create(l.prototype),u.prototype.constructor=l,u.prototype._version=3,Object.defineProperty(u.prototype,"sources",{get:function(){for(var e=[],t=0;t{var r=s(7810),n=s(1639),i=s(2579).I,a=s(7898).H;function o(e){e||(e={}),this._file=n.getArg(e,"file",null),this._sourceRoot=n.getArg(e,"sourceRoot",null),this._skipValidation=n.getArg(e,"skipValidation",!1),this._sources=new i,this._names=new i,this._mappings=new a,this._sourcesContents=null}o.prototype._version=3,o.fromSourceMap=function(e){var t=e.sourceRoot,s=new o({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=n.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),s.addMapping(r)})),e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&s.setSourceContent(t,r)})),s},o.prototype.addMapping=function(e){var t=n.getArg(e,"generated"),s=n.getArg(e,"original",null),r=n.getArg(e,"source",null),i=n.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,s,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!=s&&s.line,originalColumn:null!=s&&s.column,source:r,name:i})},o.prototype.setSourceContent=function(e,t){var s=e;null!=this._sourceRoot&&(s=n.relative(this._sourceRoot,s)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[n.toSetString(s)]=t):this._sourcesContents&&(delete this._sourcesContents[n.toSetString(s)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},o.prototype.applySourceMap=function(e,t,s){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 a=this._sourceRoot;null!=a&&(r=n.relative(a,r));var o=new i,l=new i;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){var i=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=i.source&&(t.source=i.source,null!=s&&(t.source=n.join(s,t.source)),null!=a&&(t.source=n.relative(a,t.source)),t.originalLine=i.line,t.originalColumn=i.column,null!=i.name&&(t.name=i.name))}var c=t.source;null==c||o.has(c)||o.add(c);var p=t.name;null==p||l.has(p)||l.add(p)}),this),this._sources=o,this._names=l,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=s&&(t=n.join(s,t)),null!=a&&(t=n.relative(a,t)),this.setSourceContent(t,r))}),this)},o.prototype._validateMapping=function(e,t,s,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||s||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&&s))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:s,original:t,name:r}))},o.prototype._serializeMappings=function(){for(var e,t,s,i,a=0,o=1,l=0,c=0,p=0,u=0,h="",d=this._mappings.toArray(),f=0,m=d.length;f0){if(!n.compareByGeneratedPositionsInflated(t,d[f-1]))continue;e+=","}e+=r.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(i=this._sources.indexOf(t.source),e+=r.encode(i-u),u=i,e+=r.encode(t.originalLine-1-c),c=t.originalLine-1,e+=r.encode(t.originalColumn-l),l=t.originalColumn,null!=t.name&&(s=this._names.indexOf(t.name),e+=r.encode(s-p),p=s)),h+=e}return h},o.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=n.relative(t,e));var s=n.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,s)?this._sourcesContents[s]:null}),this)},o.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},o.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=o},1799:(e,t,s)=>{var r=s(7969).SourceMapGenerator,n=s(1639),i=/(\\r?\\n)/,a="$$$isSourceNode$$$";function o(e,t,s,r,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==s?null:s,this.name=null==n?null:n,this[a]=!0,null!=r&&this.add(r)}o.fromStringWithSourceMap=function(e,t,s){var r=new o,a=e.split(i),l=0,c=function(){return e()+(e()||"");function e(){return l=0;t--)this.prepend(e[t]);else{if(!e[a]&&"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},o.prototype.walk=function(e){for(var t,s=0,r=this.children.length;s0){for(t=[],s=0;s{t.getArg=function(e,t,s){if(t in e)return e[t];if(3===arguments.length)return s;throw new Error(\'"\'+t+\'" is a required argument.\')};var s=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/,r=/^data:.+\\,.+$/;function n(e){var t=e.match(s);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function a(e){var s=e,r=n(e);if(r){if(!r.path)return e;s=r.path}for(var a,o=t.isAbsolute(s),l=s.split(/\\/+/),c=0,p=l.length-1;p>=0;p--)"."===(a=l[p])?l.splice(p,1):".."===a?c++:c>0&&(""===a?(l.splice(p+1,c),c=0):(l.splice(p,2),c--));return""===(s=l.join("/"))&&(s=o?"/":"."),r?(r.path=s,i(r)):s}t.urlParse=n,t.urlGenerate=i,t.normalize=a,t.join=function(e,t){""===e&&(e="."),""===t&&(t=".");var s=n(t),o=n(e);if(o&&(e=o.path||"/"),s&&!s.scheme)return o&&(s.scheme=o.scheme),i(s);if(s||t.match(r))return t;if(o&&!o.host&&!o.path)return o.host=t,i(o);var l="/"===t.charAt(0)?t:a(e.replace(/\\/+$/,"")+"/"+t);return o?(o.path=l,i(o)):l},t.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(s)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\\/$/,"");for(var s=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++s}return Array(s+1).join("../")+t.substr(e.length+1)};var o=!("__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 s=t-10;s>=0;s--)if(36!==e.charCodeAt(s))return!1;return!0}function p(e,t){return e===t?0:e>t?1:-1}t.toSetString=o?l:function(e){return c(e)?"$"+e:e},t.fromSetString=o?l:function(e){return c(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,s){var r=e.source-t.source;return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||s||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:e.name-t.name},t.compareByGeneratedPositionsDeflated=function(e,t,s){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||s||0!=(r=e.source-t.source)||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:e.name-t.name},t.compareByGeneratedPositionsInflated=function(e,t){var s=e.generatedLine-t.generatedLine;return 0!==s||0!=(s=e.generatedColumn-t.generatedColumn)||0!==(s=p(e.source,t.source))||0!=(s=e.originalLine-t.originalLine)||0!=(s=e.originalColumn-t.originalColumn)?s:p(e.name,t.name)}},8737:(e,t,s)=>{t.SourceMapGenerator=s(7969).SourceMapGenerator,t.SourceMapConsumer=s(8076).SourceMapConsumer,t.SourceNode=s(1799).SourceNode},4468:(e,t)=>{"use strict";t.ZP=function(){throw Error("Test Error stack")},t.U1=void 0,t.U1=12},2037:e=>{"use strict";e.exports=require("os")},6224:e=>{"use strict";e.exports=require("tty")},3837:e=>{"use strict";e.exports=require("util")},5342:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.codeFrameColumns=d,t.default=function(e,t,s,n={}){if(!u){u=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";r.emitWarning?r.emitWarning(e,"DeprecationWarning"):(new Error(e).name="DeprecationWarning",console.warn(new Error(e)))}return d(e,{start:{column:s=Math.max(s,0),line:t}},n)};var n=s(9258),i=function(e,t){if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var s=a(true);if(s&&s.has(e))return s.get(e);var r={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var o=n?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=e[i]}return r.default=e,s&&s.set(e,r),r}(s(7614));function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,s=new WeakMap;return(a=function(e){return e?s:t})(e)}const o="object"!=typeof r||"0"!==r.env.FORCE_COLOR&&"false"!==r.env.FORCE_COLOR?i.default:(0,i.createColors)(!1),l=(e,t)=>s=>e(t(s));let c;function p(e){return e?(null!=c||(c=(0,i.createColors)(!0)),c):o}let u=!1;const h=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function d(e,t,s={}){const r=(s.highlightCode||s.forceColor)&&(0,n.shouldHighlight)(s),i=p(s.forceColor),a=function(e){return{gutter:e.gray,marker:l(e.red,e.bold),message:l(e.red,e.bold)}}(i),o=(e,t)=>r?e(t):t,c=e.split(h),{start:u,end:d,markerLines:f}=function(e,t,s){const r=Object.assign({column:0,line:-1},e.start),n=Object.assign({},r,e.end),{linesAbove:i=2,linesBelow:a=3}=s||{},o=r.line,l=r.column,c=n.line,p=n.column;let u=Math.max(o-(i+1),0),h=Math.min(t.length,c+a);-1===o&&(u=0),-1===c&&(h=t.length);const d=c-o,f={};if(d)for(let e=0;e<=d;e++){const s=e+o;if(l)if(0===e){const e=t[s-1].length;f[s]=[l,e-l+1]}else if(e===d)f[s]=[0,p];else{const r=t[s-e].length;f[s]=[0,r]}else f[s]=!0}else f[o]=l===p?!l||[l,0]:[l,p-l];return{start:u,end:h,markerLines:f}}(t,c,s),m=t.start&&"number"==typeof t.start.column,y=String(d).length;let g=(r?(0,n.default)(e,s):e).split(h,d).slice(u,d).map(((e,t)=>{const r=u+1+t,n=` ${` ${r}`.slice(-y)} |`,i=f[r],l=!f[r+1];if(i){let t="";if(Array.isArray(i)){const r=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\\t]/g," "),c=i[1]||1;t=["\\n ",o(a.gutter,n.replace(/\\d/g," "))," ",r,o(a.marker,"^").repeat(c)].join(""),l&&s.message&&(t+=" "+o(a.message,s.message))}return[o(a.marker,">"),o(a.gutter,n),e.length>0?` ${e}`:"",t].join("")}return` ${o(a.gutter,n)}${e.length>0?` ${e}`:""}`})).join("\\n");return s.message&&!m&&(g=`${" ".repeat(y+1)}${s.message}\\n${g}`),r?i.reset(g):g}},3993:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readCodePoint=c,t.readInt=l,t.readStringContents=function(e,t,s,r,n,o){const l=s,c=r,p=n;let u="",h=null,d=s;const{length:f}=t;for(;;){if(s>=f){o.unterminated(l,c,p),u+=t.slice(d,s);break}const m=t.charCodeAt(s);if(i(e,m,t,s)){u+=t.slice(d,s);break}if(92===m){u+=t.slice(d,s);const i=a(t,s,r,n,"template"===e,o);null!==i.ch||h?u+=i.ch:h={pos:s,lineStart:r,curLine:n},({pos:s,lineStart:r,curLine:n}=i),d=s}else 8232===m||8233===m?(++n,r=++s):10===m||13===m?"template"===e?(u+=t.slice(d,s)+"\\n",++s,13===m&&10===t.charCodeAt(s)&&++s,++n,d=r=s):o.unterminated(l,c,p):++s}return{pos:s,str:u,firstInvalidLoc:h,lineStart:r,curLine:n,containsInvalid:!!h}};var s=function(e){return e>=48&&e<=57};const r={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},n={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function i(e,t,s,r){return"template"===e?96===t||36===t&&123===s.charCodeAt(r+1):t===("double"===e?34:39)}function a(e,t,s,r,n,i){const a=!n;t++;const l=e=>({pos:t,ch:e,lineStart:s,curLine:r}),p=e.charCodeAt(t++);switch(p){case 110:return l("\\n");case 114:return l("\\r");case 120:{let n;return({code:n,pos:t}=o(e,t,s,r,2,!1,a,i)),l(null===n?null:String.fromCharCode(n))}case 117:{let n;return({code:n,pos:t}=c(e,t,s,r,a,i)),l(null===n?null:String.fromCodePoint(n))}case 116:return l("\\t");case 98:return l("\\b");case 118:return l("\\v");case 102:return l("\\f");case 13:10===e.charCodeAt(t)&&++t;case 10:s=t,++r;case 8232:case 8233:return l("");case 56:case 57:if(n)return l(null);i.strictNumericEscape(t-1,s,r);default:if(p>=48&&p<=55){const a=t-1;let o=/^[0-7]+/.exec(e.slice(a,t+2))[0],c=parseInt(o,8);c>255&&(o=o.slice(0,-1),c=parseInt(o,8)),t+=o.length-1;const p=e.charCodeAt(t);if("0"!==o||56===p||57===p){if(n)return l(null);i.strictNumericEscape(a,s,r)}return l(String.fromCharCode(c))}return l(String.fromCharCode(p))}}function o(e,t,s,r,n,i,a,o){const c=t;let p;return({n:p,pos:t}=l(e,t,s,r,16,n,i,!1,o,!a)),null===p&&(a?o.invalidEscapeSequence(c,s,r):t=c-1),{code:p,pos:t}}function l(e,t,i,a,o,l,c,p,u,h){const d=t,f=16===o?r.hex:r.decBinOct,m=16===o?n.hex:10===o?n.dec:8===o?n.oct:n.bin;let y=!1,g=0;for(let r=0,n=null==l?1/0:l;r=97?r-97+10:r>=65?r-65+10:s(r)?r-48:1/0,n>=o){if(n<=9&&h)return{n:null,pos:t};if(n<=9&&u.invalidDigit(t,i,a,o))n=0;else{if(!c)break;n=0,y=!0}}++t,g=g*o+n}else{const s=e.charCodeAt(t-1),r=e.charCodeAt(t+1);if(p){if(Number.isNaN(r)||!m(r)||f.has(s)||f.has(r)){if(h)return{n:null,pos:t};u.unexpectedNumericSeparator(t,i,a)}}else{if(h)return{n:null,pos:t};u.numericSeparatorInEscapeSequence(t,i,a)}++t}}return t===d||null!=l&&t-d!==l||y?{n:null,pos:t}:{n:g,pos:t}}function c(e,t,s,r,n,i){let a;if(123===e.charCodeAt(t)){if(++t,({code:a,pos:t}=o(e,t,s,r,e.indexOf("}",t)-t,!0,n,i)),++t,null!==a&&a>1114111){if(!n)return{code:null,pos:t};i.invalidCodePoint(t,s,r)}}else({code:a,pos:t}=o(e,t,s,r,4,!1,n,i));return{code:a,pos:t}}},554:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIdentifierChar=p,t.isIdentifierName=function(e){let t=!0;for(let s=0;se)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function c(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&n.test(String.fromCharCode(e)):l(e,a)))}function p(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&i.test(String.fromCharCode(e)):l(e,a)||l(e,o))))}},736:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return r.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return r.isIdentifierName}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return r.isIdentifierStart}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return n.isKeyword}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return n.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return n.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return n.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return n.isStrictReservedWord}});var r=s(554),n=s(221)},221:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=function(e){return s.has(e)},t.isReservedWord=i,t.isStrictBindOnlyReservedWord=o,t.isStrictBindReservedWord=function(e,t){return a(e,t)||o(e)},t.isStrictReservedWord=a;const s=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"]),r=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),n=new Set(["eval","arguments"]);function i(e,t){return t&&"await"===e||"enum"===e}function a(e,t){return i(e,t)||r.has(e)}function o(e){return n.has(e)}},9258:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t={}){if(""!==e&&m(t)){const s=function(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:c(c(e.white,e.bgRed),e.bold)}}(t.forceColor?(null!=f||(f=(0,a.createColors)(!0)),f):l);return function(e,t){let s="";for(const{type:r,value:n}of d(t)){const t=e[r];s+=t?n.split(u).map((e=>t(e))).join("\\n"):n}return s}(s,e)}return e},t.shouldHighlight=m;var n=s(8631),i=s(7990),a=function(e,t){if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var s=o(true);if(s&&s.has(e))return s.get(e);var r={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}return r.default=e,s&&s.set(e,r),r}(s(7614));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,s=new WeakMap;return(o=function(e){return e?s:t})(e)}const l="object"!=typeof r||"0"!==r.env.FORCE_COLOR&&"false"!==r.env.FORCE_COLOR?a.default:(0,a.createColors)(!1),c=(e,t)=>s=>e(t(s)),p=new Set(["as","async","from","get","of","set"]),u=/\\r\\n|[\\n\\r\\u2028\\u2029]/,h=/^[()[\\]{}]$/;let d,f;{const e=/^[a-z][\\w-]*$/i,t=function(t,s,r){if("name"===t.type){if((0,i.isKeyword)(t.value)||(0,i.isStrictReservedWord)(t.value,!0)||p.has(t.value))return"keyword";if(e.test(t.value)&&("<"===r[s-1]||"(null!=e||(e=s(1859)),t?(null!=r||(r=new e.constructor({enabled:!0,level:1})),r):e)}},5500:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIdentifierChar=p,t.isIdentifierName=function(e){let t=!0;for(let s=0;se)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function c(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&n.test(String.fromCharCode(e)):l(e,a)))}function p(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&i.test(String.fromCharCode(e)):l(e,a)||l(e,o))))}},7990:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return r.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return r.isIdentifierName}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return r.isIdentifierStart}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return n.isKeyword}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return n.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return n.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return n.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return n.isStrictReservedWord}});var r=s(5500),n=s(7206)},7206:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=function(e){return s.has(e)},t.isReservedWord=i,t.isStrictBindOnlyReservedWord=o,t.isStrictBindReservedWord=function(e,t){return a(e,t)||o(e)},t.isStrictReservedWord=a;const s=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"]),r=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),n=new Set(["eval","arguments"]);function i(e,t){return t&&"await"===e||"enum"===e}function a(e,t){return i(e,t)||r.has(e)}function o(e){return n.has(e)}},8710:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!(0,r.default)(e)){var t;const s=null!=(t=null==e?void 0:e.type)?t:JSON.stringify(e);throw new TypeError(`Not a valid node of type "${s}"`)}};var r=s(3261)},3658:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertAccessor=function(e,t){i("Accessor",e,t)},t.assertAnyTypeAnnotation=function(e,t){i("AnyTypeAnnotation",e,t)},t.assertArgumentPlaceholder=function(e,t){i("ArgumentPlaceholder",e,t)},t.assertArrayExpression=function(e,t){i("ArrayExpression",e,t)},t.assertArrayPattern=function(e,t){i("ArrayPattern",e,t)},t.assertArrayTypeAnnotation=function(e,t){i("ArrayTypeAnnotation",e,t)},t.assertArrowFunctionExpression=function(e,t){i("ArrowFunctionExpression",e,t)},t.assertAssignmentExpression=function(e,t){i("AssignmentExpression",e,t)},t.assertAssignmentPattern=function(e,t){i("AssignmentPattern",e,t)},t.assertAwaitExpression=function(e,t){i("AwaitExpression",e,t)},t.assertBigIntLiteral=function(e,t){i("BigIntLiteral",e,t)},t.assertBinary=function(e,t){i("Binary",e,t)},t.assertBinaryExpression=function(e,t){i("BinaryExpression",e,t)},t.assertBindExpression=function(e,t){i("BindExpression",e,t)},t.assertBlock=function(e,t){i("Block",e,t)},t.assertBlockParent=function(e,t){i("BlockParent",e,t)},t.assertBlockStatement=function(e,t){i("BlockStatement",e,t)},t.assertBooleanLiteral=function(e,t){i("BooleanLiteral",e,t)},t.assertBooleanLiteralTypeAnnotation=function(e,t){i("BooleanLiteralTypeAnnotation",e,t)},t.assertBooleanTypeAnnotation=function(e,t){i("BooleanTypeAnnotation",e,t)},t.assertBreakStatement=function(e,t){i("BreakStatement",e,t)},t.assertCallExpression=function(e,t){i("CallExpression",e,t)},t.assertCatchClause=function(e,t){i("CatchClause",e,t)},t.assertClass=function(e,t){i("Class",e,t)},t.assertClassAccessorProperty=function(e,t){i("ClassAccessorProperty",e,t)},t.assertClassBody=function(e,t){i("ClassBody",e,t)},t.assertClassDeclaration=function(e,t){i("ClassDeclaration",e,t)},t.assertClassExpression=function(e,t){i("ClassExpression",e,t)},t.assertClassImplements=function(e,t){i("ClassImplements",e,t)},t.assertClassMethod=function(e,t){i("ClassMethod",e,t)},t.assertClassPrivateMethod=function(e,t){i("ClassPrivateMethod",e,t)},t.assertClassPrivateProperty=function(e,t){i("ClassPrivateProperty",e,t)},t.assertClassProperty=function(e,t){i("ClassProperty",e,t)},t.assertCompletionStatement=function(e,t){i("CompletionStatement",e,t)},t.assertConditional=function(e,t){i("Conditional",e,t)},t.assertConditionalExpression=function(e,t){i("ConditionalExpression",e,t)},t.assertContinueStatement=function(e,t){i("ContinueStatement",e,t)},t.assertDebuggerStatement=function(e,t){i("DebuggerStatement",e,t)},t.assertDecimalLiteral=function(e,t){i("DecimalLiteral",e,t)},t.assertDeclaration=function(e,t){i("Declaration",e,t)},t.assertDeclareClass=function(e,t){i("DeclareClass",e,t)},t.assertDeclareExportAllDeclaration=function(e,t){i("DeclareExportAllDeclaration",e,t)},t.assertDeclareExportDeclaration=function(e,t){i("DeclareExportDeclaration",e,t)},t.assertDeclareFunction=function(e,t){i("DeclareFunction",e,t)},t.assertDeclareInterface=function(e,t){i("DeclareInterface",e,t)},t.assertDeclareModule=function(e,t){i("DeclareModule",e,t)},t.assertDeclareModuleExports=function(e,t){i("DeclareModuleExports",e,t)},t.assertDeclareOpaqueType=function(e,t){i("DeclareOpaqueType",e,t)},t.assertDeclareTypeAlias=function(e,t){i("DeclareTypeAlias",e,t)},t.assertDeclareVariable=function(e,t){i("DeclareVariable",e,t)},t.assertDeclaredPredicate=function(e,t){i("DeclaredPredicate",e,t)},t.assertDecorator=function(e,t){i("Decorator",e,t)},t.assertDirective=function(e,t){i("Directive",e,t)},t.assertDirectiveLiteral=function(e,t){i("DirectiveLiteral",e,t)},t.assertDoExpression=function(e,t){i("DoExpression",e,t)},t.assertDoWhileStatement=function(e,t){i("DoWhileStatement",e,t)},t.assertEmptyStatement=function(e,t){i("EmptyStatement",e,t)},t.assertEmptyTypeAnnotation=function(e,t){i("EmptyTypeAnnotation",e,t)},t.assertEnumBody=function(e,t){i("EnumBody",e,t)},t.assertEnumBooleanBody=function(e,t){i("EnumBooleanBody",e,t)},t.assertEnumBooleanMember=function(e,t){i("EnumBooleanMember",e,t)},t.assertEnumDeclaration=function(e,t){i("EnumDeclaration",e,t)},t.assertEnumDefaultedMember=function(e,t){i("EnumDefaultedMember",e,t)},t.assertEnumMember=function(e,t){i("EnumMember",e,t)},t.assertEnumNumberBody=function(e,t){i("EnumNumberBody",e,t)},t.assertEnumNumberMember=function(e,t){i("EnumNumberMember",e,t)},t.assertEnumStringBody=function(e,t){i("EnumStringBody",e,t)},t.assertEnumStringMember=function(e,t){i("EnumStringMember",e,t)},t.assertEnumSymbolBody=function(e,t){i("EnumSymbolBody",e,t)},t.assertExistsTypeAnnotation=function(e,t){i("ExistsTypeAnnotation",e,t)},t.assertExportAllDeclaration=function(e,t){i("ExportAllDeclaration",e,t)},t.assertExportDeclaration=function(e,t){i("ExportDeclaration",e,t)},t.assertExportDefaultDeclaration=function(e,t){i("ExportDefaultDeclaration",e,t)},t.assertExportDefaultSpecifier=function(e,t){i("ExportDefaultSpecifier",e,t)},t.assertExportNamedDeclaration=function(e,t){i("ExportNamedDeclaration",e,t)},t.assertExportNamespaceSpecifier=function(e,t){i("ExportNamespaceSpecifier",e,t)},t.assertExportSpecifier=function(e,t){i("ExportSpecifier",e,t)},t.assertExpression=function(e,t){i("Expression",e,t)},t.assertExpressionStatement=function(e,t){i("ExpressionStatement",e,t)},t.assertExpressionWrapper=function(e,t){i("ExpressionWrapper",e,t)},t.assertFile=function(e,t){i("File",e,t)},t.assertFlow=function(e,t){i("Flow",e,t)},t.assertFlowBaseAnnotation=function(e,t){i("FlowBaseAnnotation",e,t)},t.assertFlowDeclaration=function(e,t){i("FlowDeclaration",e,t)},t.assertFlowPredicate=function(e,t){i("FlowPredicate",e,t)},t.assertFlowType=function(e,t){i("FlowType",e,t)},t.assertFor=function(e,t){i("For",e,t)},t.assertForInStatement=function(e,t){i("ForInStatement",e,t)},t.assertForOfStatement=function(e,t){i("ForOfStatement",e,t)},t.assertForStatement=function(e,t){i("ForStatement",e,t)},t.assertForXStatement=function(e,t){i("ForXStatement",e,t)},t.assertFunction=function(e,t){i("Function",e,t)},t.assertFunctionDeclaration=function(e,t){i("FunctionDeclaration",e,t)},t.assertFunctionExpression=function(e,t){i("FunctionExpression",e,t)},t.assertFunctionParent=function(e,t){i("FunctionParent",e,t)},t.assertFunctionTypeAnnotation=function(e,t){i("FunctionTypeAnnotation",e,t)},t.assertFunctionTypeParam=function(e,t){i("FunctionTypeParam",e,t)},t.assertGenericTypeAnnotation=function(e,t){i("GenericTypeAnnotation",e,t)},t.assertIdentifier=function(e,t){i("Identifier",e,t)},t.assertIfStatement=function(e,t){i("IfStatement",e,t)},t.assertImmutable=function(e,t){i("Immutable",e,t)},t.assertImport=function(e,t){i("Import",e,t)},t.assertImportAttribute=function(e,t){i("ImportAttribute",e,t)},t.assertImportDeclaration=function(e,t){i("ImportDeclaration",e,t)},t.assertImportDefaultSpecifier=function(e,t){i("ImportDefaultSpecifier",e,t)},t.assertImportExpression=function(e,t){i("ImportExpression",e,t)},t.assertImportNamespaceSpecifier=function(e,t){i("ImportNamespaceSpecifier",e,t)},t.assertImportOrExportDeclaration=function(e,t){i("ImportOrExportDeclaration",e,t)},t.assertImportSpecifier=function(e,t){i("ImportSpecifier",e,t)},t.assertIndexedAccessType=function(e,t){i("IndexedAccessType",e,t)},t.assertInferredPredicate=function(e,t){i("InferredPredicate",e,t)},t.assertInterfaceDeclaration=function(e,t){i("InterfaceDeclaration",e,t)},t.assertInterfaceExtends=function(e,t){i("InterfaceExtends",e,t)},t.assertInterfaceTypeAnnotation=function(e,t){i("InterfaceTypeAnnotation",e,t)},t.assertInterpreterDirective=function(e,t){i("InterpreterDirective",e,t)},t.assertIntersectionTypeAnnotation=function(e,t){i("IntersectionTypeAnnotation",e,t)},t.assertJSX=function(e,t){i("JSX",e,t)},t.assertJSXAttribute=function(e,t){i("JSXAttribute",e,t)},t.assertJSXClosingElement=function(e,t){i("JSXClosingElement",e,t)},t.assertJSXClosingFragment=function(e,t){i("JSXClosingFragment",e,t)},t.assertJSXElement=function(e,t){i("JSXElement",e,t)},t.assertJSXEmptyExpression=function(e,t){i("JSXEmptyExpression",e,t)},t.assertJSXExpressionContainer=function(e,t){i("JSXExpressionContainer",e,t)},t.assertJSXFragment=function(e,t){i("JSXFragment",e,t)},t.assertJSXIdentifier=function(e,t){i("JSXIdentifier",e,t)},t.assertJSXMemberExpression=function(e,t){i("JSXMemberExpression",e,t)},t.assertJSXNamespacedName=function(e,t){i("JSXNamespacedName",e,t)},t.assertJSXOpeningElement=function(e,t){i("JSXOpeningElement",e,t)},t.assertJSXOpeningFragment=function(e,t){i("JSXOpeningFragment",e,t)},t.assertJSXSpreadAttribute=function(e,t){i("JSXSpreadAttribute",e,t)},t.assertJSXSpreadChild=function(e,t){i("JSXSpreadChild",e,t)},t.assertJSXText=function(e,t){i("JSXText",e,t)},t.assertLVal=function(e,t){i("LVal",e,t)},t.assertLabeledStatement=function(e,t){i("LabeledStatement",e,t)},t.assertLiteral=function(e,t){i("Literal",e,t)},t.assertLogicalExpression=function(e,t){i("LogicalExpression",e,t)},t.assertLoop=function(e,t){i("Loop",e,t)},t.assertMemberExpression=function(e,t){i("MemberExpression",e,t)},t.assertMetaProperty=function(e,t){i("MetaProperty",e,t)},t.assertMethod=function(e,t){i("Method",e,t)},t.assertMiscellaneous=function(e,t){i("Miscellaneous",e,t)},t.assertMixedTypeAnnotation=function(e,t){i("MixedTypeAnnotation",e,t)},t.assertModuleDeclaration=function(e,t){(0,n.default)("assertModuleDeclaration","assertImportOrExportDeclaration"),i("ModuleDeclaration",e,t)},t.assertModuleExpression=function(e,t){i("ModuleExpression",e,t)},t.assertModuleSpecifier=function(e,t){i("ModuleSpecifier",e,t)},t.assertNewExpression=function(e,t){i("NewExpression",e,t)},t.assertNoop=function(e,t){i("Noop",e,t)},t.assertNullLiteral=function(e,t){i("NullLiteral",e,t)},t.assertNullLiteralTypeAnnotation=function(e,t){i("NullLiteralTypeAnnotation",e,t)},t.assertNullableTypeAnnotation=function(e,t){i("NullableTypeAnnotation",e,t)},t.assertNumberLiteral=function(e,t){(0,n.default)("assertNumberLiteral","assertNumericLiteral"),i("NumberLiteral",e,t)},t.assertNumberLiteralTypeAnnotation=function(e,t){i("NumberLiteralTypeAnnotation",e,t)},t.assertNumberTypeAnnotation=function(e,t){i("NumberTypeAnnotation",e,t)},t.assertNumericLiteral=function(e,t){i("NumericLiteral",e,t)},t.assertObjectExpression=function(e,t){i("ObjectExpression",e,t)},t.assertObjectMember=function(e,t){i("ObjectMember",e,t)},t.assertObjectMethod=function(e,t){i("ObjectMethod",e,t)},t.assertObjectPattern=function(e,t){i("ObjectPattern",e,t)},t.assertObjectProperty=function(e,t){i("ObjectProperty",e,t)},t.assertObjectTypeAnnotation=function(e,t){i("ObjectTypeAnnotation",e,t)},t.assertObjectTypeCallProperty=function(e,t){i("ObjectTypeCallProperty",e,t)},t.assertObjectTypeIndexer=function(e,t){i("ObjectTypeIndexer",e,t)},t.assertObjectTypeInternalSlot=function(e,t){i("ObjectTypeInternalSlot",e,t)},t.assertObjectTypeProperty=function(e,t){i("ObjectTypeProperty",e,t)},t.assertObjectTypeSpreadProperty=function(e,t){i("ObjectTypeSpreadProperty",e,t)},t.assertOpaqueType=function(e,t){i("OpaqueType",e,t)},t.assertOptionalCallExpression=function(e,t){i("OptionalCallExpression",e,t)},t.assertOptionalIndexedAccessType=function(e,t){i("OptionalIndexedAccessType",e,t)},t.assertOptionalMemberExpression=function(e,t){i("OptionalMemberExpression",e,t)},t.assertParenthesizedExpression=function(e,t){i("ParenthesizedExpression",e,t)},t.assertPattern=function(e,t){i("Pattern",e,t)},t.assertPatternLike=function(e,t){i("PatternLike",e,t)},t.assertPipelineBareFunction=function(e,t){i("PipelineBareFunction",e,t)},t.assertPipelinePrimaryTopicReference=function(e,t){i("PipelinePrimaryTopicReference",e,t)},t.assertPipelineTopicExpression=function(e,t){i("PipelineTopicExpression",e,t)},t.assertPlaceholder=function(e,t){i("Placeholder",e,t)},t.assertPrivate=function(e,t){i("Private",e,t)},t.assertPrivateName=function(e,t){i("PrivateName",e,t)},t.assertProgram=function(e,t){i("Program",e,t)},t.assertProperty=function(e,t){i("Property",e,t)},t.assertPureish=function(e,t){i("Pureish",e,t)},t.assertQualifiedTypeIdentifier=function(e,t){i("QualifiedTypeIdentifier",e,t)},t.assertRecordExpression=function(e,t){i("RecordExpression",e,t)},t.assertRegExpLiteral=function(e,t){i("RegExpLiteral",e,t)},t.assertRegexLiteral=function(e,t){(0,n.default)("assertRegexLiteral","assertRegExpLiteral"),i("RegexLiteral",e,t)},t.assertRestElement=function(e,t){i("RestElement",e,t)},t.assertRestProperty=function(e,t){(0,n.default)("assertRestProperty","assertRestElement"),i("RestProperty",e,t)},t.assertReturnStatement=function(e,t){i("ReturnStatement",e,t)},t.assertScopable=function(e,t){i("Scopable",e,t)},t.assertSequenceExpression=function(e,t){i("SequenceExpression",e,t)},t.assertSpreadElement=function(e,t){i("SpreadElement",e,t)},t.assertSpreadProperty=function(e,t){(0,n.default)("assertSpreadProperty","assertSpreadElement"),i("SpreadProperty",e,t)},t.assertStandardized=function(e,t){i("Standardized",e,t)},t.assertStatement=function(e,t){i("Statement",e,t)},t.assertStaticBlock=function(e,t){i("StaticBlock",e,t)},t.assertStringLiteral=function(e,t){i("StringLiteral",e,t)},t.assertStringLiteralTypeAnnotation=function(e,t){i("StringLiteralTypeAnnotation",e,t)},t.assertStringTypeAnnotation=function(e,t){i("StringTypeAnnotation",e,t)},t.assertSuper=function(e,t){i("Super",e,t)},t.assertSwitchCase=function(e,t){i("SwitchCase",e,t)},t.assertSwitchStatement=function(e,t){i("SwitchStatement",e,t)},t.assertSymbolTypeAnnotation=function(e,t){i("SymbolTypeAnnotation",e,t)},t.assertTSAnyKeyword=function(e,t){i("TSAnyKeyword",e,t)},t.assertTSArrayType=function(e,t){i("TSArrayType",e,t)},t.assertTSAsExpression=function(e,t){i("TSAsExpression",e,t)},t.assertTSBaseType=function(e,t){i("TSBaseType",e,t)},t.assertTSBigIntKeyword=function(e,t){i("TSBigIntKeyword",e,t)},t.assertTSBooleanKeyword=function(e,t){i("TSBooleanKeyword",e,t)},t.assertTSCallSignatureDeclaration=function(e,t){i("TSCallSignatureDeclaration",e,t)},t.assertTSConditionalType=function(e,t){i("TSConditionalType",e,t)},t.assertTSConstructSignatureDeclaration=function(e,t){i("TSConstructSignatureDeclaration",e,t)},t.assertTSConstructorType=function(e,t){i("TSConstructorType",e,t)},t.assertTSDeclareFunction=function(e,t){i("TSDeclareFunction",e,t)},t.assertTSDeclareMethod=function(e,t){i("TSDeclareMethod",e,t)},t.assertTSEntityName=function(e,t){i("TSEntityName",e,t)},t.assertTSEnumBody=function(e,t){i("TSEnumBody",e,t)},t.assertTSEnumDeclaration=function(e,t){i("TSEnumDeclaration",e,t)},t.assertTSEnumMember=function(e,t){i("TSEnumMember",e,t)},t.assertTSExportAssignment=function(e,t){i("TSExportAssignment",e,t)},t.assertTSExpressionWithTypeArguments=function(e,t){i("TSExpressionWithTypeArguments",e,t)},t.assertTSExternalModuleReference=function(e,t){i("TSExternalModuleReference",e,t)},t.assertTSFunctionType=function(e,t){i("TSFunctionType",e,t)},t.assertTSImportEqualsDeclaration=function(e,t){i("TSImportEqualsDeclaration",e,t)},t.assertTSImportType=function(e,t){i("TSImportType",e,t)},t.assertTSIndexSignature=function(e,t){i("TSIndexSignature",e,t)},t.assertTSIndexedAccessType=function(e,t){i("TSIndexedAccessType",e,t)},t.assertTSInferType=function(e,t){i("TSInferType",e,t)},t.assertTSInstantiationExpression=function(e,t){i("TSInstantiationExpression",e,t)},t.assertTSInterfaceBody=function(e,t){i("TSInterfaceBody",e,t)},t.assertTSInterfaceDeclaration=function(e,t){i("TSInterfaceDeclaration",e,t)},t.assertTSIntersectionType=function(e,t){i("TSIntersectionType",e,t)},t.assertTSIntrinsicKeyword=function(e,t){i("TSIntrinsicKeyword",e,t)},t.assertTSLiteralType=function(e,t){i("TSLiteralType",e,t)},t.assertTSMappedType=function(e,t){i("TSMappedType",e,t)},t.assertTSMethodSignature=function(e,t){i("TSMethodSignature",e,t)},t.assertTSModuleBlock=function(e,t){i("TSModuleBlock",e,t)},t.assertTSModuleDeclaration=function(e,t){i("TSModuleDeclaration",e,t)},t.assertTSNamedTupleMember=function(e,t){i("TSNamedTupleMember",e,t)},t.assertTSNamespaceExportDeclaration=function(e,t){i("TSNamespaceExportDeclaration",e,t)},t.assertTSNeverKeyword=function(e,t){i("TSNeverKeyword",e,t)},t.assertTSNonNullExpression=function(e,t){i("TSNonNullExpression",e,t)},t.assertTSNullKeyword=function(e,t){i("TSNullKeyword",e,t)},t.assertTSNumberKeyword=function(e,t){i("TSNumberKeyword",e,t)},t.assertTSObjectKeyword=function(e,t){i("TSObjectKeyword",e,t)},t.assertTSOptionalType=function(e,t){i("TSOptionalType",e,t)},t.assertTSParameterProperty=function(e,t){i("TSParameterProperty",e,t)},t.assertTSParenthesizedType=function(e,t){i("TSParenthesizedType",e,t)},t.assertTSPropertySignature=function(e,t){i("TSPropertySignature",e,t)},t.assertTSQualifiedName=function(e,t){i("TSQualifiedName",e,t)},t.assertTSRestType=function(e,t){i("TSRestType",e,t)},t.assertTSSatisfiesExpression=function(e,t){i("TSSatisfiesExpression",e,t)},t.assertTSStringKeyword=function(e,t){i("TSStringKeyword",e,t)},t.assertTSSymbolKeyword=function(e,t){i("TSSymbolKeyword",e,t)},t.assertTSTemplateLiteralType=function(e,t){i("TSTemplateLiteralType",e,t)},t.assertTSThisType=function(e,t){i("TSThisType",e,t)},t.assertTSTupleType=function(e,t){i("TSTupleType",e,t)},t.assertTSType=function(e,t){i("TSType",e,t)},t.assertTSTypeAliasDeclaration=function(e,t){i("TSTypeAliasDeclaration",e,t)},t.assertTSTypeAnnotation=function(e,t){i("TSTypeAnnotation",e,t)},t.assertTSTypeAssertion=function(e,t){i("TSTypeAssertion",e,t)},t.assertTSTypeElement=function(e,t){i("TSTypeElement",e,t)},t.assertTSTypeLiteral=function(e,t){i("TSTypeLiteral",e,t)},t.assertTSTypeOperator=function(e,t){i("TSTypeOperator",e,t)},t.assertTSTypeParameter=function(e,t){i("TSTypeParameter",e,t)},t.assertTSTypeParameterDeclaration=function(e,t){i("TSTypeParameterDeclaration",e,t)},t.assertTSTypeParameterInstantiation=function(e,t){i("TSTypeParameterInstantiation",e,t)},t.assertTSTypePredicate=function(e,t){i("TSTypePredicate",e,t)},t.assertTSTypeQuery=function(e,t){i("TSTypeQuery",e,t)},t.assertTSTypeReference=function(e,t){i("TSTypeReference",e,t)},t.assertTSUndefinedKeyword=function(e,t){i("TSUndefinedKeyword",e,t)},t.assertTSUnionType=function(e,t){i("TSUnionType",e,t)},t.assertTSUnknownKeyword=function(e,t){i("TSUnknownKeyword",e,t)},t.assertTSVoidKeyword=function(e,t){i("TSVoidKeyword",e,t)},t.assertTaggedTemplateExpression=function(e,t){i("TaggedTemplateExpression",e,t)},t.assertTemplateElement=function(e,t){i("TemplateElement",e,t)},t.assertTemplateLiteral=function(e,t){i("TemplateLiteral",e,t)},t.assertTerminatorless=function(e,t){i("Terminatorless",e,t)},t.assertThisExpression=function(e,t){i("ThisExpression",e,t)},t.assertThisTypeAnnotation=function(e,t){i("ThisTypeAnnotation",e,t)},t.assertThrowStatement=function(e,t){i("ThrowStatement",e,t)},t.assertTopicReference=function(e,t){i("TopicReference",e,t)},t.assertTryStatement=function(e,t){i("TryStatement",e,t)},t.assertTupleExpression=function(e,t){i("TupleExpression",e,t)},t.assertTupleTypeAnnotation=function(e,t){i("TupleTypeAnnotation",e,t)},t.assertTypeAlias=function(e,t){i("TypeAlias",e,t)},t.assertTypeAnnotation=function(e,t){i("TypeAnnotation",e,t)},t.assertTypeCastExpression=function(e,t){i("TypeCastExpression",e,t)},t.assertTypeParameter=function(e,t){i("TypeParameter",e,t)},t.assertTypeParameterDeclaration=function(e,t){i("TypeParameterDeclaration",e,t)},t.assertTypeParameterInstantiation=function(e,t){i("TypeParameterInstantiation",e,t)},t.assertTypeScript=function(e,t){i("TypeScript",e,t)},t.assertTypeofTypeAnnotation=function(e,t){i("TypeofTypeAnnotation",e,t)},t.assertUnaryExpression=function(e,t){i("UnaryExpression",e,t)},t.assertUnaryLike=function(e,t){i("UnaryLike",e,t)},t.assertUnionTypeAnnotation=function(e,t){i("UnionTypeAnnotation",e,t)},t.assertUpdateExpression=function(e,t){i("UpdateExpression",e,t)},t.assertUserWhitespacable=function(e,t){i("UserWhitespacable",e,t)},t.assertV8IntrinsicIdentifier=function(e,t){i("V8IntrinsicIdentifier",e,t)},t.assertVariableDeclaration=function(e,t){i("VariableDeclaration",e,t)},t.assertVariableDeclarator=function(e,t){i("VariableDeclarator",e,t)},t.assertVariance=function(e,t){i("Variance",e,t)},t.assertVoidTypeAnnotation=function(e,t){i("VoidTypeAnnotation",e,t)},t.assertWhile=function(e,t){i("While",e,t)},t.assertWhileStatement=function(e,t){i("WhileStatement",e,t)},t.assertWithStatement=function(e,t){i("WithStatement",e,t)},t.assertYieldExpression=function(e,t){i("YieldExpression",e,t)};var r=s(2606),n=s(7525);function i(e,t,s){if(!(0,r.default)(e,t,s))throw new Error(`Expected type "${e}" with option ${JSON.stringify(s)}, but instead got "${t.type}".`)}},8163:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(0,n.default)(e);return 1===t.length?t[0]:(0,r.unionTypeAnnotation)(t)};var r=s(7890),n=s(4541)},4315:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(7890);t.default=function(e){switch(e){case"string":return(0,r.stringTypeAnnotation)();case"number":return(0,r.numberTypeAnnotation)();case"undefined":return(0,r.voidTypeAnnotation)();case"boolean":return(0,r.booleanTypeAnnotation)();case"function":return(0,r.genericTypeAnnotation)((0,r.identifier)("Function"));case"object":return(0,r.genericTypeAnnotation)((0,r.identifier)("Object"));case"symbol":return(0,r.genericTypeAnnotation)((0,r.identifier)("Symbol"));case"bigint":return(0,r.anyTypeAnnotation)()}throw new Error("Invalid typeof value: "+e)}},7890:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(5999);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var n=s(4819);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}}))}))},5999:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.anyTypeAnnotation=function(){return{type:"AnyTypeAnnotation"}},t.argumentPlaceholder=function(){return{type:"ArgumentPlaceholder"}},t.arrayExpression=function(e=[]){const t={type:"ArrayExpression",elements:e},s=o.ArrayExpression;return a(s.elements,t,"elements",e,1),t},t.arrayPattern=function(e){const t={type:"ArrayPattern",elements:e},s=o.ArrayPattern;return a(s.elements,t,"elements",e,1),t},t.arrayTypeAnnotation=function(e){const t={type:"ArrayTypeAnnotation",elementType:e},s=o.ArrayTypeAnnotation;return a(s.elementType,t,"elementType",e,1),t},t.arrowFunctionExpression=function(e,t,s=!1){const r={type:"ArrowFunctionExpression",params:e,body:t,async:s,expression:null},n=o.ArrowFunctionExpression;return a(n.params,r,"params",e,1),a(n.body,r,"body",t,1),a(n.async,r,"async",s),r},t.assignmentExpression=function(e,t,s){const r={type:"AssignmentExpression",operator:e,left:t,right:s},n=o.AssignmentExpression;return a(n.operator,r,"operator",e),a(n.left,r,"left",t,1),a(n.right,r,"right",s,1),r},t.assignmentPattern=function(e,t){const s={type:"AssignmentPattern",left:e,right:t},r=o.AssignmentPattern;return a(r.left,s,"left",e,1),a(r.right,s,"right",t,1),s},t.awaitExpression=function(e){const t={type:"AwaitExpression",argument:e},s=o.AwaitExpression;return a(s.argument,t,"argument",e,1),t},t.bigIntLiteral=function(e){const t={type:"BigIntLiteral",value:e},s=o.BigIntLiteral;return a(s.value,t,"value",e),t},t.binaryExpression=function(e,t,s){const r={type:"BinaryExpression",operator:e,left:t,right:s},n=o.BinaryExpression;return a(n.operator,r,"operator",e),a(n.left,r,"left",t,1),a(n.right,r,"right",s,1),r},t.bindExpression=function(e,t){const s={type:"BindExpression",object:e,callee:t},r=o.BindExpression;return a(r.object,s,"object",e,1),a(r.callee,s,"callee",t,1),s},t.blockStatement=function(e,t=[]){const s={type:"BlockStatement",body:e,directives:t},r=o.BlockStatement;return a(r.body,s,"body",e,1),a(r.directives,s,"directives",t,1),s},t.booleanLiteral=function(e){const t={type:"BooleanLiteral",value:e},s=o.BooleanLiteral;return a(s.value,t,"value",e),t},t.booleanLiteralTypeAnnotation=function(e){const t={type:"BooleanLiteralTypeAnnotation",value:e},s=o.BooleanLiteralTypeAnnotation;return a(s.value,t,"value",e),t},t.booleanTypeAnnotation=function(){return{type:"BooleanTypeAnnotation"}},t.breakStatement=function(e=null){const t={type:"BreakStatement",label:e},s=o.BreakStatement;return a(s.label,t,"label",e,1),t},t.callExpression=function(e,t){const s={type:"CallExpression",callee:e,arguments:t},r=o.CallExpression;return a(r.callee,s,"callee",e,1),a(r.arguments,s,"arguments",t,1),s},t.catchClause=function(e=null,t){const s={type:"CatchClause",param:e,body:t},r=o.CatchClause;return a(r.param,s,"param",e,1),a(r.body,s,"body",t,1),s},t.classAccessorProperty=function(e,t=null,s=null,r=null,n=!1,i=!1){const l={type:"ClassAccessorProperty",key:e,value:t,typeAnnotation:s,decorators:r,computed:n,static:i},c=o.ClassAccessorProperty;return a(c.key,l,"key",e,1),a(c.value,l,"value",t,1),a(c.typeAnnotation,l,"typeAnnotation",s,1),a(c.decorators,l,"decorators",r,1),a(c.computed,l,"computed",n),a(c.static,l,"static",i),l},t.classBody=function(e){const t={type:"ClassBody",body:e},s=o.ClassBody;return a(s.body,t,"body",e,1),t},t.classDeclaration=function(e=null,t=null,s,r=null){const n={type:"ClassDeclaration",id:e,superClass:t,body:s,decorators:r},i=o.ClassDeclaration;return a(i.id,n,"id",e,1),a(i.superClass,n,"superClass",t,1),a(i.body,n,"body",s,1),a(i.decorators,n,"decorators",r,1),n},t.classExpression=function(e=null,t=null,s,r=null){const n={type:"ClassExpression",id:e,superClass:t,body:s,decorators:r},i=o.ClassExpression;return a(i.id,n,"id",e,1),a(i.superClass,n,"superClass",t,1),a(i.body,n,"body",s,1),a(i.decorators,n,"decorators",r,1),n},t.classImplements=function(e,t=null){const s={type:"ClassImplements",id:e,typeParameters:t},r=o.ClassImplements;return a(r.id,s,"id",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.classMethod=function(e="method",t,s,r,n=!1,i=!1,l=!1,c=!1){const p={type:"ClassMethod",kind:e,key:t,params:s,body:r,computed:n,static:i,generator:l,async:c},u=o.ClassMethod;return a(u.kind,p,"kind",e),a(u.key,p,"key",t,1),a(u.params,p,"params",s,1),a(u.body,p,"body",r,1),a(u.computed,p,"computed",n),a(u.static,p,"static",i),a(u.generator,p,"generator",l),a(u.async,p,"async",c),p},t.classPrivateMethod=function(e="method",t,s,r,n=!1){const i={type:"ClassPrivateMethod",kind:e,key:t,params:s,body:r,static:n},l=o.ClassPrivateMethod;return a(l.kind,i,"kind",e),a(l.key,i,"key",t,1),a(l.params,i,"params",s,1),a(l.body,i,"body",r,1),a(l.static,i,"static",n),i},t.classPrivateProperty=function(e,t=null,s=null,r=!1){const n={type:"ClassPrivateProperty",key:e,value:t,decorators:s,static:r},i=o.ClassPrivateProperty;return a(i.key,n,"key",e,1),a(i.value,n,"value",t,1),a(i.decorators,n,"decorators",s,1),a(i.static,n,"static",r),n},t.classProperty=function(e,t=null,s=null,r=null,n=!1,i=!1){const l={type:"ClassProperty",key:e,value:t,typeAnnotation:s,decorators:r,computed:n,static:i},c=o.ClassProperty;return a(c.key,l,"key",e,1),a(c.value,l,"value",t,1),a(c.typeAnnotation,l,"typeAnnotation",s,1),a(c.decorators,l,"decorators",r,1),a(c.computed,l,"computed",n),a(c.static,l,"static",i),l},t.conditionalExpression=function(e,t,s){const r={type:"ConditionalExpression",test:e,consequent:t,alternate:s},n=o.ConditionalExpression;return a(n.test,r,"test",e,1),a(n.consequent,r,"consequent",t,1),a(n.alternate,r,"alternate",s,1),r},t.continueStatement=function(e=null){const t={type:"ContinueStatement",label:e},s=o.ContinueStatement;return a(s.label,t,"label",e,1),t},t.debuggerStatement=function(){return{type:"DebuggerStatement"}},t.decimalLiteral=function(e){const t={type:"DecimalLiteral",value:e},s=o.DecimalLiteral;return a(s.value,t,"value",e),t},t.declareClass=function(e,t=null,s=null,r){const n={type:"DeclareClass",id:e,typeParameters:t,extends:s,body:r},i=o.DeclareClass;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.extends,n,"extends",s,1),a(i.body,n,"body",r,1),n},t.declareExportAllDeclaration=function(e,t=null){const s={type:"DeclareExportAllDeclaration",source:e,attributes:t},r=o.DeclareExportAllDeclaration;return a(r.source,s,"source",e,1),a(r.attributes,s,"attributes",t,1),s},t.declareExportDeclaration=function(e=null,t=null,s=null,r=null){const n={type:"DeclareExportDeclaration",declaration:e,specifiers:t,source:s,attributes:r},i=o.DeclareExportDeclaration;return a(i.declaration,n,"declaration",e,1),a(i.specifiers,n,"specifiers",t,1),a(i.source,n,"source",s,1),a(i.attributes,n,"attributes",r,1),n},t.declareFunction=function(e){const t={type:"DeclareFunction",id:e},s=o.DeclareFunction;return a(s.id,t,"id",e,1),t},t.declareInterface=function(e,t=null,s=null,r){const n={type:"DeclareInterface",id:e,typeParameters:t,extends:s,body:r},i=o.DeclareInterface;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.extends,n,"extends",s,1),a(i.body,n,"body",r,1),n},t.declareModule=function(e,t,s=null){const r={type:"DeclareModule",id:e,body:t,kind:s},n=o.DeclareModule;return a(n.id,r,"id",e,1),a(n.body,r,"body",t,1),a(n.kind,r,"kind",s),r},t.declareModuleExports=function(e){const t={type:"DeclareModuleExports",typeAnnotation:e},s=o.DeclareModuleExports;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.declareOpaqueType=function(e,t=null,s=null){const r={type:"DeclareOpaqueType",id:e,typeParameters:t,supertype:s},n=o.DeclareOpaqueType;return a(n.id,r,"id",e,1),a(n.typeParameters,r,"typeParameters",t,1),a(n.supertype,r,"supertype",s,1),r},t.declareTypeAlias=function(e,t=null,s){const r={type:"DeclareTypeAlias",id:e,typeParameters:t,right:s},n=o.DeclareTypeAlias;return a(n.id,r,"id",e,1),a(n.typeParameters,r,"typeParameters",t,1),a(n.right,r,"right",s,1),r},t.declareVariable=function(e){const t={type:"DeclareVariable",id:e},s=o.DeclareVariable;return a(s.id,t,"id",e,1),t},t.declaredPredicate=function(e){const t={type:"DeclaredPredicate",value:e},s=o.DeclaredPredicate;return a(s.value,t,"value",e,1),t},t.decorator=function(e){const t={type:"Decorator",expression:e},s=o.Decorator;return a(s.expression,t,"expression",e,1),t},t.directive=function(e){const t={type:"Directive",value:e},s=o.Directive;return a(s.value,t,"value",e,1),t},t.directiveLiteral=function(e){const t={type:"DirectiveLiteral",value:e},s=o.DirectiveLiteral;return a(s.value,t,"value",e),t},t.doExpression=function(e,t=!1){const s={type:"DoExpression",body:e,async:t},r=o.DoExpression;return a(r.body,s,"body",e,1),a(r.async,s,"async",t),s},t.doWhileStatement=function(e,t){const s={type:"DoWhileStatement",test:e,body:t},r=o.DoWhileStatement;return a(r.test,s,"test",e,1),a(r.body,s,"body",t,1),s},t.emptyStatement=function(){return{type:"EmptyStatement"}},t.emptyTypeAnnotation=function(){return{type:"EmptyTypeAnnotation"}},t.enumBooleanBody=function(e){const t={type:"EnumBooleanBody",members:e,explicitType:null,hasUnknownMembers:null},s=o.EnumBooleanBody;return a(s.members,t,"members",e,1),t},t.enumBooleanMember=function(e){const t={type:"EnumBooleanMember",id:e,init:null},s=o.EnumBooleanMember;return a(s.id,t,"id",e,1),t},t.enumDeclaration=function(e,t){const s={type:"EnumDeclaration",id:e,body:t},r=o.EnumDeclaration;return a(r.id,s,"id",e,1),a(r.body,s,"body",t,1),s},t.enumDefaultedMember=function(e){const t={type:"EnumDefaultedMember",id:e},s=o.EnumDefaultedMember;return a(s.id,t,"id",e,1),t},t.enumNumberBody=function(e){const t={type:"EnumNumberBody",members:e,explicitType:null,hasUnknownMembers:null},s=o.EnumNumberBody;return a(s.members,t,"members",e,1),t},t.enumNumberMember=function(e,t){const s={type:"EnumNumberMember",id:e,init:t},r=o.EnumNumberMember;return a(r.id,s,"id",e,1),a(r.init,s,"init",t,1),s},t.enumStringBody=function(e){const t={type:"EnumStringBody",members:e,explicitType:null,hasUnknownMembers:null},s=o.EnumStringBody;return a(s.members,t,"members",e,1),t},t.enumStringMember=function(e,t){const s={type:"EnumStringMember",id:e,init:t},r=o.EnumStringMember;return a(r.id,s,"id",e,1),a(r.init,s,"init",t,1),s},t.enumSymbolBody=function(e){const t={type:"EnumSymbolBody",members:e,hasUnknownMembers:null},s=o.EnumSymbolBody;return a(s.members,t,"members",e,1),t},t.existsTypeAnnotation=function(){return{type:"ExistsTypeAnnotation"}},t.exportAllDeclaration=function(e){const t={type:"ExportAllDeclaration",source:e},s=o.ExportAllDeclaration;return a(s.source,t,"source",e,1),t},t.exportDefaultDeclaration=function(e){const t={type:"ExportDefaultDeclaration",declaration:e},s=o.ExportDefaultDeclaration;return a(s.declaration,t,"declaration",e,1),t},t.exportDefaultSpecifier=function(e){const t={type:"ExportDefaultSpecifier",exported:e},s=o.ExportDefaultSpecifier;return a(s.exported,t,"exported",e,1),t},t.exportNamedDeclaration=function(e=null,t=[],s=null){const r={type:"ExportNamedDeclaration",declaration:e,specifiers:t,source:s},n=o.ExportNamedDeclaration;return a(n.declaration,r,"declaration",e,1),a(n.specifiers,r,"specifiers",t,1),a(n.source,r,"source",s,1),r},t.exportNamespaceSpecifier=function(e){const t={type:"ExportNamespaceSpecifier",exported:e},s=o.ExportNamespaceSpecifier;return a(s.exported,t,"exported",e,1),t},t.exportSpecifier=function(e,t){const s={type:"ExportSpecifier",local:e,exported:t},r=o.ExportSpecifier;return a(r.local,s,"local",e,1),a(r.exported,s,"exported",t,1),s},t.expressionStatement=function(e){const t={type:"ExpressionStatement",expression:e},s=o.ExpressionStatement;return a(s.expression,t,"expression",e,1),t},t.file=function(e,t=null,s=null){const r={type:"File",program:e,comments:t,tokens:s},n=o.File;return a(n.program,r,"program",e,1),a(n.comments,r,"comments",t,1),a(n.tokens,r,"tokens",s),r},t.forInStatement=function(e,t,s){const r={type:"ForInStatement",left:e,right:t,body:s},n=o.ForInStatement;return a(n.left,r,"left",e,1),a(n.right,r,"right",t,1),a(n.body,r,"body",s,1),r},t.forOfStatement=function(e,t,s,r=!1){const n={type:"ForOfStatement",left:e,right:t,body:s,await:r},i=o.ForOfStatement;return a(i.left,n,"left",e,1),a(i.right,n,"right",t,1),a(i.body,n,"body",s,1),a(i.await,n,"await",r),n},t.forStatement=function(e=null,t=null,s=null,r){const n={type:"ForStatement",init:e,test:t,update:s,body:r},i=o.ForStatement;return a(i.init,n,"init",e,1),a(i.test,n,"test",t,1),a(i.update,n,"update",s,1),a(i.body,n,"body",r,1),n},t.functionDeclaration=function(e=null,t,s,r=!1,n=!1){const i={type:"FunctionDeclaration",id:e,params:t,body:s,generator:r,async:n},l=o.FunctionDeclaration;return a(l.id,i,"id",e,1),a(l.params,i,"params",t,1),a(l.body,i,"body",s,1),a(l.generator,i,"generator",r),a(l.async,i,"async",n),i},t.functionExpression=function(e=null,t,s,r=!1,n=!1){const i={type:"FunctionExpression",id:e,params:t,body:s,generator:r,async:n},l=o.FunctionExpression;return a(l.id,i,"id",e,1),a(l.params,i,"params",t,1),a(l.body,i,"body",s,1),a(l.generator,i,"generator",r),a(l.async,i,"async",n),i},t.functionTypeAnnotation=function(e=null,t,s=null,r){const n={type:"FunctionTypeAnnotation",typeParameters:e,params:t,rest:s,returnType:r},i=o.FunctionTypeAnnotation;return a(i.typeParameters,n,"typeParameters",e,1),a(i.params,n,"params",t,1),a(i.rest,n,"rest",s,1),a(i.returnType,n,"returnType",r,1),n},t.functionTypeParam=function(e=null,t){const s={type:"FunctionTypeParam",name:e,typeAnnotation:t},r=o.FunctionTypeParam;return a(r.name,s,"name",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.genericTypeAnnotation=function(e,t=null){const s={type:"GenericTypeAnnotation",id:e,typeParameters:t},r=o.GenericTypeAnnotation;return a(r.id,s,"id",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.identifier=function(e){const t={type:"Identifier",name:e},s=o.Identifier;return a(s.name,t,"name",e),t},t.ifStatement=function(e,t,s=null){const r={type:"IfStatement",test:e,consequent:t,alternate:s},n=o.IfStatement;return a(n.test,r,"test",e,1),a(n.consequent,r,"consequent",t,1),a(n.alternate,r,"alternate",s,1),r},t.import=function(){return{type:"Import"}},t.importAttribute=function(e,t){const s={type:"ImportAttribute",key:e,value:t},r=o.ImportAttribute;return a(r.key,s,"key",e,1),a(r.value,s,"value",t,1),s},t.importDeclaration=function(e,t){const s={type:"ImportDeclaration",specifiers:e,source:t},r=o.ImportDeclaration;return a(r.specifiers,s,"specifiers",e,1),a(r.source,s,"source",t,1),s},t.importDefaultSpecifier=function(e){const t={type:"ImportDefaultSpecifier",local:e},s=o.ImportDefaultSpecifier;return a(s.local,t,"local",e,1),t},t.importExpression=function(e,t=null){const s={type:"ImportExpression",source:e,options:t},r=o.ImportExpression;return a(r.source,s,"source",e,1),a(r.options,s,"options",t,1),s},t.importNamespaceSpecifier=function(e){const t={type:"ImportNamespaceSpecifier",local:e},s=o.ImportNamespaceSpecifier;return a(s.local,t,"local",e,1),t},t.importSpecifier=function(e,t){const s={type:"ImportSpecifier",local:e,imported:t},r=o.ImportSpecifier;return a(r.local,s,"local",e,1),a(r.imported,s,"imported",t,1),s},t.indexedAccessType=function(e,t){const s={type:"IndexedAccessType",objectType:e,indexType:t},r=o.IndexedAccessType;return a(r.objectType,s,"objectType",e,1),a(r.indexType,s,"indexType",t,1),s},t.inferredPredicate=function(){return{type:"InferredPredicate"}},t.interfaceDeclaration=function(e,t=null,s=null,r){const n={type:"InterfaceDeclaration",id:e,typeParameters:t,extends:s,body:r},i=o.InterfaceDeclaration;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.extends,n,"extends",s,1),a(i.body,n,"body",r,1),n},t.interfaceExtends=function(e,t=null){const s={type:"InterfaceExtends",id:e,typeParameters:t},r=o.InterfaceExtends;return a(r.id,s,"id",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.interfaceTypeAnnotation=function(e=null,t){const s={type:"InterfaceTypeAnnotation",extends:e,body:t},r=o.InterfaceTypeAnnotation;return a(r.extends,s,"extends",e,1),a(r.body,s,"body",t,1),s},t.interpreterDirective=function(e){const t={type:"InterpreterDirective",value:e},s=o.InterpreterDirective;return a(s.value,t,"value",e),t},t.intersectionTypeAnnotation=function(e){const t={type:"IntersectionTypeAnnotation",types:e},s=o.IntersectionTypeAnnotation;return a(s.types,t,"types",e,1),t},t.jSXAttribute=t.jsxAttribute=function(e,t=null){const s={type:"JSXAttribute",name:e,value:t},r=o.JSXAttribute;return a(r.name,s,"name",e,1),a(r.value,s,"value",t,1),s},t.jSXClosingElement=t.jsxClosingElement=function(e){const t={type:"JSXClosingElement",name:e},s=o.JSXClosingElement;return a(s.name,t,"name",e,1),t},t.jSXClosingFragment=t.jsxClosingFragment=function(){return{type:"JSXClosingFragment"}},t.jSXElement=t.jsxElement=function(e,t=null,s,r=null){const n={type:"JSXElement",openingElement:e,closingElement:t,children:s,selfClosing:r},i=o.JSXElement;return a(i.openingElement,n,"openingElement",e,1),a(i.closingElement,n,"closingElement",t,1),a(i.children,n,"children",s,1),a(i.selfClosing,n,"selfClosing",r),n},t.jSXEmptyExpression=t.jsxEmptyExpression=function(){return{type:"JSXEmptyExpression"}},t.jSXExpressionContainer=t.jsxExpressionContainer=function(e){const t={type:"JSXExpressionContainer",expression:e},s=o.JSXExpressionContainer;return a(s.expression,t,"expression",e,1),t},t.jSXFragment=t.jsxFragment=function(e,t,s){const r={type:"JSXFragment",openingFragment:e,closingFragment:t,children:s},n=o.JSXFragment;return a(n.openingFragment,r,"openingFragment",e,1),a(n.closingFragment,r,"closingFragment",t,1),a(n.children,r,"children",s,1),r},t.jSXIdentifier=t.jsxIdentifier=function(e){const t={type:"JSXIdentifier",name:e},s=o.JSXIdentifier;return a(s.name,t,"name",e),t},t.jSXMemberExpression=t.jsxMemberExpression=function(e,t){const s={type:"JSXMemberExpression",object:e,property:t},r=o.JSXMemberExpression;return a(r.object,s,"object",e,1),a(r.property,s,"property",t,1),s},t.jSXNamespacedName=t.jsxNamespacedName=function(e,t){const s={type:"JSXNamespacedName",namespace:e,name:t},r=o.JSXNamespacedName;return a(r.namespace,s,"namespace",e,1),a(r.name,s,"name",t,1),s},t.jSXOpeningElement=t.jsxOpeningElement=function(e,t,s=!1){const r={type:"JSXOpeningElement",name:e,attributes:t,selfClosing:s},n=o.JSXOpeningElement;return a(n.name,r,"name",e,1),a(n.attributes,r,"attributes",t,1),a(n.selfClosing,r,"selfClosing",s),r},t.jSXOpeningFragment=t.jsxOpeningFragment=function(){return{type:"JSXOpeningFragment"}},t.jSXSpreadAttribute=t.jsxSpreadAttribute=function(e){const t={type:"JSXSpreadAttribute",argument:e},s=o.JSXSpreadAttribute;return a(s.argument,t,"argument",e,1),t},t.jSXSpreadChild=t.jsxSpreadChild=function(e){const t={type:"JSXSpreadChild",expression:e},s=o.JSXSpreadChild;return a(s.expression,t,"expression",e,1),t},t.jSXText=t.jsxText=function(e){const t={type:"JSXText",value:e},s=o.JSXText;return a(s.value,t,"value",e),t},t.labeledStatement=function(e,t){const s={type:"LabeledStatement",label:e,body:t},r=o.LabeledStatement;return a(r.label,s,"label",e,1),a(r.body,s,"body",t,1),s},t.logicalExpression=function(e,t,s){const r={type:"LogicalExpression",operator:e,left:t,right:s},n=o.LogicalExpression;return a(n.operator,r,"operator",e),a(n.left,r,"left",t,1),a(n.right,r,"right",s,1),r},t.memberExpression=function(e,t,s=!1,r=null){const n={type:"MemberExpression",object:e,property:t,computed:s,optional:r},i=o.MemberExpression;return a(i.object,n,"object",e,1),a(i.property,n,"property",t,1),a(i.computed,n,"computed",s),a(i.optional,n,"optional",r),n},t.metaProperty=function(e,t){const s={type:"MetaProperty",meta:e,property:t},r=o.MetaProperty;return a(r.meta,s,"meta",e,1),a(r.property,s,"property",t,1),s},t.mixedTypeAnnotation=function(){return{type:"MixedTypeAnnotation"}},t.moduleExpression=function(e){const t={type:"ModuleExpression",body:e},s=o.ModuleExpression;return a(s.body,t,"body",e,1),t},t.newExpression=function(e,t){const s={type:"NewExpression",callee:e,arguments:t},r=o.NewExpression;return a(r.callee,s,"callee",e,1),a(r.arguments,s,"arguments",t,1),s},t.noop=function(){return{type:"Noop"}},t.nullLiteral=function(){return{type:"NullLiteral"}},t.nullLiteralTypeAnnotation=function(){return{type:"NullLiteralTypeAnnotation"}},t.nullableTypeAnnotation=function(e){const t={type:"NullableTypeAnnotation",typeAnnotation:e},s=o.NullableTypeAnnotation;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.numberLiteral=function(e){return(0,n.default)("NumberLiteral","NumericLiteral","The node type "),l(e)},t.numberLiteralTypeAnnotation=function(e){const t={type:"NumberLiteralTypeAnnotation",value:e},s=o.NumberLiteralTypeAnnotation;return a(s.value,t,"value",e),t},t.numberTypeAnnotation=function(){return{type:"NumberTypeAnnotation"}},t.numericLiteral=l,t.objectExpression=function(e){const t={type:"ObjectExpression",properties:e},s=o.ObjectExpression;return a(s.properties,t,"properties",e,1),t},t.objectMethod=function(e="method",t,s,r,n=!1,i=!1,l=!1){const c={type:"ObjectMethod",kind:e,key:t,params:s,body:r,computed:n,generator:i,async:l},p=o.ObjectMethod;return a(p.kind,c,"kind",e),a(p.key,c,"key",t,1),a(p.params,c,"params",s,1),a(p.body,c,"body",r,1),a(p.computed,c,"computed",n),a(p.generator,c,"generator",i),a(p.async,c,"async",l),c},t.objectPattern=function(e){const t={type:"ObjectPattern",properties:e},s=o.ObjectPattern;return a(s.properties,t,"properties",e,1),t},t.objectProperty=function(e,t,s=!1,r=!1,n=null){const i={type:"ObjectProperty",key:e,value:t,computed:s,shorthand:r,decorators:n},l=o.ObjectProperty;return a(l.key,i,"key",e,1),a(l.value,i,"value",t,1),a(l.computed,i,"computed",s),a(l.shorthand,i,"shorthand",r),a(l.decorators,i,"decorators",n,1),i},t.objectTypeAnnotation=function(e,t=[],s=[],r=[],n=!1){const i={type:"ObjectTypeAnnotation",properties:e,indexers:t,callProperties:s,internalSlots:r,exact:n},l=o.ObjectTypeAnnotation;return a(l.properties,i,"properties",e,1),a(l.indexers,i,"indexers",t,1),a(l.callProperties,i,"callProperties",s,1),a(l.internalSlots,i,"internalSlots",r,1),a(l.exact,i,"exact",n),i},t.objectTypeCallProperty=function(e){const t={type:"ObjectTypeCallProperty",value:e,static:null},s=o.ObjectTypeCallProperty;return a(s.value,t,"value",e,1),t},t.objectTypeIndexer=function(e=null,t,s,r=null){const n={type:"ObjectTypeIndexer",id:e,key:t,value:s,variance:r,static:null},i=o.ObjectTypeIndexer;return a(i.id,n,"id",e,1),a(i.key,n,"key",t,1),a(i.value,n,"value",s,1),a(i.variance,n,"variance",r,1),n},t.objectTypeInternalSlot=function(e,t,s,r,n){const i={type:"ObjectTypeInternalSlot",id:e,value:t,optional:s,static:r,method:n},l=o.ObjectTypeInternalSlot;return a(l.id,i,"id",e,1),a(l.value,i,"value",t,1),a(l.optional,i,"optional",s),a(l.static,i,"static",r),a(l.method,i,"method",n),i},t.objectTypeProperty=function(e,t,s=null){const r={type:"ObjectTypeProperty",key:e,value:t,variance:s,kind:null,method:null,optional:null,proto:null,static:null},n=o.ObjectTypeProperty;return a(n.key,r,"key",e,1),a(n.value,r,"value",t,1),a(n.variance,r,"variance",s,1),r},t.objectTypeSpreadProperty=function(e){const t={type:"ObjectTypeSpreadProperty",argument:e},s=o.ObjectTypeSpreadProperty;return a(s.argument,t,"argument",e,1),t},t.opaqueType=function(e,t=null,s=null,r){const n={type:"OpaqueType",id:e,typeParameters:t,supertype:s,impltype:r},i=o.OpaqueType;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.supertype,n,"supertype",s,1),a(i.impltype,n,"impltype",r,1),n},t.optionalCallExpression=function(e,t,s){const r={type:"OptionalCallExpression",callee:e,arguments:t,optional:s},n=o.OptionalCallExpression;return a(n.callee,r,"callee",e,1),a(n.arguments,r,"arguments",t,1),a(n.optional,r,"optional",s),r},t.optionalIndexedAccessType=function(e,t){const s={type:"OptionalIndexedAccessType",objectType:e,indexType:t,optional:null},r=o.OptionalIndexedAccessType;return a(r.objectType,s,"objectType",e,1),a(r.indexType,s,"indexType",t,1),s},t.optionalMemberExpression=function(e,t,s=!1,r){const n={type:"OptionalMemberExpression",object:e,property:t,computed:s,optional:r},i=o.OptionalMemberExpression;return a(i.object,n,"object",e,1),a(i.property,n,"property",t,1),a(i.computed,n,"computed",s),a(i.optional,n,"optional",r),n},t.parenthesizedExpression=function(e){const t={type:"ParenthesizedExpression",expression:e},s=o.ParenthesizedExpression;return a(s.expression,t,"expression",e,1),t},t.pipelineBareFunction=function(e){const t={type:"PipelineBareFunction",callee:e},s=o.PipelineBareFunction;return a(s.callee,t,"callee",e,1),t},t.pipelinePrimaryTopicReference=function(){return{type:"PipelinePrimaryTopicReference"}},t.pipelineTopicExpression=function(e){const t={type:"PipelineTopicExpression",expression:e},s=o.PipelineTopicExpression;return a(s.expression,t,"expression",e,1),t},t.placeholder=function(e,t){const s={type:"Placeholder",expectedNode:e,name:t},r=o.Placeholder;return a(r.expectedNode,s,"expectedNode",e),a(r.name,s,"name",t,1),s},t.privateName=function(e){const t={type:"PrivateName",id:e},s=o.PrivateName;return a(s.id,t,"id",e,1),t},t.program=function(e,t=[],s="script",r=null){const n={type:"Program",body:e,directives:t,sourceType:s,interpreter:r},i=o.Program;return a(i.body,n,"body",e,1),a(i.directives,n,"directives",t,1),a(i.sourceType,n,"sourceType",s),a(i.interpreter,n,"interpreter",r,1),n},t.qualifiedTypeIdentifier=function(e,t){const s={type:"QualifiedTypeIdentifier",id:e,qualification:t},r=o.QualifiedTypeIdentifier;return a(r.id,s,"id",e,1),a(r.qualification,s,"qualification",t,1),s},t.recordExpression=function(e){const t={type:"RecordExpression",properties:e},s=o.RecordExpression;return a(s.properties,t,"properties",e,1),t},t.regExpLiteral=c,t.regexLiteral=function(e,t=""){return(0,n.default)("RegexLiteral","RegExpLiteral","The node type "),c(e,t)},t.restElement=p,t.restProperty=function(e){return(0,n.default)("RestProperty","RestElement","The node type "),p(e)},t.returnStatement=function(e=null){const t={type:"ReturnStatement",argument:e},s=o.ReturnStatement;return a(s.argument,t,"argument",e,1),t},t.sequenceExpression=function(e){const t={type:"SequenceExpression",expressions:e},s=o.SequenceExpression;return a(s.expressions,t,"expressions",e,1),t},t.spreadElement=u,t.spreadProperty=function(e){return(0,n.default)("SpreadProperty","SpreadElement","The node type "),u(e)},t.staticBlock=function(e){const t={type:"StaticBlock",body:e},s=o.StaticBlock;return a(s.body,t,"body",e,1),t},t.stringLiteral=function(e){const t={type:"StringLiteral",value:e},s=o.StringLiteral;return a(s.value,t,"value",e),t},t.stringLiteralTypeAnnotation=function(e){const t={type:"StringLiteralTypeAnnotation",value:e},s=o.StringLiteralTypeAnnotation;return a(s.value,t,"value",e),t},t.stringTypeAnnotation=function(){return{type:"StringTypeAnnotation"}},t.super=function(){return{type:"Super"}},t.switchCase=function(e=null,t){const s={type:"SwitchCase",test:e,consequent:t},r=o.SwitchCase;return a(r.test,s,"test",e,1),a(r.consequent,s,"consequent",t,1),s},t.switchStatement=function(e,t){const s={type:"SwitchStatement",discriminant:e,cases:t},r=o.SwitchStatement;return a(r.discriminant,s,"discriminant",e,1),a(r.cases,s,"cases",t,1),s},t.symbolTypeAnnotation=function(){return{type:"SymbolTypeAnnotation"}},t.taggedTemplateExpression=function(e,t){const s={type:"TaggedTemplateExpression",tag:e,quasi:t},r=o.TaggedTemplateExpression;return a(r.tag,s,"tag",e,1),a(r.quasi,s,"quasi",t,1),s},t.templateElement=function(e,t=!1){const s={type:"TemplateElement",value:e,tail:t},r=o.TemplateElement;return a(r.value,s,"value",e),a(r.tail,s,"tail",t),s},t.templateLiteral=function(e,t){const s={type:"TemplateLiteral",quasis:e,expressions:t},r=o.TemplateLiteral;return a(r.quasis,s,"quasis",e,1),a(r.expressions,s,"expressions",t,1),s},t.thisExpression=function(){return{type:"ThisExpression"}},t.thisTypeAnnotation=function(){return{type:"ThisTypeAnnotation"}},t.throwStatement=function(e){const t={type:"ThrowStatement",argument:e},s=o.ThrowStatement;return a(s.argument,t,"argument",e,1),t},t.topicReference=function(){return{type:"TopicReference"}},t.tryStatement=function(e,t=null,s=null){const r={type:"TryStatement",block:e,handler:t,finalizer:s},n=o.TryStatement;return a(n.block,r,"block",e,1),a(n.handler,r,"handler",t,1),a(n.finalizer,r,"finalizer",s,1),r},t.tSAnyKeyword=t.tsAnyKeyword=function(){return{type:"TSAnyKeyword"}},t.tSArrayType=t.tsArrayType=function(e){const t={type:"TSArrayType",elementType:e},s=o.TSArrayType;return a(s.elementType,t,"elementType",e,1),t},t.tSAsExpression=t.tsAsExpression=function(e,t){const s={type:"TSAsExpression",expression:e,typeAnnotation:t},r=o.TSAsExpression;return a(r.expression,s,"expression",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.tSBigIntKeyword=t.tsBigIntKeyword=function(){return{type:"TSBigIntKeyword"}},t.tSBooleanKeyword=t.tsBooleanKeyword=function(){return{type:"TSBooleanKeyword"}},t.tSCallSignatureDeclaration=t.tsCallSignatureDeclaration=function(e=null,t,s=null){const r={type:"TSCallSignatureDeclaration",typeParameters:e,parameters:t,typeAnnotation:s},n=o.TSCallSignatureDeclaration;return a(n.typeParameters,r,"typeParameters",e,1),a(n.parameters,r,"parameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSConditionalType=t.tsConditionalType=function(e,t,s,r){const n={type:"TSConditionalType",checkType:e,extendsType:t,trueType:s,falseType:r},i=o.TSConditionalType;return a(i.checkType,n,"checkType",e,1),a(i.extendsType,n,"extendsType",t,1),a(i.trueType,n,"trueType",s,1),a(i.falseType,n,"falseType",r,1),n},t.tSConstructSignatureDeclaration=t.tsConstructSignatureDeclaration=function(e=null,t,s=null){const r={type:"TSConstructSignatureDeclaration",typeParameters:e,parameters:t,typeAnnotation:s},n=o.TSConstructSignatureDeclaration;return a(n.typeParameters,r,"typeParameters",e,1),a(n.parameters,r,"parameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSConstructorType=t.tsConstructorType=function(e=null,t,s=null){const r={type:"TSConstructorType",typeParameters:e,parameters:t,typeAnnotation:s},n=o.TSConstructorType;return a(n.typeParameters,r,"typeParameters",e,1),a(n.parameters,r,"parameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSDeclareFunction=t.tsDeclareFunction=function(e=null,t=null,s,r=null){const n={type:"TSDeclareFunction",id:e,typeParameters:t,params:s,returnType:r},i=o.TSDeclareFunction;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.params,n,"params",s,1),a(i.returnType,n,"returnType",r,1),n},t.tSDeclareMethod=t.tsDeclareMethod=function(e=null,t,s=null,r,n=null){const i={type:"TSDeclareMethod",decorators:e,key:t,typeParameters:s,params:r,returnType:n},l=o.TSDeclareMethod;return a(l.decorators,i,"decorators",e,1),a(l.key,i,"key",t,1),a(l.typeParameters,i,"typeParameters",s,1),a(l.params,i,"params",r,1),a(l.returnType,i,"returnType",n,1),i},t.tSEnumBody=t.tsEnumBody=function(e){const t={type:"TSEnumBody",members:e},s=o.TSEnumBody;return a(s.members,t,"members",e,1),t},t.tSEnumDeclaration=t.tsEnumDeclaration=function(e,t){const s={type:"TSEnumDeclaration",id:e,members:t},r=o.TSEnumDeclaration;return a(r.id,s,"id",e,1),a(r.members,s,"members",t,1),s},t.tSEnumMember=t.tsEnumMember=function(e,t=null){const s={type:"TSEnumMember",id:e,initializer:t},r=o.TSEnumMember;return a(r.id,s,"id",e,1),a(r.initializer,s,"initializer",t,1),s},t.tSExportAssignment=t.tsExportAssignment=function(e){const t={type:"TSExportAssignment",expression:e},s=o.TSExportAssignment;return a(s.expression,t,"expression",e,1),t},t.tSExpressionWithTypeArguments=t.tsExpressionWithTypeArguments=function(e,t=null){const s={type:"TSExpressionWithTypeArguments",expression:e,typeParameters:t},r=o.TSExpressionWithTypeArguments;return a(r.expression,s,"expression",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.tSExternalModuleReference=t.tsExternalModuleReference=function(e){const t={type:"TSExternalModuleReference",expression:e},s=o.TSExternalModuleReference;return a(s.expression,t,"expression",e,1),t},t.tSFunctionType=t.tsFunctionType=function(e=null,t,s=null){const r={type:"TSFunctionType",typeParameters:e,parameters:t,typeAnnotation:s},n=o.TSFunctionType;return a(n.typeParameters,r,"typeParameters",e,1),a(n.parameters,r,"parameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSImportEqualsDeclaration=t.tsImportEqualsDeclaration=function(e,t){const s={type:"TSImportEqualsDeclaration",id:e,moduleReference:t,isExport:null},r=o.TSImportEqualsDeclaration;return a(r.id,s,"id",e,1),a(r.moduleReference,s,"moduleReference",t,1),s},t.tSImportType=t.tsImportType=function(e,t=null,s=null){const r={type:"TSImportType",argument:e,qualifier:t,typeParameters:s},n=o.TSImportType;return a(n.argument,r,"argument",e,1),a(n.qualifier,r,"qualifier",t,1),a(n.typeParameters,r,"typeParameters",s,1),r},t.tSIndexSignature=t.tsIndexSignature=function(e,t=null){const s={type:"TSIndexSignature",parameters:e,typeAnnotation:t},r=o.TSIndexSignature;return a(r.parameters,s,"parameters",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.tSIndexedAccessType=t.tsIndexedAccessType=function(e,t){const s={type:"TSIndexedAccessType",objectType:e,indexType:t},r=o.TSIndexedAccessType;return a(r.objectType,s,"objectType",e,1),a(r.indexType,s,"indexType",t,1),s},t.tSInferType=t.tsInferType=function(e){const t={type:"TSInferType",typeParameter:e},s=o.TSInferType;return a(s.typeParameter,t,"typeParameter",e,1),t},t.tSInstantiationExpression=t.tsInstantiationExpression=function(e,t=null){const s={type:"TSInstantiationExpression",expression:e,typeParameters:t},r=o.TSInstantiationExpression;return a(r.expression,s,"expression",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.tSInterfaceBody=t.tsInterfaceBody=function(e){const t={type:"TSInterfaceBody",body:e},s=o.TSInterfaceBody;return a(s.body,t,"body",e,1),t},t.tSInterfaceDeclaration=t.tsInterfaceDeclaration=function(e,t=null,s=null,r){const n={type:"TSInterfaceDeclaration",id:e,typeParameters:t,extends:s,body:r},i=o.TSInterfaceDeclaration;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.extends,n,"extends",s,1),a(i.body,n,"body",r,1),n},t.tSIntersectionType=t.tsIntersectionType=function(e){const t={type:"TSIntersectionType",types:e},s=o.TSIntersectionType;return a(s.types,t,"types",e,1),t},t.tSIntrinsicKeyword=t.tsIntrinsicKeyword=function(){return{type:"TSIntrinsicKeyword"}},t.tSLiteralType=t.tsLiteralType=function(e){const t={type:"TSLiteralType",literal:e},s=o.TSLiteralType;return a(s.literal,t,"literal",e,1),t},t.tSMappedType=t.tsMappedType=function(e,t=null,s=null){const r={type:"TSMappedType",typeParameter:e,typeAnnotation:t,nameType:s},n=o.TSMappedType;return a(n.typeParameter,r,"typeParameter",e,1),a(n.typeAnnotation,r,"typeAnnotation",t,1),a(n.nameType,r,"nameType",s,1),r},t.tSMethodSignature=t.tsMethodSignature=function(e,t=null,s,r=null){const n={type:"TSMethodSignature",key:e,typeParameters:t,parameters:s,typeAnnotation:r,kind:null},i=o.TSMethodSignature;return a(i.key,n,"key",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.parameters,n,"parameters",s,1),a(i.typeAnnotation,n,"typeAnnotation",r,1),n},t.tSModuleBlock=t.tsModuleBlock=function(e){const t={type:"TSModuleBlock",body:e},s=o.TSModuleBlock;return a(s.body,t,"body",e,1),t},t.tSModuleDeclaration=t.tsModuleDeclaration=function(e,t){const s={type:"TSModuleDeclaration",id:e,body:t,kind:null},r=o.TSModuleDeclaration;return a(r.id,s,"id",e,1),a(r.body,s,"body",t,1),s},t.tSNamedTupleMember=t.tsNamedTupleMember=function(e,t,s=!1){const r={type:"TSNamedTupleMember",label:e,elementType:t,optional:s},n=o.TSNamedTupleMember;return a(n.label,r,"label",e,1),a(n.elementType,r,"elementType",t,1),a(n.optional,r,"optional",s),r},t.tSNamespaceExportDeclaration=t.tsNamespaceExportDeclaration=function(e){const t={type:"TSNamespaceExportDeclaration",id:e},s=o.TSNamespaceExportDeclaration;return a(s.id,t,"id",e,1),t},t.tSNeverKeyword=t.tsNeverKeyword=function(){return{type:"TSNeverKeyword"}},t.tSNonNullExpression=t.tsNonNullExpression=function(e){const t={type:"TSNonNullExpression",expression:e},s=o.TSNonNullExpression;return a(s.expression,t,"expression",e,1),t},t.tSNullKeyword=t.tsNullKeyword=function(){return{type:"TSNullKeyword"}},t.tSNumberKeyword=t.tsNumberKeyword=function(){return{type:"TSNumberKeyword"}},t.tSObjectKeyword=t.tsObjectKeyword=function(){return{type:"TSObjectKeyword"}},t.tSOptionalType=t.tsOptionalType=function(e){const t={type:"TSOptionalType",typeAnnotation:e},s=o.TSOptionalType;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSParameterProperty=t.tsParameterProperty=function(e){const t={type:"TSParameterProperty",parameter:e},s=o.TSParameterProperty;return a(s.parameter,t,"parameter",e,1),t},t.tSParenthesizedType=t.tsParenthesizedType=function(e){const t={type:"TSParenthesizedType",typeAnnotation:e},s=o.TSParenthesizedType;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSPropertySignature=t.tsPropertySignature=function(e,t=null){const s={type:"TSPropertySignature",key:e,typeAnnotation:t},r=o.TSPropertySignature;return a(r.key,s,"key",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.tSQualifiedName=t.tsQualifiedName=function(e,t){const s={type:"TSQualifiedName",left:e,right:t},r=o.TSQualifiedName;return a(r.left,s,"left",e,1),a(r.right,s,"right",t,1),s},t.tSRestType=t.tsRestType=function(e){const t={type:"TSRestType",typeAnnotation:e},s=o.TSRestType;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSSatisfiesExpression=t.tsSatisfiesExpression=function(e,t){const s={type:"TSSatisfiesExpression",expression:e,typeAnnotation:t},r=o.TSSatisfiesExpression;return a(r.expression,s,"expression",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.tSStringKeyword=t.tsStringKeyword=function(){return{type:"TSStringKeyword"}},t.tSSymbolKeyword=t.tsSymbolKeyword=function(){return{type:"TSSymbolKeyword"}},t.tSTemplateLiteralType=t.tsTemplateLiteralType=function(e,t){const s={type:"TSTemplateLiteralType",quasis:e,types:t},r=o.TSTemplateLiteralType;return a(r.quasis,s,"quasis",e,1),a(r.types,s,"types",t,1),s},t.tSThisType=t.tsThisType=function(){return{type:"TSThisType"}},t.tSTupleType=t.tsTupleType=function(e){const t={type:"TSTupleType",elementTypes:e},s=o.TSTupleType;return a(s.elementTypes,t,"elementTypes",e,1),t},t.tSTypeAliasDeclaration=t.tsTypeAliasDeclaration=function(e,t=null,s){const r={type:"TSTypeAliasDeclaration",id:e,typeParameters:t,typeAnnotation:s},n=o.TSTypeAliasDeclaration;return a(n.id,r,"id",e,1),a(n.typeParameters,r,"typeParameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSTypeAnnotation=t.tsTypeAnnotation=function(e){const t={type:"TSTypeAnnotation",typeAnnotation:e},s=o.TSTypeAnnotation;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSTypeAssertion=t.tsTypeAssertion=function(e,t){const s={type:"TSTypeAssertion",typeAnnotation:e,expression:t},r=o.TSTypeAssertion;return a(r.typeAnnotation,s,"typeAnnotation",e,1),a(r.expression,s,"expression",t,1),s},t.tSTypeLiteral=t.tsTypeLiteral=function(e){const t={type:"TSTypeLiteral",members:e},s=o.TSTypeLiteral;return a(s.members,t,"members",e,1),t},t.tSTypeOperator=t.tsTypeOperator=function(e){const t={type:"TSTypeOperator",typeAnnotation:e,operator:null},s=o.TSTypeOperator;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSTypeParameter=t.tsTypeParameter=function(e=null,t=null,s){const r={type:"TSTypeParameter",constraint:e,default:t,name:s},n=o.TSTypeParameter;return a(n.constraint,r,"constraint",e,1),a(n.default,r,"default",t,1),a(n.name,r,"name",s),r},t.tSTypeParameterDeclaration=t.tsTypeParameterDeclaration=function(e){const t={type:"TSTypeParameterDeclaration",params:e},s=o.TSTypeParameterDeclaration;return a(s.params,t,"params",e,1),t},t.tSTypeParameterInstantiation=t.tsTypeParameterInstantiation=function(e){const t={type:"TSTypeParameterInstantiation",params:e},s=o.TSTypeParameterInstantiation;return a(s.params,t,"params",e,1),t},t.tSTypePredicate=t.tsTypePredicate=function(e,t=null,s=null){const r={type:"TSTypePredicate",parameterName:e,typeAnnotation:t,asserts:s},n=o.TSTypePredicate;return a(n.parameterName,r,"parameterName",e,1),a(n.typeAnnotation,r,"typeAnnotation",t,1),a(n.asserts,r,"asserts",s),r},t.tSTypeQuery=t.tsTypeQuery=function(e,t=null){const s={type:"TSTypeQuery",exprName:e,typeParameters:t},r=o.TSTypeQuery;return a(r.exprName,s,"exprName",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.tSTypeReference=t.tsTypeReference=function(e,t=null){const s={type:"TSTypeReference",typeName:e,typeParameters:t},r=o.TSTypeReference;return a(r.typeName,s,"typeName",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.tSUndefinedKeyword=t.tsUndefinedKeyword=function(){return{type:"TSUndefinedKeyword"}},t.tSUnionType=t.tsUnionType=function(e){const t={type:"TSUnionType",types:e},s=o.TSUnionType;return a(s.types,t,"types",e,1),t},t.tSUnknownKeyword=t.tsUnknownKeyword=function(){return{type:"TSUnknownKeyword"}},t.tSVoidKeyword=t.tsVoidKeyword=function(){return{type:"TSVoidKeyword"}},t.tupleExpression=function(e=[]){const t={type:"TupleExpression",elements:e},s=o.TupleExpression;return a(s.elements,t,"elements",e,1),t},t.tupleTypeAnnotation=function(e){const t={type:"TupleTypeAnnotation",types:e},s=o.TupleTypeAnnotation;return a(s.types,t,"types",e,1),t},t.typeAlias=function(e,t=null,s){const r={type:"TypeAlias",id:e,typeParameters:t,right:s},n=o.TypeAlias;return a(n.id,r,"id",e,1),a(n.typeParameters,r,"typeParameters",t,1),a(n.right,r,"right",s,1),r},t.typeAnnotation=function(e){const t={type:"TypeAnnotation",typeAnnotation:e},s=o.TypeAnnotation;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.typeCastExpression=function(e,t){const s={type:"TypeCastExpression",expression:e,typeAnnotation:t},r=o.TypeCastExpression;return a(r.expression,s,"expression",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.typeParameter=function(e=null,t=null,s=null){const r={type:"TypeParameter",bound:e,default:t,variance:s,name:null},n=o.TypeParameter;return a(n.bound,r,"bound",e,1),a(n.default,r,"default",t,1),a(n.variance,r,"variance",s,1),r},t.typeParameterDeclaration=function(e){const t={type:"TypeParameterDeclaration",params:e},s=o.TypeParameterDeclaration;return a(s.params,t,"params",e,1),t},t.typeParameterInstantiation=function(e){const t={type:"TypeParameterInstantiation",params:e},s=o.TypeParameterInstantiation;return a(s.params,t,"params",e,1),t},t.typeofTypeAnnotation=function(e){const t={type:"TypeofTypeAnnotation",argument:e},s=o.TypeofTypeAnnotation;return a(s.argument,t,"argument",e,1),t},t.unaryExpression=function(e,t,s=!0){const r={type:"UnaryExpression",operator:e,argument:t,prefix:s},n=o.UnaryExpression;return a(n.operator,r,"operator",e),a(n.argument,r,"argument",t,1),a(n.prefix,r,"prefix",s),r},t.unionTypeAnnotation=function(e){const t={type:"UnionTypeAnnotation",types:e},s=o.UnionTypeAnnotation;return a(s.types,t,"types",e,1),t},t.updateExpression=function(e,t,s=!1){const r={type:"UpdateExpression",operator:e,argument:t,prefix:s},n=o.UpdateExpression;return a(n.operator,r,"operator",e),a(n.argument,r,"argument",t,1),a(n.prefix,r,"prefix",s),r},t.v8IntrinsicIdentifier=function(e){const t={type:"V8IntrinsicIdentifier",name:e},s=o.V8IntrinsicIdentifier;return a(s.name,t,"name",e),t},t.variableDeclaration=function(e,t){const s={type:"VariableDeclaration",kind:e,declarations:t},r=o.VariableDeclaration;return a(r.kind,s,"kind",e),a(r.declarations,s,"declarations",t,1),s},t.variableDeclarator=function(e,t=null){const s={type:"VariableDeclarator",id:e,init:t},r=o.VariableDeclarator;return a(r.id,s,"id",e,1),a(r.init,s,"init",t,1),s},t.variance=function(e){const t={type:"Variance",kind:e},s=o.Variance;return a(s.kind,t,"kind",e),t},t.voidTypeAnnotation=function(){return{type:"VoidTypeAnnotation"}},t.whileStatement=function(e,t){const s={type:"WhileStatement",test:e,body:t},r=o.WhileStatement;return a(r.test,s,"test",e,1),a(r.body,s,"body",t,1),s},t.withStatement=function(e,t){const s={type:"WithStatement",object:e,body:t},r=o.WithStatement;return a(r.object,s,"object",e,1),a(r.body,s,"body",t,1),s},t.yieldExpression=function(e=null,t=!1){const s={type:"YieldExpression",argument:e,delegate:t},r=o.YieldExpression;return a(r.argument,s,"argument",e,1),a(r.delegate,s,"delegate",t),s};var r=s(3589),n=s(7525),i=s(5737);const{validateInternal:a}=r,{NODE_FIELDS:o}=i;function l(e){const t={type:"NumericLiteral",value:e},s=o.NumericLiteral;return a(s.value,t,"value",e),t}function c(e,t=""){const s={type:"RegExpLiteral",pattern:e,flags:t},r=o.RegExpLiteral;return a(r.pattern,s,"pattern",e),a(r.flags,s,"flags",t),s}function p(e){const t={type:"RestElement",argument:e},s=o.RestElement;return a(s.argument,t,"argument",e,1),t}function u(e){const t={type:"SpreadElement",argument:e},s=o.SpreadElement;return a(s.argument,t,"argument",e,1),t}},4819:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AnyTypeAnnotation",{enumerable:!0,get:function(){return r.anyTypeAnnotation}}),Object.defineProperty(t,"ArgumentPlaceholder",{enumerable:!0,get:function(){return r.argumentPlaceholder}}),Object.defineProperty(t,"ArrayExpression",{enumerable:!0,get:function(){return r.arrayExpression}}),Object.defineProperty(t,"ArrayPattern",{enumerable:!0,get:function(){return r.arrayPattern}}),Object.defineProperty(t,"ArrayTypeAnnotation",{enumerable:!0,get:function(){return r.arrayTypeAnnotation}}),Object.defineProperty(t,"ArrowFunctionExpression",{enumerable:!0,get:function(){return r.arrowFunctionExpression}}),Object.defineProperty(t,"AssignmentExpression",{enumerable:!0,get:function(){return r.assignmentExpression}}),Object.defineProperty(t,"AssignmentPattern",{enumerable:!0,get:function(){return r.assignmentPattern}}),Object.defineProperty(t,"AwaitExpression",{enumerable:!0,get:function(){return r.awaitExpression}}),Object.defineProperty(t,"BigIntLiteral",{enumerable:!0,get:function(){return r.bigIntLiteral}}),Object.defineProperty(t,"BinaryExpression",{enumerable:!0,get:function(){return r.binaryExpression}}),Object.defineProperty(t,"BindExpression",{enumerable:!0,get:function(){return r.bindExpression}}),Object.defineProperty(t,"BlockStatement",{enumerable:!0,get:function(){return r.blockStatement}}),Object.defineProperty(t,"BooleanLiteral",{enumerable:!0,get:function(){return r.booleanLiteral}}),Object.defineProperty(t,"BooleanLiteralTypeAnnotation",{enumerable:!0,get:function(){return r.booleanLiteralTypeAnnotation}}),Object.defineProperty(t,"BooleanTypeAnnotation",{enumerable:!0,get:function(){return r.booleanTypeAnnotation}}),Object.defineProperty(t,"BreakStatement",{enumerable:!0,get:function(){return r.breakStatement}}),Object.defineProperty(t,"CallExpression",{enumerable:!0,get:function(){return r.callExpression}}),Object.defineProperty(t,"CatchClause",{enumerable:!0,get:function(){return r.catchClause}}),Object.defineProperty(t,"ClassAccessorProperty",{enumerable:!0,get:function(){return r.classAccessorProperty}}),Object.defineProperty(t,"ClassBody",{enumerable:!0,get:function(){return r.classBody}}),Object.defineProperty(t,"ClassDeclaration",{enumerable:!0,get:function(){return r.classDeclaration}}),Object.defineProperty(t,"ClassExpression",{enumerable:!0,get:function(){return r.classExpression}}),Object.defineProperty(t,"ClassImplements",{enumerable:!0,get:function(){return r.classImplements}}),Object.defineProperty(t,"ClassMethod",{enumerable:!0,get:function(){return r.classMethod}}),Object.defineProperty(t,"ClassPrivateMethod",{enumerable:!0,get:function(){return r.classPrivateMethod}}),Object.defineProperty(t,"ClassPrivateProperty",{enumerable:!0,get:function(){return r.classPrivateProperty}}),Object.defineProperty(t,"ClassProperty",{enumerable:!0,get:function(){return r.classProperty}}),Object.defineProperty(t,"ConditionalExpression",{enumerable:!0,get:function(){return r.conditionalExpression}}),Object.defineProperty(t,"ContinueStatement",{enumerable:!0,get:function(){return r.continueStatement}}),Object.defineProperty(t,"DebuggerStatement",{enumerable:!0,get:function(){return r.debuggerStatement}}),Object.defineProperty(t,"DecimalLiteral",{enumerable:!0,get:function(){return r.decimalLiteral}}),Object.defineProperty(t,"DeclareClass",{enumerable:!0,get:function(){return r.declareClass}}),Object.defineProperty(t,"DeclareExportAllDeclaration",{enumerable:!0,get:function(){return r.declareExportAllDeclaration}}),Object.defineProperty(t,"DeclareExportDeclaration",{enumerable:!0,get:function(){return r.declareExportDeclaration}}),Object.defineProperty(t,"DeclareFunction",{enumerable:!0,get:function(){return r.declareFunction}}),Object.defineProperty(t,"DeclareInterface",{enumerable:!0,get:function(){return r.declareInterface}}),Object.defineProperty(t,"DeclareModule",{enumerable:!0,get:function(){return r.declareModule}}),Object.defineProperty(t,"DeclareModuleExports",{enumerable:!0,get:function(){return r.declareModuleExports}}),Object.defineProperty(t,"DeclareOpaqueType",{enumerable:!0,get:function(){return r.declareOpaqueType}}),Object.defineProperty(t,"DeclareTypeAlias",{enumerable:!0,get:function(){return r.declareTypeAlias}}),Object.defineProperty(t,"DeclareVariable",{enumerable:!0,get:function(){return r.declareVariable}}),Object.defineProperty(t,"DeclaredPredicate",{enumerable:!0,get:function(){return r.declaredPredicate}}),Object.defineProperty(t,"Decorator",{enumerable:!0,get:function(){return r.decorator}}),Object.defineProperty(t,"Directive",{enumerable:!0,get:function(){return r.directive}}),Object.defineProperty(t,"DirectiveLiteral",{enumerable:!0,get:function(){return r.directiveLiteral}}),Object.defineProperty(t,"DoExpression",{enumerable:!0,get:function(){return r.doExpression}}),Object.defineProperty(t,"DoWhileStatement",{enumerable:!0,get:function(){return r.doWhileStatement}}),Object.defineProperty(t,"EmptyStatement",{enumerable:!0,get:function(){return r.emptyStatement}}),Object.defineProperty(t,"EmptyTypeAnnotation",{enumerable:!0,get:function(){return r.emptyTypeAnnotation}}),Object.defineProperty(t,"EnumBooleanBody",{enumerable:!0,get:function(){return r.enumBooleanBody}}),Object.defineProperty(t,"EnumBooleanMember",{enumerable:!0,get:function(){return r.enumBooleanMember}}),Object.defineProperty(t,"EnumDeclaration",{enumerable:!0,get:function(){return r.enumDeclaration}}),Object.defineProperty(t,"EnumDefaultedMember",{enumerable:!0,get:function(){return r.enumDefaultedMember}}),Object.defineProperty(t,"EnumNumberBody",{enumerable:!0,get:function(){return r.enumNumberBody}}),Object.defineProperty(t,"EnumNumberMember",{enumerable:!0,get:function(){return r.enumNumberMember}}),Object.defineProperty(t,"EnumStringBody",{enumerable:!0,get:function(){return r.enumStringBody}}),Object.defineProperty(t,"EnumStringMember",{enumerable:!0,get:function(){return r.enumStringMember}}),Object.defineProperty(t,"EnumSymbolBody",{enumerable:!0,get:function(){return r.enumSymbolBody}}),Object.defineProperty(t,"ExistsTypeAnnotation",{enumerable:!0,get:function(){return r.existsTypeAnnotation}}),Object.defineProperty(t,"ExportAllDeclaration",{enumerable:!0,get:function(){return r.exportAllDeclaration}}),Object.defineProperty(t,"ExportDefaultDeclaration",{enumerable:!0,get:function(){return r.exportDefaultDeclaration}}),Object.defineProperty(t,"ExportDefaultSpecifier",{enumerable:!0,get:function(){return r.exportDefaultSpecifier}}),Object.defineProperty(t,"ExportNamedDeclaration",{enumerable:!0,get:function(){return r.exportNamedDeclaration}}),Object.defineProperty(t,"ExportNamespaceSpecifier",{enumerable:!0,get:function(){return r.exportNamespaceSpecifier}}),Object.defineProperty(t,"ExportSpecifier",{enumerable:!0,get:function(){return r.exportSpecifier}}),Object.defineProperty(t,"ExpressionStatement",{enumerable:!0,get:function(){return r.expressionStatement}}),Object.defineProperty(t,"File",{enumerable:!0,get:function(){return r.file}}),Object.defineProperty(t,"ForInStatement",{enumerable:!0,get:function(){return r.forInStatement}}),Object.defineProperty(t,"ForOfStatement",{enumerable:!0,get:function(){return r.forOfStatement}}),Object.defineProperty(t,"ForStatement",{enumerable:!0,get:function(){return r.forStatement}}),Object.defineProperty(t,"FunctionDeclaration",{enumerable:!0,get:function(){return r.functionDeclaration}}),Object.defineProperty(t,"FunctionExpression",{enumerable:!0,get:function(){return r.functionExpression}}),Object.defineProperty(t,"FunctionTypeAnnotation",{enumerable:!0,get:function(){return r.functionTypeAnnotation}}),Object.defineProperty(t,"FunctionTypeParam",{enumerable:!0,get:function(){return r.functionTypeParam}}),Object.defineProperty(t,"GenericTypeAnnotation",{enumerable:!0,get:function(){return r.genericTypeAnnotation}}),Object.defineProperty(t,"Identifier",{enumerable:!0,get:function(){return r.identifier}}),Object.defineProperty(t,"IfStatement",{enumerable:!0,get:function(){return r.ifStatement}}),Object.defineProperty(t,"Import",{enumerable:!0,get:function(){return r.import}}),Object.defineProperty(t,"ImportAttribute",{enumerable:!0,get:function(){return r.importAttribute}}),Object.defineProperty(t,"ImportDeclaration",{enumerable:!0,get:function(){return r.importDeclaration}}),Object.defineProperty(t,"ImportDefaultSpecifier",{enumerable:!0,get:function(){return r.importDefaultSpecifier}}),Object.defineProperty(t,"ImportExpression",{enumerable:!0,get:function(){return r.importExpression}}),Object.defineProperty(t,"ImportNamespaceSpecifier",{enumerable:!0,get:function(){return r.importNamespaceSpecifier}}),Object.defineProperty(t,"ImportSpecifier",{enumerable:!0,get:function(){return r.importSpecifier}}),Object.defineProperty(t,"IndexedAccessType",{enumerable:!0,get:function(){return r.indexedAccessType}}),Object.defineProperty(t,"InferredPredicate",{enumerable:!0,get:function(){return r.inferredPredicate}}),Object.defineProperty(t,"InterfaceDeclaration",{enumerable:!0,get:function(){return r.interfaceDeclaration}}),Object.defineProperty(t,"InterfaceExtends",{enumerable:!0,get:function(){return r.interfaceExtends}}),Object.defineProperty(t,"InterfaceTypeAnnotation",{enumerable:!0,get:function(){return r.interfaceTypeAnnotation}}),Object.defineProperty(t,"InterpreterDirective",{enumerable:!0,get:function(){return r.interpreterDirective}}),Object.defineProperty(t,"IntersectionTypeAnnotation",{enumerable:!0,get:function(){return r.intersectionTypeAnnotation}}),Object.defineProperty(t,"JSXAttribute",{enumerable:!0,get:function(){return r.jsxAttribute}}),Object.defineProperty(t,"JSXClosingElement",{enumerable:!0,get:function(){return r.jsxClosingElement}}),Object.defineProperty(t,"JSXClosingFragment",{enumerable:!0,get:function(){return r.jsxClosingFragment}}),Object.defineProperty(t,"JSXElement",{enumerable:!0,get:function(){return r.jsxElement}}),Object.defineProperty(t,"JSXEmptyExpression",{enumerable:!0,get:function(){return r.jsxEmptyExpression}}),Object.defineProperty(t,"JSXExpressionContainer",{enumerable:!0,get:function(){return r.jsxExpressionContainer}}),Object.defineProperty(t,"JSXFragment",{enumerable:!0,get:function(){return r.jsxFragment}}),Object.defineProperty(t,"JSXIdentifier",{enumerable:!0,get:function(){return r.jsxIdentifier}}),Object.defineProperty(t,"JSXMemberExpression",{enumerable:!0,get:function(){return r.jsxMemberExpression}}),Object.defineProperty(t,"JSXNamespacedName",{enumerable:!0,get:function(){return r.jsxNamespacedName}}),Object.defineProperty(t,"JSXOpeningElement",{enumerable:!0,get:function(){return r.jsxOpeningElement}}),Object.defineProperty(t,"JSXOpeningFragment",{enumerable:!0,get:function(){return r.jsxOpeningFragment}}),Object.defineProperty(t,"JSXSpreadAttribute",{enumerable:!0,get:function(){return r.jsxSpreadAttribute}}),Object.defineProperty(t,"JSXSpreadChild",{enumerable:!0,get:function(){return r.jsxSpreadChild}}),Object.defineProperty(t,"JSXText",{enumerable:!0,get:function(){return r.jsxText}}),Object.defineProperty(t,"LabeledStatement",{enumerable:!0,get:function(){return r.labeledStatement}}),Object.defineProperty(t,"LogicalExpression",{enumerable:!0,get:function(){return r.logicalExpression}}),Object.defineProperty(t,"MemberExpression",{enumerable:!0,get:function(){return r.memberExpression}}),Object.defineProperty(t,"MetaProperty",{enumerable:!0,get:function(){return r.metaProperty}}),Object.defineProperty(t,"MixedTypeAnnotation",{enumerable:!0,get:function(){return r.mixedTypeAnnotation}}),Object.defineProperty(t,"ModuleExpression",{enumerable:!0,get:function(){return r.moduleExpression}}),Object.defineProperty(t,"NewExpression",{enumerable:!0,get:function(){return r.newExpression}}),Object.defineProperty(t,"Noop",{enumerable:!0,get:function(){return r.noop}}),Object.defineProperty(t,"NullLiteral",{enumerable:!0,get:function(){return r.nullLiteral}}),Object.defineProperty(t,"NullLiteralTypeAnnotation",{enumerable:!0,get:function(){return r.nullLiteralTypeAnnotation}}),Object.defineProperty(t,"NullableTypeAnnotation",{enumerable:!0,get:function(){return r.nullableTypeAnnotation}}),Object.defineProperty(t,"NumberLiteral",{enumerable:!0,get:function(){return r.numberLiteral}}),Object.defineProperty(t,"NumberLiteralTypeAnnotation",{enumerable:!0,get:function(){return r.numberLiteralTypeAnnotation}}),Object.defineProperty(t,"NumberTypeAnnotation",{enumerable:!0,get:function(){return r.numberTypeAnnotation}}),Object.defineProperty(t,"NumericLiteral",{enumerable:!0,get:function(){return r.numericLiteral}}),Object.defineProperty(t,"ObjectExpression",{enumerable:!0,get:function(){return r.objectExpression}}),Object.defineProperty(t,"ObjectMethod",{enumerable:!0,get:function(){return r.objectMethod}}),Object.defineProperty(t,"ObjectPattern",{enumerable:!0,get:function(){return r.objectPattern}}),Object.defineProperty(t,"ObjectProperty",{enumerable:!0,get:function(){return r.objectProperty}}),Object.defineProperty(t,"ObjectTypeAnnotation",{enumerable:!0,get:function(){return r.objectTypeAnnotation}}),Object.defineProperty(t,"ObjectTypeCallProperty",{enumerable:!0,get:function(){return r.objectTypeCallProperty}}),Object.defineProperty(t,"ObjectTypeIndexer",{enumerable:!0,get:function(){return r.objectTypeIndexer}}),Object.defineProperty(t,"ObjectTypeInternalSlot",{enumerable:!0,get:function(){return r.objectTypeInternalSlot}}),Object.defineProperty(t,"ObjectTypeProperty",{enumerable:!0,get:function(){return r.objectTypeProperty}}),Object.defineProperty(t,"ObjectTypeSpreadProperty",{enumerable:!0,get:function(){return r.objectTypeSpreadProperty}}),Object.defineProperty(t,"OpaqueType",{enumerable:!0,get:function(){return r.opaqueType}}),Object.defineProperty(t,"OptionalCallExpression",{enumerable:!0,get:function(){return r.optionalCallExpression}}),Object.defineProperty(t,"OptionalIndexedAccessType",{enumerable:!0,get:function(){return r.optionalIndexedAccessType}}),Object.defineProperty(t,"OptionalMemberExpression",{enumerable:!0,get:function(){return r.optionalMemberExpression}}),Object.defineProperty(t,"ParenthesizedExpression",{enumerable:!0,get:function(){return r.parenthesizedExpression}}),Object.defineProperty(t,"PipelineBareFunction",{enumerable:!0,get:function(){return r.pipelineBareFunction}}),Object.defineProperty(t,"PipelinePrimaryTopicReference",{enumerable:!0,get:function(){return r.pipelinePrimaryTopicReference}}),Object.defineProperty(t,"PipelineTopicExpression",{enumerable:!0,get:function(){return r.pipelineTopicExpression}}),Object.defineProperty(t,"Placeholder",{enumerable:!0,get:function(){return r.placeholder}}),Object.defineProperty(t,"PrivateName",{enumerable:!0,get:function(){return r.privateName}}),Object.defineProperty(t,"Program",{enumerable:!0,get:function(){return r.program}}),Object.defineProperty(t,"QualifiedTypeIdentifier",{enumerable:!0,get:function(){return r.qualifiedTypeIdentifier}}),Object.defineProperty(t,"RecordExpression",{enumerable:!0,get:function(){return r.recordExpression}}),Object.defineProperty(t,"RegExpLiteral",{enumerable:!0,get:function(){return r.regExpLiteral}}),Object.defineProperty(t,"RegexLiteral",{enumerable:!0,get:function(){return r.regexLiteral}}),Object.defineProperty(t,"RestElement",{enumerable:!0,get:function(){return r.restElement}}),Object.defineProperty(t,"RestProperty",{enumerable:!0,get:function(){return r.restProperty}}),Object.defineProperty(t,"ReturnStatement",{enumerable:!0,get:function(){return r.returnStatement}}),Object.defineProperty(t,"SequenceExpression",{enumerable:!0,get:function(){return r.sequenceExpression}}),Object.defineProperty(t,"SpreadElement",{enumerable:!0,get:function(){return r.spreadElement}}),Object.defineProperty(t,"SpreadProperty",{enumerable:!0,get:function(){return r.spreadProperty}}),Object.defineProperty(t,"StaticBlock",{enumerable:!0,get:function(){return r.staticBlock}}),Object.defineProperty(t,"StringLiteral",{enumerable:!0,get:function(){return r.stringLiteral}}),Object.defineProperty(t,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return r.stringLiteralTypeAnnotation}}),Object.defineProperty(t,"StringTypeAnnotation",{enumerable:!0,get:function(){return r.stringTypeAnnotation}}),Object.defineProperty(t,"Super",{enumerable:!0,get:function(){return r.super}}),Object.defineProperty(t,"SwitchCase",{enumerable:!0,get:function(){return r.switchCase}}),Object.defineProperty(t,"SwitchStatement",{enumerable:!0,get:function(){return r.switchStatement}}),Object.defineProperty(t,"SymbolTypeAnnotation",{enumerable:!0,get:function(){return r.symbolTypeAnnotation}}),Object.defineProperty(t,"TSAnyKeyword",{enumerable:!0,get:function(){return r.tsAnyKeyword}}),Object.defineProperty(t,"TSArrayType",{enumerable:!0,get:function(){return r.tsArrayType}}),Object.defineProperty(t,"TSAsExpression",{enumerable:!0,get:function(){return r.tsAsExpression}}),Object.defineProperty(t,"TSBigIntKeyword",{enumerable:!0,get:function(){return r.tsBigIntKeyword}}),Object.defineProperty(t,"TSBooleanKeyword",{enumerable:!0,get:function(){return r.tsBooleanKeyword}}),Object.defineProperty(t,"TSCallSignatureDeclaration",{enumerable:!0,get:function(){return r.tsCallSignatureDeclaration}}),Object.defineProperty(t,"TSConditionalType",{enumerable:!0,get:function(){return r.tsConditionalType}}),Object.defineProperty(t,"TSConstructSignatureDeclaration",{enumerable:!0,get:function(){return r.tsConstructSignatureDeclaration}}),Object.defineProperty(t,"TSConstructorType",{enumerable:!0,get:function(){return r.tsConstructorType}}),Object.defineProperty(t,"TSDeclareFunction",{enumerable:!0,get:function(){return r.tsDeclareFunction}}),Object.defineProperty(t,"TSDeclareMethod",{enumerable:!0,get:function(){return r.tsDeclareMethod}}),Object.defineProperty(t,"TSEnumBody",{enumerable:!0,get:function(){return r.tsEnumBody}}),Object.defineProperty(t,"TSEnumDeclaration",{enumerable:!0,get:function(){return r.tsEnumDeclaration}}),Object.defineProperty(t,"TSEnumMember",{enumerable:!0,get:function(){return r.tsEnumMember}}),Object.defineProperty(t,"TSExportAssignment",{enumerable:!0,get:function(){return r.tsExportAssignment}}),Object.defineProperty(t,"TSExpressionWithTypeArguments",{enumerable:!0,get:function(){return r.tsExpressionWithTypeArguments}}),Object.defineProperty(t,"TSExternalModuleReference",{enumerable:!0,get:function(){return r.tsExternalModuleReference}}),Object.defineProperty(t,"TSFunctionType",{enumerable:!0,get:function(){return r.tsFunctionType}}),Object.defineProperty(t,"TSImportEqualsDeclaration",{enumerable:!0,get:function(){return r.tsImportEqualsDeclaration}}),Object.defineProperty(t,"TSImportType",{enumerable:!0,get:function(){return r.tsImportType}}),Object.defineProperty(t,"TSIndexSignature",{enumerable:!0,get:function(){return r.tsIndexSignature}}),Object.defineProperty(t,"TSIndexedAccessType",{enumerable:!0,get:function(){return r.tsIndexedAccessType}}),Object.defineProperty(t,"TSInferType",{enumerable:!0,get:function(){return r.tsInferType}}),Object.defineProperty(t,"TSInstantiationExpression",{enumerable:!0,get:function(){return r.tsInstantiationExpression}}),Object.defineProperty(t,"TSInterfaceBody",{enumerable:!0,get:function(){return r.tsInterfaceBody}}),Object.defineProperty(t,"TSInterfaceDeclaration",{enumerable:!0,get:function(){return r.tsInterfaceDeclaration}}),Object.defineProperty(t,"TSIntersectionType",{enumerable:!0,get:function(){return r.tsIntersectionType}}),Object.defineProperty(t,"TSIntrinsicKeyword",{enumerable:!0,get:function(){return r.tsIntrinsicKeyword}}),Object.defineProperty(t,"TSLiteralType",{enumerable:!0,get:function(){return r.tsLiteralType}}),Object.defineProperty(t,"TSMappedType",{enumerable:!0,get:function(){return r.tsMappedType}}),Object.defineProperty(t,"TSMethodSignature",{enumerable:!0,get:function(){return r.tsMethodSignature}}),Object.defineProperty(t,"TSModuleBlock",{enumerable:!0,get:function(){return r.tsModuleBlock}}),Object.defineProperty(t,"TSModuleDeclaration",{enumerable:!0,get:function(){return r.tsModuleDeclaration}}),Object.defineProperty(t,"TSNamedTupleMember",{enumerable:!0,get:function(){return r.tsNamedTupleMember}}),Object.defineProperty(t,"TSNamespaceExportDeclaration",{enumerable:!0,get:function(){return r.tsNamespaceExportDeclaration}}),Object.defineProperty(t,"TSNeverKeyword",{enumerable:!0,get:function(){return r.tsNeverKeyword}}),Object.defineProperty(t,"TSNonNullExpression",{enumerable:!0,get:function(){return r.tsNonNullExpression}}),Object.defineProperty(t,"TSNullKeyword",{enumerable:!0,get:function(){return r.tsNullKeyword}}),Object.defineProperty(t,"TSNumberKeyword",{enumerable:!0,get:function(){return r.tsNumberKeyword}}),Object.defineProperty(t,"TSObjectKeyword",{enumerable:!0,get:function(){return r.tsObjectKeyword}}),Object.defineProperty(t,"TSOptionalType",{enumerable:!0,get:function(){return r.tsOptionalType}}),Object.defineProperty(t,"TSParameterProperty",{enumerable:!0,get:function(){return r.tsParameterProperty}}),Object.defineProperty(t,"TSParenthesizedType",{enumerable:!0,get:function(){return r.tsParenthesizedType}}),Object.defineProperty(t,"TSPropertySignature",{enumerable:!0,get:function(){return r.tsPropertySignature}}),Object.defineProperty(t,"TSQualifiedName",{enumerable:!0,get:function(){return r.tsQualifiedName}}),Object.defineProperty(t,"TSRestType",{enumerable:!0,get:function(){return r.tsRestType}}),Object.defineProperty(t,"TSSatisfiesExpression",{enumerable:!0,get:function(){return r.tsSatisfiesExpression}}),Object.defineProperty(t,"TSStringKeyword",{enumerable:!0,get:function(){return r.tsStringKeyword}}),Object.defineProperty(t,"TSSymbolKeyword",{enumerable:!0,get:function(){return r.tsSymbolKeyword}}),Object.defineProperty(t,"TSTemplateLiteralType",{enumerable:!0,get:function(){return r.tsTemplateLiteralType}}),Object.defineProperty(t,"TSThisType",{enumerable:!0,get:function(){return r.tsThisType}}),Object.defineProperty(t,"TSTupleType",{enumerable:!0,get:function(){return r.tsTupleType}}),Object.defineProperty(t,"TSTypeAliasDeclaration",{enumerable:!0,get:function(){return r.tsTypeAliasDeclaration}}),Object.defineProperty(t,"TSTypeAnnotation",{enumerable:!0,get:function(){return r.tsTypeAnnotation}}),Object.defineProperty(t,"TSTypeAssertion",{enumerable:!0,get:function(){return r.tsTypeAssertion}}),Object.defineProperty(t,"TSTypeLiteral",{enumerable:!0,get:function(){return r.tsTypeLiteral}}),Object.defineProperty(t,"TSTypeOperator",{enumerable:!0,get:function(){return r.tsTypeOperator}}),Object.defineProperty(t,"TSTypeParameter",{enumerable:!0,get:function(){return r.tsTypeParameter}}),Object.defineProperty(t,"TSTypeParameterDeclaration",{enumerable:!0,get:function(){return r.tsTypeParameterDeclaration}}),Object.defineProperty(t,"TSTypeParameterInstantiation",{enumerable:!0,get:function(){return r.tsTypeParameterInstantiation}}),Object.defineProperty(t,"TSTypePredicate",{enumerable:!0,get:function(){return r.tsTypePredicate}}),Object.defineProperty(t,"TSTypeQuery",{enumerable:!0,get:function(){return r.tsTypeQuery}}),Object.defineProperty(t,"TSTypeReference",{enumerable:!0,get:function(){return r.tsTypeReference}}),Object.defineProperty(t,"TSUndefinedKeyword",{enumerable:!0,get:function(){return r.tsUndefinedKeyword}}),Object.defineProperty(t,"TSUnionType",{enumerable:!0,get:function(){return r.tsUnionType}}),Object.defineProperty(t,"TSUnknownKeyword",{enumerable:!0,get:function(){return r.tsUnknownKeyword}}),Object.defineProperty(t,"TSVoidKeyword",{enumerable:!0,get:function(){return r.tsVoidKeyword}}),Object.defineProperty(t,"TaggedTemplateExpression",{enumerable:!0,get:function(){return r.taggedTemplateExpression}}),Object.defineProperty(t,"TemplateElement",{enumerable:!0,get:function(){return r.templateElement}}),Object.defineProperty(t,"TemplateLiteral",{enumerable:!0,get:function(){return r.templateLiteral}}),Object.defineProperty(t,"ThisExpression",{enumerable:!0,get:function(){return r.thisExpression}}),Object.defineProperty(t,"ThisTypeAnnotation",{enumerable:!0,get:function(){return r.thisTypeAnnotation}}),Object.defineProperty(t,"ThrowStatement",{enumerable:!0,get:function(){return r.throwStatement}}),Object.defineProperty(t,"TopicReference",{enumerable:!0,get:function(){return r.topicReference}}),Object.defineProperty(t,"TryStatement",{enumerable:!0,get:function(){return r.tryStatement}}),Object.defineProperty(t,"TupleExpression",{enumerable:!0,get:function(){return r.tupleExpression}}),Object.defineProperty(t,"TupleTypeAnnotation",{enumerable:!0,get:function(){return r.tupleTypeAnnotation}}),Object.defineProperty(t,"TypeAlias",{enumerable:!0,get:function(){return r.typeAlias}}),Object.defineProperty(t,"TypeAnnotation",{enumerable:!0,get:function(){return r.typeAnnotation}}),Object.defineProperty(t,"TypeCastExpression",{enumerable:!0,get:function(){return r.typeCastExpression}}),Object.defineProperty(t,"TypeParameter",{enumerable:!0,get:function(){return r.typeParameter}}),Object.defineProperty(t,"TypeParameterDeclaration",{enumerable:!0,get:function(){return r.typeParameterDeclaration}}),Object.defineProperty(t,"TypeParameterInstantiation",{enumerable:!0,get:function(){return r.typeParameterInstantiation}}),Object.defineProperty(t,"TypeofTypeAnnotation",{enumerable:!0,get:function(){return r.typeofTypeAnnotation}}),Object.defineProperty(t,"UnaryExpression",{enumerable:!0,get:function(){return r.unaryExpression}}),Object.defineProperty(t,"UnionTypeAnnotation",{enumerable:!0,get:function(){return r.unionTypeAnnotation}}),Object.defineProperty(t,"UpdateExpression",{enumerable:!0,get:function(){return r.updateExpression}}),Object.defineProperty(t,"V8IntrinsicIdentifier",{enumerable:!0,get:function(){return r.v8IntrinsicIdentifier}}),Object.defineProperty(t,"VariableDeclaration",{enumerable:!0,get:function(){return r.variableDeclaration}}),Object.defineProperty(t,"VariableDeclarator",{enumerable:!0,get:function(){return r.variableDeclarator}}),Object.defineProperty(t,"Variance",{enumerable:!0,get:function(){return r.variance}}),Object.defineProperty(t,"VoidTypeAnnotation",{enumerable:!0,get:function(){return r.voidTypeAnnotation}}),Object.defineProperty(t,"WhileStatement",{enumerable:!0,get:function(){return r.whileStatement}}),Object.defineProperty(t,"WithStatement",{enumerable:!0,get:function(){return r.withStatement}}),Object.defineProperty(t,"YieldExpression",{enumerable:!0,get:function(){return r.yieldExpression}});var r=s(5999)},5894:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildUndefinedNode=function(){return(0,r.unaryExpression)("void",(0,r.numericLiteral)(0),!0)};var r=s(7890)},6250:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[];for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.map((e=>(0,i.isTSTypeAnnotation)(e)?e.typeAnnotation:e)),s=(0,n.default)(t);return 1===s.length?s[0]:(0,r.tsUnionType)(s)};var r=s(7890),n=s(7613),i=s(4019)},7883:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!1)};var r=s(6351)},721:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e)};var r=s(6351)},7039:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!0,!0)};var r=s(6351)},6351:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=!0,s=!1){return l(e,t,s,new Map)};var r=s(3104),n=s(4019);const{hasOwn:i}={hasOwn:Function.call.bind(Object.prototype.hasOwnProperty)};function a(e,t,s,r){return e&&"string"==typeof e.type?l(e,t,s,r):e}function o(e,t,s,r){return Array.isArray(e)?e.map((e=>a(e,t,s,r))):a(e,t,s,r)}function l(e,t=!0,s=!1,a){if(!e)return e;const{type:l}=e,p={type:e.type};if((0,n.isIdentifier)(e))p.name=e.name,i(e,"optional")&&"boolean"==typeof e.optional&&(p.optional=e.optional),i(e,"typeAnnotation")&&(p.typeAnnotation=t?o(e.typeAnnotation,!0,s,a):e.typeAnnotation),i(e,"decorators")&&(p.decorators=t?o(e.decorators,!0,s,a):e.decorators);else{if(!i(r.NODE_FIELDS,l))throw new Error(`Unknown node type: "${l}"`);for(const u of Object.keys(r.NODE_FIELDS[l]))i(e,u)&&(p[u]=t?(0,n.isFile)(e)&&"comments"===u?c(e.comments,t,s,a):o(e[u],!0,s,a):e[u])}return i(e,"loc")&&(p.loc=s?null:e.loc),i(e,"leadingComments")&&(p.leadingComments=c(e.leadingComments,t,s,a)),i(e,"innerComments")&&(p.innerComments=c(e.innerComments,t,s,a)),i(e,"trailingComments")&&(p.trailingComments=c(e.trailingComments,t,s,a)),i(e,"extra")&&(p.extra=Object.assign({},e.extra)),p}function c(e,t,s,r){return e&&t?e.map((e=>{const t=r.get(e);if(t)return t;const{type:n,value:i,loc:a}=e,o={type:n,value:i,loc:a};return s&&(o.loc=null),r.set(e,o),o})):e}},9482:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!1,!0)};var r=s(6351)},9477:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s,n){return(0,r.default)(e,t,[{type:n?"CommentLine":"CommentBlock",value:s}])};var r=s(5491)},5491:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){if(!s||!e)return e;const r=`${t}Comments`;return e[r]?"leading"===t?e[r]=s.concat(e[r]):e[r].push(...s):e[r]=s,e}},2735:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("innerComments",e,t)};var r=s(923)},5098:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("leadingComments",e,t)};var r=s(923)},428:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("trailingComments",e,t)};var r=s(923)},9337:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,r.default)(e,t),(0,n.default)(e,t),(0,i.default)(e,t),e};var r=s(428),n=s(5098),i=s(2735)},2123:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return r.COMMENT_KEYS.forEach((t=>{e[t]=null})),e};var r=s(3218)},1847:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WHILE_TYPES=t.USERWHITESPACABLE_TYPES=t.UNARYLIKE_TYPES=t.TYPESCRIPT_TYPES=t.TSTYPE_TYPES=t.TSTYPEELEMENT_TYPES=t.TSENTITYNAME_TYPES=t.TSBASETYPE_TYPES=t.TERMINATORLESS_TYPES=t.STATEMENT_TYPES=t.STANDARDIZED_TYPES=t.SCOPABLE_TYPES=t.PUREISH_TYPES=t.PROPERTY_TYPES=t.PRIVATE_TYPES=t.PATTERN_TYPES=t.PATTERNLIKE_TYPES=t.OBJECTMEMBER_TYPES=t.MODULESPECIFIER_TYPES=t.MODULEDECLARATION_TYPES=t.MISCELLANEOUS_TYPES=t.METHOD_TYPES=t.LVAL_TYPES=t.LOOP_TYPES=t.LITERAL_TYPES=t.JSX_TYPES=t.IMPORTOREXPORTDECLARATION_TYPES=t.IMMUTABLE_TYPES=t.FUNCTION_TYPES=t.FUNCTIONPARENT_TYPES=t.FOR_TYPES=t.FORXSTATEMENT_TYPES=t.FLOW_TYPES=t.FLOWTYPE_TYPES=t.FLOWPREDICATE_TYPES=t.FLOWDECLARATION_TYPES=t.FLOWBASEANNOTATION_TYPES=t.EXPRESSION_TYPES=t.EXPRESSIONWRAPPER_TYPES=t.EXPORTDECLARATION_TYPES=t.ENUMMEMBER_TYPES=t.ENUMBODY_TYPES=t.DECLARATION_TYPES=t.CONDITIONAL_TYPES=t.COMPLETIONSTATEMENT_TYPES=t.CLASS_TYPES=t.BLOCK_TYPES=t.BLOCKPARENT_TYPES=t.BINARY_TYPES=t.ACCESSOR_TYPES=void 0;var r=s(3104);t.STANDARDIZED_TYPES=r.FLIPPED_ALIAS_KEYS.Standardized,t.EXPRESSION_TYPES=r.FLIPPED_ALIAS_KEYS.Expression,t.BINARY_TYPES=r.FLIPPED_ALIAS_KEYS.Binary,t.SCOPABLE_TYPES=r.FLIPPED_ALIAS_KEYS.Scopable,t.BLOCKPARENT_TYPES=r.FLIPPED_ALIAS_KEYS.BlockParent,t.BLOCK_TYPES=r.FLIPPED_ALIAS_KEYS.Block,t.STATEMENT_TYPES=r.FLIPPED_ALIAS_KEYS.Statement,t.TERMINATORLESS_TYPES=r.FLIPPED_ALIAS_KEYS.Terminatorless,t.COMPLETIONSTATEMENT_TYPES=r.FLIPPED_ALIAS_KEYS.CompletionStatement,t.CONDITIONAL_TYPES=r.FLIPPED_ALIAS_KEYS.Conditional,t.LOOP_TYPES=r.FLIPPED_ALIAS_KEYS.Loop,t.WHILE_TYPES=r.FLIPPED_ALIAS_KEYS.While,t.EXPRESSIONWRAPPER_TYPES=r.FLIPPED_ALIAS_KEYS.ExpressionWrapper,t.FOR_TYPES=r.FLIPPED_ALIAS_KEYS.For,t.FORXSTATEMENT_TYPES=r.FLIPPED_ALIAS_KEYS.ForXStatement,t.FUNCTION_TYPES=r.FLIPPED_ALIAS_KEYS.Function,t.FUNCTIONPARENT_TYPES=r.FLIPPED_ALIAS_KEYS.FunctionParent,t.PUREISH_TYPES=r.FLIPPED_ALIAS_KEYS.Pureish,t.DECLARATION_TYPES=r.FLIPPED_ALIAS_KEYS.Declaration,t.PATTERNLIKE_TYPES=r.FLIPPED_ALIAS_KEYS.PatternLike,t.LVAL_TYPES=r.FLIPPED_ALIAS_KEYS.LVal,t.TSENTITYNAME_TYPES=r.FLIPPED_ALIAS_KEYS.TSEntityName,t.LITERAL_TYPES=r.FLIPPED_ALIAS_KEYS.Literal,t.IMMUTABLE_TYPES=r.FLIPPED_ALIAS_KEYS.Immutable,t.USERWHITESPACABLE_TYPES=r.FLIPPED_ALIAS_KEYS.UserWhitespacable,t.METHOD_TYPES=r.FLIPPED_ALIAS_KEYS.Method,t.OBJECTMEMBER_TYPES=r.FLIPPED_ALIAS_KEYS.ObjectMember,t.PROPERTY_TYPES=r.FLIPPED_ALIAS_KEYS.Property,t.UNARYLIKE_TYPES=r.FLIPPED_ALIAS_KEYS.UnaryLike,t.PATTERN_TYPES=r.FLIPPED_ALIAS_KEYS.Pattern,t.CLASS_TYPES=r.FLIPPED_ALIAS_KEYS.Class;const n=t.IMPORTOREXPORTDECLARATION_TYPES=r.FLIPPED_ALIAS_KEYS.ImportOrExportDeclaration;t.EXPORTDECLARATION_TYPES=r.FLIPPED_ALIAS_KEYS.ExportDeclaration,t.MODULESPECIFIER_TYPES=r.FLIPPED_ALIAS_KEYS.ModuleSpecifier,t.ACCESSOR_TYPES=r.FLIPPED_ALIAS_KEYS.Accessor,t.PRIVATE_TYPES=r.FLIPPED_ALIAS_KEYS.Private,t.FLOW_TYPES=r.FLIPPED_ALIAS_KEYS.Flow,t.FLOWTYPE_TYPES=r.FLIPPED_ALIAS_KEYS.FlowType,t.FLOWBASEANNOTATION_TYPES=r.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation,t.FLOWDECLARATION_TYPES=r.FLIPPED_ALIAS_KEYS.FlowDeclaration,t.FLOWPREDICATE_TYPES=r.FLIPPED_ALIAS_KEYS.FlowPredicate,t.ENUMBODY_TYPES=r.FLIPPED_ALIAS_KEYS.EnumBody,t.ENUMMEMBER_TYPES=r.FLIPPED_ALIAS_KEYS.EnumMember,t.JSX_TYPES=r.FLIPPED_ALIAS_KEYS.JSX,t.MISCELLANEOUS_TYPES=r.FLIPPED_ALIAS_KEYS.Miscellaneous,t.TYPESCRIPT_TYPES=r.FLIPPED_ALIAS_KEYS.TypeScript,t.TSTYPEELEMENT_TYPES=r.FLIPPED_ALIAS_KEYS.TSTypeElement,t.TSTYPE_TYPES=r.FLIPPED_ALIAS_KEYS.TSType,t.TSBASETYPE_TYPES=r.FLIPPED_ALIAS_KEYS.TSBaseType,t.MODULEDECLARATION_TYPES=n},3218:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UPDATE_OPERATORS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.STATEMENT_OR_BLOCK_KEYS=t.NUMBER_UNARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.NOT_LOCAL_BINDING=t.LOGICAL_OPERATORS=t.INHERIT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.EQUALITY_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.COMMENT_KEYS=t.BOOLEAN_UNARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.BLOCK_SCOPED_SYMBOL=t.BINARY_OPERATORS=t.ASSIGNMENT_OPERATORS=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 s=t.LOGICAL_OPERATORS=["||","&&","??"],r=(t.UPDATE_OPERATORS=["++","--"],t.BOOLEAN_NUMBER_BINARY_OPERATORS=[">","<",">=","<="]),n=t.EQUALITY_BINARY_OPERATORS=["==","===","!=","!=="],i=t.COMPARISON_BINARY_OPERATORS=[...n,"in","instanceof"],a=t.BOOLEAN_BINARY_OPERATORS=[...i,...r],o=t.NUMBER_BINARY_OPERATORS=["-","/","%","*","**","&","|",">>",">>>","<<","^"],l=(t.BINARY_OPERATORS=["+",...o,...a,"|>"],t.ASSIGNMENT_OPERATORS=["=","+=",...o.map((e=>e+"=")),...s.map((e=>e+"="))],t.BOOLEAN_UNARY_OPERATORS=["delete","!"]),c=t.NUMBER_UNARY_OPERATORS=["+","-","~"],p=t.STRING_UNARY_OPERATORS=["typeof"];t.UNARY_OPERATORS=["void","throw",...l,...c,...p],t.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},t.BLOCK_SCOPED_SYMBOL=Symbol.for("var used to be block scoped"),t.NOT_LOCAL_BINDING=Symbol.for("should not be considered a local binding")},5620:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t="body"){const s=(0,r.default)(e[t],e);return e[t]=s,s};var r=s(6016)},8010:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,s){const l=[];let c=!0;for(const p of t)if((0,n.isEmptyStatement)(p)||(c=!1),(0,n.isExpression)(p))l.push(p);else if((0,n.isExpressionStatement)(p))l.push(p.expression);else if((0,n.isVariableDeclaration)(p)){if("var"!==p.kind)return;for(const e of p.declarations){const t=(0,r.default)(e);for(const e of Object.keys(t))s.push({kind:p.kind,id:(0,o.default)(t[e])});e.init&&l.push((0,i.assignmentExpression)("=",e.id,e.init))}c=!0}else if((0,n.isIfStatement)(p)){const t=p.consequent?e([p.consequent],s):(0,a.buildUndefinedNode)(),r=p.alternate?e([p.alternate],s):(0,a.buildUndefinedNode)();if(!t||!r)return;l.push((0,i.conditionalExpression)(p.test,t,r))}else if((0,n.isBlockStatement)(p)){const t=e(p.body,s);if(!t)return;l.push(t)}else{if(!(0,n.isEmptyStatement)(p))return;0===t.indexOf(p)&&(c=!0)}return c&&l.push((0,a.buildUndefinedNode)()),1===l.length?l[0]:(0,i.sequenceExpression)(l)};var r=s(5582),n=s(4019),i=s(7890),a=s(5894),o=s(6351)},1314:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"eval"!==(e=(0,r.default)(e))&&"arguments"!==e||(e="_"+e),e};var r=s(6191)},6016:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,r.isBlockStatement)(e))return e;let s=[];return(0,r.isEmptyStatement)(e)?s=[]:((0,r.isStatement)(e)||(e=(0,r.isFunction)(t)?(0,n.returnStatement)(e):(0,n.expressionStatement)(e)),s=[e]),(0,n.blockStatement)(s)};var r=s(4019),n=s(7890)},5222:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=e.key||e.property){return!e.computed&&(0,r.isIdentifier)(t)&&(t=(0,n.stringLiteral)(t.name)),t};var r=s(4019),n=s(7890)},1926:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(4019);t.default=function(e){if((0,r.isExpressionStatement)(e)&&(e=e.expression),(0,r.isExpression)(e))return e;if((0,r.isClass)(e)?e.type="ClassExpression":(0,r.isFunction)(e)&&(e.type="FunctionExpression"),!(0,r.isExpression)(e))throw new Error(`cannot turn ${e.type} to an expression`);return e}},6191:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e+="";let t="";for(const s of e)t+=(0,n.isIdentifierChar)(s.codePointAt(0))?s:"-";return t=t.replace(/^[-0-9]+/,""),t=t.replace(/[-\\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""})),(0,r.default)(t)||(t=`_${t}`),t||"_"};var r=s(7095),n=s(736)},2953:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=a;var r=s(4019),n=s(6351),i=s(6560);function a(e,t=e.key){let s;return"method"===e.kind?a.increment()+"":(s=(0,r.isIdentifier)(t)?t.name:(0,r.isStringLiteral)(t)?JSON.stringify(t.value):JSON.stringify((0,i.default)((0,n.default)(t))),e.computed&&(s=`[${s}]`),e.static&&(s=`static:${s}`),s)}a.uid=0,a.increment=function(){return a.uid>=Number.MAX_SAFE_INTEGER?a.uid=0:a.uid++}},6004:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(null==e||!e.length)return;const s=[],n=(0,r.default)(e,s);if(n){for(const e of s)t.push(e);return n}};var r=s(8010)},2748:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(4019),n=s(7890);t.default=function(e,t){if((0,r.isStatement)(e))return e;let s,i=!1;if((0,r.isClass)(e))i=!0,s="ClassDeclaration";else if((0,r.isFunction)(e))i=!0,s="FunctionDeclaration";else if((0,r.isAssignmentExpression)(e))return(0,n.expressionStatement)(e);if(i&&!e.id&&(s=!1),!s){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=s,e}},1171:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(7095),n=s(7890);t.default=function e(t){if(void 0===t)return(0,n.identifier)("undefined");if(!0===t||!1===t)return(0,n.booleanLiteral)(t);if(null===t)return(0,n.nullLiteral)();if("string"==typeof t)return(0,n.stringLiteral)(t);if("number"==typeof t){let e;if(Number.isFinite(t))e=(0,n.numericLiteral)(Math.abs(t));else{let s;s=Number.isNaN(t)?(0,n.numericLiteral)(0):(0,n.numericLiteral)(1),e=(0,n.binaryExpression)("/",s,(0,n.numericLiteral)(0))}return(t<0||Object.is(t,-0))&&(e=(0,n.unaryExpression)("-",e)),e}if(function(e){return"[object RegExp]"===i(e)}(t)){const e=t.source,s=/\\/([a-z]*)$/.exec(t.toString())[1];return(0,n.regExpLiteral)(e,s)}if(Array.isArray(t))return(0,n.arrayExpression)(t.map(e));if(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}(t)){const s=[];for(const i of Object.keys(t)){let a;a=(0,r.default)(i)?(0,n.identifier)(i):(0,n.stringLiteral)(i),s.push((0,n.objectProperty)(a,e(t[i])))}return(0,n.objectExpression)(s)}throw new Error("don\'t know how to turn this value into a node")};const i=Function.call.bind(Object.prototype.toString)},8427:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.patternLikeCommon=t.importAttributes=t.functionTypeAnnotationCommon=t.functionDeclarationCommon=t.functionCommon=t.classMethodOrPropertyCommon=t.classMethodOrDeclareMethodCommon=void 0;var n=s(2606),i=s(7095),a=s(736),o=s(3993),l=s(3218),c=s(5737);const p=(0,c.defineAliasedType)("Standardized");p("ArrayExpression",{fields:{elements:{validate:(0,c.arrayOf)((0,c.assertNodeOrValueType)("null","Expression","SpreadElement")),default:r.env.BABEL_TYPES_8_BREAKING?void 0:[]}},visitor:["elements"],aliases:["Expression"]}),p("AssignmentExpression",{fields:{operator:{validate:r.env.BABEL_TYPES_8_BREAKING?Object.assign(function(){const e=(0,c.assertOneOf)(...l.ASSIGNMENT_OPERATORS),t=(0,c.assertOneOf)("=");return function(s,r,i){((0,n.default)("Pattern",s.left)?t:e)(s,r,i)}}(),{type:"string"}):(0,c.assertValueType)("string")},left:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("Identifier","MemberExpression","OptionalMemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"):(0,c.assertNodeType)("LVal","OptionalMemberExpression")},right:{validate:(0,c.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),p("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:(0,c.assertOneOf)(...l.BINARY_OPERATORS)},left:{validate:function(){const e=(0,c.assertNodeType)("Expression"),t=(0,c.assertNodeType)("Expression","PrivateName");return Object.assign((function(s,r,n){("in"===s.operator?t:e)(s,r,n)}),{oneOfNodeTypes:["Expression","PrivateName"]})}()},right:{validate:(0,c.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),p("InterpreterDirective",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("string")}}}),p("Directive",{visitor:["value"],fields:{value:{validate:(0,c.assertNodeType)("DirectiveLiteral")}}}),p("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("string")}}}),p("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,c.arrayOfType)("Directive"),default:[]},body:(0,c.validateArrayOfType)("Statement")},aliases:["Scopable","BlockParent","Block","Statement"]}),p("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,c.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),p("CallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:(0,c.assertNodeType)("Expression","Super","V8IntrinsicIdentifier")},arguments:(0,c.validateArrayOfType)("Expression","SpreadElement","ArgumentPlaceholder"),typeArguments:{validate:(0,c.assertNodeType)("TypeParameterInstantiation"),optional:!0}},{optional:{validate:(0,c.assertValueType)("boolean"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}},r.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,c.assertValueType)("boolean"),optional:!0}})}),p("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,c.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:(0,c.assertNodeType)("BlockStatement")}},aliases:["Scopable","BlockParent"]}),p("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,c.assertNodeType)("Expression")},consequent:{validate:(0,c.assertNodeType)("Expression")},alternate:{validate:(0,c.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),p("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,c.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),p("DebuggerStatement",{aliases:["Statement"]}),p("DoWhileStatement",{builder:["test","body"],visitor:["body","test"],fields:{test:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),p("EmptyStatement",{aliases:["Statement"]}),p("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,c.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),p("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,c.assertNodeType)("Program")},comments:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertEach)((0,c.assertNodeType)("CommentBlock","CommentLine")):Object.assign((()=>{}),{each:{oneOfNodeTypes:["CommentBlock","CommentLine"]}}),optional:!0},tokens:{validate:(0,c.assertEach)(Object.assign((()=>{}),{type:"any"})),optional:!0}}}),p("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"):(0,c.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")}}}),p("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,c.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,c.assertNodeType)("Expression"),optional:!0},update:{validate:(0,c.assertNodeType)("Expression"),optional:!0},body:{validate:(0,c.assertNodeType)("Statement")}}});const u=()=>({params:(0,c.validateArrayOfType)("Identifier","Pattern","RestElement"),generator:{default:!1},async:{default:!1}});t.functionCommon=u;const h=()=>({returnType:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0}});t.functionTypeAnnotationCommon=h;const d=()=>Object.assign({},u(),{declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},id:{validate:(0,c.assertNodeType)("Identifier"),optional:!0}});t.functionDeclarationCommon=d,p("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","typeParameters","params","predicate","returnType","body"],fields:Object.assign({},d(),h(),{body:{validate:(0,c.assertNodeType)("BlockStatement")},predicate:{validate:(0,c.assertNodeType)("DeclaredPredicate","InferredPredicate"),optional:!0}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:r.env.BABEL_TYPES_8_BREAKING?function(){const e=(0,c.assertNodeType)("Identifier");return function(t,s,r){(0,n.default)("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}():void 0}),p("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},u(),h(),{id:{validate:(0,c.assertNodeType)("Identifier"),optional:!0},body:{validate:(0,c.assertNodeType)("BlockStatement")},predicate:{validate:(0,c.assertNodeType)("DeclaredPredicate","InferredPredicate"),optional:!0}})});const f=()=>({typeAnnotation:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},optional:{validate:(0,c.assertValueType)("boolean"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0}});t.patternLikeCommon=f,p("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},f(),{name:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("string"),Object.assign((function(e,t,s){if(!(0,i.default)(s,!1))throw new TypeError(`"${s}" is not a valid identifier name`)}),{type:"string"})):(0,c.assertValueType)("string")}}),validate:r.env.BABEL_TYPES_8_BREAKING?function(e,t,s){const r=/\\.(\\w+)$/.exec(t);if(!r)return;const[,i]=r,o={computed:!1};if("property"===i){if((0,n.default)("MemberExpression",e,o))return;if((0,n.default)("OptionalMemberExpression",e,o))return}else if("key"===i){if((0,n.default)("Property",e,o))return;if((0,n.default)("Method",e,o))return}else if("exported"===i){if((0,n.default)("ExportSpecifier",e))return}else if("imported"===i){if((0,n.default)("ImportSpecifier",e,{imported:s}))return}else if("meta"===i&&(0,n.default)("MetaProperty",e,{meta:s}))return;if(((0,a.isKeyword)(s.name)||(0,a.isReservedWord)(s.name,!1))&&"this"!==s.name)throw new TypeError(`"${s.name}" is not a valid identifier`)}:void 0}),p("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,c.assertNodeType)("Expression")},consequent:{validate:(0,c.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,c.assertNodeType)("Statement")}}}),p("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,c.assertNodeType)("Identifier")},body:{validate:(0,c.assertNodeType)("Statement")}}}),p("StringLiteral",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),p("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,c.chain)((0,c.assertValueType)("number"),Object.assign((function(e,t,s){(1/s<0||!Number.isFinite(s))&&new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${s}) instead.`)}),{type:"number"}))}},aliases:["Expression","Pureish","Literal","Immutable"]}),p("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),p("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),p("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:(0,c.assertValueType)("string")},flags:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("string"),Object.assign((function(e,t,s){const r=/[^gimsuy]/.exec(s);if(r)throw new TypeError(`"${r[0]}" is not a valid RegExp flag`)}),{type:"string"})):(0,c.assertValueType)("string"),default:""}}}),p("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:(0,c.assertOneOf)(...l.LOGICAL_OPERATORS)},left:{validate:(0,c.assertNodeType)("Expression")},right:{validate:(0,c.assertNodeType)("Expression")}}}),p("MemberExpression",{builder:["object","property","computed",...r.env.BABEL_TYPES_8_BREAKING?[]:["optional"]],visitor:["object","property"],aliases:["Expression","LVal"],fields:Object.assign({object:{validate:(0,c.assertNodeType)("Expression","Super")},property:{validate:function(){const e=(0,c.assertNodeType)("Identifier","PrivateName"),t=(0,c.assertNodeType)("Expression"),s=function(s,r,n){(s.computed?t:e)(s,r,n)};return s.oneOfNodeTypes=["Expression","Identifier","PrivateName"],s}()},computed:{default:!1}},r.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,c.assertValueType)("boolean"),optional:!0}})}),p("NewExpression",{inherits:"CallExpression"}),p("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceType:{validate:(0,c.assertOneOf)("script","module"),default:"script"},interpreter:{validate:(0,c.assertNodeType)("InterpreterDirective"),default:null,optional:!0},directives:{validate:(0,c.arrayOfType)("Directive"),default:[]},body:(0,c.validateArrayOfType)("Statement")},aliases:["Scopable","BlockParent","Block"]}),p("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:(0,c.validateArrayOfType)("ObjectMethod","ObjectProperty","SpreadElement")}}),p("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},u(),h(),{kind:Object.assign({validate:(0,c.assertOneOf)("method","get","set")},r.env.BABEL_TYPES_8_BREAKING?{}:{default:"method"}),computed:{default:!1},key:{validate:function(){const e=(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=(0,c.assertNodeType)("Expression"),s=function(s,r,n){(s.computed?t:e)(s,r,n)};return s.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral"],s}()},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},body:{validate:(0,c.assertNodeType)("BlockStatement")}}),aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),p("ObjectProperty",{builder:["key","value","computed","shorthand",...r.env.BABEL_TYPES_8_BREAKING?[]:["decorators"]],fields:{computed:{default:!1},key:{validate:function(){const e=(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","PrivateName"),t=(0,c.assertNodeType)("Expression");return Object.assign((function(s,r,n){(s.computed?t:e)(s,r,n)}),{oneOfNodeTypes:["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","PrivateName"]})}()},value:{validate:(0,c.assertNodeType)("Expression","PatternLike")},shorthand:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("boolean"),Object.assign((function(e,t,s){if(s){if(e.computed)throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");if(!(0,n.default)("Identifier",e.key))throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")}}),{type:"boolean"})):(0,c.assertValueType)("boolean"),default:!1},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:r.env.BABEL_TYPES_8_BREAKING?function(){const e=(0,c.assertNodeType)("Identifier","Pattern","TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion"),t=(0,c.assertNodeType)("Expression");return function(s,r,i){((0,n.default)("ObjectPattern",s)?e:t)(i,"value",i.value)}}():void 0}),p("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},f(),{argument:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("Identifier","ArrayPattern","ObjectPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"):(0,c.assertNodeType)("LVal")}}),validate:r.env.BABEL_TYPES_8_BREAKING?function(e,t){const s=/(\\w+)\\[(\\d+)\\]/.exec(t);if(!s)throw new Error("Internal Babel error: malformed key.");const[,r,n]=s;if(e[r].length>+n+1)throw new TypeError(`RestElement must be last element of ${r}`)}:void 0}),p("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,c.assertNodeType)("Expression"),optional:!0}}}),p("SequenceExpression",{visitor:["expressions"],fields:{expressions:(0,c.validateArrayOfType)("Expression")},aliases:["Expression"]}),p("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,c.assertNodeType)("Expression")}}}),p("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,c.assertNodeType)("Expression"),optional:!0},consequent:(0,c.validateArrayOfType)("Statement")}}),p("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,c.assertNodeType)("Expression")},cases:(0,c.validateArrayOfType)("SwitchCase")}}),p("ThisExpression",{aliases:["Expression"]}),p("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,c.assertNodeType)("Expression")}}}),p("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertNodeType)("BlockStatement"),Object.assign((function(e){if(!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")}),{oneOfNodeTypes:["BlockStatement"]})):(0,c.assertNodeType)("BlockStatement")},handler:{optional:!0,validate:(0,c.assertNodeType)("CatchClause")},finalizer:{optional:!0,validate:(0,c.assertNodeType)("BlockStatement")}}}),p("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,c.assertNodeType)("Expression")},operator:{validate:(0,c.assertOneOf)(...l.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),p("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("Identifier","MemberExpression"):(0,c.assertNodeType)("Expression")},operator:{validate:(0,c.assertOneOf)(...l.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),p("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},kind:{validate:(0,c.assertOneOf)("var","let","const","using","await using")},declarations:(0,c.validateArrayOfType)("VariableDeclarator")},validate:r.env.BABEL_TYPES_8_BREAKING?(()=>{const e=(0,c.assertNodeType)("Identifier");return function(t,s,r){if((0,n.default)("ForXStatement",t,{left:r})){if(1!==r.declarations.length)throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${t.type}`)}else r.declarations.forEach((t=>{t.init||e(t,"id",t.id)}))}})():void 0}),p("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"):(0,c.assertNodeType)("LVal")},definite:{optional:!0,validate:(0,c.assertValueType)("boolean")},init:{optional:!0,validate:(0,c.assertNodeType)("Expression")}}}),p("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")}}}),p("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")}}}),p("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},f(),{left:{validate:(0,c.assertNodeType)("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:(0,c.assertNodeType)("Expression")},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0}})}),p("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},f(),{elements:{validate:(0,c.chain)((0,c.assertValueType)("array"),(0,c.assertEach)((0,c.assertNodeOrValueType)("null","PatternLike","LVal")))}})}),p("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["typeParameters","params","predicate","returnType","body"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},u(),h(),{expression:{validate:(0,c.assertValueType)("boolean")},body:{validate:(0,c.assertNodeType)("BlockStatement","Expression")},predicate:{validate:(0,c.assertNodeType)("DeclaredPredicate","InferredPredicate"),optional:!0}})}),p("ClassBody",{visitor:["body"],fields:{body:(0,c.validateArrayOfType)("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")}}),p("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:(0,c.assertNodeType)("Identifier"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,c.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,c.assertNodeType)("Expression")},superTypeParameters:{validate:(0,c.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,c.arrayOfType)("TSExpressionWithTypeArguments","ClassImplements"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},mixins:{validate:(0,c.assertNodeType)("InterfaceExtends"),optional:!0}}}),p("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:(0,c.assertNodeType)("Identifier"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,c.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,c.assertNodeType)("Expression")},superTypeParameters:{validate:(0,c.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,c.arrayOfType)("TSExpressionWithTypeArguments","ClassImplements"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},mixins:{validate:(0,c.assertNodeType)("InterfaceExtends"),optional:!0},declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},abstract:{validate:(0,c.assertValueType)("boolean"),optional:!0}},validate:r.env.BABEL_TYPES_8_BREAKING?function(){const e=(0,c.assertNodeType)("Identifier");return function(t,s,r){(0,n.default)("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}():void 0});const m=t.importAttributes={attributes:{optional:!0,validate:(0,c.arrayOfType)("ImportAttribute")},assertions:{deprecated:!0,optional:!0,validate:(0,c.arrayOfType)("ImportAttribute")}};p("ExportAllDeclaration",{builder:["source"],visitor:["source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({source:{validate:(0,c.assertNodeType)("StringLiteral")},exportKind:(0,c.validateOptional)((0,c.assertOneOf)("type","value"))},m)}),p("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:(0,c.validateType)("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression"),exportKind:(0,c.validateOptional)((0,c.assertOneOf)("value"))}}),p("ExportNamedDeclaration",{builder:["declaration","specifiers","source"],visitor:r.env?["declaration","specifiers","source","attributes"]:["declaration","specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({declaration:{optional:!0,validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertNodeType)("Declaration"),Object.assign((function(e,t,s){if(s&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");if(s&&e.source)throw new TypeError("Cannot export a declaration from a source")}),{oneOfNodeTypes:["Declaration"]})):(0,c.assertNodeType)("Declaration")}},m,{specifiers:{default:[],validate:(0,c.arrayOf)(function(){const e=(0,c.assertNodeType)("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=(0,c.assertNodeType)("ExportSpecifier");return r.env.BABEL_TYPES_8_BREAKING?Object.assign((function(s,r,n){(s.source?e:t)(s,r,n)}),{oneOfNodeTypes:["ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"]}):e}())},source:{validate:(0,c.assertNodeType)("StringLiteral"),optional:!0},exportKind:(0,c.validateOptional)((0,c.assertOneOf)("type","value"))})}),p("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,c.assertNodeType)("Identifier")},exported:{validate:(0,c.assertNodeType)("Identifier","StringLiteral")},exportKind:{validate:(0,c.assertOneOf)("type","value"),optional:!0}}}),p("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){if(!r.env.BABEL_TYPES_8_BREAKING)return(0,c.assertNodeType)("VariableDeclaration","LVal");const e=(0,c.assertNodeType)("VariableDeclaration"),t=(0,c.assertNodeType)("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return Object.assign((function(s,r,i){(0,n.default)("VariableDeclaration",i)?e(s,r,i):t(s,r,i)}),{oneOfNodeTypes:["VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"]})}()},right:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")},await:{default:!1}}}),p("ImportDeclaration",{builder:["specifiers","source"],visitor:["specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration"],fields:Object.assign({},m,{module:{optional:!0,validate:(0,c.assertValueType)("boolean")},phase:{default:null,validate:(0,c.assertOneOf)("source","defer")},specifiers:(0,c.validateArrayOfType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier"),source:{validate:(0,c.assertNodeType)("StringLiteral")},importKind:{validate:(0,c.assertOneOf)("type","typeof","value"),optional:!0}})}),p("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,c.assertNodeType)("Identifier")}}}),p("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,c.assertNodeType)("Identifier")}}}),p("ImportSpecifier",{visitor:["imported","local"],builder:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,c.assertNodeType)("Identifier")},imported:{validate:(0,c.assertNodeType)("Identifier","StringLiteral")},importKind:{validate:(0,c.assertOneOf)("type","typeof","value"),optional:!0}}}),p("ImportExpression",{visitor:["source","options"],aliases:["Expression"],fields:{phase:{default:null,validate:(0,c.assertOneOf)("source","defer")},source:{validate:(0,c.assertNodeType)("Expression")},options:{validate:(0,c.assertNodeType)("Expression"),optional:!0}}}),p("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertNodeType)("Identifier"),Object.assign((function(e,t,s){let r;switch(s.name){case"function":r="sent";break;case"new":r="target";break;case"import":r="meta"}if(!(0,n.default)("Identifier",e.property,{name:r}))throw new TypeError("Unrecognised MetaProperty")}),{oneOfNodeTypes:["Identifier"]})):(0,c.assertNodeType)("Identifier")},property:{validate:(0,c.assertNodeType)("Identifier")}}});const y=()=>({abstract:{validate:(0,c.assertValueType)("boolean"),optional:!0},accessibility:{validate:(0,c.assertOneOf)("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:(0,c.assertValueType)("boolean"),optional:!0},key:{validate:(0,c.chain)(function(){const e=(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=(0,c.assertNodeType)("Expression");return function(s,r,n){(s.computed?t:e)(s,r,n)}}(),(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}});t.classMethodOrPropertyCommon=y;const g=()=>Object.assign({},u(),y(),{params:(0,c.validateArrayOfType)("Identifier","Pattern","RestElement","TSParameterProperty"),kind:{validate:(0,c.assertOneOf)("get","set","method","constructor"),default:"method"},access:{validate:(0,c.chain)((0,c.assertValueType)("string"),(0,c.assertOneOf)("public","private","protected")),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0}});t.classMethodOrDeclareMethodCommon=g,p("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},g(),h(),{body:{validate:(0,c.assertNodeType)("BlockStatement")}})}),p("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},f(),{properties:(0,c.validateArrayOfType)("RestElement","ObjectProperty")})}),p("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:(0,c.assertNodeType)("Expression")}}}),p("Super",{aliases:["Expression"]}),p("TaggedTemplateExpression",{visitor:["tag","typeParameters","quasi"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,c.assertNodeType)("Expression")},quasi:{validate:(0,c.assertNodeType)("TemplateLiteral")},typeParameters:{validate:(0,c.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),p("TemplateElement",{builder:["value","tail"],fields:{value:{validate:(0,c.chain)((0,c.assertShape)({raw:{validate:(0,c.assertValueType)("string")},cooked:{validate:(0,c.assertValueType)("string"),optional:!0}}),(function(e){const t=e.value.raw;let s=!1;const r=()=>{throw new Error("Internal @babel/types error.")},{str:n,firstInvalidLoc:i}=(0,o.readStringContents)("template",t,0,0,0,{unterminated(){s=!0},strictNumericEscape:r,invalidEscapeSequence:r,numericSeparatorInEscapeSequence:r,unexpectedNumericSeparator:r,invalidDigit:r,invalidCodePoint:r});if(!s)throw new Error("Invalid raw");e.value.cooked=i?null:n}))},tail:{default:!1}}}),p("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:(0,c.validateArrayOfType)("TemplateElement"),expressions:{validate:(0,c.chain)((0,c.assertValueType)("array"),(0,c.assertEach)((0,c.assertNodeType)("Expression","TSType")),(function(e,t,s){if(e.quasis.length!==s.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\\nExpected ${s.length+1} quasis but got ${e.quasis.length}`)}))}}}),p("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("boolean"),Object.assign((function(e,t,s){if(s&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")}),{type:"boolean"})):(0,c.assertValueType)("boolean"),default:!1},argument:{optional:!0,validate:(0,c.assertNodeType)("Expression")}}}),p("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,c.assertNodeType)("Expression")}}}),p("Import",{aliases:["Expression"]}),p("BigIntLiteral",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),p("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,c.assertNodeType)("Identifier")}}}),p("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:(0,c.assertNodeType)("Expression")},property:{validate:function(){const e=(0,c.assertNodeType)("Identifier"),t=(0,c.assertNodeType)("Expression");return Object.assign((function(s,r,n){(s.computed?t:e)(s,r,n)}),{oneOfNodeTypes:["Expression","Identifier"]})}()},computed:{default:!1},optional:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("boolean"),(0,c.assertOptionalChainStart)()):(0,c.assertValueType)("boolean")}}}),p("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:Object.assign({callee:{validate:(0,c.assertNodeType)("Expression")},arguments:(0,c.validateArrayOfType)("Expression","SpreadElement","ArgumentPlaceholder"),optional:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("boolean"),(0,c.assertOptionalChainStart)()):(0,c.assertValueType)("boolean")},typeArguments:{validate:(0,c.assertNodeType)("TypeParameterInstantiation"),optional:!0}},{typeParameters:{validate:(0,c.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}})}),p("ClassProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},y(),{value:{validate:(0,c.assertNodeType)("Expression"),optional:!0},definite:{validate:(0,c.assertValueType)("boolean"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},readonly:{validate:(0,c.assertValueType)("boolean"),optional:!0},declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},variance:{validate:(0,c.assertNodeType)("Variance"),optional:!0}})}),p("ClassAccessorProperty",{visitor:["decorators","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property","Accessor"],fields:Object.assign({},y(),{key:{validate:(0,c.chain)(function(){const e=(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=(0,c.assertNodeType)("Expression");return function(s,r,n){(s.computed?t:e)(s,r,n)}}(),(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression","PrivateName"))},value:{validate:(0,c.assertNodeType)("Expression"),optional:!0},definite:{validate:(0,c.assertValueType)("boolean"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},readonly:{validate:(0,c.assertValueType)("boolean"),optional:!0},declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},variance:{validate:(0,c.assertNodeType)("Variance"),optional:!0}})}),p("ClassPrivateProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:(0,c.assertNodeType)("PrivateName")},value:{validate:(0,c.assertNodeType)("Expression"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},static:{validate:(0,c.assertValueType)("boolean"),default:!1},readonly:{validate:(0,c.assertValueType)("boolean"),optional:!0},optional:{validate:(0,c.assertValueType)("boolean"),optional:!0},definite:{validate:(0,c.assertValueType)("boolean"),optional:!0},variance:{validate:(0,c.assertNodeType)("Variance"),optional:!0}}}),p("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["decorators","key","typeParameters","params","returnType","body"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},g(),h(),{kind:{validate:(0,c.assertOneOf)("get","set","method"),default:"method"},key:{validate:(0,c.assertNodeType)("PrivateName")},body:{validate:(0,c.assertNodeType)("BlockStatement")}})}),p("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:(0,c.assertNodeType)("Identifier")}}}),p("StaticBlock",{visitor:["body"],fields:{body:(0,c.validateArrayOfType)("Statement")},aliases:["Scopable","BlockParent","FunctionParent"]})},9229:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEPRECATED_ALIASES=void 0,t.DEPRECATED_ALIASES={ModuleDeclaration:"ImportOrExportDeclaration"}},82:(e,t,s)=>{"use strict";var r=s(397),n=s(5737);(0,n.default)("ArgumentPlaceholder",{}),(0,n.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:r.env.BABEL_TYPES_8_BREAKING?{object:{validate:(0,n.assertNodeType)("Expression")},callee:{validate:(0,n.assertNodeType)("Expression")}}:{object:{validate:Object.assign((()=>{}),{oneOfNodeTypes:["Expression"]})},callee:{validate:Object.assign((()=>{}),{oneOfNodeTypes:["Expression"]})}}}),(0,n.default)("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:(0,n.assertNodeType)("Identifier","StringLiteral")},value:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,n.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("DoExpression",{visitor:["body"],builder:["body","async"],aliases:["Expression"],fields:{body:{validate:(0,n.assertNodeType)("BlockStatement")},async:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,n.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:(0,n.validateArrayOfType)("ObjectProperty","SpreadElement")}}),(0,n.default)("TupleExpression",{fields:{elements:{validate:(0,n.arrayOfType)("Expression","SpreadElement"),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,n.default)("DecimalLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("ModuleExpression",{visitor:["body"],fields:{body:{validate:(0,n.assertNodeType)("Program")}},aliases:["Expression"]}),(0,n.default)("TopicReference",{aliases:["Expression"]}),(0,n.default)("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}},aliases:["Expression"]}),(0,n.default)("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:(0,n.assertNodeType)("Expression")}},aliases:["Expression"]}),(0,n.default)("PipelinePrimaryTopicReference",{aliases:["Expression"]})},6406:(e,t,s)=>{"use strict";var r=s(8427),n=s(5737);const i=(0,n.defineAliasedType)("Flow"),a=e=>{const t="DeclareClass"===e;i(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends",...t?["mixins","implements"]:[],"body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends"))},t?{mixins:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),implements:(0,n.validateOptional)((0,n.arrayOfType)("ClassImplements"))}:{},{body:(0,n.validateType)("ObjectTypeAnnotation")})})};i("AnyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["FlowType"],fields:{elementType:(0,n.validateType)("FlowType")}}),i("BooleanTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("NullLiteralTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("ClassImplements",{visitor:["id","typeParameters"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),a("DeclareClass"),i("DeclareFunction",{builder:["id"],visitor:["id","predicate"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),predicate:(0,n.validateOptionalType)("DeclaredPredicate")}}),a("DeclareInterface"),i("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier","StringLiteral"),body:(0,n.validateType)("BlockStatement"),kind:(0,n.validateOptional)((0,n.assertOneOf)("CommonJS","ES"))}}),i("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),i("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),i("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType"),impltype:(0,n.validateOptionalType)("FlowType")}}),i("DeclareVariable",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier")}}),i("DeclareExportDeclaration",{visitor:["declaration","specifiers","source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({declaration:(0,n.validateOptionalType)("Flow"),specifiers:(0,n.validateOptional)((0,n.arrayOfType)("ExportSpecifier","ExportNamespaceSpecifier")),source:(0,n.validateOptionalType)("StringLiteral"),default:(0,n.validateOptional)((0,n.assertValueType)("boolean"))},r.importAttributes)}),i("DeclareExportAllDeclaration",{visitor:["source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({source:(0,n.validateType)("StringLiteral"),exportKind:(0,n.validateOptional)((0,n.assertOneOf)("type","value"))},r.importAttributes)}),i("DeclaredPredicate",{visitor:["value"],aliases:["FlowPredicate"],fields:{value:(0,n.validateType)("Flow")}}),i("ExistsTypeAnnotation",{aliases:["FlowType"]}),i("FunctionTypeAnnotation",{builder:["typeParameters","params","rest","returnType"],visitor:["typeParameters","this","params","rest","returnType"],aliases:["FlowType"],fields:{typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),params:(0,n.validateArrayOfType)("FunctionTypeParam"),rest:(0,n.validateOptionalType)("FunctionTypeParam"),this:(0,n.validateOptionalType)("FunctionTypeParam"),returnType:(0,n.validateType)("FlowType")}}),i("FunctionTypeParam",{visitor:["name","typeAnnotation"],fields:{name:(0,n.validateOptionalType)("Identifier"),typeAnnotation:(0,n.validateType)("FlowType"),optional:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),i("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["FlowType"],fields:{id:(0,n.validateType)("Identifier","QualifiedTypeIdentifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),i("InferredPredicate",{aliases:["FlowPredicate"]}),i("InterfaceExtends",{visitor:["id","typeParameters"],fields:{id:(0,n.validateType)("Identifier","QualifiedTypeIdentifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),a("InterfaceDeclaration"),i("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["FlowType"],fields:{extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),body:(0,n.validateType)("ObjectTypeAnnotation")}}),i("IntersectionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),i("MixedTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("EmptyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["FlowType"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),i("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("number"))}}),i("NumberTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:(0,n.validate)((0,n.arrayOfType)("ObjectTypeProperty","ObjectTypeSpreadProperty")),indexers:{validate:(0,n.arrayOfType)("ObjectTypeIndexer"),optional:!0,default:[]},callProperties:{validate:(0,n.arrayOfType)("ObjectTypeCallProperty"),optional:!0,default:[]},internalSlots:{validate:(0,n.arrayOfType)("ObjectTypeInternalSlot"),optional:!0,default:[]},exact:{validate:(0,n.assertValueType)("boolean"),default:!1},inexact:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),i("ObjectTypeInternalSlot",{visitor:["id","value"],builder:["id","value","optional","static","method"],aliases:["UserWhitespacable"],fields:{id:(0,n.validateType)("Identifier"),value:(0,n.validateType)("FlowType"),optional:(0,n.validate)((0,n.assertValueType)("boolean")),static:(0,n.validate)((0,n.assertValueType)("boolean")),method:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("ObjectTypeCallProperty",{visitor:["value"],aliases:["UserWhitespacable"],fields:{value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("ObjectTypeIndexer",{visitor:["variance","id","key","value"],builder:["id","key","value","variance"],aliases:["UserWhitespacable"],fields:{id:(0,n.validateOptionalType)("Identifier"),key:(0,n.validateType)("FlowType"),value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance")}}),i("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["UserWhitespacable"],fields:{key:(0,n.validateType)("Identifier","StringLiteral"),value:(0,n.validateType)("FlowType"),kind:(0,n.validate)((0,n.assertOneOf)("init","get","set")),static:(0,n.validate)((0,n.assertValueType)("boolean")),proto:(0,n.validate)((0,n.assertValueType)("boolean")),optional:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance"),method:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["UserWhitespacable"],fields:{argument:(0,n.validateType)("FlowType")}}),i("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType"),impltype:(0,n.validateType)("FlowType")}}),i("QualifiedTypeIdentifier",{visitor:["qualification","id"],builder:["id","qualification"],fields:{id:(0,n.validateType)("Identifier"),qualification:(0,n.validateType)("Identifier","QualifiedTypeIdentifier")}}),i("StringLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("string"))}}),i("StringTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("SymbolTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("ThisTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("TupleTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),i("TypeofTypeAnnotation",{visitor:["argument"],aliases:["FlowType"],fields:{argument:(0,n.validateType)("FlowType")}}),i("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),i("TypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),i("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["ExpressionWrapper","Expression"],fields:{expression:(0,n.validateType)("Expression"),typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),i("TypeParameter",{visitor:["bound","default","variance"],fields:{name:(0,n.validate)((0,n.assertValueType)("string")),bound:(0,n.validateOptionalType)("TypeAnnotation"),default:(0,n.validateOptionalType)("FlowType"),variance:(0,n.validateOptionalType)("Variance")}}),i("TypeParameterDeclaration",{visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("TypeParameter"))}}),i("TypeParameterInstantiation",{visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),i("UnionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),i("Variance",{builder:["kind"],fields:{kind:(0,n.validate)((0,n.assertOneOf)("minus","plus"))}}),i("VoidTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:(0,n.validateType)("Identifier"),body:(0,n.validateType)("EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody")}}),i("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumBooleanMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumNumberMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumStringMember","EnumDefaultedMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:(0,n.validateArrayOfType)("EnumDefaultedMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("EnumBooleanMember",{aliases:["EnumMember"],builder:["id"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("BooleanLiteral")}}),i("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("NumericLiteral")}}),i("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("StringLiteral")}}),i("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier")}}),i("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:(0,n.validateType)("FlowType"),indexType:(0,n.validateType)("FlowType")}}),i("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:(0,n.validateType)("FlowType"),indexType:(0,n.validateType)("FlowType"),optional:(0,n.validate)((0,n.assertValueType)("boolean"))}})},3104:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ALIAS_KEYS",{enumerable:!0,get:function(){return r.ALIAS_KEYS}}),Object.defineProperty(t,"BUILDER_KEYS",{enumerable:!0,get:function(){return r.BUILDER_KEYS}}),Object.defineProperty(t,"DEPRECATED_ALIASES",{enumerable:!0,get:function(){return i.DEPRECATED_ALIASES}}),Object.defineProperty(t,"DEPRECATED_KEYS",{enumerable:!0,get:function(){return r.DEPRECATED_KEYS}}),Object.defineProperty(t,"FLIPPED_ALIAS_KEYS",{enumerable:!0,get:function(){return r.FLIPPED_ALIAS_KEYS}}),Object.defineProperty(t,"NODE_FIELDS",{enumerable:!0,get:function(){return r.NODE_FIELDS}}),Object.defineProperty(t,"NODE_PARENT_VALIDATIONS",{enumerable:!0,get:function(){return r.NODE_PARENT_VALIDATIONS}}),Object.defineProperty(t,"PLACEHOLDERS",{enumerable:!0,get:function(){return n.PLACEHOLDERS}}),Object.defineProperty(t,"PLACEHOLDERS_ALIAS",{enumerable:!0,get:function(){return n.PLACEHOLDERS_ALIAS}}),Object.defineProperty(t,"PLACEHOLDERS_FLIPPED_ALIAS",{enumerable:!0,get:function(){return n.PLACEHOLDERS_FLIPPED_ALIAS}}),t.TYPES=void 0,Object.defineProperty(t,"VISITOR_KEYS",{enumerable:!0,get:function(){return r.VISITOR_KEYS}}),s(8427),s(6406),s(1576),s(8923),s(82),s(2650);var r=s(5737),n=s(3217),i=s(9229);Object.keys(i.DEPRECATED_ALIASES).forEach((e=>{r.FLIPPED_ALIAS_KEYS[e]=r.FLIPPED_ALIAS_KEYS[i.DEPRECATED_ALIASES[e]]})),t.TYPES=[].concat(Object.keys(r.VISITOR_KEYS),Object.keys(r.FLIPPED_ALIAS_KEYS),Object.keys(r.DEPRECATED_KEYS))},1576:(e,t,s)=>{"use strict";var r=s(5737);const n=(0,r.defineAliasedType)("JSX");n("JSXAttribute",{visitor:["name","value"],aliases:["Immutable"],fields:{name:{validate:(0,r.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,r.assertNodeType)("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),n("JSXClosingElement",{visitor:["name"],aliases:["Immutable"],fields:{name:{validate:(0,r.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),n("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["Immutable","Expression"],fields:Object.assign({openingElement:{validate:(0,r.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,r.assertNodeType)("JSXClosingElement")},children:(0,r.validateArrayOfType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")},{selfClosing:{validate:(0,r.assertValueType)("boolean"),optional:!0}})}),n("JSXEmptyExpression",{}),n("JSXExpressionContainer",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:(0,r.assertNodeType)("Expression","JSXEmptyExpression")}}}),n("JSXSpreadChild",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:(0,r.assertNodeType)("Expression")}}}),n("JSXIdentifier",{builder:["name"],fields:{name:{validate:(0,r.assertValueType)("string")}}}),n("JSXMemberExpression",{visitor:["object","property"],fields:{object:{validate:(0,r.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,r.assertNodeType)("JSXIdentifier")}}}),n("JSXNamespacedName",{visitor:["namespace","name"],fields:{namespace:{validate:(0,r.assertNodeType)("JSXIdentifier")},name:{validate:(0,r.assertNodeType)("JSXIdentifier")}}}),n("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","typeParameters","typeArguments","attributes"],aliases:["Immutable"],fields:Object.assign({name:{validate:(0,r.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:(0,r.validateArrayOfType)("JSXAttribute","JSXSpreadAttribute"),typeArguments:{validate:(0,r.assertNodeType)("TypeParameterInstantiation"),optional:!0}},{typeParameters:{validate:(0,r.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}})}),n("JSXSpreadAttribute",{visitor:["argument"],fields:{argument:{validate:(0,r.assertNodeType)("Expression")}}}),n("JSXText",{aliases:["Immutable"],builder:["value"],fields:{value:{validate:(0,r.assertValueType)("string")}}}),n("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["Immutable","Expression"],fields:{openingFragment:{validate:(0,r.assertNodeType)("JSXOpeningFragment")},closingFragment:{validate:(0,r.assertNodeType)("JSXClosingFragment")},children:(0,r.validateArrayOfType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")}}),n("JSXOpeningFragment",{aliases:["Immutable"]}),n("JSXClosingFragment",{aliases:["Immutable"]})},8923:(e,t,s)=>{"use strict";var r=s(5737),n=s(3217),i=s(8427);const a=(0,r.defineAliasedType)("Miscellaneous");a("Noop",{visitor:[]}),a("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:Object.assign({name:{validate:(0,r.assertNodeType)("Identifier")},expectedNode:{validate:(0,r.assertOneOf)(...n.PLACEHOLDERS)}},(0,i.patternLikeCommon)())}),a("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:(0,r.assertValueType)("string")}}})},3217:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PLACEHOLDERS_FLIPPED_ALIAS=t.PLACEHOLDERS_ALIAS=t.PLACEHOLDERS=void 0;var r=s(5737);const n=t.PLACEHOLDERS=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"],i=t.PLACEHOLDERS_ALIAS={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};for(const e of n){const t=r.ALIAS_KEYS[e];null!=t&&t.length&&(i[e]=t)}const a=t.PLACEHOLDERS_FLIPPED_ALIAS={};Object.keys(i).forEach((e=>{i[e].forEach((t=>{hasOwnProperty.call(a,t)||(a[t]=[]),a[t].push(e)}))}))},2650:(e,t,s)=>{"use strict";var r=s(5737),n=s(8427),i=s(2606);const a=(0,r.defineAliasedType)("TypeScript"),o=(0,r.assertValueType)("boolean"),l=()=>({returnType:{validate:(0,r.assertNodeType)("TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,r.assertNodeType)("TSTypeParameterDeclaration","Noop"),optional:!0}});a("TSParameterProperty",{aliases:["LVal"],visitor:["parameter"],fields:{accessibility:{validate:(0,r.assertOneOf)("public","private","protected"),optional:!0},readonly:{validate:(0,r.assertValueType)("boolean"),optional:!0},parameter:{validate:(0,r.assertNodeType)("Identifier","AssignmentPattern")},override:{validate:(0,r.assertValueType)("boolean"),optional:!0},decorators:{validate:(0,r.arrayOfType)("Decorator"),optional:!0}}}),a("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},(0,n.functionDeclarationCommon)(),l())}),a("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},(0,n.classMethodOrDeclareMethodCommon)(),l())}),a("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:(0,r.validateType)("TSEntityName"),right:(0,r.validateType)("Identifier")}});const c=()=>({typeParameters:(0,r.validateOptionalType)("TSTypeParameterDeclaration"),parameters:(0,r.validateArrayOfType)("ArrayPattern","Identifier","ObjectPattern","RestElement"),typeAnnotation:(0,r.validateOptionalType)("TSTypeAnnotation")}),p={aliases:["TSTypeElement"],visitor:["typeParameters","parameters","typeAnnotation"],fields:c()};a("TSCallSignatureDeclaration",p),a("TSConstructSignatureDeclaration",p);const u=()=>({key:(0,r.validateType)("Expression"),computed:{default:!1},optional:(0,r.validateOptional)(o)});a("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation"],fields:Object.assign({},u(),{readonly:(0,r.validateOptional)(o),typeAnnotation:(0,r.validateOptionalType)("TSTypeAnnotation"),kind:{optional:!0,validate:(0,r.assertOneOf)("get","set")}})}),a("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","parameters","typeAnnotation"],fields:Object.assign({},c(),u(),{kind:{validate:(0,r.assertOneOf)("method","get","set")}})}),a("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:(0,r.validateOptional)(o),static:(0,r.validateOptional)(o),parameters:(0,r.validateArrayOfType)("Identifier"),typeAnnotation:(0,r.validateOptionalType)("TSTypeAnnotation")}});const h=["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"];for(const e of h)a(e,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});a("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});const d={aliases:["TSType"],visitor:["typeParameters","parameters","typeAnnotation"]};a("TSFunctionType",Object.assign({},d,{fields:c()})),a("TSConstructorType",Object.assign({},d,{fields:Object.assign({},c(),{abstract:(0,r.validateOptional)(o)})})),a("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeParameters"],fields:{typeName:(0,r.validateType)("TSEntityName"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation")}}),a("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:(0,r.validateType)("Identifier","TSThisType"),typeAnnotation:(0,r.validateOptionalType)("TSTypeAnnotation"),asserts:(0,r.validateOptional)(o)}}),a("TSTypeQuery",{aliases:["TSType"],visitor:["exprName","typeParameters"],fields:{exprName:(0,r.validateType)("TSEntityName","TSImportType"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation")}}),a("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:(0,r.validateArrayOfType)("TSTypeElement")}}),a("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:(0,r.validateType)("TSType")}}),a("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:(0,r.validateArrayOfType)("TSType","TSNamedTupleMember")}}),a("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,r.validateType)("TSType")}}),a("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,r.validateType)("TSType")}}),a("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:(0,r.validateType)("Identifier"),optional:{validate:o,default:!1},elementType:(0,r.validateType)("TSType")}});const f={aliases:["TSType"],visitor:["types"],fields:{types:(0,r.validateArrayOfType)("TSType")}};a("TSUnionType",f),a("TSIntersectionType",f),a("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:(0,r.validateType)("TSType"),extendsType:(0,r.validateType)("TSType"),trueType:(0,r.validateType)("TSType"),falseType:(0,r.validateType)("TSType")}}),a("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:(0,r.validateType)("TSTypeParameter")}}),a("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,r.validateType)("TSType")}}),a("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{operator:(0,r.validate)((0,r.assertValueType)("string")),typeAnnotation:(0,r.validateType)("TSType")}}),a("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:(0,r.validateType)("TSType"),indexType:(0,r.validateType)("TSType")}}),a("TSMappedType",{aliases:["TSType"],visitor:["typeParameter","nameType","typeAnnotation"],builder:["typeParameter","typeAnnotation","nameType"],fields:Object.assign({},{typeParameter:(0,r.validateType)("TSTypeParameter")},{readonly:(0,r.validateOptional)((0,r.assertOneOf)(!0,!1,"+","-")),optional:(0,r.validateOptional)((0,r.assertOneOf)(!0,!1,"+","-")),typeAnnotation:(0,r.validateOptionalType)("TSType"),nameType:(0,r.validateOptionalType)("TSType")})}),a("TSTemplateLiteralType",{aliases:["TSType","TSBaseType"],visitor:["quasis","types"],fields:{quasis:(0,r.validateArrayOfType)("TemplateElement"),types:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("TSType")),(function(e,t,s){if(e.quasis.length!==s.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of types.\\nExpected ${s.length+1} quasis but got ${e.quasis.length}`)}))}}}),a("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:{validate:function(){const e=(0,r.assertNodeType)("NumericLiteral","BigIntLiteral"),t=(0,r.assertOneOf)("-"),s=(0,r.assertNodeType)("NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral");function n(r,n,a){(0,i.default)("UnaryExpression",a)?(t(a,"operator",a.operator),e(a,"argument",a.argument)):s(r,n,a)}return n.oneOfNodeTypes=["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral","UnaryExpression"],n}()}}}),a("TSExpressionWithTypeArguments",{aliases:["TSType"],visitor:["expression","typeParameters"],fields:{expression:(0,r.validateType)("TSEntityName"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation")}}),a("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:(0,r.validateOptional)(o),id:(0,r.validateType)("Identifier"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterDeclaration"),extends:(0,r.validateOptional)((0,r.arrayOfType)("TSExpressionWithTypeArguments")),body:(0,r.validateType)("TSInterfaceBody")}}),a("TSInterfaceBody",{visitor:["body"],fields:{body:(0,r.validateArrayOfType)("TSTypeElement")}}),a("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:(0,r.validateOptional)(o),id:(0,r.validateType)("Identifier"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterDeclaration"),typeAnnotation:(0,r.validateType)("TSType")}}),a("TSInstantiationExpression",{aliases:["Expression"],visitor:["expression","typeParameters"],fields:{expression:(0,r.validateType)("Expression"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation")}});const m={aliases:["Expression","LVal","PatternLike"],visitor:["expression","typeAnnotation"],fields:{expression:(0,r.validateType)("Expression"),typeAnnotation:(0,r.validateType)("TSType")}};a("TSAsExpression",m),a("TSSatisfiesExpression",m),a("TSTypeAssertion",{aliases:["Expression","LVal","PatternLike"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:(0,r.validateType)("TSType"),expression:(0,r.validateType)("Expression")}}),a("TSEnumBody",{visitor:["members"],fields:{members:(0,r.validateArrayOfType)("TSEnumMember")}}),a("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","members"],fields:{declare:(0,r.validateOptional)(o),const:(0,r.validateOptional)(o),id:(0,r.validateType)("Identifier"),members:(0,r.validateArrayOfType)("TSEnumMember"),initializer:(0,r.validateOptionalType)("Expression"),body:(0,r.validateOptionalType)("TSEnumBody")}}),a("TSEnumMember",{visitor:["id","initializer"],fields:{id:(0,r.validateType)("Identifier","StringLiteral"),initializer:(0,r.validateOptionalType)("Expression")}}),a("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:Object.assign({kind:{validate:(0,r.assertOneOf)("global","module","namespace")},declare:(0,r.validateOptional)(o)},{global:(0,r.validateOptional)(o)},{id:(0,r.validateType)("Identifier","StringLiteral"),body:(0,r.validateType)("TSModuleBlock","TSModuleDeclaration")})}),a("TSModuleBlock",{aliases:["Scopable","Block","BlockParent","FunctionParent"],visitor:["body"],fields:{body:(0,r.validateArrayOfType)("Statement")}}),a("TSImportType",{aliases:["TSType"],builder:["argument","qualifier","typeParameters"],visitor:["argument","options","qualifier","typeParameters"],fields:{argument:(0,r.validateType)("StringLiteral"),qualifier:(0,r.validateOptionalType)("TSEntityName"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation"),options:{validate:(0,r.assertNodeType)("Expression"),optional:!0}}}),a("TSImportEqualsDeclaration",{aliases:["Statement","Declaration"],visitor:["id","moduleReference"],fields:Object.assign({},{isExport:(0,r.validate)(o)},{id:(0,r.validateType)("Identifier"),moduleReference:(0,r.validateType)("TSEntityName","TSExternalModuleReference"),importKind:{validate:(0,r.assertOneOf)("type","value"),optional:!0}})}),a("TSExternalModuleReference",{visitor:["expression"],fields:{expression:(0,r.validateType)("StringLiteral")}}),a("TSNonNullExpression",{aliases:["Expression","LVal","PatternLike"],visitor:["expression"],fields:{expression:(0,r.validateType)("Expression")}}),a("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:(0,r.validateType)("Expression")}}),a("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:(0,r.validateType)("Identifier")}}),a("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:(0,r.assertNodeType)("TSType")}}}),a("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:(0,r.validateArrayOfType)("TSType")}}),a("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:(0,r.validateArrayOfType)("TSTypeParameter")}}),a("TSTypeParameter",{builder:["constraint","default","name"],visitor:["constraint","default"],fields:{name:{validate:(0,r.assertValueType)("string")},in:{validate:(0,r.assertValueType)("boolean"),optional:!0},out:{validate:(0,r.assertValueType)("boolean"),optional:!0},const:{validate:(0,r.assertValueType)("boolean"),optional:!0},constraint:{validate:(0,r.assertNodeType)("TSType"),optional:!0},default:{validate:(0,r.assertNodeType)("TSType"),optional:!0}}})},5737:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.VISITOR_KEYS=t.NODE_PARENT_VALIDATIONS=t.NODE_FIELDS=t.FLIPPED_ALIAS_KEYS=t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.ALIAS_KEYS=void 0,t.arrayOf=m,t.arrayOfType=y,t.assertEach=g,t.assertNodeOrValueType=function(...e){function t(t,s,r){for(const a of e)if(d(r)===a||(0,n.default)(a,r))return void(0,i.validateChild)(t,s,r);throw new TypeError(`Property ${s} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(null==r?void 0:r.type)}`)}return t.oneOfNodeOrValueTypes=e,t},t.assertNodeType=b,t.assertOneOf=function(...e){function t(t,s,r){if(!e.includes(r))throw new TypeError(`Property ${s} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)}return t.oneOf=e,t},t.assertOptionalChainStart=function(){return function(e){var t;let s=e;for(;e;){const{type:e}=s;if("OptionalCallExpression"!==e){if("OptionalMemberExpression"!==e)break;if(s.optional)return;s=s.object}else{if(s.optional)return;s=s.callee}}throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${null==(t=s)?void 0:t.type}`)}},t.assertShape=function(e){function t(t,s,r){const n=[];for(const s of Object.keys(e))try{(0,i.validateField)(t,s,r[s],e[s])}catch(e){if(e instanceof TypeError){n.push(e.message);continue}throw e}if(n.length)throw new TypeError(`Property ${s} of ${t.type} expected to have the following:\\n${n.join("\\n")}`)}return t.shapeOf=e,t},t.assertValueType=T,t.chain=x,t.default=A,t.defineAliasedType=function(...e){return(t,s={})=>{let r=s.aliases;var n;r||(s.inherits&&(r=null==(n=E[s.inherits].aliases)?void 0:n.slice()),null!=r||(r=[]),s.aliases=r);const i=e.filter((e=>!r.includes(e)));r.unshift(...i),A(t,s)}},t.validate=f,t.validateArrayOfType=function(...e){return f(y(...e))},t.validateOptional=function(e){return{validate:e,optional:!0}},t.validateOptionalType=function(...e){return{validate:b(...e),optional:!0}},t.validateType=function(...e){return f(b(...e))};var n=s(2606),i=s(3589);const a=t.VISITOR_KEYS={},o=t.ALIAS_KEYS={},l=t.FLIPPED_ALIAS_KEYS={},c=t.NODE_FIELDS={},p=t.BUILDER_KEYS={},u=t.DEPRECATED_KEYS={},h=t.NODE_PARENT_VALIDATIONS={};function d(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function f(e){return{validate:e}}function m(e){return x(T("array"),g(e))}function y(...e){return m(b(...e))}function g(e){const t=r.env.BABEL_TYPES_8_BREAKING?i.validateChild:()=>{};function s(s,r,n){if(Array.isArray(n))for(let i=0;i=2&&"type"in e[0]&&"array"===e[0].type&&!("each"in e[1]))throw new Error(\'An assertValueType("array") validator can only be followed by an assertEach(...) validator.\');return t}const P=new Set(["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"]),S=new Set(["default","optional","deprecated","validate"]),E={};function A(e,t={}){const s=t.inherits&&E[t.inherits]||{};let r=t.fields;if(!r&&(r={},s.fields)){const e=Object.getOwnPropertyNames(s.fields);for(const t of e){const e=s.fields[t],n=e.default;if(Array.isArray(n)?n.length>0:n&&"object"==typeof n)throw new Error("field defaults can only be primitives or empty arrays currently");r[t]={default:Array.isArray(n)?[]:n,optional:e.optional,deprecated:e.deprecated,validate:e.validate}}}const n=t.visitor||s.visitor||[],i=t.aliases||s.aliases||[],f=t.builder||s.builder||t.visitor||[];for(const s of Object.keys(t))if(!P.has(s))throw new Error(`Unknown type option "${s}" on ${e}`);t.deprecatedAlias&&(u[t.deprecatedAlias]=e);for(const e of n.concat(f))r[e]=r[e]||{};for(const t of Object.keys(r)){const s=r[t];void 0===s.default||f.includes(t)||(s.optional=!0),void 0===s.default?s.default=null:s.validate||null==s.default||(s.validate=T(d(s.default)));for(const r of Object.keys(s))if(!S.has(r))throw new Error(`Unknown field key "${r}" on ${e}.${t}`)}a[e]=t.visitor=n,p[e]=t.builder=f,c[e]=t.fields=r,o[e]=t.aliases=i,i.forEach((t=>{l[t]=l[t]||[],l[t].push(e)})),t.validate&&(h[e]=t.validate),E[e]=t}},4473:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0});var n={react:!0,assertNode:!0,createTypeAnnotationBasedOnTypeof:!0,createUnionTypeAnnotation:!0,createFlowUnionType:!0,createTSUnionType:!0,cloneNode:!0,clone:!0,cloneDeep:!0,cloneDeepWithoutLoc:!0,cloneWithoutLoc:!0,addComment:!0,addComments:!0,inheritInnerComments:!0,inheritLeadingComments:!0,inheritsComments:!0,inheritTrailingComments:!0,removeComments:!0,ensureBlock:!0,toBindingIdentifierName:!0,toBlock:!0,toComputedKey:!0,toExpression:!0,toIdentifier:!0,toKeyAlias:!0,toStatement:!0,valueToNode:!0,appendToMemberExpression:!0,inherits:!0,prependToMemberExpression:!0,removeProperties:!0,removePropertiesDeep:!0,removeTypeDuplicates:!0,getAssignmentIdentifiers:!0,getBindingIdentifiers:!0,getOuterBindingIdentifiers:!0,getFunctionName:!0,traverse:!0,traverseFast:!0,shallowEqual:!0,is:!0,isBinding:!0,isBlockScoped:!0,isImmutable:!0,isLet:!0,isNode:!0,isNodesEquivalent:!0,isPlaceholderType:!0,isReferenced:!0,isScope:!0,isSpecifierDefault:!0,isType:!0,isValidES3Identifier:!0,isValidIdentifier:!0,isVar:!0,matchesPattern:!0,validate:!0,buildMatchMemberExpression:!0,__internal__deprecationWarning:!0};Object.defineProperty(t,"__internal__deprecationWarning",{enumerable:!0,get:function(){return ge.default}}),Object.defineProperty(t,"addComment",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(t,"addComments",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"appendToMemberExpression",{enumerable:!0,get:function(){return F.default}}),Object.defineProperty(t,"assertNode",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"buildMatchMemberExpression",{enumerable:!0,get:function(){return me.default}}),Object.defineProperty(t,"clone",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,"cloneDeep",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,"cloneDeepWithoutLoc",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"cloneNode",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(t,"cloneWithoutLoc",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(t,"createFlowUnionType",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"createTSUnionType",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"createTypeAnnotationBasedOnTypeof",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"createUnionTypeAnnotation",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"ensureBlock",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(t,"getAssignmentIdentifiers",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(t,"getBindingIdentifiers",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(t,"getFunctionName",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(t,"getOuterBindingIdentifiers",{enumerable:!0,get:function(){return J.default}}),Object.defineProperty(t,"inheritInnerComments",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(t,"inheritLeadingComments",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"inheritTrailingComments",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(t,"inherits",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(t,"inheritsComments",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(t,"is",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(t,"isBinding",{enumerable:!0,get:function(){return Z.default}}),Object.defineProperty(t,"isBlockScoped",{enumerable:!0,get:function(){return ee.default}}),Object.defineProperty(t,"isImmutable",{enumerable:!0,get:function(){return te.default}}),Object.defineProperty(t,"isLet",{enumerable:!0,get:function(){return se.default}}),Object.defineProperty(t,"isNode",{enumerable:!0,get:function(){return re.default}}),Object.defineProperty(t,"isNodesEquivalent",{enumerable:!0,get:function(){return ne.default}}),Object.defineProperty(t,"isPlaceholderType",{enumerable:!0,get:function(){return ie.default}}),Object.defineProperty(t,"isReferenced",{enumerable:!0,get:function(){return ae.default}}),Object.defineProperty(t,"isScope",{enumerable:!0,get:function(){return oe.default}}),Object.defineProperty(t,"isSpecifierDefault",{enumerable:!0,get:function(){return le.default}}),Object.defineProperty(t,"isType",{enumerable:!0,get:function(){return ce.default}}),Object.defineProperty(t,"isValidES3Identifier",{enumerable:!0,get:function(){return pe.default}}),Object.defineProperty(t,"isValidIdentifier",{enumerable:!0,get:function(){return ue.default}}),Object.defineProperty(t,"isVar",{enumerable:!0,get:function(){return he.default}}),Object.defineProperty(t,"matchesPattern",{enumerable:!0,get:function(){return de.default}}),Object.defineProperty(t,"prependToMemberExpression",{enumerable:!0,get:function(){return V.default}}),t.react=void 0,Object.defineProperty(t,"removeComments",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(t,"removeProperties",{enumerable:!0,get:function(){return q.default}}),Object.defineProperty(t,"removePropertiesDeep",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(t,"removeTypeDuplicates",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(t,"shallowEqual",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(t,"toBindingIdentifierName",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(t,"toBlock",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(t,"toComputedKey",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(t,"toExpression",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(t,"toIdentifier",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(t,"toKeyAlias",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"toStatement",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(t,"traverse",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(t,"traverseFast",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return fe.default}}),Object.defineProperty(t,"valueToNode",{enumerable:!0,get:function(){return R.default}});var i=s(3367),a=s(8486),o=s(6250),l=s(8710),c=s(3658);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var p=s(4315),u=s(8163),h=s(5403),d=s(5894);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}));var f=s(7890);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===f[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return f[e]}}))}));var m=s(6351),y=s(7883),g=s(721),b=s(7039),T=s(9482),x=s(9477),P=s(5491),S=s(2735),E=s(5098),A=s(9337),v=s(428),w=s(2123),C=s(1847);Object.keys(C).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===C[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return C[e]}}))}));var I=s(3218);Object.keys(I).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===I[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return I[e]}}))}));var O=s(5620),N=s(1314),k=s(6016),L=s(5222),D=s(1926),M=s(6191),_=s(2953),j=s(2748),R=s(1171),B=s(3104);Object.keys(B).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===B[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return B[e]}}))}));var F=s(4857),U=s(8600),V=s(9673),q=s(7477),K=s(6560),W=s(4541),H=s(5079),Y=s(5582),J=s(1889),X=s(18),G=s(4333);Object.keys(G).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===G[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return G[e]}}))}));var z=s(4487),$=s(9587),Q=s(2606),Z=s(1117),ee=s(124),te=s(9555),se=s(4757),re=s(3261),ne=s(4530),ie=s(464),ae=s(4500),oe=s(8596),le=s(3856),ce=s(3459),pe=s(4814),ue=s(7095),he=s(9760),de=s(775),fe=s(3589),me=s(7387),ye=s(4019);Object.keys(ye).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===ye[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return ye[e]}}))}));var ge=s(7525),be=s(6004);t.react={isReactComponent:i.default,isCompatTag:a.default,buildChildren:o.default},t.toSequenceExpression=be.default,r.env.BABEL_TYPES_8_BREAKING&&console.warn("BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-release instead!")},4857:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s=!1){return e.object=(0,r.memberExpression)(e.object,e.property,e.computed),e.property=t,e.computed=!!s,e};var r=s(7890)},4541:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){const s=Array.from(t),i=new Map,a=new Map,o=new Set,l=[];for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!e||!t)return e;for(const s of r.INHERIT_KEYS.optional)null==e[s]&&(e[s]=t[s]);for(const s of Object.keys(t))"_"===s[0]&&"__clone"!==s&&(e[s]=t[s]);for(const s of r.INHERIT_KEYS.force)e[s]=t[s];return(0,n.default)(e,t),e};var r=s(3218),n=s(9337)},9673:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,n.isSuper)(e.object))throw new Error("Cannot prepend node to super property access (`super.foo`).");return e.object=(0,r.memberExpression)(t,e.object),e};var r=s(7890),n=s(4473)},7477:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t={}){const s=t.preserveComments?n:i;for(const t of s)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const r=Object.getOwnPropertySymbols(e);for(const t of r)e[t]=null};var r=s(3218);const n=["tokens","start","end","loc","raw","rawValue"],i=[...r.COMMENT_KEYS,"comments",...n]},6560:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,r.default)(e,n.default,t),e};var r=s(4487),n=s(7477)},7613:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){const s=Array.from(t),i=new Map,a=new Map,o=new Set,l=[];for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[].concat(e),s=Object.create(null);for(;t.length;){const e=t.pop();if(e)switch(e.type){case"ArrayPattern":t.push(...e.elements);break;case"AssignmentExpression":case"AssignmentPattern":case"ForInStatement":case"ForOfStatement":t.push(e.left);break;case"ObjectPattern":t.push(...e.properties);break;case"ObjectProperty":t.push(e.value);break;case"RestElement":case"UpdateExpression":t.push(e.argument);break;case"UnaryExpression":"delete"===e.operator&&t.push(e.argument);break;case"Identifier":s[e.name]=e}}return s}},5582:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=n;var r=s(4019);function n(e,t,s,i){const a=[].concat(e),o=Object.create(null);for(;a.length;){const e=a.shift();if(!e)continue;if(i&&((0,r.isAssignmentExpression)(e)||(0,r.isUnaryExpression)(e)||(0,r.isUpdateExpression)(e)))continue;if((0,r.isIdentifier)(e)){t?(o[e.name]=o[e.name]||[]).push(e):o[e.name]=e;continue}if((0,r.isExportDeclaration)(e)&&!(0,r.isExportAllDeclaration)(e)){(0,r.isDeclaration)(e.declaration)&&a.push(e.declaration);continue}if(s){if((0,r.isFunctionDeclaration)(e)){a.push(e.id);continue}if((0,r.isFunctionExpression)(e))continue}const l=n.keys[e.type];if(l)for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("id"in e&&e.id)return{name:e.id.name,originalNode:e.id};let s,i="";if((0,r.isObjectProperty)(t,{value:e})?s=n(t):(0,r.isObjectMethod)(e)||(0,r.isClassMethod)(e)?(s=n(e),"get"===e.kind?i="get ":"set"===e.kind&&(i="set ")):(0,r.isVariableDeclarator)(t,{init:e})?s=t.id:(0,r.isAssignmentExpression)(t,{operator:"=",right:e})&&(s=t.left),!s)return null;const a=(0,r.isLiteral)(s)?function(e){return(0,r.isNullLiteral)(e)?"null":(0,r.isRegExpLiteral)(e)?`/${e.pattern}/${e.flags}`:(0,r.isTemplateLiteral)(e)?e.quasis.map((e=>e.value.raw)).join(""):void 0!==e.value?String(e.value):null}(s):(0,r.isIdentifier)(s)?s.name:(0,r.isPrivateName)(s)?s.id.name:null;return null==a?null:{name:i+a,originalNode:s}};var r=s(4019);function n(e){if(!e.computed||(0,r.isLiteral)(e.key))return e.key}},1889:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(5582);t.default=function(e,t){return(0,r.default)(e,t,!0)}},4333:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){"function"==typeof t&&(t={enter:t});const{enter:r,exit:i}=t;n(e,r,i,s,[])};var r=s(3104);function n(e,t,s,i,a){const o=r.VISITOR_KEYS[e.type];if(o){t&&t(e,a,i);for(const r of o){const o=e[r];if(Array.isArray(o))for(let l=0;l{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,s,n){if(!t)return;const i=r.VISITOR_KEYS[t.type];if(i){s(t,n=n||{});for(const r of i){const i=t[r];if(Array.isArray(i))for(const t of i)e(t,s,n);else e(i,s,n)}}};var r=s(3104)},7525:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r=""){if(s.has(e))return;s.add(e);const{internal:n,trace:i}=function(e,t){const{stackTraceLimit:s,prepareStackTrace:r}=Error;let n;if(Error.stackTraceLimit=4,Error.prepareStackTrace=function(e,t){n=t},(new Error).stack,Error.stackTraceLimit=s,Error.prepareStackTrace=r,!n)return{internal:!1,trace:""};const i=n.slice(2,4);return{internal:/[\\\\/]@babel[\\\\/]/.test(i[1].getFileName()),trace:i.map((e=>` at ${e}`)).join("\\n")}}();n||console.warn(`${r}\\`${e}\\` has been deprecated, please migrate to \\`${t}\\`\\n${i}`)};const s=new Set},923:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){t&&s&&(t[e]=Array.from(new Set([].concat(t[e],s[e]).filter(Boolean))))}},5178:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const s=e.value.split(/\\r\\n|\\n|\\r/);let i=0;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const s=Object.keys(t);for(const r of s)if(e[r]!==t[r])return!1;return!0}},7387:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const s=e.split(".");return e=>(0,r.default)(e,s,t)};var r=s(775)},4019:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAccessor=function(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||(0,r.default)(e,t)))},t.isAnyTypeAnnotation=function(e,t){return!!e&&"AnyTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isArgumentPlaceholder=function(e,t){return!!e&&"ArgumentPlaceholder"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayExpression=function(e,t){return!!e&&"ArrayExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayPattern=function(e,t){return!!e&&"ArrayPattern"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayTypeAnnotation=function(e,t){return!!e&&"ArrayTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrowFunctionExpression=function(e,t){return!!e&&"ArrowFunctionExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isAssignmentExpression=function(e,t){return!!e&&"AssignmentExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isAssignmentPattern=function(e,t){return!!e&&"AssignmentPattern"===e.type&&(null==t||(0,r.default)(e,t))},t.isAwaitExpression=function(e,t){return!!e&&"AwaitExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isBigIntLiteral=function(e,t){return!!e&&"BigIntLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isBinary=function(e,t){if(!e)return!1;switch(e.type){case"BinaryExpression":case"LogicalExpression":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBinaryExpression=function(e,t){return!!e&&"BinaryExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isBindExpression=function(e,t){return!!e&&"BindExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isBlock=function(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"Program":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBlockParent=function(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBlockStatement=function(e,t){return!!e&&"BlockStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanLiteral=function(e,t){return!!e&&"BooleanLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanLiteralTypeAnnotation=function(e,t){return!!e&&"BooleanLiteralTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanTypeAnnotation=function(e,t){return!!e&&"BooleanTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isBreakStatement=function(e,t){return!!e&&"BreakStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isCallExpression=function(e,t){return!!e&&"CallExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isCatchClause=function(e,t){return!!e&&"CatchClause"===e.type&&(null==t||(0,r.default)(e,t))},t.isClass=function(e,t){if(!e)return!1;switch(e.type){case"ClassExpression":case"ClassDeclaration":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isClassAccessorProperty=function(e,t){return!!e&&"ClassAccessorProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassBody=function(e,t){return!!e&&"ClassBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassDeclaration=function(e,t){return!!e&&"ClassDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassExpression=function(e,t){return!!e&&"ClassExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassImplements=function(e,t){return!!e&&"ClassImplements"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassMethod=function(e,t){return!!e&&"ClassMethod"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassPrivateMethod=function(e,t){return!!e&&"ClassPrivateMethod"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassPrivateProperty=function(e,t){return!!e&&"ClassPrivateProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassProperty=function(e,t){return!!e&&"ClassProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isCompletionStatement=function(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isConditional=function(e,t){if(!e)return!1;switch(e.type){case"ConditionalExpression":case"IfStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isConditionalExpression=function(e,t){return!!e&&"ConditionalExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isContinueStatement=function(e,t){return!!e&&"ContinueStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isDebuggerStatement=function(e,t){return!!e&&"DebuggerStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isDecimalLiteral=function(e,t){return!!e&&"DecimalLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclaration=function(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"VariableDeclaration":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":break;case"Placeholder":if("Declaration"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isDeclareClass=function(e,t){return!!e&&"DeclareClass"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareExportAllDeclaration=function(e,t){return!!e&&"DeclareExportAllDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareExportDeclaration=function(e,t){return!!e&&"DeclareExportDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareFunction=function(e,t){return!!e&&"DeclareFunction"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareInterface=function(e,t){return!!e&&"DeclareInterface"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareModule=function(e,t){return!!e&&"DeclareModule"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareModuleExports=function(e,t){return!!e&&"DeclareModuleExports"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareOpaqueType=function(e,t){return!!e&&"DeclareOpaqueType"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareTypeAlias=function(e,t){return!!e&&"DeclareTypeAlias"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareVariable=function(e,t){return!!e&&"DeclareVariable"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclaredPredicate=function(e,t){return!!e&&"DeclaredPredicate"===e.type&&(null==t||(0,r.default)(e,t))},t.isDecorator=function(e,t){return!!e&&"Decorator"===e.type&&(null==t||(0,r.default)(e,t))},t.isDirective=function(e,t){return!!e&&"Directive"===e.type&&(null==t||(0,r.default)(e,t))},t.isDirectiveLiteral=function(e,t){return!!e&&"DirectiveLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isDoExpression=function(e,t){return!!e&&"DoExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isDoWhileStatement=function(e,t){return!!e&&"DoWhileStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isEmptyStatement=function(e,t){return!!e&&"EmptyStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isEmptyTypeAnnotation=function(e,t){return!!e&&"EmptyTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumBody=function(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isEnumBooleanBody=function(e,t){return!!e&&"EnumBooleanBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumBooleanMember=function(e,t){return!!e&&"EnumBooleanMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumDeclaration=function(e,t){return!!e&&"EnumDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumDefaultedMember=function(e,t){return!!e&&"EnumDefaultedMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumMember=function(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isEnumNumberBody=function(e,t){return!!e&&"EnumNumberBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumNumberMember=function(e,t){return!!e&&"EnumNumberMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumStringBody=function(e,t){return!!e&&"EnumStringBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumStringMember=function(e,t){return!!e&&"EnumStringMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumSymbolBody=function(e,t){return!!e&&"EnumSymbolBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isExistsTypeAnnotation=function(e,t){return!!e&&"ExistsTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportAllDeclaration=function(e,t){return!!e&&"ExportAllDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportDeclaration=function(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isExportDefaultDeclaration=function(e,t){return!!e&&"ExportDefaultDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportDefaultSpecifier=function(e,t){return!!e&&"ExportDefaultSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportNamedDeclaration=function(e,t){return!!e&&"ExportNamedDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportNamespaceSpecifier=function(e,t){return!!e&&"ExportNamespaceSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportSpecifier=function(e,t){return!!e&&"ExportSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isExpression=function(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ParenthesizedExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":case"ArrowFunctionExpression":case"ClassExpression":case"ImportExpression":case"MetaProperty":case"Super":case"TaggedTemplateExpression":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"OptionalMemberExpression":case"OptionalCallExpression":case"TypeCastExpression":case"JSXElement":case"JSXFragment":case"BindExpression":case"DoExpression":case"RecordExpression":case"TupleExpression":case"DecimalLiteral":case"ModuleExpression":case"TopicReference":case"PipelineTopicExpression":case"PipelineBareFunction":case"PipelinePrimaryTopicReference":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Expression":case"Identifier":case"StringLiteral":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isExpressionStatement=function(e,t){return!!e&&"ExpressionStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isExpressionWrapper=function(e,t){if(!e)return!1;switch(e.type){case"ExpressionStatement":case"ParenthesizedExpression":case"TypeCastExpression":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFile=function(e,t){return!!e&&"File"===e.type&&(null==t||(0,r.default)(e,t))},t.isFlow=function(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ClassImplements":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"DeclaredPredicate":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"FunctionTypeParam":case"GenericTypeAnnotation":case"InferredPredicate":case"InterfaceExtends":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":case"OpaqueType":case"QualifiedTypeIdentifier":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"TypeAlias":case"TypeAnnotation":case"TypeCastExpression":case"TypeParameter":case"TypeParameterDeclaration":case"TypeParameterInstantiation":case"UnionTypeAnnotation":case"Variance":case"VoidTypeAnnotation":case"EnumDeclaration":case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowBaseAnnotation=function(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"BooleanTypeAnnotation":case"NullLiteralTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NumberTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"VoidTypeAnnotation":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowDeclaration=function(e,t){if(!e)return!1;switch(e.type){case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowPredicate=function(e,t){if(!e)return!1;switch(e.type){case"DeclaredPredicate":case"InferredPredicate":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowType=function(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"GenericTypeAnnotation":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"UnionTypeAnnotation":case"VoidTypeAnnotation":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFor=function(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForStatement":case"ForOfStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isForInStatement=function(e,t){return!!e&&"ForInStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isForOfStatement=function(e,t){return!!e&&"ForOfStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isForStatement=function(e,t){return!!e&&"ForStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isForXStatement=function(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForOfStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunction=function(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunctionDeclaration=function(e,t){return!!e&&"FunctionDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionExpression=function(e,t){return!!e&&"FunctionExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionParent=function(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunctionTypeAnnotation=function(e,t){return!!e&&"FunctionTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionTypeParam=function(e,t){return!!e&&"FunctionTypeParam"===e.type&&(null==t||(0,r.default)(e,t))},t.isGenericTypeAnnotation=function(e,t){return!!e&&"GenericTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isIdentifier=function(e,t){return!!e&&"Identifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isIfStatement=function(e,t){return!!e&&"IfStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isImmutable=function(e,t){if(!e)return!1;switch(e.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"BigIntLiteral":case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXOpeningElement":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":case"DecimalLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isImport=function(e,t){return!!e&&"Import"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportAttribute=function(e,t){return!!e&&"ImportAttribute"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportDeclaration=function(e,t){return!!e&&"ImportDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportDefaultSpecifier=function(e,t){return!!e&&"ImportDefaultSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportExpression=function(e,t){return!!e&&"ImportExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportNamespaceSpecifier=function(e,t){return!!e&&"ImportNamespaceSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportOrExportDeclaration=i,t.isImportSpecifier=function(e,t){return!!e&&"ImportSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isIndexedAccessType=function(e,t){return!!e&&"IndexedAccessType"===e.type&&(null==t||(0,r.default)(e,t))},t.isInferredPredicate=function(e,t){return!!e&&"InferredPredicate"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceDeclaration=function(e,t){return!!e&&"InterfaceDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceExtends=function(e,t){return!!e&&"InterfaceExtends"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceTypeAnnotation=function(e,t){return!!e&&"InterfaceTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterpreterDirective=function(e,t){return!!e&&"InterpreterDirective"===e.type&&(null==t||(0,r.default)(e,t))},t.isIntersectionTypeAnnotation=function(e,t){return!!e&&"IntersectionTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSX=function(e,t){if(!e)return!1;switch(e.type){case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXEmptyExpression":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXIdentifier":case"JSXMemberExpression":case"JSXNamespacedName":case"JSXOpeningElement":case"JSXSpreadAttribute":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isJSXAttribute=function(e,t){return!!e&&"JSXAttribute"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXClosingElement=function(e,t){return!!e&&"JSXClosingElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXClosingFragment=function(e,t){return!!e&&"JSXClosingFragment"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXElement=function(e,t){return!!e&&"JSXElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXEmptyExpression=function(e,t){return!!e&&"JSXEmptyExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXExpressionContainer=function(e,t){return!!e&&"JSXExpressionContainer"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXFragment=function(e,t){return!!e&&"JSXFragment"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXIdentifier=function(e,t){return!!e&&"JSXIdentifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXMemberExpression=function(e,t){return!!e&&"JSXMemberExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXNamespacedName=function(e,t){return!!e&&"JSXNamespacedName"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXOpeningElement=function(e,t){return!!e&&"JSXOpeningElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXOpeningFragment=function(e,t){return!!e&&"JSXOpeningFragment"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXSpreadAttribute=function(e,t){return!!e&&"JSXSpreadAttribute"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXSpreadChild=function(e,t){return!!e&&"JSXSpreadChild"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXText=function(e,t){return!!e&&"JSXText"===e.type&&(null==t||(0,r.default)(e,t))},t.isLVal=function(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSParameterProperty":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isLabeledStatement=function(e,t){return!!e&&"LabeledStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isLiteral=function(e,t){if(!e)return!1;switch(e.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"TemplateLiteral":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isLogicalExpression=function(e,t){return!!e&&"LogicalExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isLoop=function(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":case"ForOfStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMemberExpression=function(e,t){return!!e&&"MemberExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isMetaProperty=function(e,t){return!!e&&"MetaProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isMethod=function(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMiscellaneous=function(e,t){if(!e)return!1;switch(e.type){case"Noop":case"Placeholder":case"V8IntrinsicIdentifier":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMixedTypeAnnotation=function(e,t){return!!e&&"MixedTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isModuleDeclaration=function(e,t){return(0,n.default)("isModuleDeclaration","isImportOrExportDeclaration"),i(e,t)},t.isModuleExpression=function(e,t){return!!e&&"ModuleExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isModuleSpecifier=function(e,t){if(!e)return!1;switch(e.type){case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isNewExpression=function(e,t){return!!e&&"NewExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isNoop=function(e,t){return!!e&&"Noop"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullLiteral=function(e,t){return!!e&&"NullLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullLiteralTypeAnnotation=function(e,t){return!!e&&"NullLiteralTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullableTypeAnnotation=function(e,t){return!!e&&"NullableTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberLiteral=function(e,t){return(0,n.default)("isNumberLiteral","isNumericLiteral"),!!e&&"NumberLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberLiteralTypeAnnotation=function(e,t){return!!e&&"NumberLiteralTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberTypeAnnotation=function(e,t){return!!e&&"NumberTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumericLiteral=function(e,t){return!!e&&"NumericLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectExpression=function(e,t){return!!e&&"ObjectExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectMember=function(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isObjectMethod=function(e,t){return!!e&&"ObjectMethod"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectPattern=function(e,t){return!!e&&"ObjectPattern"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectProperty=function(e,t){return!!e&&"ObjectProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeAnnotation=function(e,t){return!!e&&"ObjectTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeCallProperty=function(e,t){return!!e&&"ObjectTypeCallProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeIndexer=function(e,t){return!!e&&"ObjectTypeIndexer"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeInternalSlot=function(e,t){return!!e&&"ObjectTypeInternalSlot"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeProperty=function(e,t){return!!e&&"ObjectTypeProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeSpreadProperty=function(e,t){return!!e&&"ObjectTypeSpreadProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isOpaqueType=function(e,t){return!!e&&"OpaqueType"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalCallExpression=function(e,t){return!!e&&"OptionalCallExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalIndexedAccessType=function(e,t){return!!e&&"OptionalIndexedAccessType"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalMemberExpression=function(e,t){return!!e&&"OptionalMemberExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isParenthesizedExpression=function(e,t){return!!e&&"ParenthesizedExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isPattern=function(e,t){if(!e)return!1;switch(e.type){case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":break;case"Placeholder":if("Pattern"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPatternLike=function(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPipelineBareFunction=function(e,t){return!!e&&"PipelineBareFunction"===e.type&&(null==t||(0,r.default)(e,t))},t.isPipelinePrimaryTopicReference=function(e,t){return!!e&&"PipelinePrimaryTopicReference"===e.type&&(null==t||(0,r.default)(e,t))},t.isPipelineTopicExpression=function(e,t){return!!e&&"PipelineTopicExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isPlaceholder=function(e,t){return!!e&&"Placeholder"===e.type&&(null==t||(0,r.default)(e,t))},t.isPrivate=function(e,t){if(!e)return!1;switch(e.type){case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPrivateName=function(e,t){return!!e&&"PrivateName"===e.type&&(null==t||(0,r.default)(e,t))},t.isProgram=function(e,t){return!!e&&"Program"===e.type&&(null==t||(0,r.default)(e,t))},t.isProperty=function(e,t){if(!e)return!1;switch(e.type){case"ObjectProperty":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPureish=function(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"ArrowFunctionExpression":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isQualifiedTypeIdentifier=function(e,t){return!!e&&"QualifiedTypeIdentifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isRecordExpression=function(e,t){return!!e&&"RecordExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isRegExpLiteral=function(e,t){return!!e&&"RegExpLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isRegexLiteral=function(e,t){return(0,n.default)("isRegexLiteral","isRegExpLiteral"),!!e&&"RegexLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isRestElement=function(e,t){return!!e&&"RestElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isRestProperty=function(e,t){return(0,n.default)("isRestProperty","isRestElement"),!!e&&"RestProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isReturnStatement=function(e,t){return!!e&&"ReturnStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isScopable=function(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ClassExpression":case"ClassDeclaration":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isSequenceExpression=function(e,t){return!!e&&"SequenceExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isSpreadElement=function(e,t){return!!e&&"SpreadElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isSpreadProperty=function(e,t){return(0,n.default)("isSpreadProperty","isSpreadElement"),!!e&&"SpreadProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isStandardized=function(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"InterpreterDirective":case"Directive":case"DirectiveLiteral":case"BlockStatement":case"BreakStatement":case"CallExpression":case"CatchClause":case"ConditionalExpression":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"File":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Identifier":case"IfStatement":case"LabeledStatement":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"Program":case"ObjectExpression":case"ObjectMethod":case"ObjectProperty":case"RestElement":case"ReturnStatement":case"SequenceExpression":case"ParenthesizedExpression":case"SwitchCase":case"SwitchStatement":case"ThisExpression":case"ThrowStatement":case"TryStatement":case"UnaryExpression":case"UpdateExpression":case"VariableDeclaration":case"VariableDeclarator":case"WhileStatement":case"WithStatement":case"AssignmentPattern":case"ArrayPattern":case"ArrowFunctionExpression":case"ClassBody":case"ClassExpression":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportSpecifier":case"ForOfStatement":case"ImportDeclaration":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportExpression":case"MetaProperty":case"ClassMethod":case"ObjectPattern":case"SpreadElement":case"Super":case"TaggedTemplateExpression":case"TemplateElement":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"ExportNamespaceSpecifier":case"OptionalMemberExpression":case"OptionalCallExpression":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":case"StaticBlock":break;case"Placeholder":switch(e.expectedNode){case"Identifier":case"StringLiteral":case"BlockStatement":case"ClassBody":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isStatement=function(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ForOfStatement":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":case"TSExportAssignment":case"TSNamespaceExportDeclaration":break;case"Placeholder":switch(e.expectedNode){case"Statement":case"Declaration":case"BlockStatement":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isStaticBlock=function(e,t){return!!e&&"StaticBlock"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringLiteral=function(e,t){return!!e&&"StringLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringLiteralTypeAnnotation=function(e,t){return!!e&&"StringLiteralTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringTypeAnnotation=function(e,t){return!!e&&"StringTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isSuper=function(e,t){return!!e&&"Super"===e.type&&(null==t||(0,r.default)(e,t))},t.isSwitchCase=function(e,t){return!!e&&"SwitchCase"===e.type&&(null==t||(0,r.default)(e,t))},t.isSwitchStatement=function(e,t){return!!e&&"SwitchStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isSymbolTypeAnnotation=function(e,t){return!!e&&"SymbolTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSAnyKeyword=function(e,t){return!!e&&"TSAnyKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSArrayType=function(e,t){return!!e&&"TSArrayType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSAsExpression=function(e,t){return!!e&&"TSAsExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSBaseType=function(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSTemplateLiteralType":case"TSLiteralType":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSBigIntKeyword=function(e,t){return!!e&&"TSBigIntKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSBooleanKeyword=function(e,t){return!!e&&"TSBooleanKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSCallSignatureDeclaration=function(e,t){return!!e&&"TSCallSignatureDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConditionalType=function(e,t){return!!e&&"TSConditionalType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConstructSignatureDeclaration=function(e,t){return!!e&&"TSConstructSignatureDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConstructorType=function(e,t){return!!e&&"TSConstructorType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSDeclareFunction=function(e,t){return!!e&&"TSDeclareFunction"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSDeclareMethod=function(e,t){return!!e&&"TSDeclareMethod"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSEntityName=function(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"TSQualifiedName":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSEnumBody=function(e,t){return!!e&&"TSEnumBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSEnumDeclaration=function(e,t){return!!e&&"TSEnumDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSEnumMember=function(e,t){return!!e&&"TSEnumMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExportAssignment=function(e,t){return!!e&&"TSExportAssignment"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExpressionWithTypeArguments=function(e,t){return!!e&&"TSExpressionWithTypeArguments"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExternalModuleReference=function(e,t){return!!e&&"TSExternalModuleReference"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSFunctionType=function(e,t){return!!e&&"TSFunctionType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSImportEqualsDeclaration=function(e,t){return!!e&&"TSImportEqualsDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSImportType=function(e,t){return!!e&&"TSImportType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIndexSignature=function(e,t){return!!e&&"TSIndexSignature"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIndexedAccessType=function(e,t){return!!e&&"TSIndexedAccessType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInferType=function(e,t){return!!e&&"TSInferType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInstantiationExpression=function(e,t){return!!e&&"TSInstantiationExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInterfaceBody=function(e,t){return!!e&&"TSInterfaceBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInterfaceDeclaration=function(e,t){return!!e&&"TSInterfaceDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIntersectionType=function(e,t){return!!e&&"TSIntersectionType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIntrinsicKeyword=function(e,t){return!!e&&"TSIntrinsicKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSLiteralType=function(e,t){return!!e&&"TSLiteralType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSMappedType=function(e,t){return!!e&&"TSMappedType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSMethodSignature=function(e,t){return!!e&&"TSMethodSignature"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSModuleBlock=function(e,t){return!!e&&"TSModuleBlock"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSModuleDeclaration=function(e,t){return!!e&&"TSModuleDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNamedTupleMember=function(e,t){return!!e&&"TSNamedTupleMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNamespaceExportDeclaration=function(e,t){return!!e&&"TSNamespaceExportDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNeverKeyword=function(e,t){return!!e&&"TSNeverKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNonNullExpression=function(e,t){return!!e&&"TSNonNullExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNullKeyword=function(e,t){return!!e&&"TSNullKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNumberKeyword=function(e,t){return!!e&&"TSNumberKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSObjectKeyword=function(e,t){return!!e&&"TSObjectKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSOptionalType=function(e,t){return!!e&&"TSOptionalType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSParameterProperty=function(e,t){return!!e&&"TSParameterProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSParenthesizedType=function(e,t){return!!e&&"TSParenthesizedType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSPropertySignature=function(e,t){return!!e&&"TSPropertySignature"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSQualifiedName=function(e,t){return!!e&&"TSQualifiedName"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSRestType=function(e,t){return!!e&&"TSRestType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSSatisfiesExpression=function(e,t){return!!e&&"TSSatisfiesExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSStringKeyword=function(e,t){return!!e&&"TSStringKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSSymbolKeyword=function(e,t){return!!e&&"TSSymbolKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTemplateLiteralType=function(e,t){return!!e&&"TSTemplateLiteralType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSThisType=function(e,t){return!!e&&"TSThisType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTupleType=function(e,t){return!!e&&"TSTupleType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSType=function(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSImportType":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSTypeAliasDeclaration=function(e,t){return!!e&&"TSTypeAliasDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeAnnotation=function(e,t){return!!e&&"TSTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeAssertion=function(e,t){return!!e&&"TSTypeAssertion"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeElement=function(e,t){if(!e)return!1;switch(e.type){case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSTypeLiteral=function(e,t){return!!e&&"TSTypeLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeOperator=function(e,t){return!!e&&"TSTypeOperator"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameter=function(e,t){return!!e&&"TSTypeParameter"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameterDeclaration=function(e,t){return!!e&&"TSTypeParameterDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameterInstantiation=function(e,t){return!!e&&"TSTypeParameterInstantiation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypePredicate=function(e,t){return!!e&&"TSTypePredicate"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeQuery=function(e,t){return!!e&&"TSTypeQuery"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeReference=function(e,t){return!!e&&"TSTypeReference"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUndefinedKeyword=function(e,t){return!!e&&"TSUndefinedKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUnionType=function(e,t){return!!e&&"TSUnionType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUnknownKeyword=function(e,t){return!!e&&"TSUnknownKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSVoidKeyword=function(e,t){return!!e&&"TSVoidKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTaggedTemplateExpression=function(e,t){return!!e&&"TaggedTemplateExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTemplateElement=function(e,t){return!!e&&"TemplateElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isTemplateLiteral=function(e,t){return!!e&&"TemplateLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isTerminatorless=function(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":case"YieldExpression":case"AwaitExpression":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isThisExpression=function(e,t){return!!e&&"ThisExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isThisTypeAnnotation=function(e,t){return!!e&&"ThisTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isThrowStatement=function(e,t){return!!e&&"ThrowStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isTopicReference=function(e,t){return!!e&&"TopicReference"===e.type&&(null==t||(0,r.default)(e,t))},t.isTryStatement=function(e,t){return!!e&&"TryStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isTupleExpression=function(e,t){return!!e&&"TupleExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTupleTypeAnnotation=function(e,t){return!!e&&"TupleTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeAlias=function(e,t){return!!e&&"TypeAlias"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeAnnotation=function(e,t){return!!e&&"TypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeCastExpression=function(e,t){return!!e&&"TypeCastExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameter=function(e,t){return!!e&&"TypeParameter"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameterDeclaration=function(e,t){return!!e&&"TypeParameterDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameterInstantiation=function(e,t){return!!e&&"TypeParameterInstantiation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeScript=function(e,t){if(!e)return!1;switch(e.type){case"TSParameterProperty":case"TSDeclareFunction":case"TSDeclareMethod":case"TSQualifiedName":case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSNamedTupleMember":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSInterfaceDeclaration":case"TSInterfaceBody":case"TSTypeAliasDeclaration":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSEnumBody":case"TSEnumDeclaration":case"TSEnumMember":case"TSModuleDeclaration":case"TSModuleBlock":case"TSImportType":case"TSImportEqualsDeclaration":case"TSExternalModuleReference":case"TSNonNullExpression":case"TSExportAssignment":case"TSNamespaceExportDeclaration":case"TSTypeAnnotation":case"TSTypeParameterInstantiation":case"TSTypeParameterDeclaration":case"TSTypeParameter":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTypeofTypeAnnotation=function(e,t){return!!e&&"TypeofTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isUnaryExpression=function(e,t){return!!e&&"UnaryExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isUnaryLike=function(e,t){if(!e)return!1;switch(e.type){case"UnaryExpression":case"SpreadElement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isUnionTypeAnnotation=function(e,t){return!!e&&"UnionTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isUpdateExpression=function(e,t){return!!e&&"UpdateExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isUserWhitespacable=function(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isV8IntrinsicIdentifier=function(e,t){return!!e&&"V8IntrinsicIdentifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariableDeclaration=function(e,t){return!!e&&"VariableDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariableDeclarator=function(e,t){return!!e&&"VariableDeclarator"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariance=function(e,t){return!!e&&"Variance"===e.type&&(null==t||(0,r.default)(e,t))},t.isVoidTypeAnnotation=function(e,t){return!!e&&"VoidTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isWhile=function(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"WhileStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isWhileStatement=function(e,t){return!!e&&"WhileStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isWithStatement=function(e,t){return!!e&&"WithStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isYieldExpression=function(e,t){return!!e&&"YieldExpression"===e.type&&(null==t||(0,r.default)(e,t))};var r=s(9587),n=s(7525);function i(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":break;default:return!1}return null==t||(0,r.default)(e,t)}},2606:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){return!!t&&((0,n.default)(t.type,e)?void 0===s||(0,r.default)(t,s):!s&&"Placeholder"===t.type&&e in a.FLIPPED_ALIAS_KEYS&&(0,i.default)(t.expectedNode,e))};var r=s(9587),n=s(3459),i=s(464),a=s(3104)},1117:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){if(s&&"Identifier"===e.type&&"ObjectProperty"===t.type&&"ObjectExpression"===s.type)return!1;const n=r.default.keys[t.type];if(n)for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.isFunctionDeclaration)(e)||(0,r.isClassDeclaration)(e)||(0,n.default)(e)};var r=s(4019),n=s(4757)},9555:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!(0,r.default)(e.type,"Immutable")||!!(0,n.isIdentifier)(e)&&"undefined"===e.name};var r=s(3459),n=s(4019)},4757:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.isVariableDeclaration)(e)&&("var"!==e.kind||e[n.BLOCK_SCOPED_SYMBOL])};var r=s(4019),n=s(3218)},3261:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!(!e||!r.VISITOR_KEYS[e.type])};var r=s(3104)},4530:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,s){if("object"!=typeof t||"object"!=typeof s||null==t||null==s)return t===s;if(t.type!==s.type)return!1;const n=Object.keys(r.NODE_FIELDS[t.type]||t.type),i=r.VISITOR_KEYS[t.type];for(const r of n){const n=t[r],a=s[r];if(typeof n!=typeof a)return!1;if(null!=n||null!=a){if(null==n||null==a)return!1;if(Array.isArray(n)){if(!Array.isArray(a))return!1;if(n.length!==a.length)return!1;for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e===t)return!0;const s=r.PLACEHOLDERS_ALIAS[e];if(s)for(const e of s)if(t===e)return!0;return!1};var r=s(3104)},4500:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return t.property===e?!!t.computed:t.object===e;case"JSXMemberExpression":return t.object===e;case"VariableDeclarator":return t.init===e;case"ArrowFunctionExpression":return t.body===e;case"PrivateName":case"LabeledStatement":case"CatchClause":case"RestElement":case"BreakStatement":case"ContinueStatement":case"FunctionDeclaration":case"FunctionExpression":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportAttribute":case"JSXAttribute":case"ObjectPattern":case"ArrayPattern":case"MetaProperty":return!1;case"ClassMethod":case"ClassPrivateMethod":case"ObjectMethod":return t.key===e&&!!t.computed;case"ObjectProperty":return t.key===e?!!t.computed:!s||"ObjectPattern"!==s.type;case"ClassProperty":case"ClassAccessorProperty":case"TSPropertySignature":return t.key!==e||!!t.computed;case"ClassPrivateProperty":case"ObjectTypeProperty":return t.key!==e;case"ClassDeclaration":case"ClassExpression":return t.superClass===e;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ExportSpecifier":return(null==s||!s.source)&&t.local===e;case"TSEnumMember":return t.id!==e}return!0}},8596:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(!(0,r.isBlockStatement)(e)||!(0,r.isFunction)(t)&&!(0,r.isCatchClause)(t))&&(!(!(0,r.isPattern)(e)||!(0,r.isFunction)(t)&&!(0,r.isCatchClause)(t))||(0,r.isScopable)(e))};var r=s(4019)},3856:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.isImportDefaultSpecifier)(e)||(0,r.isIdentifier)(e.imported||e.exported,{name:"default"})};var r=s(4019)},3459:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e===t)return!0;if(null==e)return!1;if(r.ALIAS_KEYS[t])return!1;const s=r.FLIPPED_ALIAS_KEYS[t];if(s){if(s[0]===e)return!0;for(const t of s)if(e===t)return!0}return!1};var r=s(3104)},4814:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e)&&!n.has(e)};var r=s(7095);const n=new Set(["abstract","boolean","byte","char","double","enum","final","float","goto","implements","int","interface","long","native","package","private","protected","public","short","static","synchronized","throws","transient","volatile"])},7095:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=!0){return"string"==typeof e&&((!t||!(0,r.isKeyword)(e)&&!(0,r.isStrictReservedWord)(e,!0))&&(0,r.isIdentifierName)(e))};var r=s(736)},9760:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.isVariableDeclaration)(e,{kind:"var"})&&!e[n.BLOCK_SCOPED_SYMBOL]};var r=s(4019),n=s(3218)},775:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){if(!(0,r.isMemberExpression)(e))return!1;const n=Array.isArray(t)?t:t.split("."),i=[];let a;for(a=e;(0,r.isMemberExpression)(a);a=a.object)i.push(a.property);if(i.push(a),i.lengthn.length)return!1;for(let e=0,t=i.length-1;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!e&&/^[a-z]/.test(e)}},3367:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r=(0,s(7387).default)("React.Component");t.default=r},3589:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){if(!e)return;const a=r.NODE_FIELDS[e.type];if(!a)return;n(e,t,s,a[t]),i(e,t,s)},t.validateChild=i,t.validateField=n,t.validateInternal=function(e,t,s,n,i){if(null!=e&&e.validate&&(!e.optional||null!=n)&&(e.validate(t,s,n),i)){var a;const e=n.type;if(null==e)return;null==(a=r.NODE_PARENT_VALIDATIONS[e])||a.call(r.NODE_PARENT_VALIDATIONS,t,s,n)}};var r=s(3104);function n(e,t,s,r){null!=r&&r.validate&&(r.optional&&null==s||r.validate(e,t,s))}function i(e,t,s){var n;const i=null==s?void 0:s.type;null!=i&&(null==(n=r.NODE_PARENT_VALIDATIONS[i])||n.call(r.NODE_PARENT_VALIDATIONS,e,t,s))}},964:e=>{"use strict";e.exports=JSON.parse(\'{"builtin":{"Array":false,"ArrayBuffer":false,"Atomics":false,"BigInt":false,"BigInt64Array":false,"BigUint64Array":false,"Boolean":false,"constructor":false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,"globalThis":false,"hasOwnProperty":false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,"isPrototypeOf":false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,"propertyIsEnumerable":false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,"SharedArrayBuffer":false,"String":false,"Symbol":false,"SyntaxError":false,"toLocaleString":false,"toString":false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,"valueOf":false,"WeakMap":false,"WeakSet":false},"es5":{"Array":false,"Boolean":false,"constructor":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Function":false,"hasOwnProperty":false,"Infinity":false,"isFinite":false,"isNaN":false,"isPrototypeOf":false,"JSON":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"propertyIsEnumerable":false,"RangeError":false,"ReferenceError":false,"RegExp":false,"String":false,"SyntaxError":false,"toLocaleString":false,"toString":false,"TypeError":false,"undefined":false,"unescape":false,"URIError":false,"valueOf":false},"es2015":{"Array":false,"ArrayBuffer":false,"Boolean":false,"constructor":false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,"hasOwnProperty":false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,"isPrototypeOf":false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,"propertyIsEnumerable":false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,"String":false,"Symbol":false,"SyntaxError":false,"toLocaleString":false,"toString":false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,"valueOf":false,"WeakMap":false,"WeakSet":false},"es2017":{"Array":false,"ArrayBuffer":false,"Atomics":false,"Boolean":false,"constructor":false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,"hasOwnProperty":false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,"isPrototypeOf":false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,"propertyIsEnumerable":false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,"SharedArrayBuffer":false,"String":false,"Symbol":false,"SyntaxError":false,"toLocaleString":false,"toString":false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,"valueOf":false,"WeakMap":false,"WeakSet":false},"browser":{"AbortController":false,"AbortSignal":false,"addEventListener":false,"alert":false,"AnalyserNode":false,"Animation":false,"AnimationEffectReadOnly":false,"AnimationEffectTiming":false,"AnimationEffectTimingReadOnly":false,"AnimationEvent":false,"AnimationPlaybackEvent":false,"AnimationTimeline":false,"applicationCache":false,"ApplicationCache":false,"ApplicationCacheErrorEvent":false,"atob":false,"Attr":false,"Audio":false,"AudioBuffer":false,"AudioBufferSourceNode":false,"AudioContext":false,"AudioDestinationNode":false,"AudioListener":false,"AudioNode":false,"AudioParam":false,"AudioProcessingEvent":false,"AudioScheduledSourceNode":false,"AudioWorkletGlobalScope ":false,"AudioWorkletNode":false,"AudioWorkletProcessor":false,"BarProp":false,"BaseAudioContext":false,"BatteryManager":false,"BeforeUnloadEvent":false,"BiquadFilterNode":false,"Blob":false,"BlobEvent":false,"blur":false,"BroadcastChannel":false,"btoa":false,"BudgetService":false,"ByteLengthQueuingStrategy":false,"Cache":false,"caches":false,"CacheStorage":false,"cancelAnimationFrame":false,"cancelIdleCallback":false,"CanvasCaptureMediaStreamTrack":false,"CanvasGradient":false,"CanvasPattern":false,"CanvasRenderingContext2D":false,"ChannelMergerNode":false,"ChannelSplitterNode":false,"CharacterData":false,"clearInterval":false,"clearTimeout":false,"clientInformation":false,"ClipboardEvent":false,"close":false,"closed":false,"CloseEvent":false,"Comment":false,"CompositionEvent":false,"confirm":false,"console":false,"ConstantSourceNode":false,"ConvolverNode":false,"CountQueuingStrategy":false,"createImageBitmap":false,"Credential":false,"CredentialsContainer":false,"crypto":false,"Crypto":false,"CryptoKey":false,"CSS":false,"CSSConditionRule":false,"CSSFontFaceRule":false,"CSSGroupingRule":false,"CSSImportRule":false,"CSSKeyframeRule":false,"CSSKeyframesRule":false,"CSSMediaRule":false,"CSSNamespaceRule":false,"CSSPageRule":false,"CSSRule":false,"CSSRuleList":false,"CSSStyleDeclaration":false,"CSSStyleRule":false,"CSSStyleSheet":false,"CSSSupportsRule":false,"CustomElementRegistry":false,"customElements":false,"CustomEvent":false,"DataTransfer":false,"DataTransferItem":false,"DataTransferItemList":false,"defaultstatus":false,"defaultStatus":false,"DelayNode":false,"DeviceMotionEvent":false,"DeviceOrientationEvent":false,"devicePixelRatio":false,"dispatchEvent":false,"document":false,"Document":false,"DocumentFragment":false,"DocumentType":false,"DOMError":false,"DOMException":false,"DOMImplementation":false,"DOMMatrix":false,"DOMMatrixReadOnly":false,"DOMParser":false,"DOMPoint":false,"DOMPointReadOnly":false,"DOMQuad":false,"DOMRect":false,"DOMRectReadOnly":false,"DOMStringList":false,"DOMStringMap":false,"DOMTokenList":false,"DragEvent":false,"DynamicsCompressorNode":false,"Element":false,"ErrorEvent":false,"event":false,"Event":false,"EventSource":false,"EventTarget":false,"external":false,"fetch":false,"File":false,"FileList":false,"FileReader":false,"find":false,"focus":false,"FocusEvent":false,"FontFace":false,"FontFaceSetLoadEvent":false,"FormData":false,"frameElement":false,"frames":false,"GainNode":false,"Gamepad":false,"GamepadButton":false,"GamepadEvent":false,"getComputedStyle":false,"getSelection":false,"HashChangeEvent":false,"Headers":false,"history":false,"History":false,"HTMLAllCollection":false,"HTMLAnchorElement":false,"HTMLAreaElement":false,"HTMLAudioElement":false,"HTMLBaseElement":false,"HTMLBodyElement":false,"HTMLBRElement":false,"HTMLButtonElement":false,"HTMLCanvasElement":false,"HTMLCollection":false,"HTMLContentElement":false,"HTMLDataElement":false,"HTMLDataListElement":false,"HTMLDetailsElement":false,"HTMLDialogElement":false,"HTMLDirectoryElement":false,"HTMLDivElement":false,"HTMLDListElement":false,"HTMLDocument":false,"HTMLElement":false,"HTMLEmbedElement":false,"HTMLFieldSetElement":false,"HTMLFontElement":false,"HTMLFormControlsCollection":false,"HTMLFormElement":false,"HTMLFrameElement":false,"HTMLFrameSetElement":false,"HTMLHeadElement":false,"HTMLHeadingElement":false,"HTMLHRElement":false,"HTMLHtmlElement":false,"HTMLIFrameElement":false,"HTMLImageElement":false,"HTMLInputElement":false,"HTMLLabelElement":false,"HTMLLegendElement":false,"HTMLLIElement":false,"HTMLLinkElement":false,"HTMLMapElement":false,"HTMLMarqueeElement":false,"HTMLMediaElement":false,"HTMLMenuElement":false,"HTMLMetaElement":false,"HTMLMeterElement":false,"HTMLModElement":false,"HTMLObjectElement":false,"HTMLOListElement":false,"HTMLOptGroupElement":false,"HTMLOptionElement":false,"HTMLOptionsCollection":false,"HTMLOutputElement":false,"HTMLParagraphElement":false,"HTMLParamElement":false,"HTMLPictureElement":false,"HTMLPreElement":false,"HTMLProgressElement":false,"HTMLQuoteElement":false,"HTMLScriptElement":false,"HTMLSelectElement":false,"HTMLShadowElement":false,"HTMLSlotElement":false,"HTMLSourceElement":false,"HTMLSpanElement":false,"HTMLStyleElement":false,"HTMLTableCaptionElement":false,"HTMLTableCellElement":false,"HTMLTableColElement":false,"HTMLTableElement":false,"HTMLTableRowElement":false,"HTMLTableSectionElement":false,"HTMLTemplateElement":false,"HTMLTextAreaElement":false,"HTMLTimeElement":false,"HTMLTitleElement":false,"HTMLTrackElement":false,"HTMLUListElement":false,"HTMLUnknownElement":false,"HTMLVideoElement":false,"IDBCursor":false,"IDBCursorWithValue":false,"IDBDatabase":false,"IDBFactory":false,"IDBIndex":false,"IDBKeyRange":false,"IDBObjectStore":false,"IDBOpenDBRequest":false,"IDBRequest":false,"IDBTransaction":false,"IDBVersionChangeEvent":false,"IdleDeadline":false,"IIRFilterNode":false,"Image":false,"ImageBitmap":false,"ImageBitmapRenderingContext":false,"ImageCapture":false,"ImageData":false,"indexedDB":false,"innerHeight":false,"innerWidth":false,"InputEvent":false,"IntersectionObserver":false,"IntersectionObserverEntry":false,"Intl":false,"isSecureContext":false,"KeyboardEvent":false,"KeyframeEffect":false,"KeyframeEffectReadOnly":false,"length":false,"localStorage":false,"location":true,"Location":false,"locationbar":false,"matchMedia":false,"MediaDeviceInfo":false,"MediaDevices":false,"MediaElementAudioSourceNode":false,"MediaEncryptedEvent":false,"MediaError":false,"MediaKeyMessageEvent":false,"MediaKeySession":false,"MediaKeyStatusMap":false,"MediaKeySystemAccess":false,"MediaList":false,"MediaQueryList":false,"MediaQueryListEvent":false,"MediaRecorder":false,"MediaSettingsRange":false,"MediaSource":false,"MediaStream":false,"MediaStreamAudioDestinationNode":false,"MediaStreamAudioSourceNode":false,"MediaStreamEvent":false,"MediaStreamTrack":false,"MediaStreamTrackEvent":false,"menubar":false,"MessageChannel":false,"MessageEvent":false,"MessagePort":false,"MIDIAccess":false,"MIDIConnectionEvent":false,"MIDIInput":false,"MIDIInputMap":false,"MIDIMessageEvent":false,"MIDIOutput":false,"MIDIOutputMap":false,"MIDIPort":false,"MimeType":false,"MimeTypeArray":false,"MouseEvent":false,"moveBy":false,"moveTo":false,"MutationEvent":false,"MutationObserver":false,"MutationRecord":false,"name":false,"NamedNodeMap":false,"NavigationPreloadManager":false,"navigator":false,"Navigator":false,"NetworkInformation":false,"Node":false,"NodeFilter":false,"NodeIterator":false,"NodeList":false,"Notification":false,"OfflineAudioCompletionEvent":false,"OfflineAudioContext":false,"offscreenBuffering":false,"OffscreenCanvas":true,"onabort":true,"onafterprint":true,"onanimationend":true,"onanimationiteration":true,"onanimationstart":true,"onappinstalled":true,"onauxclick":true,"onbeforeinstallprompt":true,"onbeforeprint":true,"onbeforeunload":true,"onblur":true,"oncancel":true,"oncanplay":true,"oncanplaythrough":true,"onchange":true,"onclick":true,"onclose":true,"oncontextmenu":true,"oncuechange":true,"ondblclick":true,"ondevicemotion":true,"ondeviceorientation":true,"ondeviceorientationabsolute":true,"ondrag":true,"ondragend":true,"ondragenter":true,"ondragleave":true,"ondragover":true,"ondragstart":true,"ondrop":true,"ondurationchange":true,"onemptied":true,"onended":true,"onerror":true,"onfocus":true,"ongotpointercapture":true,"onhashchange":true,"oninput":true,"oninvalid":true,"onkeydown":true,"onkeypress":true,"onkeyup":true,"onlanguagechange":true,"onload":true,"onloadeddata":true,"onloadedmetadata":true,"onloadstart":true,"onlostpointercapture":true,"onmessage":true,"onmessageerror":true,"onmousedown":true,"onmouseenter":true,"onmouseleave":true,"onmousemove":true,"onmouseout":true,"onmouseover":true,"onmouseup":true,"onmousewheel":true,"onoffline":true,"ononline":true,"onpagehide":true,"onpageshow":true,"onpause":true,"onplay":true,"onplaying":true,"onpointercancel":true,"onpointerdown":true,"onpointerenter":true,"onpointerleave":true,"onpointermove":true,"onpointerout":true,"onpointerover":true,"onpointerup":true,"onpopstate":true,"onprogress":true,"onratechange":true,"onrejectionhandled":true,"onreset":true,"onresize":true,"onscroll":true,"onsearch":true,"onseeked":true,"onseeking":true,"onselect":true,"onstalled":true,"onstorage":true,"onsubmit":true,"onsuspend":true,"ontimeupdate":true,"ontoggle":true,"ontransitionend":true,"onunhandledrejection":true,"onunload":true,"onvolumechange":true,"onwaiting":true,"onwheel":true,"open":false,"openDatabase":false,"opener":false,"Option":false,"origin":false,"OscillatorNode":false,"outerHeight":false,"outerWidth":false,"PageTransitionEvent":false,"pageXOffset":false,"pageYOffset":false,"PannerNode":false,"parent":false,"Path2D":false,"PaymentAddress":false,"PaymentRequest":false,"PaymentRequestUpdateEvent":false,"PaymentResponse":false,"performance":false,"Performance":false,"PerformanceEntry":false,"PerformanceLongTaskTiming":false,"PerformanceMark":false,"PerformanceMeasure":false,"PerformanceNavigation":false,"PerformanceNavigationTiming":false,"PerformanceObserver":false,"PerformanceObserverEntryList":false,"PerformancePaintTiming":false,"PerformanceResourceTiming":false,"PerformanceTiming":false,"PeriodicWave":false,"Permissions":false,"PermissionStatus":false,"personalbar":false,"PhotoCapabilities":false,"Plugin":false,"PluginArray":false,"PointerEvent":false,"PopStateEvent":false,"postMessage":false,"Presentation":false,"PresentationAvailability":false,"PresentationConnection":false,"PresentationConnectionAvailableEvent":false,"PresentationConnectionCloseEvent":false,"PresentationConnectionList":false,"PresentationReceiver":false,"PresentationRequest":false,"print":false,"ProcessingInstruction":false,"ProgressEvent":false,"PromiseRejectionEvent":false,"prompt":false,"PushManager":false,"PushSubscription":false,"PushSubscriptionOptions":false,"queueMicrotask":false,"RadioNodeList":false,"Range":false,"ReadableStream":false,"registerProcessor":false,"RemotePlayback":false,"removeEventListener":false,"Request":false,"requestAnimationFrame":false,"requestIdleCallback":false,"resizeBy":false,"ResizeObserver":false,"ResizeObserverEntry":false,"resizeTo":false,"Response":false,"RTCCertificate":false,"RTCDataChannel":false,"RTCDataChannelEvent":false,"RTCDtlsTransport":false,"RTCIceCandidate":false,"RTCIceGatherer":false,"RTCIceTransport":false,"RTCPeerConnection":false,"RTCPeerConnectionIceEvent":false,"RTCRtpContributingSource":false,"RTCRtpReceiver":false,"RTCRtpSender":false,"RTCSctpTransport":false,"RTCSessionDescription":false,"RTCStatsReport":false,"RTCTrackEvent":false,"screen":false,"Screen":false,"screenLeft":false,"ScreenOrientation":false,"screenTop":false,"screenX":false,"screenY":false,"ScriptProcessorNode":false,"scroll":false,"scrollbars":false,"scrollBy":false,"scrollTo":false,"scrollX":false,"scrollY":false,"SecurityPolicyViolationEvent":false,"Selection":false,"self":false,"ServiceWorker":false,"ServiceWorkerContainer":false,"ServiceWorkerRegistration":false,"sessionStorage":false,"setInterval":false,"setTimeout":false,"ShadowRoot":false,"SharedWorker":false,"SourceBuffer":false,"SourceBufferList":false,"speechSynthesis":false,"SpeechSynthesisEvent":false,"SpeechSynthesisUtterance":false,"StaticRange":false,"status":false,"statusbar":false,"StereoPannerNode":false,"stop":false,"Storage":false,"StorageEvent":false,"StorageManager":false,"styleMedia":false,"StyleSheet":false,"StyleSheetList":false,"SubtleCrypto":false,"SVGAElement":false,"SVGAngle":false,"SVGAnimatedAngle":false,"SVGAnimatedBoolean":false,"SVGAnimatedEnumeration":false,"SVGAnimatedInteger":false,"SVGAnimatedLength":false,"SVGAnimatedLengthList":false,"SVGAnimatedNumber":false,"SVGAnimatedNumberList":false,"SVGAnimatedPreserveAspectRatio":false,"SVGAnimatedRect":false,"SVGAnimatedString":false,"SVGAnimatedTransformList":false,"SVGAnimateElement":false,"SVGAnimateMotionElement":false,"SVGAnimateTransformElement":false,"SVGAnimationElement":false,"SVGCircleElement":false,"SVGClipPathElement":false,"SVGComponentTransferFunctionElement":false,"SVGDefsElement":false,"SVGDescElement":false,"SVGDiscardElement":false,"SVGElement":false,"SVGEllipseElement":false,"SVGFEBlendElement":false,"SVGFEColorMatrixElement":false,"SVGFEComponentTransferElement":false,"SVGFECompositeElement":false,"SVGFEConvolveMatrixElement":false,"SVGFEDiffuseLightingElement":false,"SVGFEDisplacementMapElement":false,"SVGFEDistantLightElement":false,"SVGFEDropShadowElement":false,"SVGFEFloodElement":false,"SVGFEFuncAElement":false,"SVGFEFuncBElement":false,"SVGFEFuncGElement":false,"SVGFEFuncRElement":false,"SVGFEGaussianBlurElement":false,"SVGFEImageElement":false,"SVGFEMergeElement":false,"SVGFEMergeNodeElement":false,"SVGFEMorphologyElement":false,"SVGFEOffsetElement":false,"SVGFEPointLightElement":false,"SVGFESpecularLightingElement":false,"SVGFESpotLightElement":false,"SVGFETileElement":false,"SVGFETurbulenceElement":false,"SVGFilterElement":false,"SVGForeignObjectElement":false,"SVGGElement":false,"SVGGeometryElement":false,"SVGGradientElement":false,"SVGGraphicsElement":false,"SVGImageElement":false,"SVGLength":false,"SVGLengthList":false,"SVGLinearGradientElement":false,"SVGLineElement":false,"SVGMarkerElement":false,"SVGMaskElement":false,"SVGMatrix":false,"SVGMetadataElement":false,"SVGMPathElement":false,"SVGNumber":false,"SVGNumberList":false,"SVGPathElement":false,"SVGPatternElement":false,"SVGPoint":false,"SVGPointList":false,"SVGPolygonElement":false,"SVGPolylineElement":false,"SVGPreserveAspectRatio":false,"SVGRadialGradientElement":false,"SVGRect":false,"SVGRectElement":false,"SVGScriptElement":false,"SVGSetElement":false,"SVGStopElement":false,"SVGStringList":false,"SVGStyleElement":false,"SVGSVGElement":false,"SVGSwitchElement":false,"SVGSymbolElement":false,"SVGTextContentElement":false,"SVGTextElement":false,"SVGTextPathElement":false,"SVGTextPositioningElement":false,"SVGTitleElement":false,"SVGTransform":false,"SVGTransformList":false,"SVGTSpanElement":false,"SVGUnitTypes":false,"SVGUseElement":false,"SVGViewElement":false,"TaskAttributionTiming":false,"Text":false,"TextDecoder":false,"TextEncoder":false,"TextEvent":false,"TextMetrics":false,"TextTrack":false,"TextTrackCue":false,"TextTrackCueList":false,"TextTrackList":false,"TimeRanges":false,"toolbar":false,"top":false,"Touch":false,"TouchEvent":false,"TouchList":false,"TrackEvent":false,"TransitionEvent":false,"TreeWalker":false,"UIEvent":false,"URL":false,"URLSearchParams":false,"ValidityState":false,"visualViewport":false,"VisualViewport":false,"VTTCue":false,"WaveShaperNode":false,"WebAssembly":false,"WebGL2RenderingContext":false,"WebGLActiveInfo":false,"WebGLBuffer":false,"WebGLContextEvent":false,"WebGLFramebuffer":false,"WebGLProgram":false,"WebGLQuery":false,"WebGLRenderbuffer":false,"WebGLRenderingContext":false,"WebGLSampler":false,"WebGLShader":false,"WebGLShaderPrecisionFormat":false,"WebGLSync":false,"WebGLTexture":false,"WebGLTransformFeedback":false,"WebGLUniformLocation":false,"WebGLVertexArrayObject":false,"WebSocket":false,"WheelEvent":false,"window":false,"Window":false,"Worker":false,"WritableStream":false,"XMLDocument":false,"XMLHttpRequest":false,"XMLHttpRequestEventTarget":false,"XMLHttpRequestUpload":false,"XMLSerializer":false,"XPathEvaluator":false,"XPathExpression":false,"XPathResult":false,"XSLTProcessor":false},"worker":{"addEventListener":false,"applicationCache":false,"atob":false,"Blob":false,"BroadcastChannel":false,"btoa":false,"Cache":false,"caches":false,"clearInterval":false,"clearTimeout":false,"close":true,"console":false,"fetch":false,"FileReaderSync":false,"FormData":false,"Headers":false,"IDBCursor":false,"IDBCursorWithValue":false,"IDBDatabase":false,"IDBFactory":false,"IDBIndex":false,"IDBKeyRange":false,"IDBObjectStore":false,"IDBOpenDBRequest":false,"IDBRequest":false,"IDBTransaction":false,"IDBVersionChangeEvent":false,"ImageData":false,"importScripts":true,"indexedDB":false,"location":false,"MessageChannel":false,"MessagePort":false,"name":false,"navigator":false,"Notification":false,"onclose":true,"onconnect":true,"onerror":true,"onlanguagechange":true,"onmessage":true,"onoffline":true,"ononline":true,"onrejectionhandled":true,"onunhandledrejection":true,"performance":false,"Performance":false,"PerformanceEntry":false,"PerformanceMark":false,"PerformanceMeasure":false,"PerformanceNavigation":false,"PerformanceResourceTiming":false,"PerformanceTiming":false,"postMessage":true,"Promise":false,"queueMicrotask":false,"removeEventListener":false,"Request":false,"Response":false,"self":true,"ServiceWorkerRegistration":false,"setInterval":false,"setTimeout":false,"TextDecoder":false,"TextEncoder":false,"URL":false,"URLSearchParams":false,"WebSocket":false,"Worker":false,"WorkerGlobalScope":false,"XMLHttpRequest":false},"node":{"__dirname":false,"__filename":false,"Buffer":false,"clearImmediate":false,"clearInterval":false,"clearTimeout":false,"console":false,"exports":true,"global":false,"Intl":false,"module":false,"process":false,"queueMicrotask":false,"require":false,"setImmediate":false,"setInterval":false,"setTimeout":false,"TextDecoder":false,"TextEncoder":false,"URL":false,"URLSearchParams":false},"commonjs":{"exports":true,"global":false,"module":false,"require":false},"amd":{"define":false,"require":false},"mocha":{"after":false,"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"it":false,"mocha":false,"run":false,"setup":false,"specify":false,"suite":false,"suiteSetup":false,"suiteTeardown":false,"teardown":false,"test":false,"xcontext":false,"xdescribe":false,"xit":false,"xspecify":false},"jasmine":{"afterAll":false,"afterEach":false,"beforeAll":false,"beforeEach":false,"describe":false,"expect":false,"fail":false,"fdescribe":false,"fit":false,"it":false,"jasmine":false,"pending":false,"runs":false,"spyOn":false,"spyOnProperty":false,"waits":false,"waitsFor":false,"xdescribe":false,"xit":false},"jest":{"afterAll":false,"afterEach":false,"beforeAll":false,"beforeEach":false,"describe":false,"expect":false,"fdescribe":false,"fit":false,"it":false,"jest":false,"pit":false,"require":false,"test":false,"xdescribe":false,"xit":false,"xtest":false},"qunit":{"asyncTest":false,"deepEqual":false,"equal":false,"expect":false,"module":false,"notDeepEqual":false,"notEqual":false,"notOk":false,"notPropEqual":false,"notStrictEqual":false,"ok":false,"propEqual":false,"QUnit":false,"raises":false,"start":false,"stop":false,"strictEqual":false,"test":false,"throws":false},"phantomjs":{"console":true,"exports":true,"phantom":true,"require":true,"WebPage":true},"couch":{"emit":false,"exports":false,"getRow":false,"log":false,"module":false,"provides":false,"require":false,"respond":false,"send":false,"start":false,"sum":false},"rhino":{"defineClass":false,"deserialize":false,"gc":false,"help":false,"importClass":false,"importPackage":false,"java":false,"load":false,"loadClass":false,"Packages":false,"print":false,"quit":false,"readFile":false,"readUrl":false,"runCommand":false,"seal":false,"serialize":false,"spawn":false,"sync":false,"toint32":false,"version":false},"nashorn":{"__DIR__":false,"__FILE__":false,"__LINE__":false,"com":false,"edu":false,"exit":false,"java":false,"Java":false,"javafx":false,"JavaImporter":false,"javax":false,"JSAdapter":false,"load":false,"loadWithNewGlobal":false,"org":false,"Packages":false,"print":false,"quit":false},"wsh":{"ActiveXObject":true,"Enumerator":true,"GetObject":true,"ScriptEngine":true,"ScriptEngineBuildVersion":true,"ScriptEngineMajorVersion":true,"ScriptEngineMinorVersion":true,"VBArray":true,"WScript":true,"WSH":true,"XDomainRequest":true},"jquery":{"$":false,"jQuery":false},"yui":{"YAHOO":false,"YAHOO_config":false,"YUI":false,"YUI_config":false},"shelljs":{"cat":false,"cd":false,"chmod":false,"config":false,"cp":false,"dirs":false,"echo":false,"env":false,"error":false,"exec":false,"exit":false,"find":false,"grep":false,"ln":false,"ls":false,"mkdir":false,"mv":false,"popd":false,"pushd":false,"pwd":false,"rm":false,"sed":false,"set":false,"target":false,"tempdir":false,"test":false,"touch":false,"which":false},"prototypejs":{"$":false,"$$":false,"$A":false,"$break":false,"$continue":false,"$F":false,"$H":false,"$R":false,"$w":false,"Abstract":false,"Ajax":false,"Autocompleter":false,"Builder":false,"Class":false,"Control":false,"Draggable":false,"Draggables":false,"Droppables":false,"Effect":false,"Element":false,"Enumerable":false,"Event":false,"Field":false,"Form":false,"Hash":false,"Insertion":false,"ObjectRange":false,"PeriodicalExecuter":false,"Position":false,"Prototype":false,"Scriptaculous":false,"Selector":false,"Sortable":false,"SortableObserver":false,"Sound":false,"Template":false,"Toggle":false,"Try":false},"meteor":{"_":false,"$":false,"Accounts":false,"AccountsClient":false,"AccountsCommon":false,"AccountsServer":false,"App":false,"Assets":false,"Blaze":false,"check":false,"Cordova":false,"DDP":false,"DDPRateLimiter":false,"DDPServer":false,"Deps":false,"EJSON":false,"Email":false,"HTTP":false,"Log":false,"Match":false,"Meteor":false,"Mongo":false,"MongoInternals":false,"Npm":false,"Package":false,"Plugin":false,"process":false,"Random":false,"ReactiveDict":false,"ReactiveVar":false,"Router":false,"ServiceConfiguration":false,"Session":false,"share":false,"Spacebars":false,"Template":false,"Tinytest":false,"Tracker":false,"UI":false,"Utils":false,"WebApp":false,"WebAppInternals":false},"mongo":{"_isWindows":false,"_rand":false,"BulkWriteResult":false,"cat":false,"cd":false,"connect":false,"db":false,"getHostName":false,"getMemInfo":false,"hostname":false,"ISODate":false,"listFiles":false,"load":false,"ls":false,"md5sumFile":false,"mkdir":false,"Mongo":false,"NumberInt":false,"NumberLong":false,"ObjectId":false,"PlanCache":false,"print":false,"printjson":false,"pwd":false,"quit":false,"removeFile":false,"rs":false,"sh":false,"UUID":false,"version":false,"WriteResult":false},"applescript":{"$":false,"Application":false,"Automation":false,"console":false,"delay":false,"Library":false,"ObjC":false,"ObjectSpecifier":false,"Path":false,"Progress":false,"Ref":false},"serviceworker":{"addEventListener":false,"applicationCache":false,"atob":false,"Blob":false,"BroadcastChannel":false,"btoa":false,"Cache":false,"caches":false,"CacheStorage":false,"clearInterval":false,"clearTimeout":false,"Client":false,"clients":false,"Clients":false,"close":true,"console":false,"ExtendableEvent":false,"ExtendableMessageEvent":false,"fetch":false,"FetchEvent":false,"FileReaderSync":false,"FormData":false,"Headers":false,"IDBCursor":false,"IDBCursorWithValue":false,"IDBDatabase":false,"IDBFactory":false,"IDBIndex":false,"IDBKeyRange":false,"IDBObjectStore":false,"IDBOpenDBRequest":false,"IDBRequest":false,"IDBTransaction":false,"IDBVersionChangeEvent":false,"ImageData":false,"importScripts":false,"indexedDB":false,"location":false,"MessageChannel":false,"MessagePort":false,"name":false,"navigator":false,"Notification":false,"onclose":true,"onconnect":true,"onerror":true,"onfetch":true,"oninstall":true,"onlanguagechange":true,"onmessage":true,"onmessageerror":true,"onnotificationclick":true,"onnotificationclose":true,"onoffline":true,"ononline":true,"onpush":true,"onpushsubscriptionchange":true,"onrejectionhandled":true,"onsync":true,"onunhandledrejection":true,"performance":false,"Performance":false,"PerformanceEntry":false,"PerformanceMark":false,"PerformanceMeasure":false,"PerformanceNavigation":false,"PerformanceResourceTiming":false,"PerformanceTiming":false,"postMessage":true,"Promise":false,"queueMicrotask":false,"registration":false,"removeEventListener":false,"Request":false,"Response":false,"self":false,"ServiceWorker":false,"ServiceWorkerContainer":false,"ServiceWorkerGlobalScope":false,"ServiceWorkerMessageEvent":false,"ServiceWorkerRegistration":false,"setInterval":false,"setTimeout":false,"skipWaiting":false,"TextDecoder":false,"TextEncoder":false,"URL":false,"URLSearchParams":false,"WebSocket":false,"WindowClient":false,"Worker":false,"WorkerGlobalScope":false,"XMLHttpRequest":false},"atomtest":{"advanceClock":false,"fakeClearInterval":false,"fakeClearTimeout":false,"fakeSetInterval":false,"fakeSetTimeout":false,"resetTimeouts":false,"waitsForPromise":false},"embertest":{"andThen":false,"click":false,"currentPath":false,"currentRouteName":false,"currentURL":false,"fillIn":false,"find":false,"findAll":false,"findWithAssert":false,"keyEvent":false,"pauseTest":false,"resumeTest":false,"triggerEvent":false,"visit":false,"wait":false},"protractor":{"$":false,"$$":false,"browser":false,"by":false,"By":false,"DartObject":false,"element":false,"protractor":false},"shared-node-browser":{"clearInterval":false,"clearTimeout":false,"console":false,"setInterval":false,"setTimeout":false,"URL":false,"URLSearchParams":false},"webextensions":{"browser":false,"chrome":false,"opr":false},"greasemonkey":{"cloneInto":false,"createObjectIn":false,"exportFunction":false,"GM":false,"GM_addStyle":false,"GM_deleteValue":false,"GM_getResourceText":false,"GM_getResourceURL":false,"GM_getValue":false,"GM_info":false,"GM_listValues":false,"GM_log":false,"GM_openInTab":false,"GM_registerMenuCommand":false,"GM_setClipboard":false,"GM_setValue":false,"GM_xmlhttpRequest":false,"unsafeWindow":false},"devtools":{"$":false,"$_":false,"$$":false,"$0":false,"$1":false,"$2":false,"$3":false,"$4":false,"$x":false,"chrome":false,"clear":false,"copy":false,"debug":false,"dir":false,"dirxml":false,"getEventListeners":false,"inspect":false,"keys":false,"monitor":false,"monitorEvents":false,"profile":false,"profileEnd":false,"queryObjects":false,"table":false,"undebug":false,"unmonitor":false,"unmonitorEvents":false,"values":false}}\')}},t={};function s(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,s),i.loaded=!0,i.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};(()=>{"use strict";s.d(r,{parseSourceAndMetadata:()=>W,purgeCachedMetadata:()=>H});var e=s(7493),t=s(3018),n=s.n(t);const i=!1,a="undefined"!=typeof performance&&"function"==typeof performance.mark&&"function"==typeof performance.clearMarks,o="undefined"!=typeof performance&&"function"==typeof performance.now;function l(e){a&&performance.mark(e+"-start")}function c(e){a&&(performance.mark(e+"-end"),performance.measure(e,e+"-start",e+"-end"),performance.clearMarks(e+"-start"),performance.clearMarks(e+"-end"))}function p(){return o?performance.now():Date.now()}function u(e,t,s){const r=p();i&&l(e);const n=t();return i&&c(e),null!=s&&s(p()-r),n}var h=s(1910);const d=Object.freeze({PROGRAM:"Program",CALL_EXPRESSION:"CallExpression",MEMBER_EXPRESSION:"MemberExpression",ARRAY_PATTERN:"ArrayPattern",IDENTIFIER:"Identifier",NUMERIC_LITERAL:"NumericLiteral",VARIABLE_DECLARATOR:"VariableDeclarator"});function f(e,t,s=null){const{start:r,end:n}=e.node.loc;return t===r.line&&!(null!==s&&(s-=1,t===r.line&&sn.column))}function m(e,t,s){let r=[];return function(e){const t=e.node.id;return t.type===d.ARRAY_PATTERN||t.type===d.IDENTIFIER&&!function(e){const t=e.node.init.callee;return x(t,"useState")||x(t,"useReducer")||x(t,"useTransition")}(e)}(e)?r.unshift(e):r=t.filter((t=>function(e,t){const s=e.node.id.name;return null!=s&&(s===(t.node.init.object&&t.node.init.object.name)||s===t.node.init.name)}(e,t))),r}function y(e,t,s,r,n){const i=u("getPotentialHookDeclarationsFromAST(originalSourceAST)",(()=>function(e){const t=[];return u("traverse(sourceAST)",(()=>(0,h.default)(e,{enter(e){e.isVariableDeclarator()&&function(e){const t=e.node.init;if(null!=t){if(t.type===d.CALL_EXPRESSION)return T(t.callee);if(t.type===d.MEMBER_EXPRESSION||t.type===d.IDENTIFIER)return!0}return!1}(e)&&t.push(e)}}))),t}(t)));let a=null;if(0===n){const e=i.filter((e=>{const t=f(e,r),s=b(e);return t&&s}));1===e.length&&(a=e[0])}else a=i.find((e=>{const t=f(e,r,n),s=b(e);return t&&s}));if(!a)return null;try{const t=u("getFilteredHookASTNodes()",(()=>m(a,i))),s=u("getHookNameFromNode()",(()=>function(e,t,s){let r;const n=null===e.id;switch(t.length){case 1:if(n&&t[0]===s){r=g(s,n);break}r=g(t[0]);break;case 2:if(1!==(t=t.filter((e=>function(e){return e.node.init.property.type===d.NUMERIC_LITERAL&&0===e.node.init.property.value}(e)))).length)throw new Error("Couldn\'t isolate AST Node containing hook variable.");r=g(t[0]);break;default:r=g(s)}return r}(e,t,a)));return s}catch(e){return console.error(e),null}}function g(e,t=!1){switch(e.node.id.type){case d.ARRAY_PATTERN:return t?null:e.node.id.elements[0]?.name??null;case d.IDENTIFIER:return e.node.id.name;default:return null}}function b(e){const t=e.node.init;return null!=t&&t.type===d.CALL_EXPRESSION&&T(t.callee)}function T(e){if(e.type===d.IDENTIFIER)return t=e.name,/^use[A-Z0-9].*$/.test(t);if(e.type===d.MEMBER_EXPRESSION&&!e.computed&&T(e.property)){const t=e.object,s=/^[A-Z].*/;return t.type===d.IDENTIFIER&&s.test(t.name)}return!1;var t}function x(e,t){return e.name===t||"MemberExpression"===e.type&&"React"===e.object.name&&e.property.name===t}var P=s(8715),S=s.n(P),E=s(4468);let A=null;function v({fileName:e,lineNumber:t,columnNumber:s}){if(null==e||null==t||null==s)throw Error("Hook source code location not found.");return`${e}:${t}:${s}`}new WeakMap;for(var w=s(6651),C={},I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",O=0;O<65;O++)C[I.charCodeAt(O)]=O;function N(e){for(var t=[],s=[],r=[0,0,0,0,0],n=0,i=0,a=0,o=0;i>>=1,u&&(o=0===o?-2147483648:-o),r[n]+=o,n++,o=a=0}}}return k(s,r,n),t.push(s),t}function k(e,t,s){4===s?e.push([t[0],t[1],t[2],t[3]]):5===s?e.push([t[0],t[1],t[2],t[3],t[4]]):1===s&&e.push([t[0]])}function L(e,t,s){let r,n=t.length,i=0,a=0;for(;n>0;){i=a,r=Math.floor(n/2),i+=r;const o=s(e,t,i);if(0===o.direction){if(null==o.index)throw new Error("Expected an index when matching element is found.");a=o.index;break}o.direction>0?(i++,a=i,n-=r+1):n=r}return null!=a?t[a]:null}function D(e,t,s){const r=s,n=t[r];if(null==n)throw new Error(`Unexpected line missing in HookMap at index ${s}.`);const i=_(n);let a,o=s+1;const l=t[o];return null!=l?a=_(l):(o=r,a=i),i===e.line?{index:r,direction:0}:a===e.line||e.line>a&&null==l?{index:o,direction:0}:ia&&null==l?{index:o,direction:0}:i"===o?null:o}({line:e,column:t},r)}hasHookMap(e){return null!=e&&null!=this._getHookMapForSource(e)}_getMetadataBySource(){return null==this._metadataBySource&&(this._metadataBySource=this._getMetadataObjectsBySourceNames(this._sourceMap)),this._metadataBySource}_getMetadataObjectsBySourceNames(e){if(void 0===e.mappings){const t=e,s=new Map;return t.sections.forEach((e=>{this._getMetadataObjectsBySourceNames(e.map).forEach(((e,t)=>{s.set(t,e)}))})),s}const t=new Map,s=e,r=(e,r)=>{let n=s.sources[r];null!=n&&(n=F(n,s),t.set(n,e))};if(e.hasOwnProperty(R)&&null!=e[R])e[R].filter(Boolean).forEach(r);else if(e.hasOwnProperty(B)&&null!=e[B]){const t=e[B];null!=t&&t.forEach(((e,t)=>{const s=null!=e?e[1]:null;null!=s&&r(s,t)}))}return t}_getHookMapForSource(e){if(this._decodedHookMapCache.has(e))return this._decodedHookMapCache.get(e);let t=null;const s=this._getMetadataBySource(),r=F(e,this._sourceMap),n=s.get(r);if(null!=n){const e=n[0];t=null!=e?function(e){return{names:e.names,mappings:N(e.mappings)}}(e):null}return null!=t&&this._decodedHookMapCache.set(e,t),t}}function V(e){return null!=e.sections?function(e){let t={line:-1,column:0};const s=e.sections.map((e=>{const s=e.offset,r=s.line,n=s.column;if(rr){if(!(a-o>0)){o=a;break}a=o}else{if(!(o-i>0)){o=i;break}i=o}}else if(e>t){if(!(a-o>0)){o=a;break}a=o}else{if(!(o-i>0)){o=i;break}i=o}}if(null==n)throw Error(`Could not find matching section for line:${t} and column:${e}`);return null===n.sourceMapConsumer&&(n.sourceMapConsumer=new V(n.map)),n.sourceMapConsumer.originalPositionFor({columnNumber:e,lineNumber:t})}}}(e):function(e){const t=u("Decoding source map mappings with sourcemap-codec",(()=>N(e.mappings)));return{originalPositionFor:function({columnNumber:s,lineNumber:r}){const n=s-1,i=t[r-1];let a=null,o=0,l=i.length-1,c=-1;for(;o<=l;){c=Math.floor((l+o)/2),a=i[c];const e=a[0];if(e===n)break;if(e>n){if(!(l-c>0)){c=l;break}l=c}else{if(!(c-o>0)){c=o;break}o=c}}for(;c>0&&i[c-1][0]===n;)c--;if(null==a)throw Error(`Could not find runtime location for line:${r} and column:${s}`);const p=a[1],u=null!=e.sourcesContent?e.sourcesContent[p]:null,h=e.sources[p]??null,d=a[2]+1;return{column:a[3],line:d,sourceContent:u,sourceURL:h}}}}(e)}const q=new(n())({max:50}),K=new(n())({max:50,dispose:(e,t)=>{}}),W=async function(t,s){return async function(r,n,a){p();i&&l(r);const o=await(async()=>{const r=u("initializeHookParsedMetadata",(()=>function(e){const t=new Map;return e.forEach(((e,s)=>{const r={metadataConsumer:null,originalSourceAST:null,originalSourceCode:null,originalSourceURL:null,originalSourceLineNumber:null,originalSourceColumnNumber:null,sourceMapConsumer:null};t.set(s,r)})),t}(s)));return u("parseSourceMaps",(()=>function(e,t){e.forEach(((e,s)=>{const r=t.get(s);if(null==r)throw Error(`Expected to find HookParsedMetadata for "${s}"`);const{runtimeSourceURL:n,sourceMapJSON:i}=e,a=q.get(n);if(null!=a)r.metadataConsumer=a.metadataConsumer,r.sourceMapConsumer=a.sourceMapConsumer;else if(null!=i){const e=u("new SourceMapConsumer(sourceMapJSON)",(()=>V(i))),t=u("new SourceMapMetadataConsumer(sourceMapJSON)",(()=>new U(i)));r.metadataConsumer=t,r.sourceMapConsumer=e,q.set(n,{metadataConsumer:t,sourceMapConsumer:e})}}))}(s,r))),u("parseSourceAST()",(()=>function(t,s){t.forEach(((t,r)=>{const n=s.get(r);if(null==n)throw Error(`Expected to find HookParsedMetadata for "${r}"`);if(null!==n.originalSourceAST)return;if(null!=n.originalSourceURL&&null!=n.originalSourceCode&&null!=n.originalSourceColumnNumber&&null!=n.originalSourceLineNumber)return;const{lineNumber:i,columnNumber:a}=t.hookSource;if(null==i||null==a)throw Error("Hook source code location not found.");const{metadataConsumer:o,sourceMapConsumer:l}=n,c=t.runtimeSourceCode;let p,h,d,f,m=!1;if(function(){if(null===A)try{(0,E.ZP)(),A=!1}catch(e){S().parse(e)[0].lineNumber===E.U1&&(A=!0)}return!0===A}()||null===l)d=a,f=i,h=c,p=t.runtimeSourceURL;else{const{column:e,line:t,sourceContent:s,sourceURL:r}=l.originalPositionFor({columnNumber:a,lineNumber:i});if(null===s||null===r)throw Error(`Could not find original source for line:${i} and column:${a}`);d=e,f=t,h=s,p=r}if(n.originalSourceCode=h,n.originalSourceURL=p,n.originalSourceLineNumber=f,n.originalSourceColumnNumber=d,null!=o&&o.hasHookMap(p)&&(m=!0),m)return;const y=K.get(p);if(null!=y)n.originalSourceAST=y.originalSourceAST,n.originalSourceCode=y.originalSourceCode;else try{const t=h.indexOf("@flow")>0?"flow":"typescript",s=u("[@babel/parser] parse(originalSourceCode)",(()=>(0,e.parse)(h,{sourceType:"unambiguous",plugins:["jsx",t]})));n.originalSourceAST=s,K.set(p,{originalSourceAST:s,originalSourceCode:h})}catch(e){throw new Error(`Failed to parse source file: ${p}\\n\\nOriginal error: ${e}`)}}))}(s,r))),u("findHookNames()",(()=>function(e,t){const s=new Map;return e.map((e=>{const r=e.hookSource;if(!r.fileName)return null;const n=v(r),i=t.get(n);if(!i)return null;const{lineNumber:a,columnNumber:o}=r;if(!a||!o)return null;const{originalSourceURL:l,originalSourceColumnNumber:c,originalSourceLineNumber:p}=i;if(null==p||null==c||null==l)return null;let h;const{metadataConsumer:d}=i;null!=d&&(h=u("metadataConsumer.hookNameFor()",(()=>d.hookNameFor({line:p,column:c,source:l})))),null==h&&(h=u("getHookName()",(()=>y(e,i.originalSourceAST,i.originalSourceCode,p,c))));const f=v(r);s.set(f,h)})),s}(t,r)))})();return i&&c(r),o}("parseSourceAndMetadata()")},H=function(){K.reset(),q.reset()};addEventListener("message",(function(e){var t,s=e.data,n=s.type,i=s.method,a=s.id,o=s.params;"RPC"===n&&i&&((t=r[i])?Promise.resolve().then((function(){return t.apply(r,o)})):Promise.reject("No such method")).then((function(e){postMessage({type:"RPC",id:a,result:e})})).catch((function(e){var t={message:e};e.stack&&(t.message=e.message,t.stack=e.stack,t.name=e.name),postMessage({type:"RPC",id:a,error:t})}))})),postMessage({type:"RPC",method:"ready"})})()})();\n//# sourceMappingURL=parseSourceAndMetadata.worker.worker.js.map'])),{name:"[name].worker.js"});return URL.revokeObjectURL(URL.createObjectURL(new Blob(['(()=>{var e={785:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.codeFrameColumns=l,t.default=function(e,t,s,n={}){if(!a){a=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";r.emitWarning?r.emitWarning(e,"DeprecationWarning"):(new Error(e).name="DeprecationWarning",console.warn(new Error(e)))}return l(e,{start:{column:s=Math.max(s,0),line:t}},n)};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=r?Object.getOwnPropertyDescriptor(e,n):null;a&&(a.get||a.set)?Object.defineProperty(s,n,a):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(9258));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}let a=!1;const o=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function l(e,t,s={}){const r=(s.highlightCode||s.forceColor)&&(0,n.shouldHighlight)(s),i=(0,n.getChalk)(s),a=function(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}(i),l=(e,t)=>r?e(t):t,c=e.split(o),{start:p,end:u,markerLines:h}=function(e,t,s){const r=Object.assign({column:0,line:-1},e.start),n=Object.assign({},r,e.end),{linesAbove:i=2,linesBelow:a=3}=s||{},o=r.line,l=r.column,c=n.line,p=n.column;let u=Math.max(o-(i+1),0),h=Math.min(t.length,c+a);-1===o&&(u=0),-1===c&&(h=t.length);const d=c-o,f={};if(d)for(let e=0;e<=d;e++){const s=e+o;if(l)if(0===e){const e=t[s-1].length;f[s]=[l,e-l+1]}else if(e===d)f[s]=[0,p];else{const r=t[s-e].length;f[s]=[0,r]}else f[s]=!0}else f[o]=l===p?!l||[l,0]:[l,p-l];return{start:u,end:h,markerLines:f}}(t,c,s),d=t.start&&"number"==typeof t.start.column,f=String(u).length;let m=(r?(0,n.default)(e,s):e).split(o).slice(p,u).map(((e,t)=>{const r=p+1+t,n=` ${` ${r}`.slice(-f)} |`,i=h[r],o=!h[r+1];if(i){let t="";if(Array.isArray(i)){const r=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\\t]/g," "),c=i[1]||1;t=["\\n ",l(a.gutter,n.replace(/\\d/g," "))," ",r,l(a.marker,"^").repeat(c)].join(""),o&&s.message&&(t+=" "+l(a.message,s.message))}return[l(a.marker,">"),l(a.gutter,n),e.length>0?` ${e}`:"",t].join("")}return` ${l(a.gutter,n)}${e.length>0?` ${e}`:""}`})).join("\\n");return s.message&&!d&&(m=`${" ".repeat(f+1)}${s.message}\\n${m}`),r?i.reset(m):m}},6163:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function({node:e,parent:t,scope:s,id:n},a=!1){if(e.id)return;if(!i.isObjectProperty(t)&&!i.isObjectMethod(t,{kind:"method"})||t.computed&&!i.isLiteral(t.key)){if(i.isVariableDeclarator(t)){if(n=t.id,i.isIdentifier(n)&&!a){const t=s.parent.getBinding(n.name);if(t&&t.constant&&s.getBinding(n.name)===t)return e.id=i.cloneNode(n),void(e.id[i.NOT_LOCAL_BINDING]=!0)}}else if(i.isAssignmentExpression(t,{operator:"="}))n=t.left;else if(!n)return}else n=t.key;let o;return n&&i.isLiteral(n)?o=function(e){return i.isNullLiteral(e)?"null":i.isRegExpLiteral(e)?`_${e.pattern}_${e.flags}`:i.isTemplateLiteral(e)?e.quasis.map((e=>e.value.raw)).join(""):void 0!==e.value?e.value+"":""}(n):n&&i.isIdentifier(n)&&(o=n.name),void 0!==o?(o=i.toBindingIdentifierName(o),(n=i.identifier(o))[i.NOT_LOCAL_BINDING]=!0,function(e,t,s,n){if(e.selfReference){if(!n.hasBinding(s.name)||n.hasGlobal(s.name)){if(!i.isFunction(t))return;let e=l;t.generator&&(e=c);const a=e({FUNCTION:t,FUNCTION_ID:s,FUNCTION_KEY:n.generateUidIdentifier(s.name)}).expression,o=a.callee.body.body[0].params;for(let e=0,s=(0,r.default)(t);e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,s){const a=new WeakMap,c=new WeakMap,p=s||(0,r.validate)(null);return Object.assign(((s,...o)=>{if("string"==typeof s){if(o.length>1)throw new Error("Unexpected extra params.");return l((0,n.default)(t,s,(0,r.merge)(p,(0,r.validate)(o[0]))))}if(Array.isArray(s)){let e=a.get(s);return e||(e=(0,i.default)(t,s,p),a.set(s,e)),l(e(o))}if("object"==typeof s&&s){if(o.length>0)throw new Error("Unexpected extra params.");return e(t,(0,r.merge)(p,(0,r.validate)(s)))}throw new Error("Unexpected template param "+typeof s)}),{ast:(e,...s)=>{if("string"==typeof e){if(s.length>1)throw new Error("Unexpected extra params.");return(0,n.default)(t,e,(0,r.merge)((0,r.merge)(p,(0,r.validate)(s[0])),o))()}if(Array.isArray(e)){let n=c.get(e);return n||(n=(0,i.default)(t,e,(0,r.merge)(p,o)),c.set(e,n)),n(s)()}throw new Error("Unexpected template param "+typeof e)}})};var r=s(4044),n=a(s(8738)),i=a(s(9566));function a(e){return e&&e.__esModule?e:{default:e}}const o=(0,r.validate)({placeholderPattern:!1});function l(e){let t="";try{throw new Error}catch(e){e.stack&&(t=e.stack.split("\\n").slice(3).join("\\n"))}return s=>{try{return e(s)}catch(e){throw e.stack+=`\\n =============\\n${t}`,e}}}},1138:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.program=t.expression=t.statement=t.statements=t.smart=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){return{code:e=>`/* @babel/template */;\\n${e}`,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}const a=i((e=>e.length>1?e:e[0]));t.smart=a;const o=i((e=>e));t.statements=o;const l=i((e=>{if(0===e.length)throw new Error("Found nothing to return.");if(e.length>1)throw new Error("Found multiple statements but wanted one");return e[0]}));t.statement=l;const c={code:e=>`(\\n${e}\\n)`,validate:e=>{if(e.program.body.length>1)throw new Error("Found multiple statements but wanted one");if(0===c.unwrap(e).start)throw new Error("Parse result included parens.")},unwrap:({program:e})=>{const[t]=e.body;return r.assertExpressionStatement(t),t.expression}};t.expression=c,t.program={code:e=>e,validate:()=>{},unwrap:e=>e.program}},6594:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.program=t.expression=t.statements=t.statement=t.smart=void 0;var r,n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(1138)),i=(r=s(7640))&&r.__esModule?r:{default:r};function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}const o=(0,i.default)(n.smart);t.smart=o;const l=(0,i.default)(n.statement);t.statement=l;const c=(0,i.default)(n.statements);t.statements=c;const p=(0,i.default)(n.expression);t.expression=p;const u=(0,i.default)(n.program);t.program=u;var h=Object.assign(o.bind(void 0),{smart:o,statement:l,statements:c,expression:p,program:u,ast:o.ast});t.default=h},9566:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){const{metadata:a,names:l}=function(e,t,s){let r,i,a,l="";do{l+="$";const c=o(t,l);r=c.names,i=new Set(r),a=(0,n.default)(e,e.code(c.code),{parser:s.parser,placeholderWhitelist:new Set(c.names.concat(s.placeholderWhitelist?Array.from(s.placeholderWhitelist):[])),placeholderPattern:s.placeholderPattern,preserveComments:s.preserveComments,syntacticPlaceholders:s.syntacticPlaceholders})}while(a.placeholders.some((e=>e.isDuplicate&&i.has(e.name))));return{metadata:a,names:r}}(e,t,s);return t=>{const s={};return t.forEach(((e,t)=>{s[l[t]]=e})),t=>{const n=(0,r.normalizeReplacements)(t);return n&&Object.keys(n).forEach((e=>{if(Object.prototype.hasOwnProperty.call(s,e))throw new Error("Unexpected replacement overlap.")})),e.unwrap((0,i.default)(a,n?Object.assign(n,s):s))}}};var r=s(4044),n=a(s(3054)),i=a(s(9162));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){const s=[];let r=e[0];for(let n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.merge=function(e,t){const{placeholderWhitelist:s=e.placeholderWhitelist,placeholderPattern:r=e.placeholderPattern,preserveComments:n=e.preserveComments,syntacticPlaceholders:i=e.syntacticPlaceholders}=t;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:s,placeholderPattern:r,preserveComments:n,syntacticPlaceholders:i}},t.validate=function(e){if(null!=e&&"object"!=typeof e)throw new Error("Unknown template options.");const t=e||{},{placeholderWhitelist:s,placeholderPattern:r,preserveComments:n,syntacticPlaceholders:i}=t,a=function(e,t){if(null==e)return{};var s,r,n={},i=Object.keys(e);for(r=0;r=0||(n[s]=e[s]);return n}(t,["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"]);if(null!=s&&!(s instanceof Set))throw new Error("\'.placeholderWhitelist\' must be a Set, null, or undefined");if(null!=r&&!(r instanceof RegExp)&&!1!==r)throw new Error("\'.placeholderPattern\' must be a RegExp, false, null, or undefined");if(null!=n&&"boolean"!=typeof n)throw new Error("\'.preserveComments\' must be a boolean, null, or undefined");if(null!=i&&"boolean"!=typeof i)throw new Error("\'.syntacticPlaceholders\' must be a boolean, null, or undefined");if(!0===i&&(null!=s||null!=r))throw new Error("\'.placeholderWhitelist\' and \'.placeholderPattern\' aren\'t compatible with \'.syntacticPlaceholders: true\'");return{parser:a,placeholderWhitelist:s||void 0,placeholderPattern:null==r?void 0:r,preserveComments:null==n?void 0:n,syntacticPlaceholders:null==i?void 0:i}},t.normalizeReplacements=function(e){if(Array.isArray(e))return e.reduce(((e,t,s)=>(e["$"+s]=t,e)),{});if("object"==typeof e||null==e)return e||void 0;throw new Error("Template replacements must be an array, object, null, or undefined")}},3054:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){const{placeholderWhitelist:a,placeholderPattern:o,preserveComments:c,syntacticPlaceholders:p}=s,u=function(e,t,s){const r=(t.plugins||[]).slice();!1!==s&&r.push("placeholders"),t=Object.assign({allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,sourceType:"module"},t,{plugins:r});try{return(0,n.parse)(e,t)}catch(t){const s=t.loc;throw s&&(t.message+="\\n"+(0,i.codeFrameColumns)(e,{start:s}),t.code="BABEL_TEMPLATE_PARSE_ERROR"),t}}(t,s.parser,p);r.removePropertiesDeep(u,{preserveComments:c}),e.validate(u);const h={placeholders:[],placeholderNames:new Set},d={placeholders:[],placeholderNames:new Set},f={value:void 0};return r.traverse(u,l,{syntactic:h,legacy:d,isLegacyRef:f,placeholderWhitelist:a,placeholderPattern:o,syntacticPlaceholders:p}),Object.assign({ast:u},f.value?d:h)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),n=s(4494),i=s(5342);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}const o=/^[_$A-Z0-9]+$/;function l(e,t,s){var n;let i;if(r.isPlaceholder(e)){if(!1===s.syntacticPlaceholders)throw new Error("%%foo%%-style placeholders can\'t be used when \'.syntacticPlaceholders\' is false.");i=e.name.name,s.isLegacyRef.value=!1}else{if(!1===s.isLegacyRef.value||s.syntacticPlaceholders)return;if(r.isIdentifier(e)||r.isJSXIdentifier(e))i=e.name,s.isLegacyRef.value=!0;else{if(!r.isStringLiteral(e))return;i=e.value,s.isLegacyRef.value=!0}}if(!s.isLegacyRef.value&&(null!=s.placeholderPattern||null!=s.placeholderWhitelist))throw new Error("\'.placeholderWhitelist\' and \'.placeholderPattern\' aren\'t compatible with \'.syntacticPlaceholders: true\'");if(s.isLegacyRef.value&&(!1===s.placeholderPattern||!(s.placeholderPattern||o).test(i))&&!(null==(n=s.placeholderWhitelist)?void 0:n.has(i)))return;t=t.slice();const{node:a,key:l}=t[t.length-1];let c;r.isStringLiteral(e)||r.isPlaceholder(e,{expectedNode:"StringLiteral"})?c="string":r.isNewExpression(a)&&"arguments"===l||r.isCallExpression(a)&&"arguments"===l||r.isFunction(a)&&"params"===l?c="param":r.isExpressionStatement(a)&&!r.isPlaceholder(e)?(c="statement",t=t.slice(0,-1)):c=r.isStatement(e)&&r.isPlaceholder(e)?"statement":"other";const{placeholders:p,placeholderNames:u}=s.isLegacyRef.value?s.legacy:s.syntactic;p.push({name:i,type:c,resolve:e=>function(e,t){let s=e;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const s=r.cloneNode(e.ast);return t&&(e.placeholders.forEach((e=>{if(!Object.prototype.hasOwnProperty.call(t,e.name)){const t=e.name;throw new Error(`Error: No substitution given for "${t}". If this is not meant to be a\\n placeholder you may want to consider passing one of the following options to @babel/template:\\n - { placeholderPattern: false, placeholderWhitelist: new Set([\'${t}\'])}\\n - { placeholderPattern: /^${t}$/ }`)}})),Object.keys(t).forEach((t=>{if(!e.placeholderNames.has(t))throw new Error(`Unknown substitution "${t}" given`)}))),e.placeholders.slice().reverse().forEach((e=>{try{!function(e,t,s){e.isDuplicate&&(Array.isArray(s)?s=s.map((e=>r.cloneNode(e))):"object"==typeof s&&(s=r.cloneNode(s)));const{parent:n,key:i,index:a}=e.resolve(t);if("string"===e.type){if("string"==typeof s&&(s=r.stringLiteral(s)),!s||!r.isStringLiteral(s))throw new Error("Expected string substitution")}else if("statement"===e.type)void 0===a?s?Array.isArray(s)?s=r.blockStatement(s):"string"==typeof s?s=r.expressionStatement(r.identifier(s)):r.isStatement(s)||(s=r.expressionStatement(s)):s=r.emptyStatement():s&&!Array.isArray(s)&&("string"==typeof s&&(s=r.identifier(s)),r.isStatement(s)||(s=r.expressionStatement(s)));else if("param"===e.type){if("string"==typeof s&&(s=r.identifier(s)),void 0===a)throw new Error("Assertion failure.")}else if("string"==typeof s&&(s=r.identifier(s)),Array.isArray(s))throw new Error("Cannot replace single expression with an array.");if(void 0===a)r.validate(n,i,s),n[i]=s;else{const t=n[i].slice();"statement"===e.type||"param"===e.type?null==s?t.splice(a,1):Array.isArray(s)?t.splice(a,1,...s):t[a]=s:t[a]=s,r.validate(n,i,t),n[i]=t}}(e,s,t&&t[e.name]||null)}catch(t){throw t.message=`@babel/template placeholder "${e.name}": ${t.message}`,t}})),s};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},8738:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){let a;return t=e.code(t),o=>{const l=(0,r.normalizeReplacements)(o);return a||(a=(0,n.default)(e,t,s)),e.unwrap((0,i.default)(a,l))}};var r=s(4044),n=a(s(3054)),i=a(s(9162));function a(e){return e&&e.__esModule?e:{default:e}}},2442:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.params;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!e.isExportDeclaration())throw new Error("Only export declarations can be split.");const t=e.isExportDefaultDeclaration(),s=e.get("declaration"),n=s.isClassDeclaration();if(t){const t=s.isFunctionDeclaration()||n,i=s.isScope()?s.scope.parent:s.scope;let a=s.node.id,o=!1;a||(o=!0,a=i.generateUidIdentifier("default"),(t||s.isFunctionExpression()||s.isClassExpression())&&(s.node.id=r.cloneNode(a)));const l=t?s:r.variableDeclaration("var",[r.variableDeclarator(r.cloneNode(a),s.node)]),c=r.exportNamedDeclaration(null,[r.exportSpecifier(r.cloneNode(a),r.identifier("default"))]);return e.insertAfter(c),e.replaceWith(l),o&&i.registerDeclaration(e),e}if(e.get("specifiers").length>0)throw new Error("It doesn\'t make sense to split exported specifiers.");const i=s.getOuterBindingIdentifiers(),a=Object.keys(i).map((e=>r.exportSpecifier(r.identifier(e),r.identifier(e)))),o=r.exportNamedDeclaration(null,a);return e.insertAfter(o),e.replaceWith(s.node),e};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},5332:(e,t,s)=>{"use strict";e=s.nmd(e);const r=s(5536),n=(e,t)=>function(){return`[${e.apply(r,arguments)+t}m`},i=(e,t)=>function(){const s=e.apply(r,arguments);return`[${38+t};5;${s}m`},a=(e,t)=>function(){const s=e.apply(r,arguments);return`[${38+t};2;${s[0]};${s[1]};${s[2]}m`};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(const s of Object.keys(t)){const r=t[s];for(const s of Object.keys(r)){const n=r[s];t[s]={open:`[${n[0]}m`,close:`[${n[1]}m`},r[s]=t[s],e.set(n[0],n[1])}Object.defineProperty(t,s,{value:r,enumerable:!1}),Object.defineProperty(t,"codes",{value:e,enumerable:!1})}const s=e=>e,o=(e,t,s)=>[e,t,s];t.color.close="",t.bgColor.close="",t.color.ansi={ansi:n(s,0)},t.color.ansi256={ansi256:i(s,0)},t.color.ansi16m={rgb:a(o,0)},t.bgColor.ansi={ansi:n(s,10)},t.bgColor.ansi256={ansi256:i(s,10)},t.bgColor.ansi16m={rgb:a(o,10)};for(let e of Object.keys(r)){if("object"!=typeof r[e])continue;const s=r[e];"ansi16"===e&&(e="ansi"),"ansi16"in s&&(t.color.ansi[e]=n(s.ansi16,0),t.bgColor.ansi[e]=n(s.ansi16,10)),"ansi256"in s&&(t.color.ansi256[e]=i(s.ansi256,0),t.bgColor.ansi256[e]=i(s.ansi256,10)),"rgb"in s&&(t.color.ansi16m[e]=a(s.rgb,0),t.bgColor.ansi16m[e]=a(s.rgb,10))}return t}})},1859:(e,t,s)=>{"use strict";var r=s(397);const n=s(4005),i=s(5332),a=s(3182).stdout,o=s(6805),l="win32"===r.platform&&!(r.env.TERM||"").toLowerCase().startsWith("xterm"),c=["ansi","ansi","ansi256","ansi16m"],p=new Set(["gray"]),u=Object.create(null);function h(e,t){t=t||{};const s=a?a.level:0;e.level=void 0===t.level?s:t.level,e.enabled="enabled"in t?t.enabled:e.level>0}function d(e){if(!this||!(this instanceof d)||this.template){const t={};return h(t,e),t.template=function(){const e=[].slice.call(arguments);return g.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,d.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=d,t.template}h(this,e)}l&&(i.blue.open="");for(const e of Object.keys(i))i[e].closeRe=new RegExp(n(i[e].close),"g"),u[e]={get(){const t=i[e];return m.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};u.visible={get(){return m.call(this,this._styles||[],!0,"visible")}},i.color.closeRe=new RegExp(n(i.color.close),"g");for(const e of Object.keys(i.color.ansi))p.has(e)||(u[e]={get(){const t=this.level;return function(){const s={open:i.color[c[t]][e].apply(null,arguments),close:i.color.close,closeRe:i.color.closeRe};return m.call(this,this._styles?this._styles.concat(s):[s],this._empty,e)}}});i.bgColor.closeRe=new RegExp(n(i.bgColor.close),"g");for(const e of Object.keys(i.bgColor.ansi))p.has(e)||(u["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const s={open:i.bgColor[c[t]][e].apply(null,arguments),close:i.bgColor.close,closeRe:i.bgColor.closeRe};return m.call(this,this._styles?this._styles.concat(s):[s],this._empty,e)}}});const f=Object.defineProperties((()=>{}),u);function m(e,t,s){const r=function(){return y.apply(r,arguments)};r._styles=e,r._empty=t;const n=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>n.level,set(e){n.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>n.enabled,set(e){n.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===s||"grey"===s,r.__proto__=f,r}function y(){const e=arguments,t=e.length;let s=String(arguments[0]);if(0===t)return"";if(t>1)for(let r=1;r{"use strict";const t=/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,s=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,r=/^([\'"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,n=/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi,i=new Map([["n","\\n"],["r","\\r"],["t","\\t"],["b","\\b"],["f","\\f"],["v","\\v"],["0","\\0"],["\\\\","\\\\"],["e",""],["a",""]]);function a(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):i.get(e)||e}function o(e,t){const s=[],i=t.trim().split(/\\s*,\\s*/g);let o;for(const t of i)if(isNaN(t)){if(!(o=t.match(r)))throw new Error(`Invalid Chalk template style argument: ${t} (in style \'${e}\')`);s.push(o[2].replace(n,((e,t,s)=>t?a(t):s)))}else s.push(Number(t));return s}function l(e){s.lastIndex=0;const t=[];let r;for(;null!==(r=s.exec(e));){const e=r[1];if(r[2]){const s=o(e,r[2]);t.push([e].concat(s))}else t.push([e])}return t}function c(e,t){const s={};for(const e of t)for(const t of e.styles)s[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(s))if(Array.isArray(s[e])){if(!(e in r))throw new Error(`Unknown Chalk style: ${e}`);r=s[e].length>0?r[e].apply(r,s[e]):r[e]}return r}e.exports=(e,s)=>{const r=[],n=[];let i=[];if(s.replace(t,((t,s,o,p,u,h)=>{if(s)i.push(a(s));else if(p){const t=i.join("");i=[],n.push(0===r.length?t:c(e,r)(t)),r.push({inverse:o,styles:l(p)})}else if(u){if(0===r.length)throw new Error("Found extraneous } in Chalk template literal");n.push(c(e,r)(i.join(""))),i=[],r.pop()}else i.push(h)})),n.push(i.join("")),r.length>0){const e=`Chalk template literal is missing ${r.length} closing bracket${1===r.length?"":"s"} (\\`}\\`)`;throw new Error(e)}return n.join("")}},8325:(e,t,s)=>{var r=s(4730),n={};for(var i in r)r.hasOwnProperty(i)&&(n[r[i]]=i);var a=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var o in a)if(a.hasOwnProperty(o)){if(!("channels"in a[o]))throw new Error("missing channels property: "+o);if(!("labels"in a[o]))throw new Error("missing channel labels property: "+o);if(a[o].labels.length!==a[o].channels)throw new Error("channel and label counts mismatch: "+o);var l=a[o].channels,c=a[o].labels;delete a[o].channels,delete a[o].labels,Object.defineProperty(a[o],"channels",{value:l}),Object.defineProperty(a[o],"labels",{value:c})}a.rgb.hsl=function(e){var t,s,r=e[0]/255,n=e[1]/255,i=e[2]/255,a=Math.min(r,n,i),o=Math.max(r,n,i),l=o-a;return o===a?t=0:r===o?t=(n-i)/l:n===o?t=2+(i-r)/l:i===o&&(t=4+(r-n)/l),(t=Math.min(60*t,360))<0&&(t+=360),s=(a+o)/2,[t,100*(o===a?0:s<=.5?l/(o+a):l/(2-o-a)),100*s]},a.rgb.hsv=function(e){var t,s,r,n,i,a=e[0]/255,o=e[1]/255,l=e[2]/255,c=Math.max(a,o,l),p=c-Math.min(a,o,l),u=function(e){return(c-e)/6/p+.5};return 0===p?n=i=0:(i=p/c,t=u(a),s=u(o),r=u(l),a===c?n=r-s:o===c?n=1/3+t-r:l===c&&(n=2/3+s-t),n<0?n+=1:n>1&&(n-=1)),[360*n,100*i,100*c]},a.rgb.hwb=function(e){var t=e[0],s=e[1],r=e[2];return[a.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(s,r))*100,100*(r=1-1/255*Math.max(t,Math.max(s,r)))]},a.rgb.cmyk=function(e){var t,s=e[0]/255,r=e[1]/255,n=e[2]/255;return[100*((1-s-(t=Math.min(1-s,1-r,1-n)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-n-t)/(1-t)||0),100*t]},a.rgb.keyword=function(e){var t=n[e];if(t)return t;var s,i,a,o=1/0;for(var l in r)if(r.hasOwnProperty(l)){var c=(i=e,a=r[l],Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)+Math.pow(i[2]-a[2],2));c.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(s=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*s+.0722*r),100*(.0193*t+.1192*s+.9505*r)]},a.rgb.lab=function(e){var t=a.rgb.xyz(e),s=t[0],r=t[1],n=t[2];return r/=100,n/=108.883,s=(s/=95.047)>.008856?Math.pow(s,1/3):7.787*s+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(s-r),200*(r-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]},a.hsl.rgb=function(e){var t,s,r,n,i,a=e[0]/360,o=e[1]/100,l=e[2]/100;if(0===o)return[i=255*l,i,i];t=2*l-(s=l<.5?l*(1+o):l+o-l*o),n=[0,0,0];for(var c=0;c<3;c++)(r=a+1/3*-(c-1))<0&&r++,r>1&&r--,i=6*r<1?t+6*(s-t)*r:2*r<1?s:3*r<2?t+(s-t)*(2/3-r)*6:t,n[c]=255*i;return n},a.hsl.hsv=function(e){var t=e[0],s=e[1]/100,r=e[2]/100,n=s,i=Math.max(r,.01);return s*=(r*=2)<=1?r:2-r,n*=i<=1?i:2-i,[t,100*(0===r?2*n/(i+n):2*s/(r+s)),(r+s)/2*100]},a.hsv.rgb=function(e){var t=e[0]/60,s=e[1]/100,r=e[2]/100,n=Math.floor(t)%6,i=t-Math.floor(t),a=255*r*(1-s),o=255*r*(1-s*i),l=255*r*(1-s*(1-i));switch(r*=255,n){case 0:return[r,l,a];case 1:return[o,r,a];case 2:return[a,r,l];case 3:return[a,o,r];case 4:return[l,a,r];case 5:return[r,a,o]}},a.hsv.hsl=function(e){var t,s,r,n=e[0],i=e[1]/100,a=e[2]/100,o=Math.max(a,.01);return r=(2-i)*a,s=i*o,[n,100*(s=(s/=(t=(2-i)*o)<=1?t:2-t)||0),100*(r/=2)]},a.hwb.rgb=function(e){var t,s,r,n,i,a,o,l=e[0]/360,c=e[1]/100,p=e[2]/100,u=c+p;switch(u>1&&(c/=u,p/=u),r=6*l-(t=Math.floor(6*l)),0!=(1&t)&&(r=1-r),n=c+r*((s=1-p)-c),t){default:case 6:case 0:i=s,a=n,o=c;break;case 1:i=n,a=s,o=c;break;case 2:i=c,a=s,o=n;break;case 3:i=c,a=n,o=s;break;case 4:i=n,a=c,o=s;break;case 5:i=s,a=c,o=n}return[255*i,255*a,255*o]},a.cmyk.rgb=function(e){var t=e[0]/100,s=e[1]/100,r=e[2]/100,n=e[3]/100;return[255*(1-Math.min(1,t*(1-n)+n)),255*(1-Math.min(1,s*(1-n)+n)),255*(1-Math.min(1,r*(1-n)+n))]},a.xyz.rgb=function(e){var t,s,r,n=e[0]/100,i=e[1]/100,a=e[2]/100;return s=-.9689*n+1.8758*i+.0415*a,r=.0557*n+-.204*i+1.057*a,t=(t=3.2406*n+-1.5372*i+-.4986*a)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,s=s>.0031308?1.055*Math.pow(s,1/2.4)-.055:12.92*s,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(s=Math.min(Math.max(0,s),1)),255*(r=Math.min(Math.max(0,r),1))]},a.xyz.lab=function(e){var t=e[0],s=e[1],r=e[2];return s/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(s=s>.008856?Math.pow(s,1/3):7.787*s+16/116)-16,500*(t-s),200*(s-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.lab.xyz=function(e){var t,s,r,n=e[0];t=e[1]/500+(s=(n+16)/116),r=s-e[2]/200;var i=Math.pow(s,3),a=Math.pow(t,3),o=Math.pow(r,3);return s=i>.008856?i:(s-16/116)/7.787,t=a>.008856?a:(t-16/116)/7.787,r=o>.008856?o:(r-16/116)/7.787,[t*=95.047,s*=100,r*=108.883]},a.lab.lch=function(e){var t,s=e[0],r=e[1],n=e[2];return(t=360*Math.atan2(n,r)/2/Math.PI)<0&&(t+=360),[s,Math.sqrt(r*r+n*n),t]},a.lch.lab=function(e){var t,s=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[s,r*Math.cos(t),r*Math.sin(t)]},a.rgb.ansi16=function(e){var t=e[0],s=e[1],r=e[2],n=1 in arguments?arguments[1]:a.rgb.hsv(e)[2];if(0===(n=Math.round(n/50)))return 30;var i=30+(Math.round(r/255)<<2|Math.round(s/255)<<1|Math.round(t/255));return 2===n&&(i+=60),i},a.hsv.ansi16=function(e){return a.rgb.ansi16(a.hsv.rgb(e),e[2])},a.rgb.ansi256=function(e){var t=e[0],s=e[1],r=e[2];return t===s&&s===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(s/255*5)+Math.round(r/255*5)},a.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var s=.5*(1+~~(e>50));return[(1&t)*s*255,(t>>1&1)*s*255,(t>>2&1)*s*255]},a.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var s;return e-=16,[Math.floor(e/36)/5*255,Math.floor((s=e%36)/6)/5*255,s%6/5*255]},a.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},a.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var s=t[0];3===t[0].length&&(s=s.split("").map((function(e){return e+e})).join(""));var r=parseInt(s,16);return[r>>16&255,r>>8&255,255&r]},a.rgb.hcg=function(e){var t,s=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.max(Math.max(s,r),n),a=Math.min(Math.min(s,r),n),o=i-a;return t=o<=0?0:i===s?(r-n)/o%6:i===r?2+(n-s)/o:4+(s-r)/o+4,t/=6,[360*(t%=1),100*o,100*(o<1?a/(1-o):0)]},a.hsl.hcg=function(e){var t,s=e[1]/100,r=e[2]/100,n=0;return(t=r<.5?2*s*r:2*s*(1-r))<1&&(n=(r-.5*t)/(1-t)),[e[0],100*t,100*n]},a.hsv.hcg=function(e){var t=e[1]/100,s=e[2]/100,r=t*s,n=0;return r<1&&(n=(s-r)/(1-r)),[e[0],100*r,100*n]},a.hcg.rgb=function(e){var t=e[0]/360,s=e[1]/100,r=e[2]/100;if(0===s)return[255*r,255*r,255*r];var n,i=[0,0,0],a=t%1*6,o=a%1,l=1-o;switch(Math.floor(a)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=l,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=l,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=l}return n=(1-s)*r,[255*(s*i[0]+n),255*(s*i[1]+n),255*(s*i[2]+n)]},a.hcg.hsv=function(e){var t=e[1]/100,s=t+e[2]/100*(1-t),r=0;return s>0&&(r=t/s),[e[0],100*r,100*s]},a.hcg.hsl=function(e){var t=e[1]/100,s=e[2]/100*(1-t)+.5*t,r=0;return s>0&&s<.5?r=t/(2*s):s>=.5&&s<1&&(r=t/(2*(1-s))),[e[0],100*r,100*s]},a.hcg.hwb=function(e){var t=e[1]/100,s=t+e[2]/100*(1-t);return[e[0],100*(s-t),100*(1-s)]},a.hwb.hcg=function(e){var t=e[1]/100,s=1-e[2]/100,r=s-t,n=0;return r<1&&(n=(s-r)/(1-r)),[e[0],100*r,100*n]},a.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},a.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},a.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},a.gray.hsl=a.gray.hsv=function(e){return[0,0,e[0]]},a.gray.hwb=function(e){return[0,100,e[0]]},a.gray.cmyk=function(e){return[0,0,0,e[0]]},a.gray.lab=function(e){return[e[0],0,0]},a.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),s=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(s.length)+s},a.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},5536:(e,t,s)=>{var r=s(8325),n=s(6094),i={};Object.keys(r).forEach((function(e){i[e]={},Object.defineProperty(i[e],"channels",{value:r[e].channels}),Object.defineProperty(i[e],"labels",{value:r[e].labels});var t=n(e);Object.keys(t).forEach((function(s){var r=t[s];i[e][s]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var s=e(t);if("object"==typeof s)for(var r=s.length,n=0;n1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))})),e.exports=i},6094:(e,t,s)=>{var r=s(8325);function n(e,t){return function(s){return t(e(s))}}function i(e,t){for(var s=[t[e].parent,e],i=r[t[e].parent][e],a=t[e].parent;t[a].parent;)s.unshift(t[a].parent),i=n(r[t[a].parent][a],i),a=t[a].parent;return i.conversion=s,i}e.exports=function(e){for(var t=function(e){var t=function(){for(var e={},t=Object.keys(r),s=t.length,n=0;n{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},4005:e=>{"use strict";var t=/[|\\\\{}()[\\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(t,"\\\\$&")}},3182:(e,t,s)=>{"use strict";var r=s(397);const n=s(2037),i=s(9341),a=r.env;let o;function l(e){const t=function(e){if(!1===o)return 0;if(i("color=16m")||i("color=full")||i("color=truecolor"))return 3;if(i("color=256"))return 2;if(e&&!e.isTTY&&!0!==o)return 0;const t=o?1:0;if("win32"===r.platform){const e=n.release().split(".");return Number(r.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in a)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in a))||"codeship"===a.CI_NAME?1:t;if("TEAMCITY_VERSION"in a)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(a.TEAMCITY_VERSION)?1:0;if("truecolor"===a.COLORTERM)return 3;if("TERM_PROGRAM"in a){const e=parseInt((a.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(a.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(a.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a.TERM)||"COLORTERM"in a?1:(a.TERM,t)}(e);return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(t)}i("no-color")||i("no-colors")||i("color=false")?o=!1:(i("color")||i("colors")||i("color=true")||i("color=always"))&&(o=!0),"FORCE_COLOR"in a&&(o=0===a.FORCE_COLOR.length||0!==parseInt(a.FORCE_COLOR,10)),e.exports={supportsColor:l,stdout:l(r.stdout),stderr:l(r.stderr)}},4494:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=!0,r=!0,n=!0,i=!0;class a{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null,this.updateContext=null}}const o=new Map;function l(e,t={}){t.keyword=e;const s=new a(e,t);return o.set(e,s),s}function c(e,t){return new a(e,{beforeExpr:s,binop:t})}const p={num:new a("num",{startsExpr:r}),bigint:new a("bigint",{startsExpr:r}),decimal:new a("decimal",{startsExpr:r}),regexp:new a("regexp",{startsExpr:r}),string:new a("string",{startsExpr:r}),name:new a("name",{startsExpr:r}),privateName:new a("#name",{startsExpr:r}),eof:new a("eof"),bracketL:new a("[",{beforeExpr:s,startsExpr:r}),bracketHashL:new a("#[",{beforeExpr:s,startsExpr:r}),bracketBarL:new a("[|",{beforeExpr:s,startsExpr:r}),bracketR:new a("]"),bracketBarR:new a("|]"),braceL:new a("{",{beforeExpr:s,startsExpr:r}),braceBarL:new a("{|",{beforeExpr:s,startsExpr:r}),braceHashL:new a("#{",{beforeExpr:s,startsExpr:r}),braceR:new a("}"),braceBarR:new a("|}"),parenL:new a("(",{beforeExpr:s,startsExpr:r}),parenR:new a(")"),comma:new a(",",{beforeExpr:s}),semi:new a(";",{beforeExpr:s}),colon:new a(":",{beforeExpr:s}),doubleColon:new a("::",{beforeExpr:s}),dot:new a("."),question:new a("?",{beforeExpr:s}),questionDot:new a("?."),arrow:new a("=>",{beforeExpr:s}),template:new a("template"),ellipsis:new a("...",{beforeExpr:s}),backQuote:new a("`",{startsExpr:r}),dollarBraceL:new a("${",{beforeExpr:s,startsExpr:r}),at:new a("@"),hash:new a("#",{startsExpr:r}),interpreterDirective:new a("#!..."),eq:new a("=",{beforeExpr:s,isAssign:!0}),assign:new a("_=",{beforeExpr:s,isAssign:!0}),incDec:new a("++/--",{prefix:i,postfix:!0,startsExpr:r}),bang:new a("!",{beforeExpr:s,prefix:i,startsExpr:r}),tilde:new a("~",{beforeExpr:s,prefix:i,startsExpr:r}),pipeline:c("|>",0),nullishCoalescing:c("??",1),logicalOR:c("||",1),logicalAND:c("&&",2),bitwiseOR:c("|",3),bitwiseXOR:c("^",4),bitwiseAND:c("&",5),equality:c("==/!=/===/!==",6),relational:c("/<=/>=",7),bitShift:c("<>/>>>",8),plusMin:new a("+/-",{beforeExpr:s,binop:9,prefix:i,startsExpr:r}),modulo:new a("%",{beforeExpr:s,binop:10,startsExpr:r}),star:new a("*",{binop:10}),slash:c("/",10),exponent:new a("**",{beforeExpr:s,binop:11,rightAssociative:!0}),_break:l("break"),_case:l("case",{beforeExpr:s}),_catch:l("catch"),_continue:l("continue"),_debugger:l("debugger"),_default:l("default",{beforeExpr:s}),_do:l("do",{isLoop:n,beforeExpr:s}),_else:l("else",{beforeExpr:s}),_finally:l("finally"),_for:l("for",{isLoop:n}),_function:l("function",{startsExpr:r}),_if:l("if"),_return:l("return",{beforeExpr:s}),_switch:l("switch"),_throw:l("throw",{beforeExpr:s,prefix:i,startsExpr:r}),_try:l("try"),_var:l("var"),_const:l("const"),_while:l("while",{isLoop:n}),_with:l("with"),_new:l("new",{beforeExpr:s,startsExpr:r}),_this:l("this",{startsExpr:r}),_super:l("super",{startsExpr:r}),_class:l("class",{startsExpr:r}),_extends:l("extends",{beforeExpr:s}),_export:l("export"),_import:l("import",{startsExpr:r}),_null:l("null",{startsExpr:r}),_true:l("true",{startsExpr:r}),_false:l("false",{startsExpr:r}),_in:l("in",{beforeExpr:s,binop:7}),_instanceof:l("instanceof",{beforeExpr:s,binop:7}),_typeof:l("typeof",{beforeExpr:s,prefix:i,startsExpr:r}),_void:l("void",{beforeExpr:s,prefix:i,startsExpr:r}),_delete:l("delete",{beforeExpr:s,prefix:i,startsExpr:r})},u=/\\r\\n?|[\\n\\u2028\\u2029]/,h=new RegExp(u.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}}class b{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]}}function T(e){return e[e.length-1]}class x extends b{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)}adjustCommentsAfterTrailingComma(e,t,s){if(0===this.state.leadingComments.length)return;let r=null,n=t.length;for(;null===r&&n>0;)r=t[--n];if(null===r)return;for(let e=0;e0?r.trailingComments=i:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let s,r,n,i,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(n=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const s=T(t);s.trailingComments&&s.trailingComments[0].start>=e.end&&(n=s.trailingComments,delete s.trailingComments)}for(t.length>0&&T(t).start>=e.start&&(s=t.pop());t.length>0&&T(t).start>=e.start;)r=t.pop();if(!r&&s&&(r=s),s)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&&T(r.leadingComments).end<=e.start)e.leadingComments=r.leadingComments,delete r.leadingComments;else for(i=r.leadingComments.length-2;i>=0;--i)if(r.leadingComments[i].end<=e.start){e.leadingComments=r.leadingComments.splice(0,i+1);break}}else if(this.state.leadingComments.length>0)if(T(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(i=0;ie.start);i++);const t=this.state.leadingComments.slice(0,i);t.length&&(e.leadingComments=t),n=this.state.leadingComments.slice(i),0===n.length&&(n=null)}if(this.state.commentPreviousNode=e,n)if(n.length&&n[0].start>=e.start&&T(n).end<=e.end)e.innerComments=n;else{const t=n.findIndex((t=>t.end>=e.end));t>0?(e.innerComments=n.slice(0,t),e.trailingComments=n.slice(t)):e.trailingComments=n}t.push(e)}}const P=Object.freeze({SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"}),S=A({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:"A \'get\' accesor must not have any formal parameters.",BadSetterArity:"A \'set\' accesor must have exactly one formal parameter.",BadSetterRestParameter:"A \'set\' accesor 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.",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.",ForOfAsync:"The left-hand side of a for-of loop may not be \'async\'.",ForOfLet:"The left-hand side of a for-of loop may not start with \'let\'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:"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()`.",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.",OverrideOnConstructor:"\'override\' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can\'t contain getter or setter.",PatternHasMethod:"Object pattern can\'t contain methods.",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 or class properties.",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."},P.SyntaxError),E=A({ImportMetaOutsideModule:"import.meta may appear only with \'sourceType: \\"module\\"\'",ImportOutsideModule:"\'import\' and \'export\' may appear only with \'sourceType: \\"module\\"\'"},P.SourceTypeModuleError);function A(e,t){const s={};return Object.keys(e).forEach((r=>{s[r]=Object.freeze({code:t,reasonCode:r,template:e[r]})})),Object.freeze(s)}class v extends x{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 s,r=1,n=0;for(h.lastIndex=0;(s=h.exec(e))&&s.indexr[t]))+` (${n.line}:${n.column})`;if(this.options.errorRecovery){const t=this.state.errors;for(let s=t.length-1;s>=0;s--){const r=t[s];if(r.pos===e)return Object.assign(r,{message:i});if(r.posr[t]))+` (${n.line}:${n.column})`;return this._raise(Object.assign({loc:n,pos:e},t),i)}_raise(e,t){const s=new SyntaxError(t);if(Object.assign(s,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}class w{constructor(e,t,s,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=!!s,this.override=r}}const C={braceStatement:new w("{",!1),braceExpression:new w("{",!0),recordExpression:new w("#{",!0),templateQuasi:new w("${",!1),parenStatement:new w("(",!1),parenExpression:new w("(",!0),template:new w("`",!0,!0,(e=>e.readTmplToken())),functionExpression:new w("function",!0),functionStatement:new w("function",!1)};p.parenR.updateContext=p.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let e=this.state.context.pop();e===C.braceStatement&&"function"===this.curContext().token&&(e=this.state.context.pop()),this.state.exprAllowed=!e.isExpr},p.name.updateContext=function(e){let t=!1;e!==p.dot&&("of"!==this.state.value||this.state.exprAllowed||e===p._function||e===p._class||(t=!0)),this.state.exprAllowed=t},p.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?C.braceStatement:C.braceExpression),this.state.exprAllowed=!0},p.dollarBraceL.updateContext=function(){this.state.context.push(C.templateQuasi),this.state.exprAllowed=!0},p.parenL.updateContext=function(e){const t=e===p._if||e===p._for||e===p._with||e===p._while;this.state.context.push(t?C.parenStatement:C.parenExpression),this.state.exprAllowed=!0},p.incDec.updateContext=function(){},p._function.updateContext=p._class.updateContext=function(e){!e.beforeExpr||e===p.semi||e===p._else||e===p._return&&this.hasPrecedingLineBreak()||(e===p.colon||e===p.braceL)&&this.curContext()===C.b_stat?this.state.context.push(C.functionStatement):this.state.context.push(C.functionExpression),this.state.exprAllowed=!1},p.backQuote.updateContext=function(){this.curContext()===C.template?this.state.context.pop():this.state.context.push(C.template),this.state.exprAllowed=!1},p.braceHashL.updateContext=function(){this.state.context.push(C.recordExpression),this.state.exprAllowed=!0};let I="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",O="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const N=new RegExp("["+I+"]"),k=new RegExp("["+I+O+"]");I=O=null;const L=[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],D=[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 M(e,t){let s=65536;for(let r=0,n=t.length;re)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function _(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&N.test(String.fromCharCode(e)):M(e,L)))}function j(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&k.test(String.fromCharCode(e)):M(e,L)||M(e,D))))}const R=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"]),B=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),F=new Set(["eval","arguments"]);function U(e,t){return t&&"await"===e||"enum"===e}function V(e,t){return U(e,t)||B.has(e)}function q(e){return F.has(e)}function K(e,t){return V(e,t)||q(e)}function W(e){return R.has(e)}const H=/^in(stanceof)?$/;class Y{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 Y(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,s){let r=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(r,e,t,s),16&t?r.functions.push(e):r.lexical.push(e),8&t&&this.maybeExportDefined(r,e);else if(4&t)for(let n=this.scopeStack.length-1;n>=0&&(r=this.scopeStack[n],this.checkRedeclarationInScope(r,e,t,s),r.var.push(e),this.maybeExportDefined(r,e),!(259&r.flags));--n);this.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,s,r){this.isRedeclaredInScope(e,t,s)&&this.raise(r,S.VarRedeclaration,t)}isRedeclaredInScope(e,t,s){return!!(1&s)&&(8&s?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:16&s?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 X extends Y{constructor(...e){super(...e),this.declareFunctions=[]}}class G extends J{createScope(e){return new X(e)}declareName(e,t,s){const r=this.currentScope();if(2048&t)return this.checkRedeclarationInScope(r,e,t,s),this.maybeExportDefined(r,e),void r.declareFunctions.push(e);super.declareName(...arguments)}isRedeclaredInScope(e,t,s){return!!super.isRedeclaredInScope(...arguments)||!!(2048&s)&&!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 z=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),$=A({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."},P.SyntaxError);function Q(e){return"type"===e.importKind||"typeof"===e.importKind}function Z(e){return(e.type===p.name||!!e.type.keyword)&&"from"!==e.value}const ee={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"},te=/\\*?\\s*@((?:no)?flow)\\b/,se={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]+$/,ne=/^\\d+$/,ie=A({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>.",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",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 <>...?"},P.SyntaxError);function ae(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function oe(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return oe(e.object)+"."+oe(e.property);throw new Error("Node had unexpected type: "+e.type)}C.j_oTag=new w("...",!0,!0),p.jsxName=new a("jsxName"),p.jsxText=new a("jsxText",{beforeExpr:!0}),p.jsxTagStart=new a("jsxTagStart",{startsExpr:!0}),p.jsxTagEnd=new a("jsxTagEnd"),p.jsxTagStart.updateContext=function(){this.state.context.push(C.j_expr),this.state.context.push(C.j_oTag),this.state.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){const t=this.state.context.pop();t===C.j_oTag&&e===p.slash||t===C.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===C.j_expr):this.state.exprAllowed=!0};class le extends Y{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class ce extends J{createScope(e){return new le(e)}declareName(e,t,s){const r=this.currentScope();if(1024&t)return this.maybeExportDefined(r,e),void r.exportOnlyBindings.push(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,s),this.maybeExportDefined(r,e)),r.types.push(e)),256&t&&r.enums.push(e),512&t&&r.constEnums.push(e),128&t&&r.classes.push(e)}isRedeclaredInScope(e,t,s){return e.enums.indexOf(t)>-1?!(256&s)||!!(512&s)!=e.constEnums.indexOf(t)>-1:128&s&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(1&s):!!(2&s&&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 pe{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 ue(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=A({AbstractMethodHasImplementation:"Method \'%0\' cannot have an implementation because it is marked abstract.",AccesorCannotDeclareThisParameter:"\'get\' and \'set\' accessors cannot declare \'this\' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",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.",DeclareAccessor:"\'declare\' is not allowed in %0ters.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:"Accessibility modifier already seen.",DuplicateModifier:"Duplicate modifier: \'%0\'.",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.",ImportAliasHasImportType:"An import alias can not use \'import type\'.",IncompatibleModifiers:"\'%0\' modifier cannot be used with \'%1\' modifier.",IndexSignatureHasAbstract:"Index signatures cannot have the \'abstract\' modifier.",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier (\'%0\').",IndexSignatureHasDeclare:"Index signatures cannot have the \'declare\' modifier.",IndexSignatureHasOverride:"\'override\' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the \'static\' modifier.",InvalidModifierOnTypeMember:"\'%0\' modifier cannot appear on a type member.",InvalidModifiersOrder:"\'%0\' modifier must precede \'%1\' modifier.",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.",OverrideNotInSubClass:"This member cannot have an \'override\' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the \'abstract\' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier (\'%0\').",ReadonlyForMethodSignature:"\'readonly\' modifier can only appear on a property declaration or index signature.",SetAccesorCannotHaveOptionalParameter:"A \'set\' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A \'set\' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A \'set\' accessor cannot have a return type annotation.",StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",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."},P.SyntaxError);function me(e){return"private"===e||"public"===e||"protected"===e}p.placeholder=new a("%%",{startsExpr:!0});const ye=A({ClassNameIsRequired:"A class name is required."},P.SyntaxError);function ge(e,t){return e.some((e=>Array.isArray(e)?e[0]===t:e===t))}function be(e,t,s){const r=e.find((e=>Array.isArray(e)?e[0]===t:e===t));return r&&Array.isArray(r)?r[1][s]:null}const Te=["minimal","smart","fsharp"],xe=["hash","bar"],Pe={estree:e=>class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let s=null;try{s=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(s);return r.regex={pattern:e,flags:t},r}estreeParseBigIntLiteral(e){let t;try{t=BigInt(e)}catch(e){t=null}const s=this.estreeParseLiteral(t);return s.bigint=String(s.value||e),s}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,s=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,s.expression=this.finishNodeAt(r,"Literal",t.end,t.loc.end),s.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(s,"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),s=e.expression.value;return this.addExtra(t.value,"expressionValue",s),t}parseBlockBody(e,...t){super.parseBlockBody(e,...t);const s=e.directives.map((e=>this.directiveToStmt(e)));e.body=s.concat(e.body),delete e.directives}pushClassMethod(e,t,s,r,n,i){this.parseMethod(t,s,r,n,i,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseExprAtom(e){switch(this.state.type){case p.num:case p.string:return this.estreeParseLiteral(this.state.value);case p.regexp:return this.estreeParseRegExpLiteral(this.state.value);case p.bigint:return this.estreeParseBigIntLiteral(this.state.value);case p.decimal:return this.estreeParseDecimalLiteral(this.state.value);case p._null:return this.estreeParseLiteral(null);case p._true:return this.estreeParseLiteral(!0);case p._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.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,s,r){const n=super.parseLiteral(e,t,s,r);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,s=!1){super.parseFunctionBody(e,t,s),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,s,r,n,i,a=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,s,r,n,i,a),o.type="FunctionExpression",delete o.kind,e.value=o,"ClassPrivateMethod"===i&&(e.computed=!1),i="MethodDefinition",this.finishNode(e,i)}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,s,r,n){const i=super.parseObjectMethod(e,t,s,r,n);return i&&(i.type="Property","method"===i.kind&&(i.kind="init"),i.shorthand=!1),i}parseObjectProperty(e,t,s,r,n){const i=super.parseObjectProperty(e,t,s,r,n);return i&&(i.kind="init",i.type="Property"),i}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,S.PatternHasAccessor):e.method?this.raise(e.key.start,S.PatternHasMethod):super.toAssignableObjectExpressionProp(e,...t)}finishCallExpression(e,t){var s;(super.finishCallExpression(e,t),"Import"===e.callee.type)&&(e.type="ImportExpression",e.source=e.arguments[0],this.hasPlugin("importAssertions")&&(e.attributes=null!=(s=e.arguments[1])?s:null),delete e.arguments,delete e.callee);return 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,s,r,n){const i=super.parseSubscript(e,t,s,r,n);if(n.optionalChainMember){if("OptionalMemberExpression"!==i.type&&"OptionalCallExpression"!==i.type||(i.type=i.type.substring(8)),n.stop){const e=this.startNodeAtNode(i);return e.expression=i,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==i.type&&"CallExpression"!==i.type||(i.optional=!1);return i}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,ie.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(p.jsxTagStart)):super.getTokenFromCode(s):(e+=this.input.slice(t,this.state.pos),this.finishToken(p.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:d(s)?(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 s;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=e?"\\n":"\\r\\n"):s=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,S.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadEntity(),s=this.state.pos):d(r)?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return t+=this.input.slice(s,this.state.pos++),this.finishToken(p.string,t)}jsxReadEntity(){let e,t="",s=0,r=this.input[this.state.pos];const n=++this.state.pos;for(;this.state.posclass extends e{constructor(...e){super(...e),this.flowPragma=void 0}getScopeHandler(){return G}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==p.string&&e!==p.semi&&e!==p.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"}}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||p.colon);const s=this.flowParseType();return this.state.inType=t,s}flowParsePredicate(){const e=this.startNode(),t=this.state.start;return this.next(),this.expectContextual("checks"),this.state.lastTokStart>t+1&&this.raise(t,$.UnexpectedSpaceBetweenModuloChecks),this.eat(p.parenL)?(e.value=this.parseExpression(),this.expect(p.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(p.colon);let t=null,s=null;return this.match(p.modulo)?(this.state.inType=e,s=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(p.modulo)&&(s=this.flowParsePredicate())),[t,s]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(p.parenL);const n=this.flowParseFunctionTypeParams();return s.params=n.params,s.rest=n.rest,s.this=n._this,this.expect(p.parenR),[s.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"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(p._class))return this.flowParseDeclareClass(e);if(this.match(p._function))return this.flowParseDeclareFunction(e);if(this.match(p._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(p.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,$.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(p._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(p.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),s=t.body=[];for(this.expect(p.braceL);!this.match(p.braceR);){let e=this.startNode();this.match(p._import)?(this.next(),this.isContextual("type")||this.match(p._typeof)||this.raise(this.state.lastTokStart,$.InvalidNonTypeImportInDeclareModule),this.parseImport(e)):(this.expectContextual("declare",$.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),s.push(e)}this.scope.exit(),this.expect(p.braceR),this.finishNode(t,"BlockStatement");let r=null,n=!1;return s.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&&(n&&this.raise(e.start,$.DuplicateDeclareModuleExports),"ES"===r&&this.raise(e.start,$.AmbiguousDeclareModuleKind),r="CommonJS",n=!0):("CommonJS"===r&&this.raise(e.start,$.AmbiguousDeclareModuleKind),r="ES")})),e.kind=r||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(p._export),this.eat(p._default))return this.match(p._function)||this.match(p._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(p._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=ee[e];throw this.raise(this.state.start,$.UnsupportedDeclareExportKind,e,t)}if(this.match(p._var)||this.match(p._function)||this.match(p._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(p.star)||this.match(p.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(p._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(p.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(p.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(p.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,$.UnexpectedReservedUnderscore)}checkReservedType(e,t,s){z.has(e)&&this.raise(t,s?$.AssignReservedType:$.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(p.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(p.colon)&&(e.supertype=this.flowParseTypeInitialiser(p.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(p.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,s=this.startNode(),r=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return s.name=n.name,s.variance=r,s.bound=n.typeAnnotation,this.match(p.eq)?(this.eat(p.eq),s.default=this.flowParseType()):e&&this.raise(t,$.MissingTypeParamDefault),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(p.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const e=this.flowParseTypeParameter(s);t.params.push(e),e.default&&(s=!0),this.isRelational(">")||this.expect(p.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 s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(p.comma);return this.state.noAnonFunctionType=s,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(p.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(p._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(p.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(p.num)||this.match(p.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,s){return e.static=t,this.lookahead().type===p.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(p.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=s,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(p.bracketR),this.expect(p.bracketR),this.isRelational("<")||this.match(p.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(p.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(p.parenL),this.match(p._this)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(p.parenR)||this.expect(p.comma));!this.match(p.parenR)&&!this.match(p.ellipsis);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(p.parenR)||this.expect(p.comma);return this.eat(p.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(p.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const s=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(s),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:s,allowProto:r,allowInexact:n}){const i=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,l;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let c=!1;for(t&&this.match(p.braceBarL)?(this.expect(p.braceBarL),o=p.braceBarR,l=!0):(this.expect(p.braceL),o=p.braceR,l=!1),a.exact=l;!this.match(o);){let t=!1,i=null,o=null;const u=this.startNode();if(r&&this.isContextual("proto")){const t=this.lookahead();t.type!==p.colon&&t.type!==p.question&&(this.next(),i=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==p.colon&&e.type!==p.question&&(this.next(),t=!0)}const h=this.flowParseVariance();if(this.eat(p.bracketL))null!=i&&this.unexpected(i),this.eat(p.bracketL)?(h&&this.unexpected(h.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):a.indexers.push(this.flowParseObjectTypeIndexer(u,t,h));else if(this.match(p.parenL)||this.isRelational("<"))null!=i&&this.unexpected(i),h&&this.unexpected(h.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==p.name&&t.type!==p.string&&t.type!==p.num||(e=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(u,t,i,h,e,s,null!=n?n:!l);null===r?(c=!0,o=this.state.lastTokStart):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(p.braceR)||this.match(p.braceBarR)||this.raise(o,$.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(a.inexact=c);const u=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=i,u}flowParseObjectTypeProperty(e,t,s,r,n,i,a){if(this.eat(p.ellipsis))return this.match(p.comma)||this.match(p.semi)||this.match(p.braceR)||this.match(p.braceBarR)?(i?a||this.raise(this.state.lastTokStart,$.InexactInsideExact):this.raise(this.state.lastTokStart,$.InexactInsideNonObject),r&&this.raise(r.start,$.InexactVariance),null):(i||this.raise(this.state.lastTokStart,$.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,$.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=s,e.kind=n;let a=!1;return this.isRelational("<")||this.match(p.parenL)?(e.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==n&&"set"!==n||this.flowCheckGetterSetterParams(e),!i&&"constructor"===e.key.name&&e.value.this&&this.raise(e.value.this.start,$.ThisParamBannedInConstructor)):("init"!==n&&this.unexpected(),e.method=!1,this.eat(p.question)&&(a=!0),e.value=this.flowParseTypeInitialiser(),e.variance=r),e.optional=a,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,s=e.start,r=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.value.this.start,"get"===e.kind?$.GetterMayNotHaveThisParam:$.SetterMayNotHaveThisParam),r!==t&&("get"===e.kind?this.raise(s,S.BadGetterArity):this.raise(s,S.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(s,S.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(p.semi)||this.eat(p.comma)||this.match(p.braceR)||this.match(p.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,s){e=e||this.state.start,t=t||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(p.dot);){const s=this.startNodeAt(e,t);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(e,t,s){const r=this.startNodeAt(e,t);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(e,t,s),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(p._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(p.bracketL);this.state.possuper.parseFunctionBody(e,!0,s))):super.parseFunctionBody(e,!1,s)}parseFunctionBodyAndFinish(e,t,s=!1){if(this.match(p.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,s)}parseStatement(e,t){if(this.state.strict&&this.match(p.name)&&"interface"===this.state.value){const e=this.lookahead();if(e.type===p.name||W(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 s=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(p._class)||this.match(p.name)||this.match(p._function)||this.match(p._var)||this.match(p._export))return this.flowParseDeclare(e)}else if(this.match(p.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(p.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,s,r){if(!this.match(p.question))return e;if(r){const n=this.tryParse((()=>super.parseConditional(e,t,s)));return n.node?(n.error&&(this.state=n.failState),n.node):(r.start=n.error.pos||this.state.start,e)}this.expect(p.question);const n=this.state.clone(),i=this.state.noArrowAt,a=this.startNodeAt(t,s);let{consequent:o,failed:l}=this.tryParseConditionalConsequent(),[c,u]=this.getArrowLikeExpressions(o);if(l||u.length>0){const e=[...i];if(u.length>0){this.state=n,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(n.start,$.AmbiguousConditionalArrow),l&&1===c.length&&(this.state=n,this.state.noArrowAt=e.concat(c[0].start),({consequent:o,failed:l}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=i,this.expect(p.colon),a.test=e,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(p.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const s=[e],r=[];for(;0!==s.length;){const e=s.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):r.push(e),s.push(e.body)):"ConditionalExpression"===e.type&&(s.push(e.consequent),s.push(e.alternate))}return t?(r.forEach((e=>this.finishArrowValidation(e))),[r,[]]):function(e,t){const s=[],r=[];for(let n=0;ne.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 s;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=t(),this.state.noArrowParamsConversionAt.pop()):s=t(),s}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(p.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(p.colon)){const r=this.startNodeAt(t,s);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(p.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!==p.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,s=super.maybeParseExportNamespaceSpecifier(e);return s&&"type"===e.exportKind&&this.unexpected(t),s}parseClassId(e,t,s){super.parseClassId(e,t,s),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,s){const r=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,s),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(r,$.DeclareClassElement):t.value&&this.raise(t.value.start,$.DeclareClassFieldInitializer))}isIterator(e){return"iterator"===e||"asyncIterator"===e}readIterator(){const e=super.readWord1(),t="@@"+e;this.isIterator(e)&&this.state.inType||this.raise(this.state.pos,S.InvalidIdentifier,t),this.finishToken(p.name,t)}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(p.braceBarL,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?46===t?this.finishOp(p.questionDot,2):this.finishOp(p.question,1):function(e,t){return 64===e&&64===t}(e,t)?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e):this.finishOp(p.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,s)=>"ObjectMethod"!==e.type&&(s===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,s){for(let t=0;t1)&&t||this.raise(n.typeAnnotation.start,$.TypeCastInPattern)}return e}parseArrayLike(e,t,s,r){const n=super.parseArrayLike(e,t,s,r);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}checkLVal(e,...t){if("TypeCastExpression"!==e.type)return super.checkLVal(e,...t)}parseClassProperty(e){return this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(p.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(p.colon)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,s,r,n,i){if(t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,s,r,n,i),t.params&&n){const e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,$.ThisParamBannedInConstructor)}else if("MethodDefinition"===t.type&&n&&t.value.params){const e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,$.ThisParamBannedInConstructor)}}pushClassPrivateMethod(e,t,s,r){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,s,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(p.comma))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);const t=this.getObjectOrClassMethodParams(e);if(t.length>0){const s=t[0];this.isThisParam(s)&&"get"===e.kind?this.raise(s.start,$.GetterMayNotHaveThisParam):this.isThisParam(s)&&this.raise(s.start,$.SetterMayNotHaveThisParam)}}parsePropertyName(e,t){const s=this.flowParseVariance(),r=super.parsePropertyName(e,t);return e.variance=s,r}parseObjPropValue(e,t,s,r,n,i,a,o){let l;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!a&&(l=this.flowParseTypeParameterDeclaration(),this.match(p.parenL)||this.unexpected()),super.parseObjPropValue(e,t,s,r,n,i,a,o),l&&((e.value||e).typeParameters=l)}parseAssignableListItemTypes(e){return this.eat(p.question)&&("Identifier"!==e.type&&this.raise(e.start,$.OptionalBindingPattern),this.isThisParam(e)&&this.raise(e.start,$.ThisParamMayNotBeOptional),e.optional=!0),this.match(p.colon)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(e.start,$.ThisParamAnnotationRequired),this.match(p.eq)&&this.isThisParam(e)&&this.raise(e.start,$.ThisParamNoDefault),this.resetEndLocation(e),e}parseMaybeDefault(e,t,s){const r=super.parseMaybeDefault(e,t,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(e,t,s)),i),!n.error)return n.node;const{context:r}=this.state;r[r.length-1]===C.j_oTag?r.length-=2:r[r.length-1]===C.j_expr&&(r.length-=1)}if(null!=(r=n)&&r.error||this.isRelational("<")){var a,o;let r;i=i||this.state.clone();const l=this.tryParse((n=>{var i;r=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(r,(()=>{const n=super.parseMaybeAssign(e,t,s);return this.resetStartLocationFromNode(n,r),n}));"ArrowFunctionExpression"!==a.type&&null!=(i=a.extra)&&i.parenthesized&&n();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),a}),i);let c=null;if(l.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(l.node).type){if(!l.error&&!l.aborted)return l.node.async&&this.raise(r.start,$.UnexpectedTypeParameterBeforeAsyncArrowFunction),l.node;c=l.node}if(null!=(a=n)&&a.node)return this.state=n.failState,n.node;if(c)return this.state=l.failState,c;if(null!=(o=n)&&o.thrown)throw n.error;if(l.thrown)throw l.error;throw this.raise(r.start,$.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,s)}parseArrow(e){if(this.match(p.colon)){const t=this.tryParse((()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(p.arrow)||this.unexpected(),s}));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(p.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(e.start)){for(let t=0;t0&&this.raise(e.params[t].start,$.ThisParamMustBeFirst);return super.checkParams(...arguments)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,s,r){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const r=this.startNodeAt(t,s);r.callee=e,r.arguments=this.parseCallExpressionArguments(p.parenR,!1),e=this.finishNode(r,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const n=this.state.clone(),i=this.tryParse((e=>this.parseAsyncArrowWithTypeParameters(t,s)||e()),n);if(!i.error&&!i.aborted)return i.node;const a=this.tryParse((()=>super.parseSubscripts(e,t,s,r)),n);if(a.node&&!a.error)return a.node;if(i.node)return this.state=i.failState,i.node;if(a.node)return this.state=a.failState,a.node;throw i.error||a.error}return super.parseSubscripts(e,t,s,r)}parseSubscript(e,t,s,r,n){if(this.match(p.questionDot)&&this.isLookaheadToken_lt()){if(n.optionalChainMember=!0,r)return n.stop=!0,e;this.next();const i=this.startNodeAt(t,s);return i.callee=e,i.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(p.parenL),i.arguments=this.parseCallExpressionArguments(p.parenR,!1),i.optional=!0,this.finishCallExpression(i,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(t,s);r.callee=e;const i=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(p.parenL),r.arguments=this.parseCallExpressionArguments(p.parenR,!1),n.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,n.optionalChainMember))));if(i.node)return i.error&&(this.state=i.failState),i.node}return super.parseSubscript(e,t,s,r,n)}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 s=this.startNodeAt(e,t);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,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(p.braceBarR,2)}parseTopLevel(e,t){const s=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,$.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,$.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,S.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 s=this.input.charCodeAt(t+e),r=this.input.charCodeAt(t+e+1);return 58===s&&58===r?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===s&&58!==r&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,S.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,$.EnumBooleanMemberNotInitialized,s,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(e,$.EnumInvalidMemberName,s,r,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:s}){this.raise(e,$.EnumDuplicateMemberName,s,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,$.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:s}){return this.raise(e,null===s?$.EnumInvalidExplicitTypeUnknownSupplied:$.EnumInvalidExplicitType,t,s)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:s,memberName:r}){let n=null;switch(s){case"boolean":case"number":case"string":n=$.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":n=$.EnumInvalidMemberInitializerSymbolType;break;default:n=$.EnumInvalidMemberInitializerUnknownType}return this.raise(e,n,t,r,s)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,$.EnumNumberMemberNotInitialized,t,s)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,$.EnumStringMemberInconsistentlyInitailized,t)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(p.comma)||this.match(p.braceR);switch(this.state.type){case p.num:{const s=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:s.start,value:s}:{type:"invalid",pos:e}}case p.string:{const s=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:s.start,value:s}:{type:"invalid",pos:e}}case p._true:case p._false:{const s=this.parseBooleanLiteral();return t()?{type:"boolean",pos:s.start,value:s}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(p.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,s){const{explicitType:r}=t;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let n=!1;for(;!this.match(p.braceR);){if(this.eat(p.ellipsis)){n=!0;break}const i=this.startNode(),{id:a,init:o}=this.flowEnumMemberRaw(),l=a.name;if(""===l)continue;/^[a-z]/.test(l)&&this.flowEnumErrorInvalidMemberName(a.start,{enumName:e,memberName:l}),s.has(l)&&this.flowEnumErrorDuplicateMemberName(a.start,{enumName:e,memberName:l}),s.add(l);const c={enumName:e,explicitType:t,memberName:l};switch(i.id=a,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"boolean"),i.init=o.value,r.booleanMembers.push(this.finishNode(i,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"number"),i.init=o.value,r.numberMembers.push(this.finishNode(i,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"string"),i.init=o.value,r.stringMembers.push(this.finishNode(i,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.pos,c);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.pos,c);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.pos,c);break;default:r.defaultedMembers.push(this.finishNode(i,"EnumDefaultedMember"))}}this.match(p.braceR)||this.expect(p.comma)}return{members:r,hasUnknownMembers:n}}flowEnumStringMembers(e,t,{enumName:s}){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:s});return t}for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitailized(e.start,{enumName:s});return e}flowEnumParseExplicitType({enumName:e}){if(this.eatContextual("of")){if(!this.match(p.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:s}){const r=this.flowEnumParseExplicitType({enumName:t});this.expect(p.braceL);const{members:n,hasUnknownMembers:i}=this.flowEnumMembers({enumName:t,explicitType:r});switch(e.hasUnknownMembers=i,r){case"boolean":return e.explicitType=!0,e.members=n.booleanMembers,this.expect(p.braceR),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=n.numberMembers,this.expect(p.braceR),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(n.stringMembers,n.defaultedMembers,{enumName:t}),this.expect(p.braceR),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=n.defaultedMembers,this.expect(p.braceR),this.finishNode(e,"EnumSymbolBody");default:{const r=()=>(e.members=[],this.expect(p.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const i=n.booleanMembers.length,a=n.numberMembers.length,o=n.stringMembers.length,l=n.defaultedMembers.length;if(i||a||o||l){if(i||a){if(!a&&!o&&i>=l){for(const e of n.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=n.booleanMembers,this.expect(p.braceR),this.finishNode(e,"EnumBooleanBody")}if(!i&&!o&&a>=l){for(const e of n.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=n.numberMembers,this.expect(p.braceR),this.finishNode(e,"EnumNumberBody")}return this.flowEnumErrorInconsistentMemberValues(s,{enumName:t}),r()}return e.members=this.flowEnumStringMembers(n.stringMembers,n.defaultedMembers,{enumName:t}),this.expect(p.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(p.name)&&"of"===this.state.value&&e===p.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 ce}tsIsIdentifier(){return this.match(p.name)}tsTokenCanFollowModifier(){return(this.match(p.bracketL)||this.match(p.braceL)||this.match(p.star)||this.match(p.ellipsis)||this.match(p.privateName)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(e){if(!this.match(p.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e,t,s,r){const n=(t,s,r,n)=>{s===r&&e[n]&&this.raise(t,fe.InvalidModifiersOrder,r,n)},i=(t,s,r,n)=>{(e[r]&&s===n||e[n]&&s===r)&&this.raise(t,fe.IncompatibleModifiers,r,n)};for(;;){const a=this.state.start,o=this.tsParseModifier(t.concat(null!=s?s:[]));if(!o)break;me(o)?e.accessibility?this.raise(a,fe.DuplicateAccessibilityModifier):(n(a,o,o,"override"),n(a,o,o,"static"),e.accessibility=o):(Object.hasOwnProperty.call(e,o)?this.raise(a,fe.DuplicateModifier,o):(n(a,o,"static","readonly"),n(a,o,"static","override"),n(a,o,"override","readonly"),n(a,o,"abstract","override"),i(a,o,"declare","override"),i(a,o,"static","abstract")),e[o]=!0),null!=s&&s.includes(o)&&this.raise(a,r,o)}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(p.braceR);case"HeritageClauseElement":return this.match(p.braceL);case"TupleElementTypes":return this.match(p.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const s=[];for(;!this.tsIsListTerminator(e);)s.push(t());return s}tsParseDelimitedList(e,t){return he(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,s){const r=[];for(;!this.tsIsListTerminator(e);){const n=t();if(null==n)return;if(r.push(n),!this.eat(p.comma)){if(this.tsIsListTerminator(e))break;return void(s&&this.expect(p.comma))}}return r}tsParseBracketedList(e,t,s,r){r||(s?this.expect(p.bracketL):this.expectRelational("<"));const n=this.tsParseDelimitedList(e,t);return s?this.expect(p.bracketR):this.expectRelational(">"),n}tsParseImportType(){const e=this.startNode();return this.expect(p._import),this.expect(p.parenL),this.match(p.string)||this.raise(this.state.start,fe.UnsupportedImportTypeArgument),e.argument=this.parseExprAtom(),this.expect(p.parenR),this.eat(p.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(p.dot);){const s=this.startNodeAtNode(t);s.left=t,s.right=this.parseIdentifier(e),t=this.finishNode(s,"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(p._typeof),this.match(p._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(p._extends),e.default=this.tsEatThenParseType(p.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(p.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===p._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const s=e===p.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(p.parenL),t.parameters=this.tsParseBindingListForSignature(),(s||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(p.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(p.comma)||this.isLineTerminator()||this.expect(p.semi)}tsParseSignatureMember(e,t){return this.tsFillSignature(p.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(p.name)&&this.match(p.colon)}tsTryParseIndexSignature(e){if(!this.match(p.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(p.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(p.bracketR),e.parameters=[t];const s=this.tsTryParseTypeAnnotation();return s&&(e.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(p.question)&&(e.optional=!0);const s=e;if(this.match(p.parenL)||this.isRelational("<")){t&&this.raise(e.start,fe.ReadonlyForMethodSignature);const r=s;if(r.kind&&this.isRelational("<")&&this.raise(this.state.pos,fe.AccesorCannotHaveTypeParameters),this.tsFillSignature(p.colon,r),this.tsParseTypeMemberSemicolon(),"get"===r.kind)r.parameters.length>0&&(this.raise(this.state.pos,S.BadGetterArity),this.isThisParam(r.parameters[0])&&this.raise(this.state.pos,fe.AccesorCannotDeclareThisParameter));else if("set"===r.kind){if(1!==r.parameters.length)this.raise(this.state.pos,S.BadSetterArity);else{const e=r.parameters[0];this.isThisParam(e)&&this.raise(this.state.pos,fe.AccesorCannotDeclareThisParameter),"Identifier"===e.type&&e.optional&&this.raise(this.state.pos,fe.SetAccesorCannotHaveOptionalParameter),"RestElement"===e.type&&this.raise(this.state.pos,fe.SetAccesorCannotHaveRestParameter)}r.typeAnnotation&&this.raise(r.typeAnnotation.start,fe.SetAccesorCannotHaveReturnType)}else r.kind="method";return this.finishNode(r,"TSMethodSignature")}{const e=s;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(p.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(p._new)){const t=this.startNode();return this.next(),this.match(p.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","override"],fe.InvalidModifierOnTypeMember);return this.tsTryParseIndexSignature(e)||(this.parsePropertyName(e,!1),e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,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(p.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(p.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(p.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(p.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(p._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(p._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(p.braceL),this.match(p.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(p.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(p.bracketR),this.match(p.plusMin)?(e.optional=this.state.value,this.next(),this.expect(p.question)):this.eat(p.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(p.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,s=null;return e.elementTypes.forEach((e=>{var r;let{type:n}=e;!t||"TSRestType"===n||"TSOptionalType"===n||"TSNamedTupleMember"===n&&e.optional||this.raise(e.start,fe.OptionalTypeBeforeRequired),t=t||"TSNamedTupleMember"===n&&e.optional||"TSOptionalType"===n,"TSRestType"===n&&(n=(e=e.typeAnnotation).type);const i="TSNamedTupleMember"===n;s=null!=(r=s)?r:i,s!==i&&this.raise(e.start,fe.MixedLabeledAndUnlabeledElements)})),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,s=this.eat(p.ellipsis);let r=this.tsParseType();const n=this.eat(p.question);if(this.eat(p.colon)){const e=this.startNodeAtNode(r);e.optional=n,"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(n){const e=this.startNodeAtNode(r);e.typeAnnotation=r,r=this.finishNode(e,"TSOptionalType")}if(s){const s=this.startNodeAt(e,t);s.typeAnnotation=r,r=this.finishNode(s,"TSRestType")}return r}tsParseParenthesizedType(){const e=this.startNode();return this.expect(p.parenL),e.typeAnnotation=this.tsParseType(),this.expect(p.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){const s=this.startNode();return"TSConstructorType"===e&&(s.abstract=!!t,t&&this.next(),this.next()),this.tsFillSignature(p.arrow,s),this.finishNode(s,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case p.num:case p.bigint:case p.string:case p._true:case p._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 p.name:case p._void:case p._null:{const e=this.match(p._void)?"TSVoidKeyword":this.match(p._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 p.string:case p.num:case p.bigint:case p._true:case p._false:return this.tsParseLiteralTypeNode();case p.plusMin:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();if(t.type!==p.num&&t.type!==p.bigint)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case p._this:return this.tsParseThisTypeOrThisTypePredicate();case p._typeof:return this.tsParseTypeQuery();case p._import:return this.tsParseImportType();case p.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case p.bracketL:return this.tsParseTupleType();case p.parenL:return this.tsParseParenthesizedType();case p.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(p.bracketL);)if(this.match(p.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(p.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(p.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,s){const r=this.startNode(),n=this.eat(s),i=[];do{i.push(t())}while(this.eat(s));return 1!==i.length||n?(r.types=i,this.finishNode(r,e)):i[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),p.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),p.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(p.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(p.name)||this.match(p._this))return this.next(),!0;if(this.match(p.braceL)){let e=1;for(this.next();e>0;)this.match(p.braceL)?++e:this.match(p.braceR)&&--e,this.next();return!0}if(this.match(p.bracketL)){let e=1;for(this.next();e>0;)this.match(p.bracketL)?++e:this.match(p.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(p.parenR)||this.match(p.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(p.colon)||this.match(p.comma)||this.match(p.question)||this.match(p.eq))return!0;if(this.match(p.parenR)&&(this.next(),this.match(p.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType((()=>{const t=this.startNode();this.expect(e);const s=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(p._this)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(s.parameterName=e,s.asserts=!0,e=this.finishNode(s,"TSTypePredicate")):(this.resetStartLocationFromNode(e,s),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const n=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!n)return r?(s.parameterName=this.parseIdentifier(),s.asserts=r,t.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const i=this.tsParseTypeAnnotation(!1);return s.parameterName=n,s.typeAnnotation=i,s.asserts=r,t.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(p.colon)?this.tsParseTypeOrTypePredicateAnnotation(p.colon):void 0}tsTryParseTypeAnnotation(){return this.match(p.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(p.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(!this.match(p.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const e=this.state.containsEsc;return this.next(),!(!this.match(p.name)&&!this.match(p._this)||(e&&this.raise(this.state.lastTokStart,S.InvalidEscapedReservedWord,"asserts"),0))}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType((()=>{e&&this.expect(p.colon),t.typeAnnotation=this.tsParseType()})),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){de(this.state.inType);const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(p._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(p.question),t.trueType=this.tsParseType(),this.expect(p.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual("abstract")&&this.lookahead().type===p._new}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(p._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,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(t,fe.EmptyHeritageClauseType,e),s}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(p._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(p.eq),this.isContextual("intrinsic")&&this.lookahead().type!==p.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(p.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(p.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(p.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(p.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(p.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,p.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(p.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(256),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(p.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(p.braceL)?(this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t){e.isExport=t||!1,e.id=this.parseIdentifier(),this.checkLVal(e.id,"import equals declaration",9),this.expect(p.eq);const s=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==s.type&&this.raise(s.start,fe.ImportAliasHasImportType),e.moduleReference=s,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(p.parenL),!this.match(p.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(p.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),s=e();return this.state=t,s}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(),s=e();return void 0!==s&&!1!==s?s:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,s=this.state.type;return this.isContextual("let")&&(s=p._var,t="let"),this.tsInAmbientContext((()=>{switch(s){case p._function:return e.declare=!0,this.parseFunctionStatement(e,!1,!0);case p._class:return e.declare=!0,this.parseClass(e,!0,!1);case p._const:if(this.match(p._const)&&this.isLookaheadContextual("enum"))return this.expect(p._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case p._var:return t=t||this.state.value,this.parseVarStatement(e,t);case p.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(p.braceL)){this.scope.enter(256),this.prodParam.enter(0);const s=e;return s.global=!0,s.id=t,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,s){switch(t){case"abstract":if(this.tsCheckLineTerminator(s)&&(this.match(p._class)||this.match(p.name)))return this.tsParseAbstractDeclaration(e);break;case"enum":if(s||this.match(p.name))return s&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminator(s)&&this.match(p.name))return this.tsParseInterfaceDeclaration(e);break;case"module":if(this.tsCheckLineTerminator(s)){if(this.match(p.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.match(p.name))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(s)&&this.match(p.name))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(s)&&this.match(p.name))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(e,t);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(p.arrow),s}));return this.state.maybeInArrowParameters=s,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(p.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 s=this.state.start,r=this.state.startLoc;let n,i=!1;void 0!==e&&(n=this.parseAccessModifier(),i=!!this.tsParseModifier(["readonly"]),!1===e&&(n||i)&&this.raise(s,fe.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(n||i){const e=this.startNodeAt(s,r);return t.length&&(e.decorators=t),n&&(e.accessibility=n),i&&(e.readonly=i),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,fe.UnsupportedParameterPropertyKind),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(a.decorators=t),o}parseFunctionBodyAndFinish(e,t,s=!1){this.match(p.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(p.colon));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;r&&!this.match(p.braceL)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isAmbientContext&&(this.raise(e.start,fe.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,r,s):super.parseFunctionBodyAndFinish(e,t,s)}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,s,r,n){if(!this.hasPrecedingLineBreak()&&this.match(p.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(t,s);return r.expression=e,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const i=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,s);if(e)return e}const i=this.startNodeAt(t,s);i.callee=e;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(p.parenL))return i.arguments=this.parseCallExpressionArguments(p.parenR,!1),this.tsCheckForInvalidTypeCasts(i.arguments),i.typeParameters=a,n.optionalChainMember&&(i.optional=!1),this.finishCallExpression(i,n.optionalChainMember);if(this.match(p.backQuote)){const r=this.parseTaggedTemplateExpression(e,t,s,n);return r.typeParameters=a,r}}this.unexpected()}));if(i)return i}return super.parseSubscript(e,t,s,r,n)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch((()=>{const e=this.tsParseTypeArguments();return this.match(p.parenL)||this.unexpected(),e}));t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,s,r){if(he(p._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const n=this.startNodeAt(t,s);n.expression=e;const i=this.tsTryNextParseConstantContext();return n.typeAnnotation=i||this.tsNextThenParseType(),this.finishNode(n,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(n,t,s,r)}return super.parseExprOp(e,t,s,r)}checkReservedWord(e,t,s,r){}checkDuplicateExports(){}parseImport(e){if(e.importKind="value",this.match(p.name)||this.match(p.star)||this.match(p.braceL)){let t=this.lookahead();if(!this.isContextual("type")||t.type===p.comma||t.type===p.name&&"from"===t.value||t.type===p.eq||(e.importKind="type",this.next(),t=this.lookahead()),this.match(p.name)&&t.type===p.eq)return this.tsParseImportEqualsDeclaration(e)}const t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(t.start,fe.TypeImportCannotSpecifyDefaultAndNamed),t}parseExport(e){if(this.match(p._import))return this.next(),this.isContextual("type")&&61!==this.lookaheadCharCode()?(e.importKind="type",this.next()):e.importKind="value",this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(p.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===p.braceL?(this.next(),e.exportKind="type"):e.exportKind="value",super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===p._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===p._const){const e=this.lookahead();if(e.type===p.name&&"enum"===e.value){const e=this.startNode();return this.expect(p._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some((t=>me(t)?e.accessibility===t:!!e[t]))}parseClassMember(e,t,s){const r=["declare","private","public","protected","override","abstract","readonly"];this.tsParseModifiers(t,r.concat(["static"]));const n=()=>{const n=!!t.static;n&&this.eat(p.braceL)?(this.tsHasSomeModifiers(t,r)&&this.raise(this.state.pos,fe.StaticBlockCannotHaveModifier),this.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,s,n)};t.declare?this.tsInAmbientContext(n):n()}parseClassMemberWithIsStatic(e,t,s,r){const n=this.tsTryParseIndexSignature(t);if(n)return e.body.push(n),t.abstract&&this.raise(t.start,fe.IndexSignatureHasAbstract),t.accessibility&&this.raise(t.start,fe.IndexSignatureHasAccessibility,t.accessibility),t.declare&&this.raise(t.start,fe.IndexSignatureHasDeclare),void(t.override&&this.raise(t.start,fe.IndexSignatureHasOverride));!this.state.inAbstractClass&&t.abstract&&this.raise(t.start,fe.NonAbstractClassHasAbstractMethod),t.override&&(s.hadSuperClass||this.raise(t.start,fe.OverrideNotInSubClass)),super.parseClassMemberWithIsStatic(e,t,s,r)}parsePostMemberNameModifiers(e){this.eat(p.question)&&(e.optional=!0),e.readonly&&this.match(p.parenL)&&this.raise(e.start,fe.ClassMethodHasReadonly),e.declare&&this.match(p.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,s,r){if(!r||!this.match(p.question))return super.parseConditional(e,t,s,r);const n=this.tryParse((()=>super.parseConditional(e,t,s)));return n.node?(n.error&&(this.state=n.failState),n.node):(r.start=n.error.pos||this.state.start,e)}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(p.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(p.colon)){const r=this.startNodeAt(t,s);return r.expression=e,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,s=this.state.startLoc,r=this.eatContextual("declare");if(r&&(this.isContextual("declare")||!this.shouldParseExportDeclaration()))throw this.raise(this.state.start,fe.ExpectedAmbientAfterExportDeclare);let n;return this.match(p.name)&&(n=this.tsTryParseExportDeclaration()),n||(n=super.parseExportDeclaration(e)),n&&("TSInterfaceDeclaration"===n.type||"TSTypeAliasDeclaration"===n.type||r)&&(e.exportKind="type"),n&&r&&(this.resetStartLocation(n,t,s),n.declare=!0),n}parseClassId(e,t,s){if((!t||s)&&this.isContextual("implements"))return;super.parseClassId(e,t,s,e.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(p.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&this.match(p.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,s,r,n,i){const a=this.tsTryParseTypeParameters();a&&n&&this.raise(a.start,fe.ConstructorHasTypeParameters),!t.declare||"get"!==t.kind&&"set"!==t.kind||this.raise(t.start,fe.DeclareAccessor,t.kind),a&&(t.typeParameters=a),super.pushClassMethod(e,t,s,r,n,i)}pushClassPrivateMethod(e,t,s,r){const n=this.tsTryParseTypeParameters();n&&(t.typeParameters=n),super.pushClassPrivateMethod(e,t,s,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 s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(p.bang)&&(e.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(e.id.typeAnnotation=s,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(p.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,s,r,n,i,a,o;let l,c,u,h;if(this.hasPlugin("jsx")&&(this.match(p.jsxTagStart)||this.isRelational("<"))){if(l=this.state.clone(),c=this.tryParse((()=>super.parseMaybeAssign(...e)),l),!c.error)return c.node;const{context:t}=this.state;t[t.length-1]===C.j_oTag?t.length-=2:t[t.length-1]===C.j_expr&&(t.length-=1)}if(!(null!=(t=c)&&t.error||this.isRelational("<")))return super.parseMaybeAssign(...e);l=l||this.state.clone();const d=this.tryParse((t=>{var s,r;h=this.tsParseTypeParameters();const n=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==n.type||null!=(s=n.extra)&&s.parenthesized)&&t(),0!==(null==(r=h)?void 0:r.params.length)&&this.resetStartLocationFromNode(n,h),n.typeParameters=h,n}),l);if(!d.error&&!d.aborted)return d.node;if(!c&&(de(!this.hasPlugin("jsx")),u=this.tryParse((()=>super.parseMaybeAssign(...e)),l),!u.error))return u.node;if(null!=(s=c)&&s.node)return this.state=c.failState,c.node;if(d.node)return this.state=d.failState,d.node;if(null!=(r=u)&&r.node)return this.state=u.failState,u.node;if(null!=(n=c)&&n.thrown)throw c.error;if(d.thrown)throw d.error;if(null!=(i=u)&&i.thrown)throw u.error;throw(null==(a=c)?void 0:a.error)||d.error||(null==(o=u)?void 0:o.error)}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(p.colon)){const t=this.tryParse((e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(p.colon);return!this.canInsertSemicolon()&&this.match(p.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(p.question)&&("Identifier"===e.type||this.state.isAmbientContext||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":default:return super.toAssignable(e,t);case"ParenthesizedExpression":return this.toAssignableParenthesizedExpression(e,t);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression,t),e}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":return e.expression=this.toAssignable(e.expression,t),e;default:return super.toAssignable(e,t)}}checkLVal(e,t,...s){var r;switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,"parameter property",...s);case"TSAsExpression":case"TSTypeAssertion":if(!(s[0]||"parenthesized expression"===t||null!=(r=e.extra)&&r.parenthesized)){this.raise(e.start,S.InvalidLhs,t);break}return void this.checkLVal(e.expression,"parenthesized expression",...s);case"TSNonNullExpression":return void this.checkLVal(e.expression,t,...s);default:return void super.checkLVal(e,t,...s)}}parseBindingAtom(){return this.state.type===p._this?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(p.parenL)){const s=super.parseMaybeDecoratorArguments(e);return s.typeParameters=t,s}this.unexpected(this.state.start,p.parenL)}return super.parseMaybeDecoratorArguments(e)}checkCommaAfterRest(e){this.state.isAmbientContext&&this.match(p.comma)&&this.lookaheadCharCode()===e?this.next():super.checkCommaAfterRest(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(p.bang)||this.match(p.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),s=this.getObjectOrClassMethodParams(e)[0];return s&&this.isThisParam(s)?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){const t=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=t}}parseClass(e,...t){const s=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,...t)}finally{this.state.inAbstractClass=s}}tsParseAbstractDeclaration(e){if(this.match(p._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,p._class)}parseMethod(...e){const t=super.parseMethod(...e);if(t.abstract&&(this.hasPlugin("estree")?t.value.body:t.body)){const{key:e}=t;this.raise(t.start,fe.AbstractMethodHasImplementation,"Identifier"===e.type?e.name:`[${this.input.slice(e.start,e.end)}]`)}return t}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(p.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(p.modulo),this.match(p.name)){const e=this.parseIdentifierName(this.state.start),s=this.createIdentifier(t,e);if(s.type="V8IntrinsicIdentifier",this.match(p.parenL))return s}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(p.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(p.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const s=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,s?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(p.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){return!!super.isLet(e)||!!this.isContextual("let")&&(!e&&this.lookahead().type===p.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(p.colon)){const s=e;return s.label=this.finishPlaceholder(t,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"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,s){const r=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const n=this.state.strict,i=this.parsePlaceholder("Identifier");if(i)if(this.match(p._extends)||this.match(p.placeholder)||this.match(p.braceL))e.id=i;else{if(s||!t)return e.id=null,e.body=this.finishPlaceholder(i,"ClassBody"),this.finishNode(e,r);this.unexpected(null,ye.ClassNameIsRequired)}else this.parseClassId(e,t,s);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,n),this.finishNode(e,r)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(p.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=t,e.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(e)}isExportDefaultSpecifier(){if(this.match(p._default)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(p.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(p.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const s=this.startNodeAtNode(t);return s.local=t,this.finishNode(s,"ImportDefaultSpecifier"),e.specifiers.push(s),this.eat(p.comma)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},Se=Object.keys(Pe),Ee={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 Ae{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.isAmbientContext=!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=p.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[C.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 Ae,s=Object.keys(this);for(let r=0,n=s.length;r=48&&e<=57};const we=new Set(["g","m","s","i","y","u"]),Ce={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Ie={bin:[48,49]};Ie.oct=[...Ie.bin,50,51,52,53,54,55],Ie.dec=[...Ie.oct,56,57],Ie.hex=[...Ie.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Oe{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 Ne extends v{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.state=new Ae,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 Oe(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){return f.lastIndex=e,e+f.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++ethis.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(p.eof);const t=null==e?void 0:e.override;t?t(this):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}pushComment(e,t,s,r,n,i){const a={type:e?"CommentBlock":"CommentLine",value:t,start:s,end:r,loc:new g(n,i)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,s=this.input.indexOf("*/",this.state.pos+2);if(-1===s)throw this.raise(t,S.UnterminatedComment);let r;for(this.state.pos=s+2,h.lastIndex=t;(r=h.exec(this.input))&&r.index=48&&t<=57)throw this.raise(this.state.pos,S.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?S.RecordExpressionHashIncorrectStartSyntaxType:S.TupleExpressionHashIncorrectStartSyntaxType);123===t?this.finishToken(p.braceHashL):this.finishToken(p.bracketHashL),this.state.pos+=2}else _(t)?(++this.state.pos,this.finishToken(p.privateName,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(p.privateName,this.readWord1())):this.finishOp(p.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(p.ellipsis)):(++this.state.pos,this.finishToken(p.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(p.assign,2):this.finishOp(p.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(p.question)):(this.state.pos+=2,this.finishToken(p.questionDot))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(p.parenL);case 41:return++this.state.pos,void this.finishToken(p.parenR);case 59:return++this.state.pos,void this.finishToken(p.semi);case 44:return++this.state.pos,void this.finishToken(p.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,S.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(p.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(p.bracketL);return;case 93:return++this.state.pos,void this.finishToken(p.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,S.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(p.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(p.braceL);return;case 125:return++this.state.pos,void this.finishToken(p.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(p.doubleColon,2):(++this.state.pos,this.finishToken(p.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(p.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(p.tilde,1);case 64:return++this.state.pos,void this.finishToken(p.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(_(e))return void this.readWord(e)}throw this.raise(this.state.pos,S.InvalidOrUnexpectedToken,String.fromCodePoint(e))}finishOp(e,t){const s=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,s)}readRegexp(){const e=this.state.pos;let t,s;for(;;){if(this.state.pos>=this.length)throw this.raise(e,S.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(u.test(r))throw this.raise(e,S.UnterminatedRegExp);if(t)t=!1;else{if("["===r)s=!0;else if("]"===r&&s)s=!1;else if("/"===r&&!s)break;t="\\\\"===r}++this.state.pos}const r=this.input.slice(e,this.state.pos);++this.state.pos;let n="";for(;this.state.pos-1&&this.raise(this.state.pos+1,S.DuplicateRegExpFlags);else{if(!j(t)&&92!==t)break;this.raise(this.state.pos+1,S.MalformedRegExpFlags)}++this.state.pos,n+=e}this.finishToken(p.regexp,{pattern:r,flags:n})}readInt(e,t,s,r=!0){const n=this.state.pos,i=16===e?Ce.hex:Ce.decBinOct,a=16===e?Ie.hex:10===e?Ie.dec:8===e?Ie.oct:Ie.bin;let o=!1,l=0;for(let n=0,c=null==t?1/0:t;n=97?t-97+10:t>=65?t-65+10:ve(t)?t-48:1/0,c>=e)if(this.options.errorRecovery&&c<=9)c=0,this.raise(this.state.start+n+2,S.InvalidDigit,e);else{if(!s)break;c=0,o=!0}++this.state.pos,l=l*e+c}else{const e=this.input.charCodeAt(this.state.pos-1),t=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(t)||i.indexOf(e)>-1||i.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,S.UnexpectedNumericSeparator),r||this.raise(this.state.pos,S.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===n||null!=t&&this.state.pos-n!==t||o?null:l}readRadixNumber(e){const t=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(e);null==r&&this.raise(this.state.start+2,S.InvalidDigit,e);const n=this.input.charCodeAt(this.state.pos);if(110===n)++this.state.pos,s=!0;else if(109===n)throw this.raise(t,S.InvalidDecimal);if(_(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,S.NumberIdentifier);if(s){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(p.bigint,e)}else this.finishToken(p.num,r)}readNumber(e){const t=this.state.pos;let s=!1,r=!1,n=!1,i=!1,a=!1;e||null!==this.readInt(10)||this.raise(t,S.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,S.StrictOctalLiteral),!this.state.strict){const s=e.indexOf("_");s>0&&this.raise(s+t,S.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(e)}let l=this.input.charCodeAt(this.state.pos);if(46!==l||a||(++this.state.pos,this.readInt(10),s=!0,l=this.input.charCodeAt(this.state.pos)),69!==l&&101!==l||a||(l=this.input.charCodeAt(++this.state.pos),43!==l&&45!==l||++this.state.pos,null===this.readInt(10)&&this.raise(t,S.InvalidOrMissingExponent),s=!0,i=!0,l=this.input.charCodeAt(this.state.pos)),110===l&&((s||o)&&this.raise(t,S.InvalidBigIntLiteral),++this.state.pos,r=!0),109===l&&(this.expectPlugin("decimal",this.state.pos),(i||o)&&this.raise(t,S.InvalidDecimal),++this.state.pos,n=!0),_(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,S.NumberIdentifier);const c=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(p.bigint,c);if(n)return void this.finishToken(p.decimal,c);const u=a?parseInt(c,8):parseFloat(c);this.finishToken(p.num,u)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const s=++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(s,S.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,S.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;if(92===r)t+=this.input.slice(s,this.state.pos),t+=this.readEscapedChar(!1),s=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,S.UnterminatedString);++this.state.pos}}t+=this.input.slice(s,this.state.pos++),this.finishToken(p.string,t)}readTmplToken(){let e="",t=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,S.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(p.template)?36===r?(this.state.pos+=2,void this.finishToken(p.dollarBraceL)):(++this.state.pos,void this.finishToken(p.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(p.template,s?null:e));if(92===r){e+=this.input.slice(t,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!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,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){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,S.StrictNumericEscape);default:if(s>=48&&s<=55){const t=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const n=this.input.charCodeAt(this.state.pos);if("0"!==s||56===n||57===n){if(e)return null;this.recordStrictModeErrors(t,S.StrictNumericEscape)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(e,t,s){const r=this.state.pos,n=this.readInt(16,e,t,!1);return null===n&&(s?this.raise(r,S.InvalidEscapeSequence):this.state.pos=r-1),n}readWord1(e){this.state.containsEsc=!1;let t="";const s=this.state.pos;let r=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos{this.raise(s,t);let r=e.length-2,n=e[r];for(;n.canBeArrowParameterDeclaration();)n.clearDeclarationError(s),n=e[--r]}))}}function je(){return new De}class Re extends Ne{addExtra(e,t,s){e&&((e.extra=e.extra||{})[t]=s)}isRelational(e){return this.match(p.relational)&&this.state.value===e}expectRelational(e){this.isRelational(e)?this.next():this.unexpected(null,p.relational)}isContextual(e){return this.match(p.name)&&this.state.value===e&&!this.state.containsEsc}isUnparsedContextual(e,t){const s=e+t.length;return this.input.slice(e,s)===t&&(s===this.input.length||!j(this.input.charCodeAt(s)))}isLookaheadContextual(e){const t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return this.isContextual(e)&&this.eat(p.name)}expectContextual(e,t){this.eatContextual(e)||this.unexpected(null,t)}canInsertSemicolon(){return this.match(p.eof)||this.match(p.braceR)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return u.test(this.input.slice(this.state.lastTokEnd,this.state.start))}hasFollowingLineBreak(){return u.test(this.input.slice(this.state.end,this.nextTokenStart()))}isLineTerminator(){return this.eat(p.semi)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(p.semi))||this.raise(this.state.lastTokEnd,S.MissingSemicolon)}expect(e,t){this.eat(e)||this.unexpected(t,e)}assertNoSpace(e="Unexpected space."){this.state.start>this.state.lastTokEnd&&this.raise(this.state.lastTokEnd,{code:P.SyntaxError,reasonCode:"UnexpectedSpace",template:e})}unexpected(e,t={code:P.SyntaxError,reasonCode:"UnexpectedToken",template:"Unexpected token"}){throw t instanceof a&&(t={code:P.SyntaxError,reasonCode:"UnexpectedToken",template:`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 s={node:null};try{const r=e(((e=null)=>{throw s.node=e,s}));if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:s,doubleProto:r}=e;if(!t)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,S.DuplicateProto)}isLiteralPropertyName(){return this.match(p.name)||!!this.state.type.keyword||this.match(p.string)||this.match(p.num)||this.match(p.bigint)||this.match(p.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 s=this.state.exportedIdentifiers;this.state.exportedIdentifiers=[];const r=this.inModule;this.inModule=e;const n=this.scope,i=this.getScopeHandler();this.scope=new i(this.raise.bind(this),this.inModule);const a=this.prodParam;this.prodParam=new pe;const o=this.classScope;this.classScope=new Le(this.raise.bind(this));const l=this.expressionScope;return this.expressionScope=new _e(this.raise.bind(this)),()=>{this.state.labels=t,this.state.exportedIdentifiers=s,this.inModule=r,this.scope=n,this.prodParam=a,this.classScope=o,this.expressionScope=l}}enterInitialScopes(){let e=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e)}}class Be{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Fe{constructor(e,t,s){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(s),null!=e&&e.options.ranges&&(this.range=[t,0]),null!=e&&e.filename&&(this.loc.filename=e.filename)}__clone(){const e=new Fe,t=Object.keys(this);for(let s=0,r=t.length;s"ParenthesizedExpression"===e.type?Ve(e.expression):e;class qe extends Ue{toAssignable(e,t=!1){var s,r;let n;switch(("ParenthesizedExpression"===e.type||null!=(s=e.extra)&&s.parenthesized)&&(n=Ve(e),t?"Identifier"===n.type?this.expressionScope.recordParenthesizedIdentifierError(e.start,S.InvalidParenthesizedAssignment):"MemberExpression"!==n.type&&this.raise(e.start,S.InvalidParenthesizedAssignment):this.raise(e.start,S.InvalidParenthesizedAssignment)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(let s=0,r=e.properties.length,n=r-1;sthis.parseExpressionBase(t))):this.allowInAnd((()=>this.parseExpressionBase(t)))}parseExpressionBase(e){const t=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(e);if(this.match(p.comma)){const n=this.startNodeAt(t,s);for(n.expressions=[r];this.eat(p.comma);)n.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(n.expressions),this.finishNode(n,"SequenceExpression")}return r}parseMaybeAssignDisallowIn(e,t,s){return this.disallowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssignAllowIn(e,t,s){return this.allowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssign(e,t,s){const r=this.state.start,n=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,n)),e}let i;e?i=!1:(e=new Be,i=!0),(this.match(p.parenL)||this.match(p.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e,s);if(t&&(a=t.call(this,a,r,n)),this.state.type.isAssign){const t=this.startNodeAt(r,n),s=this.state.value;return t.operator=s,this.match(p.eq)?(t.left=this.toAssignable(a,!0),e.doubleProto=-1):t.left=a,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(a,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),a}parseMaybeConditional(e,t){const s=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprOps(e);return this.shouldExitDescending(i,n)?i:this.parseConditional(i,s,r,t)}parseConditional(e,t,s,r){if(this.eat(p.question)){const r=this.startNodeAt(t,s);return r.test=e,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(p.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseMaybeUnary(e);return this.shouldExitDescending(n,r)?n:this.parseExprOp(n,t,s,-1)}parseExprOp(e,t,s,r){let n=this.state.type.binop;if(null!=n&&(this.prodParam.hasIn||!this.match(p._in))&&n>r){const i=this.state.type;if(i===p.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const a=this.startNodeAt(t,s);a.left=e,a.operator=this.state.value;const o=i===p.logicalOR||i===p.logicalAND,l=i===p.nullishCoalescing;if(l&&(n=p.logicalAND.binop),this.next(),i===p.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(p.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,S.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(i,n),this.finishNode(a,o||l?"LogicalExpression":"BinaryExpression");const c=this.state.type;if(l&&(c===p.logicalOR||c===p.logicalAND)||o&&c===p.nullishCoalescing)throw this.raise(this.state.start,S.MixingCoalesceWithLogical);return this.parseExprOp(a,t,s,r)}return e}parseExprOpRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;if(e===p.pipeline)switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),s,r)));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(t)))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,r,e.rightAssociative?t-1:t)}checkExponentialAfterUnary(e){this.match(p.exponent)&&this.raise(e.argument.start,S.UnexpectedTokenUnaryExponentiation)}parseMaybeUnary(e,t){const s=this.state.start,r=this.state.startLoc,n=this.isContextual("await");if(n&&this.isAwaitAllowed()){this.next();const e=this.parseAwait(s,r);return t||this.checkExponentialAfterUnary(e),e}if(this.isContextual("module")&&123===this.lookaheadCharCode()&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const i=this.match(p.incDec),a=this.startNode();if(this.state.type.prefix){a.operator=this.state.value,a.prefix=!0,this.match(p._throw)&&this.expectPlugin("throwExpressions");const s=this.match(p._delete);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&s){const e=a.argument;"Identifier"===e.type?this.raise(a.start,S.StrictDelete):this.hasPropertyAsPrivateName(e)&&this.raise(a.start,S.DeletePrivateField)}if(!i)return t||this.checkExponentialAfterUnary(a),this.finishNode(a,"UnaryExpression")}const o=this.parseUpdate(a,i,e);return n&&(this.hasPlugin("v8intrinsic")?this.state.type.startsExpr:this.state.type.startsExpr&&!this.match(p.modulo))&&!this.isAmbiguousAwait()?(this.raiseOverwrite(s,this.hasPlugin("topLevelAwait")?S.AwaitNotInAsyncContext:S.AwaitNotInAsyncFunction),this.parseAwait(s,r)):o}parseUpdate(e,t,s){if(t)return this.checkLVal(e.argument,"prefix operation"),this.finishNode(e,"UpdateExpression");const r=this.state.start,n=this.state.startLoc;let i=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return i;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(r,n);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.checkLVal(i,"postfix operation"),this.next(),i=this.finishNode(e,"UpdateExpression")}return i}parseExprSubscripts(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseExprAtom(e);return this.shouldExitDescending(n,r)?n:this.parseSubscripts(n,t,s)}parseSubscripts(e,t,s,r){const n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,s,r,n),n.maybeAsyncArrow=!1}while(!n.stop);return e}parseSubscript(e,t,s,r,n){if(!r&&this.eat(p.doubleColon))return this.parseBind(e,t,s,r,n);if(this.match(p.backQuote))return this.parseTaggedTemplateExpression(e,t,s,n);let i=!1;if(this.match(p.questionDot)){if(r&&40===this.lookaheadCharCode())return n.stop=!0,e;n.optionalChainMember=i=!0,this.next()}return!r&&this.match(p.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,s,n,i):i||this.match(p.bracketL)||this.eat(p.dot)?this.parseMember(e,t,s,n,i):(n.stop=!0,e)}parseMember(e,t,s,r,n){const i=this.startNodeAt(t,s),a=this.eat(p.bracketL);i.object=e,i.computed=a;const o=!a&&this.match(p.privateName)&&this.state.value,l=a?this.parseExpression():o?this.parsePrivateName():this.parseIdentifier(!0);return!1!==o&&("Super"===i.object.type&&this.raise(t,S.SuperPrivateField),this.classScope.usePrivateName(o,l.start)),i.property=l,a&&this.expect(p.bracketR),r.optionalChainMember?(i.optional=n,this.finishNode(i,"OptionalMemberExpression")):this.finishNode(i,"MemberExpression")}parseBind(e,t,s,r,n){const i=this.startNodeAt(t,s);return i.object=e,i.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),t,s,r)}parseCoverCallAndAsyncArrowHead(e,t,s,r,n){const i=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(t,s);return a.callee=e,r.maybeAsyncArrow&&this.expressionScope.enter(new Me(2)),r.optionalChainMember&&(a.optional=n),a.arguments=n?this.parseCallExpressionArguments(p.parenR,!1):this.parseCallExpressionArguments(p.parenR,r.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,a),this.finishCallExpression(a,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!n?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,s),a)):(r.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=i,a}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,s,r){const n=this.startNodeAt(t,s);return n.tag=e,n.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(t,S.OptionalChainingNoTemplate),this.finishNode(n,"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,S.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,S.ImportCallSpreadArgument);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,s,r,n){const i=[];let a=!0;const o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(a)a=!1;else if(this.expect(p.comma),this.match(e)){!s||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(this.state.lastTokStart,S.ImportCallArgumentTrailingComma),n&&this.addExtra(n,"trailingComma",this.state.lastTokStart),this.next();break}i.push(this.parseExprListItem(!1,t?new Be:void 0,t?{start:0}:void 0,r))}return this.state.inFSharpPipelineDirectBody=o,i}shouldParseAsyncArrow(){return this.match(p.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){var s;return this.expect(p.arrow),this.parseArrowExpression(e,t.arguments,!0,null==(s=t.extra)?void 0:s.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===p.slash&&this.readRegexp();const t=this.state.potentialArrowAt===this.state.start;let s;switch(this.state.type){case p._super:return this.parseSuper();case p._import:return s=this.startNode(),this.next(),this.match(p.dot)?this.parseImportMetaProperty(s):(this.match(p.parenL)||this.raise(this.state.lastTokStart,S.UnsupportedImport),this.finishNode(s,"Import"));case p._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case p.name:{const e=this.state.containsEsc,s=this.parseIdentifier();if(!e&&"async"===s.name&&!this.canInsertSemicolon()){if(this.match(p._function)){const e=this.state.context.length-1;if(this.state.context[e]!==C.functionStatement)throw new Error("Internal error");return this.state.context[e]=C.functionExpression,this.next(),this.parseFunction(this.startNodeAtNode(s),void 0,!0)}if(this.match(p.name))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(s):s;if(this.match(p._do))return this.parseDo(!0)}return t&&this.match(p.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(s),[s],!1)):s}case p._do:return this.parseDo(!1);case p.regexp:{const e=this.state.value;return s=this.parseLiteral(e.value,"RegExpLiteral"),s.pattern=e.pattern,s.flags=e.flags,s}case p.num:return this.parseLiteral(this.state.value,"NumericLiteral");case p.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case p.decimal:return this.parseLiteral(this.state.value,"DecimalLiteral");case p.string:return this.parseLiteral(this.state.value,"StringLiteral");case p._null:return s=this.startNode(),this.next(),this.finishNode(s,"NullLiteral");case p._true:case p._false:return this.parseBooleanLiteral();case p.parenL:return this.parseParenAndDistinguishExpression(t);case p.bracketBarL:case p.bracketHashL:return this.parseArrayLike(this.state.type===p.bracketBarL?p.bracketBarR:p.bracketR,!1,!0,e);case p.bracketL:return this.parseArrayLike(p.bracketR,!0,!1,e);case p.braceBarL:case p.braceHashL:return this.parseObjectLike(this.state.type===p.braceBarL?p.braceBarR:p.braceR,!1,!0,e);case p.braceL:return this.parseObjectLike(p.braceR,!1,!1,e);case p._function:return this.parseFunctionOrFunctionSent();case p.at:this.parseDecorators();case p._class:return s=this.startNode(),this.takeDecorators(s),this.parseClass(s,!1);case p._new:return this.parseNewOrNewTarget();case p.backQuote:return this.parseTemplate(!1);case p.doubleColon:{s=this.startNode(),this.next(),s.object=null;const e=s.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(s,"BindExpression");throw this.raise(e.start,S.UnsupportedBind)}case p.privateName:{const e=this.state.start,t=this.state.value;if(s=this.parsePrivateName(),this.match(p._in))this.expectPlugin("privateIn"),this.classScope.usePrivateName(t,s.start);else{if(!this.hasPlugin("privateIn"))throw this.unexpected(e);this.raise(this.state.start,S.PrivateInExpectedIn,t)}return s}case p.hash:if(this.state.inPipeline)return s=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(s.start,S.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(s.start,S.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(s,"PipelinePrimaryTopicReference");case p.relational:if("<"===this.state.value){const e=this.input.codePointAt(this.nextTokenStart());(_(e)||62===e)&&this.expectOnePlugin(["jsx","flow","typescript"])}default:throw this.unexpected()}}parseAsyncArrowUnaryFunction(e){const t=this.startNodeAtNode(e);this.prodParam.enter(ue(!0,this.prodParam.hasYield));const s=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,S.LineTerminatorBeforeArrow),this.expect(p.arrow),this.parseArrowExpression(t,s,!0),t}parseDo(e){this.expectPlugin("doExpressions"),e&&this.expectPlugin("asyncDoExpressions");const t=this.startNode();t.async=e,this.next();const s=this.state.labels;return this.state.labels=[],e?(this.prodParam.enter(2),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=s,this.finishNode(t,"DoExpression")}parseSuper(){const e=this.startNode();return this.next(),!this.match(p.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(e.start,S.UnexpectedSuper):this.raise(e.start,S.SuperNotAllowed),this.match(p.parenL)||this.match(p.bracketL)||this.match(p.dot)||this.raise(e.start,S.UnsupportedSuper),this.finishNode(e,"Super")}parseBooleanLiteral(){const e=this.startNode();return e.value=this.match(p._true),this.next(),this.finishNode(e,"BooleanLiteral")}parseMaybePrivateName(e){return this.match(p.privateName)?(e||this.raise(this.state.start+1,S.UnexpectedPrivateField),this.parsePrivateName()):this.parseIdentifier(!0)}parsePrivateName(){const e=this.startNode(),t=this.startNodeAt(this.state.start+1,new y(this.state.curLine,this.state.start+1-this.state.lineStart)),s=this.state.value;return this.next(),e.id=this.createIdentifier(t,s),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(p.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,s){e.meta=t,"function"===t.name&&"sent"===s&&(this.isContextual(s)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==s||r)&&this.raise(e.property.start,S.UnsupportedMetaProperty,t.name,s),this.finishNode(e,"MetaProperty")}parseImportMetaProperty(e){const t=this.createIdentifier(this.startNodeAtNode(e),"import");return this.next(),this.isContextual("meta")&&(this.inModule||this.raise(t.start,E.ImportMetaOutsideModule),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}parseLiteral(e,t,s,r){s=s||this.state.start,r=r||this.state.startLoc;const n=this.startNodeAt(s,r);return this.addExtra(n,"rawValue",e),this.addExtra(n,"raw",this.input.slice(s,this.state.end)),n.value=e,this.next(),this.finishNode(n,t)}parseParenAndDistinguishExpression(e){const t=this.state.start,s=this.state.startLoc;let r;this.next(),this.expressionScope.enter(new Me(1));const n=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const a=this.state.start,o=this.state.startLoc,l=[],c=new Be,u={start:0};let h,d,f=!0;for(;!this.match(p.parenR);){if(f)f=!1;else if(this.expect(p.comma,u.start||null),this.match(p.parenR)){d=this.state.start;break}if(this.match(p.ellipsis)){const e=this.state.start,t=this.state.startLoc;h=this.state.start,l.push(this.parseParenItem(this.parseRestBinding(),e,t)),this.checkCommaAfterRest(41);break}l.push(this.parseMaybeAssignAllowIn(c,this.parseParenItem,u))}const m=this.state.lastTokEnd,y=this.state.lastTokEndLoc;this.expect(p.parenR),this.state.maybeInArrowParameters=n,this.state.inFSharpPipelineDirectBody=i;let g=this.startNodeAt(t,s);if(e&&this.shouldParseArrow()&&(g=this.parseArrow(g)))return this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(g,l,!1),g;if(this.expressionScope.exit(),l.length||this.unexpected(this.state.lastTokStart),d&&this.unexpected(d),h&&this.unexpected(h),this.checkExpressionErrors(c,!0),u.start&&this.unexpected(u.start),this.toReferencedListDeep(l,!0),l.length>1?(r=this.startNodeAt(a,o),r.expressions=l,this.finishNodeAt(r,"SequenceExpression",m,y)):r=l[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t),r;const b=this.startNodeAt(t,s);return b.expression=r,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(p.arrow))return e}parseParenItem(e,t,s){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(p.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const s=this.parseMetaProperty(e,t,"target");return this.scope.inNonArrowFunction||this.scope.inClass||this.raise(s.start,S.UnexpectedNewTarget),s}return this.parseNew(e)}parseNew(e){return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,S.ImportCallNotNewExpression):this.isOptionalChain(e.callee)?this.raise(this.state.lastTokEnd,S.OptionalChainingNoNew):this.eat(p.questionDot)&&this.raise(this.state.start,S.OptionalChainingNoNew),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(p.parenL)){const t=this.parseExprList(p.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,S.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(p.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let s=this.parseTemplateElement(e);for(t.quasis=[s];!s.tail;)this.expect(p.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(p.braceR),t.quasis.push(s=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const i=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(p.comma),this.match(e)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const n=this.parsePropertyDefinition(t,r);t||this.checkProto(n,s,i,r),s&&!this.isObjectProperty(n)&&"SpreadElement"!==n.type&&this.raise(n.start,S.InvalidRecordProperty),n.shorthand&&this.addExtra(n,"shorthand",!0),o.properties.push(n)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=n;let l="ObjectExpression";return t?l="ObjectPattern":s&&(l="RecordExpression"),this.finishNode(o,l)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(p.bracketL)||this.match(p.star))}parsePropertyDefinition(e,t){let s=[];if(this.match(p.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,S.UnsupportedPropertyDecorator);this.match(p.at);)s.push(this.parseDecorator());const r=this.startNode();let n,i,a=!1,o=!1,l=!1;if(this.match(p.ellipsis))return s.length&&this.unexpected(),e?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(e||t)&&(n=this.state.start,i=this.state.startLoc),e||(a=this.eat(p.star));const c=this.state.containsEsc,u=this.parsePropertyName(r,!1);if(!e&&!a&&!c&&this.maybeAsyncOrAccessorProp(r)){const e=u.name;"async"!==e||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(p.star),this.parsePropertyName(r,!1)),"get"!==e&&"set"!==e||(l=!0,r.kind=e,this.match(p.star)&&(a=!0,this.raise(this.state.pos,S.AccessorIsGenerator,e),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,n,i,a,o,e,l,t),r}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const s=this.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e),n=e.start;r.length!==s&&("get"===e.kind?this.raise(n,S.BadGetterArity):this.raise(n,S.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=r[r.length-1])?void 0:t.type)&&this.raise(n,S.BadSetterRestParameter)}parseObjectMethod(e,t,s,r,n){return n?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):s||t||this.match(p.parenL)?(r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,s,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,s,r,n){return e.shorthand=!1,this.eat(p.colon)?(e.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(n),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,s,e.key.__clone()):this.match(p.eq)&&n?(-1===n.shorthandAssign&&(n.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,s,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,s,r,n,i,a,o){const l=this.parseObjectMethod(e,r,n,i,a)||this.parseObjectProperty(e,t,s,i,o);return l||this.unexpected(),l}parsePropertyName(e,t){if(this.eat(p.bracketL))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(p.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0;const r=this.state.type;e.key=r===p.num||r===p.string||r===p.bigint||r===p.decimal?this.parseExprAtom():this.parseMaybePrivateName(t),r!==p.privateName&&(e.computed=!1),this.state.inPropertyName=s}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,s,r,n,i,a=!1){this.initFunction(e,s),e.generator=!!t;const o=r;return this.scope.enter(18|(a?64:0)|(n?32:0)),this.prodParam.enter(ue(s,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,i,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const i=this.startNode();return this.next(),i.elements=this.parseExprList(e,!s,r,i),this.state.inFSharpPipelineDirectBody=n,this.finishNode(i,s?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,s,r){this.scope.enter(6);let n=ue(s,!1);!this.match(p.bracketL)&&this.prodParam.hasIn&&(n|=8),this.prodParam.enter(n),this.initFunction(e,s);const i=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=i,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,s){e.params=this.toAssignableList(t,s,!1)}parseFunctionBodyAndFinish(e,t,s=!1){this.parseFunctionBody(e,!1,s),this.finishNode(e,t)}parseFunctionBody(e,t,s=!1){const r=t&&!this.match(p.braceL);if(this.expressionScope.enter(je()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,n=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,(n=>{const i=!this.isSimpleParamList(e.params);if(n&&i){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,S.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||s||i),t,a),this.state.strict&&e.id&&this.checkLVal(e.id,"function name",65,void 0,void 0,a)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=n}}isSimpleParamList(e){for(let t=0,s=e.length;t=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const n=this.parseExprOp(this.parseMaybeUnary(),t,s,e);return this.state.inFSharpPipelineDirectBody=r,n}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.eat(p.braceL);const t=this.initializeScopes(!0);this.enterInitialScopes();const s=this.startNode();try{e.body=this.parseProgram(s,p.braceR,"module")}finally{t()}return this.eat(p.braceR),this.finishNode(e,"ModuleExpression")}}const We={kind:"loop"},He={kind:"switch"},Ye=/[\\uD800-\\uDFFF]/u;class Je extends Ke{parseTopLevel(e,t){return e.program=this.parseProgram(t),e.comments=this.state.comments,this.options.tokens&&(e.tokens=function(e){for(let t=0;t0)for(const[e]of Array.from(this.scope.undefinedExports)){const t=this.scope.undefinedExports.get(e);this.raise(t,S.ModuleExportUndefined,e)}return this.finishNode(e,"Program")}stmtToDirective(e){const t=e.expression,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start),n=this.input.slice(t.start,t.end),i=s.value=n.slice(1,-1);return this.addExtra(s,"raw",n),this.addExtra(s,"rawValue",i),r.value=this.finishNodeAt(s,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(r,"Directive",e.end,e.loc.end)}parseInterpreterDirective(){if(!this.match(p.interpreterDirective))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(e){return!!this.isContextual("let")&&this.isLetKeyword(e)}isLetKeyword(e){const t=this.nextTokenStart(),s=this.input.charCodeAt(t);if(92===s||91===s)return!0;if(e)return!1;if(123===s)return!0;if(_(s)){let e=t+1;for(;j(this.input.charCodeAt(e));)++e;const s=this.input.slice(t,e);if(!H.test(s))return!0}return!1}parseStatement(e,t){return this.match(p.at)&&this.parseDecorators(!0),this.parseStatementContent(e,t)}parseStatementContent(e,t){let s=this.state.type;const r=this.startNode();let n;switch(this.isLet(e)&&(s=p._var,n="let"),s){case p._break:case p._continue:return this.parseBreakContinueStatement(r,s.keyword);case p._debugger:return this.parseDebuggerStatement(r);case p._do:return this.parseDoStatement(r);case p._for:return this.parseForStatement(r);case p._function:if(46===this.lookaheadCharCode())break;return e&&(this.state.strict?this.raise(this.state.start,S.StrictFunction):"if"!==e&&"label"!==e&&this.raise(this.state.start,S.SloppyFunction)),this.parseFunctionStatement(r,!1,!e);case p._class:return e&&this.unexpected(),this.parseClass(r,!0);case p._if:return this.parseIfStatement(r);case p._return:return this.parseReturnStatement(r);case p._switch:return this.parseSwitchStatement(r);case p._throw:return this.parseThrowStatement(r);case p._try:return this.parseTryStatement(r);case p._const:case p._var:return n=n||this.state.value,e&&"var"!==n&&this.raise(this.state.start,S.UnexpectedLexicalDeclaration),this.parseVarStatement(r,n);case p._while:return this.parseWhileStatement(r);case p._with:return this.parseWithStatement(r);case p.braceL:return this.parseBlock();case p.semi:return this.parseEmptyStatement(r);case p._import:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case p._export:{let e;return this.options.allowImportExportEverywhere||t||this.raise(this.state.start,S.UnexpectedImportExport),this.next(),s===p._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,S.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(r,!0,!e)}const i=this.state.value,a=this.parseExpression();return s===p.name&&"Identifier"===a.type&&this.eat(p.colon)?this.parseLabeledStatement(r,i,a,e):this.parseExpressionStatement(r,a)}assertModuleNodeAllowed(e){this.options.allowImportExportEverywhere||this.inModule||this.raise(e.start,E.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(p._class)}parseDecorators(e){const t=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(p.at);){const e=this.parseDecorator();t.push(e)}if(this.match(p._export))e||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,S.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,S.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,s=this.state.startLoc;let r;if(this.eat(p.parenL))r=this.parseExpression(),this.expect(p.parenR);else for(r=this.parseIdentifier(!1);this.eat(p.dot);){const e=this.startNodeAt(t,s);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(p.parenL)){const t=this.startNodeAtNode(e);return t.callee=e,t.arguments=this.parseCallExpressionArguments(p.parenR,!1),this.toReferencedList(t.arguments),this.finishNode(t,"CallExpression")}return e}parseBreakContinueStatement(e,t){const s="break"===t;return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,s?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){const s="break"===t;let r;for(r=0;rthis.parseStatement("do"))),this.state.labels.pop(),this.expect(p._while),e.test=this.parseHeaderExpression(),this.eat(p.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(We);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(0),this.expect(p.parenL),this.match(p.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const s=this.isContextual("let"),r=s&&this.isLetKeyword();if(this.match(p._var)||this.match(p._const)||r){const s=this.startNode(),n=r?"let":this.state.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.match(p._in)||this.isContextual("of"))&&1===s.declarations.length?this.parseForIn(e,s,t):(t>-1&&this.unexpected(t),this.parseFor(e,s))}const n=this.match(p.name)&&!this.state.containsEsc,i=new Be,a=this.parseExpression(!0,i),o=this.isContextual("of");if(o&&(s?this.raise(a.start,S.ForOfLet):-1===t&&n&&"Identifier"===a.type&&"async"===a.name&&this.raise(a.start,S.ForOfAsync)),o||this.match(p._in)){this.toAssignable(a,!0);const s=o?"for-of statement":"for-in statement";return this.checkLVal(a,s),this.parseForIn(e,a,t)}return this.checkExpressionErrors(i,!0),t>-1&&this.unexpected(t),this.parseFor(e,a)}parseFunctionStatement(e,t,s){return this.next(),this.parseFunction(e,1|(s?0:2),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(p._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,S.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 s;this.expect(p.braceL),this.state.labels.push(He),this.scope.enter(0);for(let e;!this.match(p.braceR);)if(this.match(p._case)||this.match(p._default)){const r=this.match(p._case);s&&this.finishNode(s,"SwitchCase"),t.push(s=this.startNode()),s.consequent=[],this.next(),r?s.test=this.parseExpression():(e&&this.raise(this.state.lastTokStart,S.MultipleDefaultsInSwitch),e=!0,s.test=null),this.expect(p.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,S.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(p._catch)){const t=this.startNode();this.next(),this.match(p.parenL)?(this.expect(p.parenL),t.param=this.parseCatchClauseParam(),this.expect(p.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(p._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,S.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(We),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,S.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,s,r){for(const e of this.state.labels)e.name===t&&this.raise(s.start,S.LabelRedeclaration,t);const n=this.state.type.isLoop?"loop":this.match(p._switch)?"switch":null;for(let t=this.state.labels.length-1;t>=0;t--){const s=this.state.labels[t];if(s.statementStart!==e.start)break;s.statementStart=this.state.start,s.kind=n}return this.state.labels.push({name:t,kind:n,statementStart:this.state.start}),e.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),e.label=s,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,s){const r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(p.braceL),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,p.braceR,s),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,s,r,n){const i=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(i,t?a:void 0,s,r,n)}parseBlockOrModuleBlockBody(e,t,s,r,n){const i=this.state.strict;let a=!1,o=!1;for(;!this.match(r);){const r=this.parseStatement(null,s);if(t&&!o){if(this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),a||"use strict"!==e.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(r)}n&&n.call(this,a),i||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(p.semi)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(p.parenR)?null:this.parseExpression(),this.expect(p.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,s){const r=this.match(p._in);return this.next(),r?s>-1&&this.unexpected(s):e.await=s>-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,S.InvalidLhs,"for-loop"):this.raise(t.start,S.ForInOfLoopInitializer,r?"for-in":"for-of"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(p.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,s){const r=e.declarations=[],n=this.hasPlugin("typescript");for(e.kind=s;;){const e=this.startNode();if(this.parseVarId(e,s),this.eat(p.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==s||this.match(p._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(p._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,S.DeclarationMissingInitializer,"Complex binding patterns"):n||this.raise(this.state.lastTokEnd,S.DeclarationMissingInitializer,"Const declarations"),e.init=null),r.push(this.finishNode(e,"VariableDeclarator")),!this.eat(p.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,s=!1){const r=1&t,n=2&t,i=!(!r||4&t);this.initFunction(e,s),this.match(p.star)&&n&&this.raise(this.state.start,S.GeneratorInSingleStatementContext),e.generator=this.eat(p.star),r&&(e.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(ue(s,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&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||this.match(p.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(p.parenL),this.expressionScope.enter(new De(3)),e.params=this.parseBindingList(p.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,s){this.next(),this.takeDecorators(e);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,s),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(p.eq)||this.match(p.semi)||this.match(p.braceR)}isClassMethod(){return this.match(p.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const s={hadConstructor:!1,hadSuperClass:e};let r=[];const n=this.startNode();if(n.body=[],this.expect(p.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(p.braceR);){if(this.eat(p.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,S.DecoratorSemicolon);continue}if(this.match(p.at)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(n,e,s),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,S.DecoratorConstructor)}})),this.state.strict=t,this.next(),r.length)throw this.raise(this.state.start,S.TrailingDecorator);return this.classScope.exit(),this.finishNode(n,"ClassBody")}parseClassMemberFromModifier(e,t){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=s,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(e,t,s){const r=this.isContextual("static");if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(p.braceL))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,s,r)}parseClassMemberWithIsStatic(e,t,s,r){const n=t,i=t,a=t,o=t,l=n,c=n;if(t.static=r,this.eat(p.star)){l.kind="method";const t=this.match(p.privateName);return this.parseClassElementName(l),t?void this.pushClassPrivateMethod(e,i,!0,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,S.ConstructorIsGenerator),void this.pushClassMethod(e,n,!0,!1,!1,!1))}const u=this.state.containsEsc,h=this.match(p.privateName),d=this.parseClassElementName(t),f="Identifier"===d.type,m=this.state.start;if(this.parsePostMemberNameModifiers(c),this.isClassMethod()){if(l.kind="method",h)return void this.pushClassPrivateMethod(e,i,!1,!1);const r=this.isNonstaticConstructor(n);let a=!1;r&&(n.kind="constructor",s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(d.start,S.DuplicateConstructor),r&&this.hasPlugin("typescript")&&t.override&&this.raise(d.start,S.OverrideOnConstructor),s.hadConstructor=!0,a=s.hadSuperClass),this.pushClassMethod(e,n,!1,!1,r,a)}else if(this.isClassProperty())h?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if(!f||"async"!==d.name||u||this.isLineTerminator())if(!f||"get"!==d.name&&"set"!==d.name||u||this.match(p.star)&&this.isLineTerminator())this.isLineTerminator()?h?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected();else{l.kind=d.name;const t=this.match(p.privateName);this.parseClassElementName(n),t?this.pushClassPrivateMethod(e,i,!1,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,S.ConstructorIsAccessor),this.pushClassMethod(e,n,!1,!1,!1,!1)),this.checkGetterSetterParams(n)}else{const t=this.eat(p.star);c.optional&&this.unexpected(m),l.kind="method";const s=this.match(p.privateName);this.parseClassElementName(l),this.parsePostMemberNameModifiers(c),s?this.pushClassPrivateMethod(e,i,t,!0):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,S.ConstructorIsAsync),this.pushClassMethod(e,n,t,!0,!1,!1))}}parseClassElementName(e){const{type:t,value:s,start:r}=this.state;return t!==p.name&&t!==p.string||!e.static||"prototype"!==s||this.raise(r,S.StaticPrototype),t===p.privateName&&"constructor"===s&&this.raise(r,S.ConstructorClassPrivateField),this.parsePropertyName(e,!0)}parseClassStaticBlock(e,t){var s;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(208);const r=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const n=t.body=[];this.parseBlockOrModuleBlockBody(n,void 0,!1,p.braceR),this.prodParam.exit(),this.scope.exit(),this.state.labels=r,e.body.push(this.finishNode(t,"StaticBlock")),null!=(s=t.decorators)&&s.length&&this.raise(t.start,S.DecoratorStaticBlock)}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,S.ConstructorClassField),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){const s=this.parseClassPrivateProperty(t);e.body.push(s),this.classScope.declarePrivateName(this.getPrivateNameSV(s.key),0,s.key.start)}pushClassMethod(e,t,s,r,n,i){e.body.push(this.parseMethod(t,s,r,n,i,"ClassMethod",!0))}pushClassPrivateMethod(e,t,s,r){const n=this.parseMethod(t,s,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(n);const i="get"===n.kind?n.static?6:2:"set"===n.kind?n.static?5:1:0;this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),i,n.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter(je()),this.prodParam.enter(0),e.value=this.eat(p.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,s,r=139){this.match(p.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,"class name",r)):s||!t?e.id=null:this.unexpected(null,S.MissingClassName)}parseClassSuper(e){e.superClass=this.eat(p._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),s=!t||this.eat(p.comma),r=s&&this.eatExportStar(e),n=r&&this.maybeParseExportNamespaceSpecifier(e),i=s&&(!n||this.eat(p.comma)),a=t||r;if(r&&!n)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(e);if(t&&s&&!r&&!o||n&&i&&!o)throw this.unexpected(null,p.braceL);let l;if(a||o?(l=!1,this.parseExportFrom(e,a)):l=this.maybeParseExportDeclaration(e),a||o||l)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(p._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,p.braceL)}eatExportStar(e){return this.eat(p.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(p.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!u.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(p._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,5,t);if(this.match(p._class))return this.parseClass(e,!0,!0);if(this.match(p.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,S.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(p._const)||this.match(p._var)||this.isLet())throw this.raise(this.state.start,S.UnsupportedDefaultExport);{const e=this.parseMaybeAssignAllowIn();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(p.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===p.name&&"from"!==e.value||e.type===p.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(p._default))return!1;const e=this.nextTokenStart(),t=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||this.match(p.name)&&t)return!0;if(this.match(p._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(p.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,S.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,s,r){if(t)if(s){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var n;const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!=4||null!=(n=t.extra)&&n.parenthesized||this.raise(t.start,S.ExportDefaultFromAsIdentifier)}}else if(e.specifiers&&e.specifiers.length)for(const t of e.specifiers){const{exported:e}=t,s="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,s),!r&&t.local){const{local:e}=t;"StringLiteral"===e.type?this.raise(t.start,S.ExportBindingIsString,e.value,s):(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,S.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?S.DuplicateDefaultExport:S.DuplicateExport,t),this.state.exportedIdentifiers.push(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(p.braceL);!this.eat(p.braceR);){if(t)t=!1;else if(this.expect(p.comma),this.eat(p.braceR))break;const s=this.startNode();s.local=this.parseModuleExportName(),s.exported=this.eatContextual("as")?this.parseModuleExportName():s.local.__clone(),e.push(this.finishNode(s,"ExportSpecifier"))}return e}parseModuleExportName(){if(this.match(p.string)){const e=this.parseLiteral(this.state.value,"StringLiteral"),t=e.value.match(Ye);return t&&this.raise(e.start,S.ModuleExportNameHasLoneSurrogate,t[0].charCodeAt(0).toString(16)),e}return this.parseIdentifier(!0)}parseImport(e){if(e.specifiers=[],!this.match(p.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(p.comma),s=t&&this.maybeParseStarImportSpecifier(e);t&&!s&&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(p.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(p.name)}parseImportSpecifierLocal(e,t,s,r){t.local=this.parseIdentifier(),this.checkLVal(t.local,r,9),e.specifiers.push(this.finishNode(t,s))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(p.braceR))break;const s=this.startNode(),r=this.state.value;if(this.match(p.string)?s.key=this.parseLiteral(r,"StringLiteral"):s.key=this.parseIdentifier(!0),this.expect(p.colon),"type"!==r&&this.raise(s.key.start,S.ModuleAttributeDifferentFromType,r),t.has(r)&&this.raise(s.key.start,S.ModuleAttributesWithDuplicateKeys,r),t.add(r),!this.match(p.string))throw this.unexpected(this.state.start,S.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(p.comma));return e}maybeParseModuleAttributes(){if(!this.match(p._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const e=[],t=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),"type"!==s.key.name&&this.raise(s.key.start,S.ModuleAttributeDifferentFromType,s.key.name),t.has(s.key.name)&&this.raise(s.key.start,S.ModuleAttributesWithDuplicateKeys,s.key.name),t.add(s.key.name),this.expect(p.colon),!this.match(p.string))throw this.unexpected(this.state.start,S.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(p.comma));return e}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(p.braceL);const e=this.parseAssertEntries();return this.eat(p.braceR),e}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(p.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(p.braceL);!this.eat(p.braceR);){if(t)t=!1;else{if(this.eat(p.colon))throw this.raise(this.state.start,S.DestructureNamedImport);if(this.expect(p.comma),this.eat(p.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,S.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"))}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}}class Xe extends Je{constructor(e,t){super(e=function(e){const t={};for(const s of Object.keys(Ee))t[s]=e&&null!=e[s]?e[s]:Ee[s];return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=function(e){const t=new Map;for(const s of e){const[e,r]=Array.isArray(s)?s:[s,{}];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 Ge(e,t){let s=Xe;return null!=e&&e.plugins&&(function(e){if(ge(e,"decorators")){if(ge(e,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const t=be(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(ge(e,"flow")&&ge(e,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(ge(e,"placeholders")&&ge(e,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(ge(e,"pipelineOperator")&&!Te.includes(be(e,"pipelineOperator","proposal")))throw new Error("\'pipelineOperator\' requires \'proposal\' option whose value should be one of: "+Te.map((e=>`\'${e}\'`)).join(", "));if(ge(e,"moduleAttributes")){if(ge(e,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==be(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(ge(e,"recordAndTuple")&&!xe.includes(be(e,"recordAndTuple","syntaxType")))throw new Error("\'recordAndTuple\' requires \'syntaxType\' option whose value should be one of: "+xe.map((e=>`\'${e}\'`)).join(", "));if(ge(e,"asyncDoExpressions")&&!ge(e,"doExpressions")){const e=new Error("\'asyncDoExpressions\' requires \'doExpressions\', please add \'doExpressions\' to parser plugins.");throw e.missingPlugins="doExpressions",e}}(e.plugins),s=function(e){const t=Se.filter((t=>ge(e,t))),s=t.join("/");let r=ze[s];if(!r){r=Xe;for(const e of t)r=Pe[e](r);ze[s]=r}return r}(e.plugins)),new s(e,t)}const ze={};t.parse=function(e,t){var s;if("unambiguous"!==(null==(s=t)?void 0:s.sourceType))return Ge(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const s=Ge(t,e),r=s.parse();if(s.sawUnambiguousESM)return r;if(s.ambiguousScriptDifferentAst)try{return t.sourceType="script",Ge(t,e).parse()}catch(e){}else r.program.sourceType="script";return r}catch(s){try{return t.sourceType="script",Ge(t,e).parse()}catch(e){}throw s}},t.parseExpression=function(e,t){const s=Ge(t,e);return s.options.strictMode&&(s.state.strict=!0),s.getExpression()},t.tokTypes=p},8241:e=>{var t=1e3,s=60*t,r=60*s,n=24*r;function i(e,t,s,r){var n=t>=1.5*s;return Math.round(e/s)+" "+r+(n?"s":"")}e.exports=function(e,a){a=a||{};var o,l,c=typeof e;if("string"===c&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var i=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(i){var a=parseFloat(i[1]);switch((i[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return 6048e5*a;case"days":case"day":case"d":return a*n;case"hours":case"hour":case"hrs":case"hr":case"h":return a*r;case"minutes":case"minute":case"mins":case"min":case"m":return a*s;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===c&&isFinite(e))return a.long?(o=e,(l=Math.abs(o))>=n?i(o,l,n,"day"):l>=r?i(o,l,r,"hour"):l>=s?i(o,l,s,"minute"):l>=t?i(o,l,t,"second"):o+" ms"):function(e){var i=Math.abs(e);return i>=n?Math.round(e/n)+"d":i>=r?Math.round(e/r)+"h":i>=s?Math.round(e/s)+"m":i>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},4987:(e,t,s)=>{var r=s(397);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const s="color: "+this.color;t.splice(1,0,s,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(n=r))})),t.splice(n,0,s)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=r.env.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=s(7179)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},7179:(e,t,s)=>{e.exports=function(e){function t(e){let s,n,i,a=null;function o(...e){if(!o.enabled)return;const r=o,n=Number(new Date),i=n-(s||n);r.diff=i,r.prev=s,r.curr=n,s=n,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((s,n)=>{if("%%"===s)return"%";a++;const i=t.formatters[n];if("function"==typeof i){const t=e[a];s=i.call(r,t),e.splice(a,1),a--}return s})),t.formatArgs.call(r,e),(r.log||t.log).apply(r,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=r,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(n!==t.namespaces&&(n=t.namespaces,i=t.enabled(e)),i),set:e=>{a=e}}),"function"==typeof t.init&&t.init(o),o}function r(e,s){const r=t(this.namespace+(void 0===s?":":s)+e);return r.log=this.log,r}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\\.\\*\\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let s;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const r=("string"==typeof e?e:"").split(/[\\s,]+/),n=r.length;for(s=0;s{t[s]=e[s]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let s=0;for(let t=0;t{var r=s(397);void 0===r||"renderer"===r.type||!0===r.browser||r.__nwjs?e.exports=s(4987):e.exports=s(848)},848:(e,t,s)=>{var r=s(397);const n=s(6224),i=s(3837);t.init=function(e){e.inspectOpts={};const s=Object.keys(t.inspectOpts);for(let r=0;r{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{const e=s(7319);e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(r.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const s=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=r.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[s]=n,e}),{}),e.exports=s(7179)(t);const{formatters:a}=e.exports;a.o=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts).split("\\n").map((e=>e.trim())).join(" ")},a.O=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts)}},8715:function(e,t,s){var r,n,i;!function(a,o){"use strict";n=[s(7356)],void 0===(i="function"==typeof(r=function(e){var t=/(^|@)\\S+:\\d+/,s=/^\\s*at .*(\\S+:\\d+|\\(native\\))/m,r=/^(eval@)?(\\[native code])?$/;return{parse:function(e){if(void 0!==e.stacktrace||void 0!==e["opera#sourceloc"])return this.parseOpera(e);if(e.stack&&e.stack.match(s))return this.parseV8OrIE(e);if(e.stack)return this.parseFFOrSafari(e);throw new Error("Cannot parse given Error object")},extractLocation:function(e){if(-1===e.indexOf(":"))return[e];var t=/(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(e.replace(/[()]/g,""));return[t[1],t[2]||void 0,t[3]||void 0]},parseV8OrIE:function(t){return t.stack.split("\\n").filter((function(e){return!!e.match(s)}),this).map((function(t){t.indexOf("(eval ")>-1&&(t=t.replace(/eval code/g,"eval").replace(/(\\(eval at [^()]*)|(\\),.*$)/g,""));var s=t.replace(/^\\s+/,"").replace(/\\(eval code/g,"("),r=s.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/),n=(s=r?s.replace(r[0],""):s).split(/\\s+/).slice(1),i=this.extractLocation(r?r[1]:n.pop()),a=n.join(" ")||void 0,o=["eval",""].indexOf(i[0])>-1?void 0:i[0];return new e({functionName:a,fileName:o,lineNumber:i[1],columnNumber:i[2],source:t})}),this)},parseFFOrSafari:function(t){return t.stack.split("\\n").filter((function(e){return!e.match(r)}),this).map((function(t){if(t.indexOf(" > eval")>-1&&(t=t.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g,":$1")),-1===t.indexOf("@")&&-1===t.indexOf(":"))return new e({functionName:t});var s=/((.*".+"[^@]*)?[^@]*)(?:@)/,r=t.match(s),n=r&&r[1]?r[1]:void 0,i=this.extractLocation(t.replace(s,""));return new e({functionName:n,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:t})}),this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\\n")>-1&&e.message.split("\\n").length>e.stacktrace.split("\\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(t){for(var s=/Line (\\d+).*script (?:in )?(\\S+)/i,r=t.message.split("\\n"),n=[],i=2,a=r.length;i/,"$2").replace(/\\([^)]*\\)/g,"")||void 0;i.match(/\\(([^)]*)\\)/)&&(s=i.replace(/^[^(]+\\(([^)]*)\\)$/,"$1"));var o=void 0===s||"[arguments not available]"===s?void 0:s.split(",");return new e({functionName:a,args:o,fileName:n[0],lineNumber:n[1],columnNumber:n[2],source:t})}),this)}}})?r.apply(t,n):r)||(e.exports=i)}()},2261:(e,t,s)=>{"use strict";e.exports=s(964)},9341:(e,t,s)=>{"use strict";var r=s(397);e.exports=(e,t)=>{t=t||r.argv;const s=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(s+e),i=t.indexOf("--");return-1!==n&&(-1===i||n{Object.defineProperty(t,"__esModule",{value:!0}),t.default=/(([\'"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\\'"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}},442:e=>{"use strict";const t={},s=t.hasOwnProperty,r=(e,t)=>{for(const r in e)s.call(e,r)&&t(r,e[r])},n=t.toString,i=Array.isArray,a=Buffer.isBuffer,o={\'"\':\'\\\\"\',"\'":"\\\\\'","\\\\":"\\\\\\\\","\\b":"\\\\b","\\f":"\\\\f","\\n":"\\\\n","\\r":"\\\\r","\\t":"\\\\t"},l=/["\'\\\\\\b\\f\\n\\r\\t]/,c=/[0-9]/,p=/[ !#-&\\(-\\[\\]-_a-~]/,u=(e,t)=>{const s=()=>{x=T,++t.indentLevel,T=t.indent.repeat(t.indentLevel)},h={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\\t",indentLevel:0,__inline1__:!1,__inline2__:!1},d=t&&t.json;var f,m;d&&(h.quotes="double",h.wrap=!0),f=h,t=(m=t)?(r(m,((e,t)=>{f[e]=t})),f):f,"single"!=t.quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");const y="double"==t.quotes?\'"\':"backtick"==t.quotes?"`":"\'",g=t.compact,b=t.lowercaseHex;let T=t.indent.repeat(t.indentLevel),x="";const P=t.__inline1__,S=t.__inline2__,E=g?"":"\\n";let A,v=!0;const w="binary"==t.numbers,C="octal"==t.numbers,I="decimal"==t.numbers,O="hexadecimal"==t.numbers;if(d&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),"string"!=typeof(N=e)&&"[object String]"!=n.call(N)){if((e=>"[object Map]"==n.call(e))(e))return 0==e.size?"new Map()":(g||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+u(Array.from(e),t)+")");if((e=>"[object Set]"==n.call(e))(e))return 0==e.size?"new Set()":"new Set("+u(Array.from(e),t)+")";if(a(e))return 0==e.length?"Buffer.from([])":"Buffer.from("+u(Array.from(e),t)+")";if(i(e))return A=[],t.wrap=!0,P&&(t.__inline1__=!1,t.__inline2__=!0),S||s(),((e,t)=>{const s=e.length;let r=-1;for(;++r{v=!1,S&&(t.__inline2__=!1),A.push((g||S?"":T)+u(e,t))})),v?"[]":S?"["+A.join(", ")+"]":"["+E+A.join(","+E)+E+(g?"":x)+"]";if(!(e=>"number"==typeof e||"[object Number]"==n.call(e))(e))return(e=>"[object Object]"==n.call(e))(e)?(A=[],t.wrap=!0,s(),r(e,((e,s)=>{v=!1,A.push((g?"":T)+u(e,t)+":"+(g?"":" ")+u(s,t))})),v?"{}":"{"+E+A.join(","+E)+E+(g?"":x)+"}"):d?JSON.stringify(e)||"null":String(e);if(d)return JSON.stringify(e);if(I)return String(e);if(O){let t=e.toString(16);return b||(t=t.toUpperCase()),"0x"+t}if(w)return"0b"+e.toString(2);if(C)return"0o"+e.toString(8)}var N;const k=e;let L=-1;const D=k.length;for(A="";++L=55296&&e<=56319&&D>L+1){const t=k.charCodeAt(L+1);if(t>=56320&&t<=57343){let s=(1024*(e-55296)+t-56320+65536).toString(16);b||(s=s.toUpperCase()),A+="\\\\u{"+s+"}",++L;continue}}}if(!t.escapeEverything){if(p.test(e)){A+=e;continue}if(\'"\'==e){A+=y==e?\'\\\\"\':e;continue}if("`"==e){A+=y==e?"\\\\`":e;continue}if("\'"==e){A+=y==e?"\\\\\'":e;continue}}if("\\0"==e&&!d&&!c.test(k.charAt(L+1))){A+="\\\\0";continue}if(l.test(e)){A+=o[e];continue}const s=e.charCodeAt(0);if(t.minimal&&8232!=s&&8233!=s){A+=e;continue}let r=s.toString(16);b||(r=r.toUpperCase());const n=r.length>2||d,i="\\\\"+(n?"u":"x")+("0000"+r).slice(n?-4:-2);A+=i}return t.wrap&&(A=y+A+y),"`"==y&&(A=A.replace(/\\$\\{/g,"\\\\${")),t.isScriptContext?A.replace(/<\\/(script|style)/gi,"<\\\\/$1").replace(/\x3c!--/g,d?"\\\\u003C!--":"\\\\x3C!--"):A};u.version="2.5.2",e.exports=u},3018:(e,t,s)=>{"use strict";const r=s(5986),n=Symbol("max"),i=Symbol("length"),a=Symbol("lengthCalculator"),o=Symbol("allowStale"),l=Symbol("maxAge"),c=Symbol("dispose"),p=Symbol("noDisposeOnSet"),u=Symbol("lruList"),h=Symbol("cache"),d=Symbol("updateAgeOnGet"),f=()=>1,m=(e,t,s)=>{const r=e[h].get(t);if(r){const t=r.value;if(y(e,t)){if(b(e,r),!e[o])return}else s&&(e[d]&&(r.value.now=Date.now()),e[u].unshiftNode(r));return t.value}},y=(e,t)=>{if(!t||!t.maxAge&&!e[l])return!1;const s=Date.now()-t.now;return t.maxAge?s>t.maxAge:e[l]&&s>e[l]},g=e=>{if(e[i]>e[n])for(let t=e[u].tail;e[i]>e[n]&&null!==t;){const s=t.prev;b(e,t),t=s}},b=(e,t)=>{if(t){const s=t.value;e[c]&&e[c](s.key,s.value),e[i]-=s.length,e[h].delete(s.key),e[u].removeNode(t)}};class T{constructor(e,t,s,r,n){this.key=e,this.value=t,this.length=s,this.now=r,this.maxAge=n||0}}const x=(e,t,s,r)=>{let n=s.value;y(e,n)&&(b(e,s),e[o]||(n=void 0)),n&&t.call(r,n.value,n.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[n]=e.max||1/0;const t=e.length||f;if(this[a]="function"!=typeof t?f:t,this[o]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[l]=e.maxAge||0,this[c]=e.dispose,this[p]=e.noDisposeOnSet||!1,this[d]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[n]=e||1/0,g(this)}get max(){return this[n]}set allowStale(e){this[o]=!!e}get allowStale(){return this[o]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[l]=e,g(this)}get maxAge(){return this[l]}set lengthCalculator(e){"function"!=typeof e&&(e=f),e!==this[a]&&(this[a]=e,this[i]=0,this[u].forEach((e=>{e.length=this[a](e.value,e.key),this[i]+=e.length}))),g(this)}get lengthCalculator(){return this[a]}get length(){return this[i]}get itemCount(){return this[u].length}rforEach(e,t){t=t||this;for(let s=this[u].tail;null!==s;){const r=s.prev;x(this,e,s,t),s=r}}forEach(e,t){t=t||this;for(let s=this[u].head;null!==s;){const r=s.next;x(this,e,s,t),s=r}}keys(){return this[u].toArray().map((e=>e.key))}values(){return this[u].toArray().map((e=>e.value))}reset(){this[c]&&this[u]&&this[u].length&&this[u].forEach((e=>this[c](e.key,e.value))),this[h]=new Map,this[u]=new r,this[i]=0}dump(){return this[u].map((e=>!y(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[u]}set(e,t,s){if((s=s||this[l])&&"number"!=typeof s)throw new TypeError("maxAge must be a number");const r=s?Date.now():0,o=this[a](t,e);if(this[h].has(e)){if(o>this[n])return b(this,this[h].get(e)),!1;const a=this[h].get(e).value;return this[c]&&(this[p]||this[c](e,a.value)),a.now=r,a.maxAge=s,a.value=t,this[i]+=o-a.length,a.length=o,this.get(e),g(this),!0}const d=new T(e,t,o,r,s);return d.length>this[n]?(this[c]&&this[c](e,t),!1):(this[i]+=d.length,this[u].unshift(d),this[h].set(e,this[u].head),g(this),!0)}has(e){if(!this[h].has(e))return!1;const t=this[h].get(e).value;return!y(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[u].tail;return e?(b(this,e),e.value):null}del(e){b(this,this[h].get(e))}load(e){this.reset();const t=Date.now();for(let s=e.length-1;s>=0;s--){const r=e[s],n=r.e||0;if(0===n)this.set(r.k,r.v);else{const e=n-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[h].forEach(((e,t)=>m(this,t,!1)))}}},7614:(e,t,s)=>{var r=s(397);let n=s(6224),i=!("NO_COLOR"in r.env||r.argv.includes("--no-color"))&&("FORCE_COLOR"in r.env||r.argv.includes("--color")||"win32"===r.platform||n.isatty(1)&&"dumb"!==r.env.TERM||"CI"in r.env),a=(e,t,s=e)=>r=>{let n=""+r,i=n.indexOf(t,e.length);return~i?e+o(n,t,s,i)+t:e+n+t},o=(e,t,s,r)=>{let n=e.substring(0,r)+s,i=e.substring(r+t.length),a=i.indexOf(t);return~a?n+o(i,t,s,a):n+i},l=(e=i)=>({isColorSupported:e,reset:e?e=>`${e}`:String,bold:e?a("","",""):String,dim:e?a("","",""):String,italic:e?a("",""):String,underline:e?a("",""):String,inverse:e?a("",""):String,hidden:e?a("",""):String,strikethrough:e?a("",""):String,black:e?a("",""):String,red:e?a("",""):String,green:e?a("",""):String,yellow:e?a("",""):String,blue:e?a("",""):String,magenta:e?a("",""):String,cyan:e?a("",""):String,white:e?a("",""):String,gray:e?a("",""):String,bgBlack:e?a("",""):String,bgRed:e?a("",""):String,bgGreen:e?a("",""):String,bgYellow:e?a("",""):String,bgBlue:e?a("",""):String,bgMagenta:e?a("",""):String,bgCyan:e?a("",""):String,bgWhite:e?a("",""):String});e.exports=l(),e.exports.createColors=l},397:e=>{var t,s,r=e.exports={};function n(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===n||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(s){try{return t.call(null,e,0)}catch(s){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:n}catch(e){t=n}try{s="function"==typeof clearTimeout?clearTimeout:i}catch(e){s=i}}();var o,l=[],c=!1,p=-1;function u(){c&&o&&(c=!1,o.length?l=o.concat(l):p=-1,l.length&&h())}function h(){if(!c){var e=a(u);c=!0;for(var t=l.length;t;){for(o=l,l=[];++p1)for(var s=1;s{t.getArg=function(e,t,s){if(t in e)return e[t];if(3===arguments.length)return s;throw new Error(\'"\'+t+\'" is a required argument.\')};var s=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,r=/^data:.+\\,.+$/;function n(e){var t=e.match(s);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(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}t.urlParse=n,t.urlGenerate=i;var a,o,l=(a=function(e){var s=e,r=n(e);if(r){if(!r.path)return e;s=r.path}for(var a=t.isAbsolute(s),o=[],l=0,c=0;;){if(l=c,-1===(c=s.indexOf("/",l))){o.push(s.slice(l));break}for(o.push(s.slice(l,c));c=0;c--)"."===(p=o[c])?o.splice(c,1):".."===p?u++:u>0&&(""===p?(o.splice(c+1,u),u=0):(o.splice(c,2),u--));return""===(s=o.join("/"))&&(s=a?"/":"."),r?(r.path=s,i(r)):s},o=[],function(e){for(var t=0;t32&&o.pop(),r});function c(e,t){""===e&&(e="."),""===t&&(t=".");var s=n(t),a=n(e);if(a&&(e=a.path||"/"),s&&!s.scheme)return a&&(s.scheme=a.scheme),i(s);if(s||t.match(r))return t;if(a&&!a.host&&!a.path)return a.host=t,i(a);var o="/"===t.charAt(0)?t:l(e.replace(/\\/+$/,"")+"/"+t);return a?(a.path=o,i(a)):o}t.normalize=l,t.join=c,t.isAbsolute=function(e){return"/"===e.charAt(0)||s.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\\/$/,"");for(var s=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++s}return Array(s+1).join("../")+t.substr(e.length+1)};var p=!("__proto__"in Object.create(null));function u(e){return e}function h(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 s=t-10;s>=0;s--)if(36!==e.charCodeAt(s))return!1;return!0}function d(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=p?u:function(e){return h(e)?"$"+e:e},t.fromSetString=p?u:function(e){return h(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,s){var r=d(e.source,t.source);return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||s||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:d(e.name,t.name)},t.compareByOriginalPositionsNoSource=function(e,t,s){var r;return 0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||s||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:d(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,s){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||s||0!==(r=d(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.compareByGeneratedPositionsDeflatedNoLine=function(e,t,s){var r=e.generatedColumn-t.generatedColumn;return 0!==r||s||0!==(r=d(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var s=e.generatedLine-t.generatedLine;return 0!==s||0!=(s=e.generatedColumn-t.generatedColumn)||0!==(s=d(e.source,t.source))||0!=(s=e.originalLine-t.originalLine)||0!=(s=e.originalColumn-t.originalColumn)?s:d(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}\'[^\\n]*\\n/,""))},t.computeSourceURL=function(e,t,s){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),s){var r=n(s);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var a=r.path.lastIndexOf("/");a>=0&&(r.path=r.path.substring(0,a+1))}t=c(i(r),t)}return l(t)}},7356:function(e,t){var s,r,n;!function(i,a){"use strict";r=[],void 0===(n="function"==typeof(s=function(){function e(e){return e.charAt(0).toUpperCase()+e.substring(1)}function t(e){return function(){return this[e]}}var s=["isConstructor","isEval","isNative","isToplevel"],r=["columnNumber","lineNumber"],n=["fileName","functionName","source"],i=s.concat(r,n,["args"]);function a(t){if(t)for(var s=0;s{"use strict";var r=s(397);const n=s(2037),i=s(6224),a=s(9358),{env:o}=r;let l;function c(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function p(e,t){if(0===l)return 0;if(a("color=16m")||a("color=full")||a("color=truecolor"))return 3;if(a("color=256"))return 2;if(e&&!t&&void 0===l)return 0;const s=l||0;if("dumb"===o.TERM)return s;if("win32"===r.platform){const e=n.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in o)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((e=>e in o))||"codeship"===o.CI_NAME?1:s;if("TEAMCITY_VERSION"in o)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(o.TEAMCITY_VERSION)?1:0;if("truecolor"===o.COLORTERM)return 3;if("TERM_PROGRAM"in o){const e=parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:s}a("no-color")||a("no-colors")||a("color=false")||a("color=never")?l=0:(a("color")||a("colors")||a("color=true")||a("color=always"))&&(l=1),"FORCE_COLOR"in o&&(l="true"===o.FORCE_COLOR?1:"false"===o.FORCE_COLOR?0:0===o.FORCE_COLOR.length?1:Math.min(parseInt(o.FORCE_COLOR,10),3)),e.exports={supportsColor:function(e){return c(p(e,e&&e.isTTY))},stdout:c(p(!0,i.isatty(1))),stderr:c(p(!0,i.isatty(2)))}},9358:(e,t,s)=>{"use strict";var r=s(397);e.exports=(e,t=r.argv)=>{const s=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(s+e),i=t.indexOf("--");return-1!==n&&(-1===i||n{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},5986:(e,t,s)=>{"use strict";function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var s=0,n=arguments.length;s1)s=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,s=this.head.value}for(var n=0;null!==r;n++)s=e(s,r.value,n),r=r.next;return s},r.prototype.reduceReverse=function(e,t){var s,r=this.tail;if(arguments.length>1)s=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,s=this.tail.value}for(var n=this.length-1;null!==r;n--)s=e(s,r.value,n),r=r.prev;return s},r.prototype.toArray=function(){for(var e=new Array(this.length),t=0,s=this.head;null!==s;t++)e[t]=s.value,s=s.next;return e},r.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,s=this.tail;null!==s;t++)e[t]=s.value,s=s.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var s=new r;if(tthis.length&&(t=this.length);for(var n=0,i=this.head;null!==i&&nthis.length&&(t=this.length);for(var n=this.length,i=this.tail;null!==i&&n>t;n--)i=i.prev;for(;null!==i&&n>e;n--,i=i.prev)s.push(i.value);return s},r.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var s=0,r=this.head;null!==r&&s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const s=/^[ \\t]+$/;t.default=class{constructor(e){this._map=null,this._buf=[],this._last="",this._queue=[],this._position={line:1,column:0},this._sourcePosition={identifierName:null,line:null,column:null,filename:null},this._disallowedPop=null,this._map=e}get(){this._flush();const e=this._map,t={code:this._buf.join("").trimRight(),map:null,rawMappings:null==e?void 0:e.getRawMappings()};return e&&Object.defineProperty(t,"map",{configurable:!0,enumerable:!0,get(){return this.map=e.get()},set(e){Object.defineProperty(this,"map",{value:e,writable:!0})}}),t}append(e){this._flush();const{line:t,column:s,filename:r,identifierName:n,force:i}=this._sourcePosition;this._append(e,t,s,n,r,i)}queue(e){if("\\n"===e)for(;this._queue.length>0&&s.test(this._queue[0][0]);)this._queue.shift();const{line:t,column:r,filename:n,identifierName:i,force:a}=this._sourcePosition;this._queue.unshift([e,t,r,i,n,a])}_flush(){let e;for(;e=this._queue.pop();)this._append(...e)}_append(e,t,s,r,n,i){this._buf.push(e),this._last=e[e.length-1];let a=e.indexOf("\\n"),o=0;for(0!==a&&this._mark(t,s,r,n,i);-1!==a;)this._position.line++,this._position.column=0,o=a+1,o0&&"\\n"===this._queue[0][0]&&this._queue.shift()}removeLastSemicolon(){this._queue.length>0&&";"===this._queue[0][0]&&this._queue.shift()}endsWith(e){if(1===e.length){let t;if(this._queue.length>0){const e=this._queue[0][0];t=e[e.length-1]}else t=this._last;return t===e}const t=this._last+this._queue.reduce(((e,t)=>t[0]+e),"");return e.length<=t.length&&t.slice(-e.length)===e}hasContent(){return this._queue.length>0||!!this._last}exactSource(e,t){this.source("start",e,!0),t(),this.source("end",e),this._disallowPop("start",e)}source(e,t,s){e&&!t||this._normalizePosition(e,t,this._sourcePosition,s)}withSource(e,t,s){if(!this._map)return s();const r=this._sourcePosition.line,n=this._sourcePosition.column,i=this._sourcePosition.filename,a=this._sourcePosition.identifierName;this.source(e,t),s(),this._sourcePosition.force&&this._sourcePosition.line===r&&this._sourcePosition.column===n&&this._sourcePosition.filename===i||this._disallowedPop&&this._disallowedPop.line===r&&this._disallowedPop.column===n&&this._disallowedPop.filename===i||(this._sourcePosition.line=r,this._sourcePosition.column=n,this._sourcePosition.filename=i,this._sourcePosition.identifierName=a,this._sourcePosition.force=!1,this._disallowedPop=null)}_disallowPop(e,t){e&&!t||(this._disallowedPop=this._normalizePosition(e,t))}_normalizePosition(e,t,s,r){const n=t?t[e]:null;void 0===s&&(s={identifierName:null,line:null,column:null,filename:null,force:!1});const i=s.line,a=s.column,o=s.filename;return s.identifierName="start"===e&&(null==t?void 0:t.identifierName)||null,s.line=null==n?void 0:n.line,s.column=null==n?void 0:n.column,s.filename=null==t?void 0:t.filename,(r||s.line!==i||s.column!==a||s.filename!==o)&&(s.force=r),s}getCurrentColumn(){const e=this._queue.reduce(((e,t)=>t[0]+e),""),t=e.lastIndexOf("\\n");return-1===t?this._position.column+e.length:e.length-1-t}getCurrentLine(){const e=this._queue.reduce(((e,t)=>t[0]+e),"");let t=0;for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.File=function(e){e.program&&this.print(e.program.interpreter,e),this.print(e.program,e)},t.Program=function(e){this.printInnerComments(e,!1),this.printSequence(e.directives,e),e.directives&&e.directives.length&&this.newline(),this.printSequence(e.body,e)},t.BlockStatement=function(e){var t;this.token("{"),this.printInnerComments(e);const s=null==(t=e.directives)?void 0:t.length;e.body.length||s?(this.newline(),this.printSequence(e.directives,e,{indent:!0}),s&&this.newline(),this.printSequence(e.body,e,{indent:!0}),this.removeTrailingNewline(),this.source("end",e.loc),this.endsWith("\\n")||this.newline(),this.rightBrace()):(this.source("end",e.loc),this.token("}"))},t.Noop=function(){},t.Directive=function(e){this.print(e.value,e),this.semicolon()},t.DirectiveLiteral=function(e){const t=this.getPossibleRaw(e);if(null!=t)return void this.token(t);const{value:n}=e;if(r.test(n)){if(s.test(n))throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");this.token(`\'${n}\'`)}else this.token(`"${n}"`)},t.InterpreterDirective=function(e){this.token(`#!${e.value}\\n`)},t.Placeholder=function(e){this.token("%%"),this.print(e.name),this.token("%%"),"Statement"===e.expectedNode&&this.semicolon()};const s=/(?:^|[^\\\\])(?:\\\\\\\\)*\'/,r=/(?:^|[^\\\\])(?:\\\\\\\\)*"/},9570:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClassExpression=t.ClassDeclaration=function(e,t){this.format.decoratorsBeforeExport&&(r.isExportDefaultDeclaration(t)||r.isExportNamedDeclaration(t))||this.printJoin(e.decorators,e),e.declare&&(this.word("declare"),this.space()),e.abstract&&(this.word("abstract"),this.space()),this.word("class"),e.id&&(this.space(),this.print(e.id,e)),this.print(e.typeParameters,e),e.superClass&&(this.space(),this.word("extends"),this.space(),this.print(e.superClass,e),this.print(e.superTypeParameters,e)),e.implements&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)},t.ClassBody=function(e){this.token("{"),this.printInnerComments(e),0===e.body.length?this.token("}"):(this.newline(),this.indent(),this.printSequence(e.body,e),this.dedent(),this.endsWith("\\n")||this.newline(),this.rightBrace())},t.ClassProperty=function(e){this.printJoin(e.decorators,e),this.tsPrintClassMemberModifiers(e,!0),e.computed?(this.token("["),this.print(e.key,e),this.token("]")):(this._variance(e),this.print(e.key,e)),e.optional&&this.token("?"),e.definite&&this.token("!"),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.token("="),this.space(),this.print(e.value,e)),this.semicolon()},t.ClassPrivateProperty=function(e){this.printJoin(e.decorators,e),e.static&&(this.word("static"),this.space()),this.print(e.key,e),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.token("="),this.space(),this.print(e.value,e)),this.semicolon()},t.ClassMethod=function(e){this._classMethodHead(e),this.space(),this.print(e.body,e)},t.ClassPrivateMethod=function(e){this._classMethodHead(e),this.space(),this.print(e.body,e)},t._classMethodHead=function(e){this.printJoin(e.decorators,e),this.tsPrintClassMemberModifiers(e,!1),this._methodHead(e)},t.StaticBlock=function(e){this.word("static"),this.space(),this.token("{"),0===e.body.length?this.token("}"):(this.newline(),this.printSequence(e.body,e,{indent:!0}),this.rightBrace())};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},9901:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnaryExpression=function(e){"void"===e.operator||"delete"===e.operator||"typeof"===e.operator||"throw"===e.operator?(this.word(e.operator),this.space()):this.token(e.operator),this.print(e.argument,e)},t.DoExpression=function(e){this.word("do"),this.space(),this.print(e.body,e)},t.ParenthesizedExpression=function(e){this.token("("),this.print(e.expression,e),this.token(")")},t.UpdateExpression=function(e){e.prefix?(this.token(e.operator),this.print(e.argument,e)):(this.startTerminatorless(!0),this.print(e.argument,e),this.endTerminatorless(),this.token(e.operator))},t.ConditionalExpression=function(e){this.print(e.test,e),this.space(),this.token("?"),this.space(),this.print(e.consequent,e),this.space(),this.token(":"),this.space(),this.print(e.alternate,e)},t.NewExpression=function(e,t){this.word("new"),this.space(),this.print(e.callee,e),(!this.format.minified||0!==e.arguments.length||e.optional||r.isCallExpression(t,{callee:e})||r.isMemberExpression(t)||r.isNewExpression(t))&&(this.print(e.typeArguments,e),this.print(e.typeParameters,e),e.optional&&this.token("?."),this.token("("),this.printList(e.arguments,e),this.token(")"))},t.SequenceExpression=function(e){this.printList(e.expressions,e)},t.ThisExpression=function(){this.word("this")},t.Super=function(){this.word("super")},t.Decorator=function(e){this.token("@"),this.print(e.expression,e),this.newline()},t.OptionalMemberExpression=function(e){if(this.print(e.object,e),!e.computed&&r.isMemberExpression(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");let t=e.computed;r.isLiteral(e.property)&&"number"==typeof e.property.value&&(t=!0),e.optional&&this.token("?."),t?(this.token("["),this.print(e.property,e),this.token("]")):(e.optional||this.token("."),this.print(e.property,e))},t.OptionalCallExpression=function(e){this.print(e.callee,e),this.print(e.typeArguments,e),this.print(e.typeParameters,e),e.optional&&this.token("?."),this.token("("),this.printList(e.arguments,e),this.token(")")},t.CallExpression=function(e){this.print(e.callee,e),this.print(e.typeArguments,e),this.print(e.typeParameters,e),this.token("("),this.printList(e.arguments,e),this.token(")")},t.Import=function(){this.word("import")},t.EmptyStatement=function(){this.semicolon(!0)},t.ExpressionStatement=function(e){this.print(e.expression,e),this.semicolon()},t.AssignmentPattern=function(e){this.print(e.left,e),e.left.optional&&this.token("?"),this.print(e.left.typeAnnotation,e),this.space(),this.token("="),this.space(),this.print(e.right,e)},t.LogicalExpression=t.BinaryExpression=t.AssignmentExpression=function(e,t){const s=this.inForStatementInitCounter&&"in"===e.operator&&!n.needsParens(e,t);s&&this.token("("),this.print(e.left,e),this.space(),"in"===e.operator||"instanceof"===e.operator?this.word(e.operator):this.token(e.operator),this.space(),this.print(e.right,e),s&&this.token(")")},t.BindExpression=function(e){this.print(e.object,e),this.token("::"),this.print(e.callee,e)},t.MemberExpression=function(e){if(this.print(e.object,e),!e.computed&&r.isMemberExpression(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");let t=e.computed;r.isLiteral(e.property)&&"number"==typeof e.property.value&&(t=!0),t?(this.token("["),this.print(e.property,e),this.token("]")):(this.token("."),this.print(e.property,e))},t.MetaProperty=function(e){this.print(e.meta,e),this.token("."),this.print(e.property,e)},t.PrivateName=function(e){this.token("#"),this.print(e.id,e)},t.V8IntrinsicIdentifier=function(e){this.token("%"),this.word(e.name)},t.AwaitExpression=t.YieldExpression=void 0;var r=a(s(4473)),n=a(s(944));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function a(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=r?Object.getOwnPropertyDescriptor(e,n):null;a&&(a.get||a.set)?Object.defineProperty(s,n,a):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}function o(e){return function(t){if(this.word(e),t.delegate&&this.token("*"),t.argument){this.space();const e=this.startTerminatorless();this.print(t.argument,t),this.endTerminatorless(e)}}}const l=o("yield");t.YieldExpression=l;const c=o("await");t.AwaitExpression=c},308:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyTypeAnnotation=function(){this.word("any")},t.ArrayTypeAnnotation=function(e){this.print(e.elementType,e),this.token("["),this.token("]")},t.BooleanTypeAnnotation=function(){this.word("boolean")},t.BooleanLiteralTypeAnnotation=function(e){this.word(e.value?"true":"false")},t.NullLiteralTypeAnnotation=function(){this.word("null")},t.DeclareClass=function(e,t){r.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("class"),this.space(),this._interfaceish(e)},t.DeclareFunction=function(e,t){r.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("function"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation.typeAnnotation,e),e.predicate&&(this.space(),this.print(e.predicate,e)),this.semicolon()},t.InferredPredicate=function(){this.token("%"),this.word("checks")},t.DeclaredPredicate=function(e){this.token("%"),this.word("checks"),this.token("("),this.print(e.value,e),this.token(")")},t.DeclareInterface=function(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)},t.DeclareModule=function(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id,e),this.space(),this.print(e.body,e)},t.DeclareModuleExports=function(e){this.word("declare"),this.space(),this.word("module"),this.token("."),this.word("exports"),this.print(e.typeAnnotation,e)},t.DeclareTypeAlias=function(e){this.word("declare"),this.space(),this.TypeAlias(e)},t.DeclareOpaqueType=function(e,t){r.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.OpaqueType(e)},t.DeclareVariable=function(e,t){r.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("var"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation,e),this.semicolon()},t.DeclareExportDeclaration=function(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space()),p.apply(this,arguments)},t.DeclareExportAllDeclaration=function(){this.word("declare"),this.space(),n.ExportAllDeclaration.apply(this,arguments)},t.EnumDeclaration=function(e){const{id:t,body:s}=e;this.word("enum"),this.space(),this.print(t,e),this.print(s,e)},t.EnumBooleanBody=function(e){const{explicitType:t}=e;o(this,"boolean",t),l(this,e)},t.EnumNumberBody=function(e){const{explicitType:t}=e;o(this,"number",t),l(this,e)},t.EnumStringBody=function(e){const{explicitType:t}=e;o(this,"string",t),l(this,e)},t.EnumSymbolBody=function(e){o(this,"symbol",!0),l(this,e)},t.EnumDefaultedMember=function(e){const{id:t}=e;this.print(t,e),this.token(",")},t.EnumBooleanMember=function(e){c(this,e)},t.EnumNumberMember=function(e){c(this,e)},t.EnumStringMember=function(e){c(this,e)},t.ExistsTypeAnnotation=function(){this.token("*")},t.FunctionTypeAnnotation=function(e,t){this.print(e.typeParameters,e),this.token("("),this.printList(e.params,e),e.rest&&(e.params.length&&(this.token(","),this.space()),this.token("..."),this.print(e.rest,e)),this.token(")"),"ObjectTypeCallProperty"===t.type||"DeclareFunction"===t.type||"ObjectTypeProperty"===t.type&&t.method?this.token(":"):(this.space(),this.token("=>")),this.space(),this.print(e.returnType,e)},t.FunctionTypeParam=function(e){this.print(e.name,e),e.optional&&this.token("?"),e.name&&(this.token(":"),this.space()),this.print(e.typeAnnotation,e)},t.GenericTypeAnnotation=t.ClassImplements=t.InterfaceExtends=function(e){this.print(e.id,e),this.print(e.typeParameters,e)},t._interfaceish=function(e){this.print(e.id,e),this.print(e.typeParameters,e),e.extends.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e)),e.mixins&&e.mixins.length&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins,e)),e.implements&&e.implements.length&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)},t._variance=function(e){e.variance&&("plus"===e.variance.kind?this.token("+"):"minus"===e.variance.kind&&this.token("-"))},t.InterfaceDeclaration=function(e){this.word("interface"),this.space(),this._interfaceish(e)},t.InterfaceTypeAnnotation=function(e){this.word("interface"),e.extends&&e.extends.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e)),this.space(),this.print(e.body,e)},t.IntersectionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:u})},t.MixedTypeAnnotation=function(){this.word("mixed")},t.EmptyTypeAnnotation=function(){this.word("empty")},t.NullableTypeAnnotation=function(e){this.token("?"),this.print(e.typeAnnotation,e)},t.NumberTypeAnnotation=function(){this.word("number")},t.StringTypeAnnotation=function(){this.word("string")},t.ThisTypeAnnotation=function(){this.word("this")},t.TupleTypeAnnotation=function(e){this.token("["),this.printList(e.types,e),this.token("]")},t.TypeofTypeAnnotation=function(e){this.word("typeof"),this.space(),this.print(e.argument,e)},t.TypeAlias=function(e){this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),this.space(),this.token("="),this.space(),this.print(e.right,e),this.semicolon()},t.TypeAnnotation=function(e){this.token(":"),this.space(),e.optional&&this.token("?"),this.print(e.typeAnnotation,e)},t.TypeParameterDeclaration=t.TypeParameterInstantiation=function(e){this.token("<"),this.printList(e.params,e,{}),this.token(">")},t.TypeParameter=function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound,e),e.default&&(this.space(),this.token("="),this.space(),this.print(e.default,e))},t.OpaqueType=function(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),e.supertype&&(this.token(":"),this.space(),this.print(e.supertype,e)),e.impltype&&(this.space(),this.token("="),this.space(),this.print(e.impltype,e)),this.semicolon()},t.ObjectTypeAnnotation=function(e){e.exact?this.token("{|"):this.token("{");const t=e.properties.concat(e.callProperties||[],e.indexers||[],e.internalSlots||[]);t.length&&(this.space(),this.printJoin(t,e,{addNewlines(e){if(e&&!t[0])return 1},indent:!0,statement:!0,iterator:()=>{(1!==t.length||e.inexact)&&(this.token(","),this.space())}}),this.space()),e.inexact&&(this.indent(),this.token("..."),t.length&&this.newline(),this.dedent()),e.exact?this.token("|}"):this.token("}")},t.ObjectTypeInternalSlot=function(e){e.static&&(this.word("static"),this.space()),this.token("["),this.token("["),this.print(e.id,e),this.token("]"),this.token("]"),e.optional&&this.token("?"),e.method||(this.token(":"),this.space()),this.print(e.value,e)},t.ObjectTypeCallProperty=function(e){e.static&&(this.word("static"),this.space()),this.print(e.value,e)},t.ObjectTypeIndexer=function(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.token("["),e.id&&(this.print(e.id,e),this.token(":"),this.space()),this.print(e.key,e),this.token("]"),this.token(":"),this.space(),this.print(e.value,e)},t.ObjectTypeProperty=function(e){e.proto&&(this.word("proto"),this.space()),e.static&&(this.word("static"),this.space()),"get"!==e.kind&&"set"!==e.kind||(this.word(e.kind),this.space()),this._variance(e),this.print(e.key,e),e.optional&&this.token("?"),e.method||(this.token(":"),this.space()),this.print(e.value,e)},t.ObjectTypeSpreadProperty=function(e){this.token("..."),this.print(e.argument,e)},t.QualifiedTypeIdentifier=function(e){this.print(e.qualification,e),this.token("."),this.print(e.id,e)},t.SymbolTypeAnnotation=function(){this.word("symbol")},t.UnionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:h})},t.TypeCastExpression=function(e){this.token("("),this.print(e.expression,e),this.print(e.typeAnnotation,e),this.token(")")},t.Variance=function(e){"plus"===e.kind?this.token("+"):this.token("-")},t.VoidTypeAnnotation=function(){this.word("void")},Object.defineProperty(t,"NumberLiteralTypeAnnotation",{enumerable:!0,get:function(){return i.NumericLiteral}}),Object.defineProperty(t,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return i.StringLiteral}});var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),n=s(3503),i=s(4827);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e,t,s){s&&(e.space(),e.word("of"),e.space(),e.word(t)),e.space()}function l(e,t){const{members:s}=t;e.token("{"),e.indent(),e.newline();for(const r of s)e.print(r,t),e.newline();e.dedent(),e.token("}")}function c(e,t){const{id:s,init:r}=t;e.print(s,t),e.space(),e.token("="),e.space(),e.print(r,t),e.token(",")}function p(e){if(e.declaration){const t=e.declaration;this.print(t,e),r.isStatement(t)||this.semicolon()}else this.token("{"),e.specifiers.length&&(this.space(),this.printList(e.specifiers,e),this.space()),this.token("}"),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e)),this.semicolon()}function u(){this.space(),this.token("&"),this.space()}function h(){this.space(),this.token("|"),this.space()}},1464:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(3378);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var n=s(9901);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}}))}));var i=s(9772);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var a=s(9570);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=s(4390);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var l=s(3503);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var c=s(4827);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var p=s(308);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var u=s(3762);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var h=s(6209);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===h[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))}));var d=s(5529);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}))},6209:(e,t)=>{"use strict";function s(){this.space()}Object.defineProperty(t,"__esModule",{value:!0}),t.JSXAttribute=function(e){this.print(e.name,e),e.value&&(this.token("="),this.print(e.value,e))},t.JSXIdentifier=function(e){this.word(e.name)},t.JSXNamespacedName=function(e){this.print(e.namespace,e),this.token(":"),this.print(e.name,e)},t.JSXMemberExpression=function(e){this.print(e.object,e),this.token("."),this.print(e.property,e)},t.JSXSpreadAttribute=function(e){this.token("{"),this.token("..."),this.print(e.argument,e),this.token("}")},t.JSXExpressionContainer=function(e){this.token("{"),this.print(e.expression,e),this.token("}")},t.JSXSpreadChild=function(e){this.token("{"),this.token("..."),this.print(e.expression,e),this.token("}")},t.JSXText=function(e){const t=this.getPossibleRaw(e);null!=t?this.token(t):this.token(e.value)},t.JSXElement=function(e){const t=e.openingElement;if(this.print(t,e),!t.selfClosing){this.indent();for(const t of e.children)this.print(t,e);this.dedent(),this.print(e.closingElement,e)}},t.JSXOpeningElement=function(e){this.token("<"),this.print(e.name,e),this.print(e.typeParameters,e),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,e,{separator:s})),e.selfClosing?(this.space(),this.token("/>")):this.token(">")},t.JSXClosingElement=function(e){this.token("")},t.JSXEmptyExpression=function(e){this.printInnerComments(e)},t.JSXFragment=function(e){this.print(e.openingFragment,e),this.indent();for(const t of e.children)this.print(t,e);this.dedent(),this.print(e.closingFragment,e)},t.JSXOpeningFragment=function(){this.token("<"),this.token(">")},t.JSXClosingFragment=function(){this.token("")}},4390:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._params=function(e){this.print(e.typeParameters,e),this.token("("),this._parameters(e.params,e),this.token(")"),this.print(e.returnType,e)},t._parameters=function(e,t){for(let s=0;se.loc.start.line?(this.indent(),this.print(t,e),this.dedent(),this._catchUp("start",e.body.loc)):this.print(t,e),this.token(")")):this.print(t,e):this._params(e),this._predicate(e),this.space(),this.token("=>"),this.space(),this.print(e.body,e)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},3503:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImportSpecifier=function(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported,e),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local,e))},t.ImportDefaultSpecifier=function(e){this.print(e.local,e)},t.ExportDefaultSpecifier=function(e){this.print(e.exported,e)},t.ExportSpecifier=function(e){this.print(e.local,e),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported,e))},t.ExportNamespaceSpecifier=function(e){this.token("*"),this.space(),this.word("as"),this.space(),this.print(e.exported,e)},t.ExportAllDeclaration=function(e){this.word("export"),this.space(),"type"===e.exportKind&&(this.word("type"),this.space()),this.token("*"),this.space(),this.word("from"),this.space(),this.print(e.source,e),this.printAssertions(e),this.semicolon()},t.ExportNamedDeclaration=function(e){this.format.decoratorsBeforeExport&&r.isClassDeclaration(e.declaration)&&this.printJoin(e.declaration.decorators,e),this.word("export"),this.space(),i.apply(this,arguments)},t.ExportDefaultDeclaration=function(e){this.format.decoratorsBeforeExport&&r.isClassDeclaration(e.declaration)&&this.printJoin(e.declaration.decorators,e),this.word("export"),this.space(),this.word("default"),this.space(),i.apply(this,arguments)},t.ImportDeclaration=function(e){var t;this.word("import"),this.space(),("type"===e.importKind||"typeof"===e.importKind)&&(this.word(e.importKind),this.space());const s=e.specifiers.slice(0);if(null==s?void 0:s.length){for(;;){const t=s[0];if(!r.isImportDefaultSpecifier(t)&&!r.isImportNamespaceSpecifier(t))break;this.print(s.shift(),e),s.length&&(this.token(","),this.space())}s.length&&(this.token("{"),this.space(),this.printList(s,e),this.space(),this.token("}")),this.space(),this.word("from"),this.space()}this.print(e.source,e),this.printAssertions(e),(null==(t=e.attributes)?void 0:t.length)&&(this.space(),this.word("with"),this.space(),this.printList(e.attributes,e)),this.semicolon()},t.ImportAttribute=function(e){this.print(e.key),this.token(":"),this.space(),this.print(e.value)},t.ImportNamespaceSpecifier=function(e){this.token("*"),this.space(),this.word("as"),this.space(),this.print(e.local,e)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){if(e.declaration){const t=e.declaration;this.print(t,e),r.isStatement(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());const t=e.specifiers.slice(0);let s=!1;for(;;){const n=t[0];if(!r.isExportDefaultSpecifier(n)&&!r.isExportNamespaceSpecifier(n))break;s=!0,this.print(t.shift(),e),t.length&&(this.token(","),this.space())}(t.length||!t.length&&!s)&&(this.token("{"),t.length&&(this.space(),this.printList(t,e),this.space()),this.token("}")),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e),this.printAssertions(e)),this.semicolon()}}},9772:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WithStatement=function(e){this.word("with"),this.space(),this.token("("),this.print(e.object,e),this.token(")"),this.printBlock(e)},t.IfStatement=function(e){this.word("if"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.space();const t=e.alternate&&r.isIfStatement(i(e.consequent));t&&(this.token("{"),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent,e),t&&(this.dedent(),this.newline(),this.token("}")),e.alternate&&(this.endsWith("}")&&this.space(),this.word("else"),this.space(),this.printAndIndentOnComments(e.alternate,e))},t.ForStatement=function(e){this.word("for"),this.space(),this.token("("),this.inForStatementInitCounter++,this.print(e.init,e),this.inForStatementInitCounter--,this.token(";"),e.test&&(this.space(),this.print(e.test,e)),this.token(";"),e.update&&(this.space(),this.print(e.update,e)),this.token(")"),this.printBlock(e)},t.WhileStatement=function(e){this.word("while"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.printBlock(e)},t.DoWhileStatement=function(e){this.word("do"),this.space(),this.print(e.body,e),this.space(),this.word("while"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.semicolon()},t.LabeledStatement=function(e){this.print(e.label,e),this.token(":"),this.space(),this.print(e.body,e)},t.TryStatement=function(e){this.word("try"),this.space(),this.print(e.block,e),this.space(),e.handlers?this.print(e.handlers[0],e):this.print(e.handler,e),e.finalizer&&(this.space(),this.word("finally"),this.space(),this.print(e.finalizer,e))},t.CatchClause=function(e){this.word("catch"),this.space(),e.param&&(this.token("("),this.print(e.param,e),this.print(e.param.typeAnnotation,e),this.token(")"),this.space()),this.print(e.body,e)},t.SwitchStatement=function(e){this.word("switch"),this.space(),this.token("("),this.print(e.discriminant,e),this.token(")"),this.space(),this.token("{"),this.printSequence(e.cases,e,{indent:!0,addNewlines(t,s){if(!t&&e.cases[e.cases.length-1]===s)return-1}}),this.token("}")},t.SwitchCase=function(e){e.test?(this.word("case"),this.space(),this.print(e.test,e),this.token(":")):(this.word("default"),this.token(":")),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,e,{indent:!0}))},t.DebuggerStatement=function(){this.word("debugger"),this.semicolon()},t.VariableDeclaration=function(e,t){e.declare&&(this.word("declare"),this.space()),this.word(e.kind),this.space();let s,n=!1;if(!r.isFor(t))for(const t of e.declarations)t.init&&(n=!0);n&&(s="const"===e.kind?m:f),this.printList(e.declarations,e,{separator:s}),(!r.isFor(t)||t.left!==e&&t.init!==e)&&this.semicolon()},t.VariableDeclarator=function(e){this.print(e.id,e),e.definite&&this.token("!"),this.print(e.id.typeAnnotation,e),e.init&&(this.space(),this.token("="),this.space(),this.print(e.init,e))},t.ThrowStatement=t.BreakStatement=t.ReturnStatement=t.ContinueStatement=t.ForOfStatement=t.ForInStatement=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){return r.isStatement(e.body)?i(e.body):e}const a=function(e){return function(t){this.word("for"),this.space(),"of"===e&&t.await&&(this.word("await"),this.space()),this.token("("),this.print(t.left,t),this.space(),this.word(e),this.space(),this.print(t.right,t),this.token(")"),this.printBlock(t)}},o=a("in");t.ForInStatement=o;const l=a("of");function c(e,t="label"){return function(s){this.word(e);const r=s[t];if(r){this.space();const e="label"==t,n=this.startTerminatorless(e);this.print(r,s),this.endTerminatorless(n)}this.semicolon()}}t.ForOfStatement=l;const p=c("continue");t.ContinueStatement=p;const u=c("return","argument");t.ReturnStatement=u;const h=c("break");t.BreakStatement=h;const d=c("throw","argument");function f(){if(this.token(","),this.newline(),this.endsWith("\\n"))for(let e=0;e<4;e++)this.space(!0)}function m(){if(this.token(","),this.newline(),this.endsWith("\\n"))for(let e=0;e<6;e++)this.space(!0)}t.ThrowStatement=d},3378:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaggedTemplateExpression=function(e){this.print(e.tag,e),this.print(e.typeParameters,e),this.print(e.quasi,e)},t.TemplateElement=function(e,t){const s=t.quasis[0]===e,r=t.quasis[t.quasis.length-1]===e,n=(s?"`":"}")+e.value.raw+(r?"`":"${");this.token(n)},t.TemplateLiteral=function(e){const t=e.quasis;for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Identifier=function(e){this.exactSource(e.loc,(()=>{this.word(e.name)}))},t.ArgumentPlaceholder=function(){this.token("?")},t.SpreadElement=t.RestElement=function(e){this.token("..."),this.print(e.argument,e)},t.ObjectPattern=t.ObjectExpression=function(e){const t=e.properties;this.token("{"),this.printInnerComments(e),t.length&&(this.space(),this.printList(t,e,{indent:!0,statement:!0}),this.space()),this.token("}")},t.ObjectMethod=function(e){this.printJoin(e.decorators,e),this._methodHead(e),this.space(),this.print(e.body,e)},t.ObjectProperty=function(e){if(this.printJoin(e.decorators,e),e.computed)this.token("["),this.print(e.key,e),this.token("]");else{if(n.isAssignmentPattern(e.value)&&n.isIdentifier(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value,e);if(this.print(e.key,e),e.shorthand&&n.isIdentifier(e.key)&&n.isIdentifier(e.value)&&e.key.name===e.value.name)return}this.token(":"),this.space(),this.print(e.value,e)},t.ArrayPattern=t.ArrayExpression=function(e){const t=e.elements,s=t.length;this.token("["),this.printInnerComments(e);for(let r=0;r0&&this.space(),this.print(n,e),r0&&this.space(),this.print(n,e),r{"use strict";function s(e,t){!0!==t&&e.token(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.TSTypeAnnotation=function(e){this.token(":"),this.space(),e.optional&&this.token("?"),this.print(e.typeAnnotation,e)},t.TSTypeParameterDeclaration=t.TSTypeParameterInstantiation=function(e){this.token("<"),this.printList(e.params,e,{}),this.token(">")},t.TSTypeParameter=function(e){this.word(e.name),e.constraint&&(this.space(),this.word("extends"),this.space(),this.print(e.constraint,e)),e.default&&(this.space(),this.token("="),this.space(),this.print(e.default,e))},t.TSParameterProperty=function(e){e.accessibility&&(this.word(e.accessibility),this.space()),e.readonly&&(this.word("readonly"),this.space()),this._param(e.parameter)},t.TSDeclareFunction=function(e){e.declare&&(this.word("declare"),this.space()),this._functionHead(e),this.token(";")},t.TSDeclareMethod=function(e){this._classMethodHead(e),this.token(";")},t.TSQualifiedName=function(e){this.print(e.left,e),this.token("."),this.print(e.right,e)},t.TSCallSignatureDeclaration=function(e){this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSConstructSignatureDeclaration=function(e){this.word("new"),this.space(),this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSPropertySignature=function(e){const{readonly:t,initializer:s}=e;t&&(this.word("readonly"),this.space()),this.tsPrintPropertyOrMethodName(e),this.print(e.typeAnnotation,e),s&&(this.space(),this.token("="),this.space(),this.print(s,e)),this.token(";")},t.tsPrintPropertyOrMethodName=function(e){e.computed&&this.token("["),this.print(e.key,e),e.computed&&this.token("]"),e.optional&&this.token("?")},t.TSMethodSignature=function(e){this.tsPrintPropertyOrMethodName(e),this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSIndexSignature=function(e){const{readonly:t}=e;t&&(this.word("readonly"),this.space()),this.token("["),this._parameters(e.parameters,e),this.token("]"),this.print(e.typeAnnotation,e),this.token(";")},t.TSAnyKeyword=function(){this.word("any")},t.TSBigIntKeyword=function(){this.word("bigint")},t.TSUnknownKeyword=function(){this.word("unknown")},t.TSNumberKeyword=function(){this.word("number")},t.TSObjectKeyword=function(){this.word("object")},t.TSBooleanKeyword=function(){this.word("boolean")},t.TSStringKeyword=function(){this.word("string")},t.TSSymbolKeyword=function(){this.word("symbol")},t.TSVoidKeyword=function(){this.word("void")},t.TSUndefinedKeyword=function(){this.word("undefined")},t.TSNullKeyword=function(){this.word("null")},t.TSNeverKeyword=function(){this.word("never")},t.TSIntrinsicKeyword=function(){this.word("intrinsic")},t.TSThisType=function(){this.word("this")},t.TSFunctionType=function(e){this.tsPrintFunctionOrConstructorType(e)},t.TSConstructorType=function(e){this.word("new"),this.space(),this.tsPrintFunctionOrConstructorType(e)},t.tsPrintFunctionOrConstructorType=function(e){const{typeParameters:t,parameters:s}=e;this.print(t,e),this.token("("),this._parameters(s,e),this.token(")"),this.space(),this.token("=>"),this.space(),this.print(e.typeAnnotation.typeAnnotation,e)},t.TSTypeReference=function(e){this.print(e.typeName,e),this.print(e.typeParameters,e)},t.TSTypePredicate=function(e){e.asserts&&(this.word("asserts"),this.space()),this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word("is"),this.space(),this.print(e.typeAnnotation.typeAnnotation))},t.TSTypeQuery=function(e){this.word("typeof"),this.space(),this.print(e.exprName)},t.TSTypeLiteral=function(e){this.tsPrintTypeLiteralOrInterfaceBody(e.members,e)},t.tsPrintTypeLiteralOrInterfaceBody=function(e,t){this.tsPrintBraced(e,t)},t.tsPrintBraced=function(e,t){if(this.token("{"),e.length){this.indent(),this.newline();for(const s of e)this.print(s,t),this.newline();this.dedent(),this.rightBrace()}else this.token("}")},t.TSArrayType=function(e){this.print(e.elementType,e),this.token("[]")},t.TSTupleType=function(e){this.token("["),this.printList(e.elementTypes,e),this.token("]")},t.TSOptionalType=function(e){this.print(e.typeAnnotation,e),this.token("?")},t.TSRestType=function(e){this.token("..."),this.print(e.typeAnnotation,e)},t.TSNamedTupleMember=function(e){this.print(e.label,e),e.optional&&this.token("?"),this.token(":"),this.space(),this.print(e.elementType,e)},t.TSUnionType=function(e){this.tsPrintUnionOrIntersectionType(e,"|")},t.TSIntersectionType=function(e){this.tsPrintUnionOrIntersectionType(e,"&")},t.tsPrintUnionOrIntersectionType=function(e,t){this.printJoin(e.types,e,{separator(){this.space(),this.token(t),this.space()}})},t.TSConditionalType=function(e){this.print(e.checkType),this.space(),this.word("extends"),this.space(),this.print(e.extendsType),this.space(),this.token("?"),this.space(),this.print(e.trueType),this.space(),this.token(":"),this.space(),this.print(e.falseType)},t.TSInferType=function(e){this.token("infer"),this.space(),this.print(e.typeParameter)},t.TSParenthesizedType=function(e){this.token("("),this.print(e.typeAnnotation,e),this.token(")")},t.TSTypeOperator=function(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation,e)},t.TSIndexedAccessType=function(e){this.print(e.objectType,e),this.token("["),this.print(e.indexType,e),this.token("]")},t.TSMappedType=function(e){const{nameType:t,optional:r,readonly:n,typeParameter:i}=e;this.token("{"),this.space(),n&&(s(this,n),this.word("readonly"),this.space()),this.token("["),this.word(i.name),this.space(),this.word("in"),this.space(),this.print(i.constraint,i),t&&(this.space(),this.word("as"),this.space(),this.print(t,e)),this.token("]"),r&&(s(this,r),this.token("?")),this.token(":"),this.space(),this.print(e.typeAnnotation,e),this.space(),this.token("}")},t.TSLiteralType=function(e){this.print(e.literal,e)},t.TSExpressionWithTypeArguments=function(e){this.print(e.expression,e),this.print(e.typeParameters,e)},t.TSInterfaceDeclaration=function(e){const{declare:t,id:s,typeParameters:r,extends:n,body:i}=e;t&&(this.word("declare"),this.space()),this.word("interface"),this.space(),this.print(s,e),this.print(r,e),n&&(this.space(),this.word("extends"),this.space(),this.printList(n,e)),this.space(),this.print(i,e)},t.TSInterfaceBody=function(e){this.tsPrintTypeLiteralOrInterfaceBody(e.body,e)},t.TSTypeAliasDeclaration=function(e){const{declare:t,id:s,typeParameters:r,typeAnnotation:n}=e;t&&(this.word("declare"),this.space()),this.word("type"),this.space(),this.print(s,e),this.print(r,e),this.space(),this.token("="),this.space(),this.print(n,e),this.token(";")},t.TSAsExpression=function(e){const{expression:t,typeAnnotation:s}=e;this.print(t,e),this.space(),this.word("as"),this.space(),this.print(s,e)},t.TSTypeAssertion=function(e){const{typeAnnotation:t,expression:s}=e;this.token("<"),this.print(t,e),this.token(">"),this.space(),this.print(s,e)},t.TSEnumDeclaration=function(e){const{declare:t,const:s,id:r,members:n}=e;t&&(this.word("declare"),this.space()),s&&(this.word("const"),this.space()),this.word("enum"),this.space(),this.print(r,e),this.space(),this.tsPrintBraced(n,e)},t.TSEnumMember=function(e){const{id:t,initializer:s}=e;this.print(t,e),s&&(this.space(),this.token("="),this.space(),this.print(s,e)),this.token(",")},t.TSModuleDeclaration=function(e){const{declare:t,id:s}=e;if(t&&(this.word("declare"),this.space()),e.global||(this.word("Identifier"===s.type?"namespace":"module"),this.space()),this.print(s,e),!e.body)return void this.token(";");let r=e.body;for(;"TSModuleDeclaration"===r.type;)this.token("."),this.print(r.id,r),r=r.body;this.space(),this.print(r,e)},t.TSModuleBlock=function(e){this.tsPrintBraced(e.body,e)},t.TSImportType=function(e){const{argument:t,qualifier:s,typeParameters:r}=e;this.word("import"),this.token("("),this.print(t,e),this.token(")"),s&&(this.token("."),this.print(s,e)),r&&this.print(r,e)},t.TSImportEqualsDeclaration=function(e){const{isExport:t,id:s,moduleReference:r}=e;t&&(this.word("export"),this.space()),this.word("import"),this.space(),this.print(s,e),this.space(),this.token("="),this.space(),this.print(r,e),this.token(";")},t.TSExternalModuleReference=function(e){this.token("require("),this.print(e.expression,e),this.token(")")},t.TSNonNullExpression=function(e){this.print(e.expression,e),this.token("!")},t.TSExportAssignment=function(e){this.word("export"),this.space(),this.token("="),this.space(),this.print(e.expression,e),this.token(";")},t.TSNamespaceExportDeclaration=function(e){this.word("export"),this.space(),this.word("as"),this.space(),this.word("namespace"),this.space(),this.print(e.id,e)},t.tsPrintSignatureDeclarationBase=function(e){const{typeParameters:t,parameters:s}=e;this.print(t,e),this.token("("),this._parameters(s,e),this.token(")"),this.print(e.typeAnnotation,e)},t.tsPrintClassMemberModifiers=function(e,t){t&&e.declare&&(this.word("declare"),this.space()),e.accessibility&&(this.word(e.accessibility),this.space()),e.static&&(this.word("static"),this.space()),e.abstract&&(this.word("abstract"),this.space()),t&&e.readonly&&(this.word("readonly"),this.space())}},5386:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){return new a(e,t,s).generate()},t.CodeGenerator=void 0;var r=i(s(1783)),n=i(s(3237));function i(e){return e&&e.__esModule?e:{default:e}}class a extends n.default{constructor(e,t={},s){const n=function(e,t){const s={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,jsonCompatibleStrings:t.jsonCompatibleStrings,indent:{adjustMultilineComment:!0,style:" ",base:0},decoratorsBeforeExport:!!t.decoratorsBeforeExport,jsescOption:Object.assign({quotes:"double",wrap:!0},t.jsescOption),recordAndTupleSyntaxType:t.recordAndTupleSyntaxType};return s.minified?(s.compact=!0,s.shouldPrintComment=s.shouldPrintComment||(()=>s.comments)):s.shouldPrintComment=s.shouldPrintComment||(e=>s.comments||e.indexOf("@license")>=0||e.indexOf("@preserve")>=0),"auto"===s.compact&&(s.compact=e.length>5e5,s.compact&&console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${t.filename} as it exceeds the max of 500KB.`)),s.compact&&(s.indent.adjustMultilineComment=!1),s}(s,t);super(n,t.sourceMaps?new r.default(t,s):null),this.ast=void 0,this.ast=e}generate(){return super.generate(this.ast)}}t.CodeGenerator=class{constructor(e,t,s){this._generator=new a(e,t,s)}generate(){return this._generator.generate()}}},944:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.needsWhitespace=f,t.needsWhitespaceBefore=function(e,t){return f(e,t,"before")},t.needsWhitespaceAfter=function(e,t){return f(e,t,"after")},t.needsParens=function(e,t,s){return!!t&&(!(!i.isNewExpression(t)||t.callee!==e||!d(e))||h(c,e,t,s))};var r=o(s(3880)),n=o(s(3602)),i=o(s(4473));function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}function l(e){const t={};function s(e,s){const r=t[e];t[e]=r?function(e,t,n){const i=r(e,t,n);return null==i?s(e,t,n):i}:s}for(const t of Object.keys(e)){const r=i.FLIPPED_ALIAS_KEYS[t];if(r)for(const n of r)s(n,e[t]);else s(t,e[t])}return t}const c=l(n),p=l(r.nodes),u=l(r.list);function h(e,t,s,r){const n=e[t.type];return n?n(t,s,r):null}function d(e){return!!i.isCallExpression(e)||i.isMemberExpression(e)&&d(e.object)}function f(e,t,s){if(!e)return 0;i.isExpressionStatement(e)&&(e=e.expression);let r=h(p,e,t);if(!r){const n=h(u,e,t);if(n)for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NullableTypeAnnotation=function(e,t){return r.isArrayTypeAnnotation(t)},t.FunctionTypeAnnotation=function(e,t,s){return r.isUnionTypeAnnotation(t)||r.isIntersectionTypeAnnotation(t)||r.isArrayTypeAnnotation(t)||r.isTypeAnnotation(t)&&r.isArrowFunctionExpression(s[s.length-3])},t.UpdateExpression=function(e,t){return o(e,t)||a(e,t)},t.ObjectExpression=function(e,t,s){return p(s,{considerArrow:!0})},t.DoExpression=function(e,t,s){return p(s)},t.Binary=function(e,t){if("**"===e.operator&&r.isBinaryExpression(t,{operator:"**"}))return t.left===e;if(a(e,t))return!0;if(o(e,t)||r.isUnaryLike(t)||r.isAwaitExpression(t))return!0;if(r.isBinary(t)){const s=t.operator,n=i[s],a=e.operator,o=i[a];if(n===o&&t.right===e&&!r.isLogicalExpression(t)||n>o)return!0}},t.IntersectionTypeAnnotation=t.UnionTypeAnnotation=function(e,t){return r.isArrayTypeAnnotation(t)||r.isNullableTypeAnnotation(t)||r.isIntersectionTypeAnnotation(t)||r.isUnionTypeAnnotation(t)},t.TSAsExpression=function(){return!0},t.TSTypeAssertion=function(){return!0},t.TSIntersectionType=t.TSUnionType=function(e,t){return r.isTSArrayType(t)||r.isTSOptionalType(t)||r.isTSIntersectionType(t)||r.isTSUnionType(t)||r.isTSRestType(t)},t.TSInferType=function(e,t){return r.isTSArrayType(t)||r.isTSOptionalType(t)},t.BinaryExpression=function(e,t){return"in"===e.operator&&(r.isVariableDeclarator(t)||r.isFor(t))},t.SequenceExpression=function(e,t){return!(r.isForStatement(t)||r.isThrowStatement(t)||r.isReturnStatement(t)||r.isIfStatement(t)&&t.test===e||r.isWhileStatement(t)&&t.test===e||r.isForInStatement(t)&&t.right===e||r.isSwitchStatement(t)&&t.discriminant===e||r.isExpressionStatement(t)&&t.expression===e)},t.AwaitExpression=t.YieldExpression=function(e,t){return r.isBinary(t)||r.isUnaryLike(t)||o(e,t)||r.isAwaitExpression(t)&&r.isYieldExpression(e)||r.isConditionalExpression(t)&&e===t.test||a(e,t)},t.ClassExpression=function(e,t,s){return p(s,{considerDefaultExports:!0})},t.UnaryLike=l,t.FunctionExpression=function(e,t,s){return p(s,{considerDefaultExports:!0})},t.ArrowFunctionExpression=function(e,t){return r.isExportDeclaration(t)||c(e,t)},t.ConditionalExpression=c,t.OptionalCallExpression=t.OptionalMemberExpression=function(e,t){return r.isCallExpression(t,{callee:e})||r.isMemberExpression(t,{object:e})},t.AssignmentExpression=function(e,t,s){return!!r.isObjectPattern(e.left)||c(e,t)},t.LogicalExpression=function(e,t){switch(e.operator){case"||":return!!r.isLogicalExpression(t)&&("??"===t.operator||"&&"===t.operator);case"&&":return r.isLogicalExpression(t,{operator:"??"});case"??":return r.isLogicalExpression(t)&&"??"!==t.operator}};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}const i={"||":0,"??":0,"&&":1,"|":2,"^":3,"&":4,"==":5,"===":5,"!=":5,"!==":5,"<":6,">":6,"<=":6,">=":6,in:6,instanceof:6,">>":7,"<<":7,">>>":7,"+":8,"-":8,"*":9,"/":9,"%":9,"**":10},a=(e,t)=>(r.isClassDeclaration(t)||r.isClassExpression(t))&&t.superClass===e,o=(e,t)=>(r.isMemberExpression(t)||r.isOptionalMemberExpression(t))&&t.object===e||(r.isCallExpression(t)||r.isOptionalCallExpression(t)||r.isNewExpression(t))&&t.callee===e||r.isTaggedTemplateExpression(t)&&t.tag===e||r.isTSNonNullExpression(t);function l(e,t){return o(e,t)||r.isBinaryExpression(t,{operator:"**",left:e})||a(e,t)}function c(e,t){return!!(r.isUnaryLike(t)||r.isBinary(t)||r.isConditionalExpression(t,{test:e})||r.isAwaitExpression(t)||r.isTSTypeAssertion(t)||r.isTSAsExpression(t))||l(e,t)}function p(e,{considerArrow:t=!1,considerDefaultExports:s=!1}={}){let n=e.length-1,i=e[n];n--;let a=e[n];for(;n>=0;){if(r.isExpressionStatement(a,{expression:i})||s&&r.isExportDefaultDeclaration(a,{declaration:i})||t&&r.isArrowFunctionExpression(a,{body:i}))return!0;if(!(o(i,a)&&!r.isNewExpression(a)||r.isSequenceExpression(a)&&a.expressions[0]===i||r.isConditional(a,{test:i})||r.isBinary(a,{left:i})||r.isAssignmentExpression(a,{left:i})))return!1;i=a,n--,a=e[n]}return!1}},3880:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.list=t.nodes=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e,t={}){return r.isMemberExpression(e)||r.isOptionalMemberExpression(e)?(i(e.object,t),e.computed&&i(e.property,t)):r.isBinary(e)||r.isAssignmentExpression(e)?(i(e.left,t),i(e.right,t)):r.isCallExpression(e)||r.isOptionalCallExpression(e)?(t.hasCall=!0,i(e.callee,t)):r.isFunction(e)?t.hasFunction=!0:r.isIdentifier(e)&&(t.hasHelper=t.hasHelper||a(e.callee)),t}function a(e){return r.isMemberExpression(e)?a(e.object)||a(e.property):r.isIdentifier(e)?"require"===e.name||"_"===e.name[0]:r.isCallExpression(e)?a(e.callee):!(!r.isBinary(e)&&!r.isAssignmentExpression(e))&&(r.isIdentifier(e.left)&&a(e.left)||a(e.right))}function o(e){return r.isLiteral(e)||r.isObjectExpression(e)||r.isArrayExpression(e)||r.isIdentifier(e)||r.isMemberExpression(e)}const l={AssignmentExpression(e){const t=i(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return{before:t.hasFunction,after:!0}},SwitchCase:(e,t)=>({before:e.consequent.length||t.cases[0]===e,after:!e.consequent.length&&t.cases[t.cases.length-1]===e}),LogicalExpression(e){if(r.isFunction(e.left)||r.isFunction(e.right))return{after:!0}},Literal(e){if("use strict"===e.value)return{after:!0}},CallExpression(e){if(r.isFunction(e.callee)||a(e))return{before:!0,after:!0}},OptionalCallExpression(e){if(r.isFunction(e.callee))return{before:!0,after:!0}},VariableDeclaration(e){for(let t=0;te.declarations.map((e=>e.init)),ArrayExpression:e=>e.elements,ObjectExpression:e=>e.properties},[["Function",!0],["Class",!0],["Loop",!0],["LabeledStatement",!0],["SwitchStatement",!0],["TryStatement",!0]].forEach((function([e,t]){"boolean"==typeof t&&(t={after:t,before:t}),[e].concat(r.FLIPPED_ALIAS_KEYS[e]||[]).forEach((function(e){l[e]=function(){return t}}))}))},3237:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=s(8404))&&r.__esModule?r:{default:r},i=c(s(944)),a=c(s(4473)),o=c(s(1464));function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}function c(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}const p=/e/i,u=/\\.0+$/,h=/^0[box]/,d=/^\\s*[@#]__PURE__\\s*$/;class f{constructor(e,t){this.inForStatementInitCounter=0,this._printStack=[],this._indent=0,this._insideAux=!1,this._printedCommentStarts={},this._parenPushNewlineState=null,this._noLineTerminator=!1,this._printAuxAfterOnNextUserNode=!1,this._printedComments=new WeakSet,this._endsWithInteger=!1,this._endsWithWord=!1,this.format=e||{},this._buf=new n.default(t)}generate(e){return this.print(e),this._maybeAddAuxComment(),this._buf.get()}indent(){this.format.compact||this.format.concise||this._indent++}dedent(){this.format.compact||this.format.concise||this._indent--}semicolon(e=!1){this._maybeAddAuxComment(),this._append(";",!e)}rightBrace(){this.format.minified&&this._buf.removeLastSemicolon(),this.token("}")}space(e=!1){this.format.compact||(this._buf.hasContent()&&!this.endsWith(" ")&&!this.endsWith("\\n")||e)&&this._space()}word(e){(this._endsWithWord||this.endsWith("/")&&0===e.indexOf("/"))&&this._space(),this._maybeAddAuxComment(),this._append(e),this._endsWithWord=!0}number(e){this.word(e),this._endsWithInteger=Number.isInteger(+e)&&!h.test(e)&&!p.test(e)&&!u.test(e)&&"."!==e[e.length-1]}token(e){("--"===e&&this.endsWith("!")||"+"===e[0]&&this.endsWith("+")||"-"===e[0]&&this.endsWith("-")||"."===e[0]&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._append(e)}newline(e){if(!this.format.retainLines&&!this.format.compact)if(this.format.concise)this.space();else if(!(this.endsWith("\\n\\n")||("number"!=typeof e&&(e=1),e=Math.min(2,e),(this.endsWith("{\\n")||this.endsWith(":\\n"))&&e--,e<=0)))for(let t=0;t{r.call(this,e,t)})),this._printTrailingComments(e),o&&this.token(")"),this._printStack.pop(),this.format.concise=s,this._insideAux=n}_maybeAddAuxComment(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}_printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!0;const e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:"CommentBlock",value:e})}_printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!1;const e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:"CommentBlock",value:e})}getPossibleRaw(e){const t=e.extra;if(t&&null!=t.raw&&null!=t.rawValue&&e.value===t.rawValue)return t.raw}printJoin(e,t,s={}){if(!(null==e?void 0:e.length))return;s.indent&&this.indent();const r={addNewlines:s.addNewlines};for(let n=0;n0;s&&this.indent(),this.print(e,t),s&&this.dedent()}printBlock(e){const t=e.body;a.isEmptyStatement(t)||this.space(),this.print(t,e)}_printTrailingComments(e){this._printComments(this._getComments(!1,e))}_printLeadingComments(e){this._printComments(this._getComments(!0,e),!0)}printInnerComments(e,t=!0){var s;(null==(s=e.innerComments)?void 0:s.length)&&(t&&this.indent(),this._printComments(e.innerComments),t&&this.dedent())}printSequence(e,t,s={}){return s.statement=!0,this.printJoin(e,t,s)}printList(e,t,s={}){return null==s.separator&&(s.separator=m),this.printJoin(e,t,s)}_printNewline(e,t,s,r){if(this.format.retainLines||this.format.compact)return;if(this.format.concise)return void this.space();let n=0;this._buf.hasContent()&&(e||n++,r.addNewlines&&(n+=r.addNewlines(e,t)||0),(e?i.needsWhitespaceBefore:i.needsWhitespaceAfter)(t,s)&&n++),this.newline(n)}_getComments(e,t){return t&&(e?t.leadingComments:t.trailingComments)||[]}_printComment(e,t){if(!this.format.shouldPrintComment(e.value))return;if(e.ignore)return;if(this._printedComments.has(e))return;if(this._printedComments.add(e),null!=e.start){if(this._printedCommentStarts[e.start])return;this._printedCommentStarts[e.start]=!0}const s="CommentBlock"===e.type,r=s&&!t&&!this._noLineTerminator;r&&this._buf.hasContent()&&this.newline(1),this.endsWith("[")||this.endsWith("{")||this.space();let n=s||this._noLineTerminator?`/*${e.value}*/`:`//${e.value}\\n`;if(s&&this.format.indent.adjustMultilineComment){var i;const t=null==(i=e.loc)?void 0:i.start.column;if(t){const e=new RegExp("\\\\n\\\\s{1,"+t+"}","g");n=n.replace(e,"\\n")}const s=Math.max(this._getIndent().length,this.format.retainLines?0:this._buf.getCurrentColumn());n=n.replace(/\\n(?!$)/g,`\\n${" ".repeat(s)}`)}this.endsWith("/")&&this._space(),this.withSource("start",e.loc,(()=>{this._append(n)})),r&&this.newline(1)}_printComments(e,t){if(null==e?void 0:e.length)if(t&&1===e.length&&d.test(e[0].value))this._printComment(e[0],this._buf.hasContent()&&!this.endsWith("\\n"));else for(const t of e)this._printComment(t)}printAssertions(e){var t;(null==(t=e.assertions)?void 0:t.length)&&(this.space(),this.word("assert"),this.space(),this.token("{"),this.space(),this.printList(e.assertions,e),this.space(),this.token("}"))}}function m(){this.token(","),this.space()}t.default=f,Object.assign(f.prototype,o)},1783:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=s(8737))&&r.__esModule?r:{default:r};t.default=class{constructor(e,t){this._cachedMap=null,this._code=t,this._opts=e,this._rawMappings=[]}get(){if(!this._cachedMap){const e=this._cachedMap=new n.default.SourceMapGenerator({sourceRoot:this._opts.sourceRoot}),t=this._code;"string"==typeof t?e.setSourceContent(this._opts.sourceFileName.replace(/\\\\/g,"/"),t):"object"==typeof t&&Object.keys(t).forEach((s=>{e.setSourceContent(s.replace(/\\\\/g,"/"),t[s])})),this._rawMappings.forEach((t=>e.addMapping(t)),e)}return this._cachedMap.toJSON()}getRawMappings(){return this._rawMappings.slice()}mark(e,t,s,r,n,i,a){this._lastGenLine!==e&&null===s||(a||this._lastGenLine!==e||this._lastSourceLine!==s||this._lastSourceColumn!==r)&&(this._cachedMap=null,this._lastGenLine=e,this._lastSourceLine=s,this._lastSourceColumn=r,this._rawMappings.push({name:n||void 0,generated:{line:e,column:t},source:null==s?void 0:(i||this._opts.sourceFileName).replace(/\\\\/g,"/"),original:null==s?void 0:{line:s,column:r}}))}}},7493:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=!0,r=!0,n=!0,i=!0;class a{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null,this.updateContext=null}}const o=new Map;function l(e,t={}){t.keyword=e;const s=new a(e,t);return o.set(e,s),s}function c(e,t){return new a(e,{beforeExpr:s,binop:t})}const p={num:new a("num",{startsExpr:r}),bigint:new a("bigint",{startsExpr:r}),decimal:new a("decimal",{startsExpr:r}),regexp:new a("regexp",{startsExpr:r}),string:new a("string",{startsExpr:r}),name:new a("name",{startsExpr:r}),eof:new a("eof"),bracketL:new a("[",{beforeExpr:s,startsExpr:r}),bracketHashL:new a("#[",{beforeExpr:s,startsExpr:r}),bracketBarL:new a("[|",{beforeExpr:s,startsExpr:r}),bracketR:new a("]"),bracketBarR:new a("|]"),braceL:new a("{",{beforeExpr:s,startsExpr:r}),braceBarL:new a("{|",{beforeExpr:s,startsExpr:r}),braceHashL:new a("#{",{beforeExpr:s,startsExpr:r}),braceR:new a("}"),braceBarR:new a("|}"),parenL:new a("(",{beforeExpr:s,startsExpr:r}),parenR:new a(")"),comma:new a(",",{beforeExpr:s}),semi:new a(";",{beforeExpr:s}),colon:new a(":",{beforeExpr:s}),doubleColon:new a("::",{beforeExpr:s}),dot:new a("."),question:new a("?",{beforeExpr:s}),questionDot:new a("?."),arrow:new a("=>",{beforeExpr:s}),template:new a("template"),ellipsis:new a("...",{beforeExpr:s}),backQuote:new a("`",{startsExpr:r}),dollarBraceL:new a("${",{beforeExpr:s,startsExpr:r}),at:new a("@"),hash:new a("#",{startsExpr:r}),interpreterDirective:new a("#!..."),eq:new a("=",{beforeExpr:s,isAssign:!0}),assign:new a("_=",{beforeExpr:s,isAssign:!0}),incDec:new a("++/--",{prefix:i,postfix:!0,startsExpr:r}),bang:new a("!",{beforeExpr:s,prefix:i,startsExpr:r}),tilde:new a("~",{beforeExpr:s,prefix:i,startsExpr:r}),pipeline:c("|>",0),nullishCoalescing:c("??",1),logicalOR:c("||",1),logicalAND:c("&&",2),bitwiseOR:c("|",3),bitwiseXOR:c("^",4),bitwiseAND:c("&",5),equality:c("==/!=/===/!==",6),relational:c("/<=/>=",7),bitShift:c("<>/>>>",8),plusMin:new a("+/-",{beforeExpr:s,binop:9,prefix:i,startsExpr:r}),modulo:new a("%",{beforeExpr:s,binop:10,startsExpr:r}),star:new a("*",{binop:10}),slash:c("/",10),exponent:new a("**",{beforeExpr:s,binop:11,rightAssociative:!0}),_break:l("break"),_case:l("case",{beforeExpr:s}),_catch:l("catch"),_continue:l("continue"),_debugger:l("debugger"),_default:l("default",{beforeExpr:s}),_do:l("do",{isLoop:n,beforeExpr:s}),_else:l("else",{beforeExpr:s}),_finally:l("finally"),_for:l("for",{isLoop:n}),_function:l("function",{startsExpr:r}),_if:l("if"),_return:l("return",{beforeExpr:s}),_switch:l("switch"),_throw:l("throw",{beforeExpr:s,prefix:i,startsExpr:r}),_try:l("try"),_var:l("var"),_const:l("const"),_while:l("while",{isLoop:n}),_with:l("with"),_new:l("new",{beforeExpr:s,startsExpr:r}),_this:l("this",{startsExpr:r}),_super:l("super",{startsExpr:r}),_class:l("class",{startsExpr:r}),_extends:l("extends",{beforeExpr:s}),_export:l("export"),_import:l("import",{startsExpr:r}),_null:l("null",{startsExpr:r}),_true:l("true",{startsExpr:r}),_false:l("false",{startsExpr:r}),_in:l("in",{beforeExpr:s,binop:7}),_instanceof:l("instanceof",{beforeExpr:s,binop:7}),_typeof:l("typeof",{beforeExpr:s,prefix:i,startsExpr:r}),_void:l("void",{beforeExpr:s,prefix:i,startsExpr:r}),_delete:l("delete",{beforeExpr:s,prefix:i,startsExpr:r})},u=/\\r\\n?|[\\n\\u2028\\u2029]/,h=new RegExp(u.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}}class b{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]}}function T(e){return e[e.length-1]}class x extends b{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)}adjustCommentsAfterTrailingComma(e,t,s){if(0===this.state.leadingComments.length)return;let r=null,n=t.length;for(;null===r&&n>0;)r=t[--n];if(null===r)return;for(let e=0;e0?r.trailingComments=i:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let s,r,n,i,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(n=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const s=T(t);s.trailingComments&&s.trailingComments[0].start>=e.end&&(n=s.trailingComments,delete s.trailingComments)}for(t.length>0&&T(t).start>=e.start&&(s=t.pop());t.length>0&&T(t).start>=e.start;)r=t.pop();if(!r&&s&&(r=s),s)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&&T(r.leadingComments).end<=e.start)e.leadingComments=r.leadingComments,delete r.leadingComments;else for(i=r.leadingComments.length-2;i>=0;--i)if(r.leadingComments[i].end<=e.start){e.leadingComments=r.leadingComments.splice(0,i+1);break}}else if(this.state.leadingComments.length>0)if(T(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(i=0;ie.start);i++);const t=this.state.leadingComments.slice(0,i);t.length&&(e.leadingComments=t),n=this.state.leadingComments.slice(i),0===n.length&&(n=null)}if(this.state.commentPreviousNode=e,n)if(n.length&&n[0].start>=e.start&&T(n).end<=e.end)e.innerComments=n;else{const t=n.findIndex((t=>t.end>=e.end));t>0?(e.innerComments=n.slice(0,t),e.trailingComments=n.slice(t)):e.trailingComments=n}t.push(e)}}const P=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",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.",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 S extends x{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 s,r=1,n=0;for(h.lastIndex=0;(s=h.exec(e))&&s.indexr[t]))+` (${n.line}:${n.column})`;return this._raise(Object.assign({loc:n,pos:e},t),i)}_raise(e,t){const s=new SyntaxError(t);if(Object.assign(s,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}function E(e){return null!=e&&"Property"===e.type&&"init"===e.kind&&!1===e.method}class A{constructor(e,t,s,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=!!s,this.override=r}}const v={braceStatement:new A("{",!1),braceExpression:new A("{",!0),recordExpression:new A("#{",!0),templateQuasi:new A("${",!1),parenStatement:new A("(",!1),parenExpression:new A("(",!0),template:new A("`",!0,!0,(e=>e.readTmplToken())),functionExpression:new A("function",!0),functionStatement:new A("function",!1)};p.parenR.updateContext=p.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let e=this.state.context.pop();e===v.braceStatement&&"function"===this.curContext().token&&(e=this.state.context.pop()),this.state.exprAllowed=!e.isExpr},p.name.updateContext=function(e){let t=!1;e!==p.dot&&("of"!==this.state.value||this.state.exprAllowed||e===p._function||e===p._class||(t=!0)),this.state.exprAllowed=t,this.state.isIterator&&(this.state.isIterator=!1)},p.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?v.braceStatement:v.braceExpression),this.state.exprAllowed=!0},p.dollarBraceL.updateContext=function(){this.state.context.push(v.templateQuasi),this.state.exprAllowed=!0},p.parenL.updateContext=function(e){const t=e===p._if||e===p._for||e===p._with||e===p._while;this.state.context.push(t?v.parenStatement:v.parenExpression),this.state.exprAllowed=!0},p.incDec.updateContext=function(){},p._function.updateContext=p._class.updateContext=function(e){!e.beforeExpr||e===p.semi||e===p._else||e===p._return&&this.hasPrecedingLineBreak()||(e===p.colon||e===p.braceL)&&this.curContext()===v.b_stat?this.state.context.push(v.functionStatement):this.state.context.push(v.functionExpression),this.state.exprAllowed=!1},p.backQuote.updateContext=function(){this.curContext()===v.template?this.state.context.pop():this.state.context.push(v.template),this.state.exprAllowed=!1},p.braceHashL.updateContext=function(){this.state.context.push(v.recordExpression),this.state.exprAllowed=!0};let w="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",C="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const I=new RegExp("["+w+"]"),O=new RegExp("["+w+C+"]");w=C=null;const N=[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],k=[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 L(e,t){let s=65536;for(let r=0,n=t.length;re)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function D(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&I.test(String.fromCharCode(e)):L(e,N)))}function M(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&O.test(String.fromCharCode(e)):L(e,N)||L(e,k))))}const _=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"]),j=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),R=new Set(["eval","arguments"]);function B(e,t){return t&&"await"===e||"enum"===e}function F(e,t){return B(e,t)||j.has(e)}function U(e){return R.has(e)}function V(e,t){return F(e,t)||U(e)}function q(e){return _.has(e)}const K=/^in(stanceof)?$/,W=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),H=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`.",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.",SpreadVariance:"Spread properties cannot have variance",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 Y(e){return"type"===e.importKind||"typeof"===e.importKind}function J(e){return(e.type===p.name||!!e.type.keyword)&&"from"!==e.value}const X={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"},G=/\\*?\\s*@((?:no)?flow)\\b/,z={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:"♦"},$=/^[\\da-fA-F]+$/,Q=/^\\d+$/,Z=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>",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 ee(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function te(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return te(e.object)+"."+te(e.property);throw new Error("Node had unexpected type: "+e.type)}v.j_oTag=new A("...",!0,!0),p.jsxName=new a("jsxName"),p.jsxText=new a("jsxText",{beforeExpr:!0}),p.jsxTagStart=new a("jsxTagStart",{startsExpr:!0}),p.jsxTagEnd=new a("jsxTagEnd"),p.jsxTagStart.updateContext=function(){this.state.context.push(v.j_expr),this.state.context.push(v.j_oTag),this.state.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){const t=this.state.context.pop();t===v.j_oTag&&e===p.slash||t===v.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===v.j_expr):this.state.exprAllowed=!0};class se{constructor(e){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=e}}class re{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 inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new se(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,s){let r=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(r,e,t,s),16&t?r.functions.push(e):r.lexical.push(e),8&t&&this.maybeExportDefined(r,e);else if(4&t)for(let n=this.scopeStack.length-1;n>=0&&(r=this.scopeStack[n],this.checkRedeclarationInScope(r,e,t,s),r.var.push(e),this.maybeExportDefined(r,e),!(131&r.flags));--n);this.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,s,r){this.isRedeclaredInScope(e,t,s)&&this.raise(r,P.VarRedeclaration,t)}isRedeclaredInScope(e,t,s){return!!(1&s)&&(8&s?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:16&s?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(131&t.flags)return t}}currentThisScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if((131&t.flags||64&t.flags)&&!(4&t.flags))return t}}}class ne extends se{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class ie extends re{createScope(e){return new ne(e)}declareName(e,t,s){const r=this.currentScope();if(1024&t)return this.maybeExportDefined(r,e),void r.exportOnlyBindings.push(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,s),this.maybeExportDefined(r,e)),r.types.push(e)),256&t&&r.enums.push(e),512&t&&r.constEnums.push(e),128&t&&r.classes.push(e)}isRedeclaredInScope(e,t,s){return e.enums.indexOf(t)>-1?!(256&s)||!!(512&s)!=e.constEnums.indexOf(t)>-1:128&s&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(1&s):!!(2&s&&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 ae{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 oe(e,t){return(e?2:0)|(t?1:0)}function le(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}function ce(e){if(!e)throw new Error("Assert fail")}const pe=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\'",EmptyHeritageClauseType:"\'%0\' list cannot be empty.",EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",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",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",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\')",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 ue(e,t){return e.some((e=>Array.isArray(e)?e[0]===t:e===t))}function he(e,t,s){const r=e.find((e=>Array.isArray(e)?e[0]===t:e===t));return r&&Array.isArray(r)?r[1][s]:null}p.placeholder=new a("%%",{startsExpr:!0});const de=["minimal","smart","fsharp"],fe=["hash","bar"],me={estree:e=>class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let s=null;try{s=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(s);return r.regex={pattern:e,flags:t},r}estreeParseBigIntLiteral(e){const t="undefined"!=typeof BigInt?BigInt(e):null,s=this.estreeParseLiteral(t);return s.bigint=String(s.value||e),s}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,s=this.startNodeAt(e.start,e.loc.start),r=this.startNodeAt(t.start,t.loc.start);return r.value=t.value,r.raw=t.extra.raw,s.expression=this.finishNodeAt(r,"Literal",t.end,t.loc.end),s.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(s,"ExpressionStatement",e.end,e.loc.end)}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){E(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}checkLVal(e,t=64,s,r,n){"ObjectPattern"===e.type?e.properties.forEach((e=>{this.checkLVal("Property"===e.type?e.value:e,t,s,"object destructuring pattern",n)})):super.checkLVal(e,t,s,r,n)}checkProto(e,t,s,r){e.method||super.checkProto(e,t,s,r)}isValidDirective(e){var t;return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!(null==(t=e.expression.extra)?void 0:t.parenthesized)}stmtToDirective(e){const t=super.stmtToDirective(e),s=e.expression.value;return t.value.value=s,t}parseBlockBody(e,t,s,r){super.parseBlockBody(e,t,s,r);const n=e.directives.map((e=>this.directiveToStmt(e)));e.body=n.concat(e.body),delete e.directives}pushClassMethod(e,t,s,r,n,i){this.parseMethod(t,s,r,n,i,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseExprAtom(e){switch(this.state.type){case p.num:case p.string:return this.estreeParseLiteral(this.state.value);case p.regexp:return this.estreeParseRegExpLiteral(this.state.value);case p.bigint:return this.estreeParseBigIntLiteral(this.state.value);case p.decimal:return this.estreeParseDecimalLiteral(this.state.value);case p._null:return this.estreeParseLiteral(null);case p._true:return this.estreeParseLiteral(!0);case p._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(e)}}parseLiteral(e,t,s,r){const n=super.parseLiteral(e,t,s,r);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,s=!1){super.parseFunctionBody(e,t,s),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,s,r,n,i,a=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,s,r,n,i,a),o.type="FunctionExpression",delete o.kind,e.value=o,i="ClassMethod"===i?"MethodDefinition":i,this.finishNode(e,i)}parseObjectMethod(e,t,s,r,n){const i=super.parseObjectMethod(e,t,s,r,n);return i&&(i.type="Property","method"===i.kind&&(i.kind="init"),i.shorthand=!1),i}parseObjectProperty(e,t,s,r,n){const i=super.parseObjectProperty(e,t,s,r,n);return i&&(i.kind="init",i.type="Property"),i}toAssignable(e){return E(e)?(this.toAssignable(e.value),e):super.toAssignable(e)}toAssignableObjectExpressionProp(e,t){if("get"===e.kind||"set"===e.kind)throw this.raise(e.key.start,P.PatternHasAccessor);if(e.method)throw this.raise(e.key.start,P.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,s,r,n){const i=super.parseSubscript(e,t,s,r,n);if(n.optionalChainMember){if("OptionalMemberExpression"!==i.type&&"OptionalCallExpression"!==i.type||(i.type=i.type.substring(8)),n.stop){const e=this.startNodeAtNode(i);return e.expression=i,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==i.type&&"CallExpression"!==i.type||(i.optional=!1);return i}},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,Z.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(p.jsxTagStart)):super.getTokenFromCode(s):(e+=this.input.slice(t,this.state.pos),this.finishToken(p.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:d(s)?(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 s;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=e?"\\n":"\\r\\n"):s=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,P.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadEntity(),s=this.state.pos):d(r)?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return t+=this.input.slice(s,this.state.pos++),this.finishToken(p.string,t)}jsxReadEntity(){let e,t="",s=0,r=this.input[this.state.pos];const n=++this.state.pos;for(;this.state.pos{var t;return t=class extends e{constructor(e,t){super(e,t),this.flowPragma=void 0,this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==p.string&&e!==p.semi&&e!==p.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){const t=G.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"}}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||p.colon);const s=this.flowParseType();return this.state.inType=t,s}flowParsePredicate(){const e=this.startNode(),t=this.state.startLoc,s=this.state.start;this.expect(p.modulo);const r=this.state.startLoc;return this.expectContextual("checks"),t.line===r.line&&t.column===r.column-1||this.raise(s,H.UnexpectedSpaceBetweenModuloChecks),this.eat(p.parenL)?(e.value=this.parseExpression(),this.expect(p.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(p.colon);let t=null,s=null;return this.match(p.modulo)?(this.state.inType=e,s=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(p.modulo)&&(s=this.flowParsePredicate())),[t,s]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(p.parenL);const n=this.flowParseFunctionTypeParams();return s.params=n.params,s.rest=n.rest,this.expect(p.parenR),[s.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(r,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(p._class))return this.flowParseDeclareClass(e);if(this.match(p._function))return this.flowParseDeclareFunction(e);if(this.match(p._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(p.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,H.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(p._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(p.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),s=t.body=[];for(this.expect(p.braceL);!this.match(p.braceR);){let e=this.startNode();this.match(p._import)?(this.next(),this.isContextual("type")||this.match(p._typeof)||this.raise(this.state.lastTokStart,H.InvalidNonTypeImportInDeclareModule),this.parseImport(e)):(this.expectContextual("declare",H.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),s.push(e)}this.scope.exit(),this.expect(p.braceR),this.finishNode(t,"BlockStatement");let r=null,n=!1;return s.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&&(n&&this.raise(e.start,H.DuplicateDeclareModuleExports),"ES"===r&&this.raise(e.start,H.AmbiguousDeclareModuleKind),r="CommonJS",n=!0):("CommonJS"===r&&this.raise(e.start,H.AmbiguousDeclareModuleKind),r="ES")})),e.kind=r||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(p._export),this.eat(p._default))return this.match(p._function)||this.match(p._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(p._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=X[e];throw this.raise(this.state.start,H.UnsupportedDeclareExportKind,e,t)}if(this.match(p._var)||this.match(p._function)||this.match(p._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(p.star)||this.match(p.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(p._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(p.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(p.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(p.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,H.UnexpectedReservedUnderscore)}checkReservedType(e,t,s){W.has(e)&&this.raise(t,s?H.AssignReservedType:H.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(p.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(p.colon)&&(e.supertype=this.flowParseTypeInitialiser(p.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(p.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,s=this.startNode(),r=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return s.name=n.name,s.variance=r,s.bound=n.typeAnnotation,this.match(p.eq)?(this.eat(p.eq),s.default=this.flowParseType()):e&&this.raise(t,H.MissingTypeParamDefault),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(p.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const e=this.flowParseTypeParameter(s);t.params.push(e),e.default&&(s=!0),this.isRelational(">")||this.expect(p.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 s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(p.comma);return this.state.noAnonFunctionType=s,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(p.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(p._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(p.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(p.num)||this.match(p.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,s){return e.static=t,this.lookahead().type===p.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(p.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=s,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(p.bracketR),this.expect(p.bracketR),this.isRelational("<")||this.match(p.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(p.question)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(p.parenL);!this.match(p.parenR)&&!this.match(p.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(p.parenR)||this.expect(p.comma);return this.eat(p.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),this.expect(p.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const s=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(s),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:s,allowProto:r,allowInexact:n}){const i=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,l;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let c=!1;for(t&&this.match(p.braceBarL)?(this.expect(p.braceBarL),o=p.braceBarR,l=!0):(this.expect(p.braceL),o=p.braceR,l=!1),a.exact=l;!this.match(o);){let t=!1,i=null,o=null;const u=this.startNode();if(r&&this.isContextual("proto")){const t=this.lookahead();t.type!==p.colon&&t.type!==p.question&&(this.next(),i=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==p.colon&&e.type!==p.question&&(this.next(),t=!0)}const h=this.flowParseVariance();if(this.eat(p.bracketL))null!=i&&this.unexpected(i),this.eat(p.bracketL)?(h&&this.unexpected(h.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):a.indexers.push(this.flowParseObjectTypeIndexer(u,t,h));else if(this.match(p.parenL)||this.isRelational("<"))null!=i&&this.unexpected(i),h&&this.unexpected(h.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==p.name&&t.type!==p.string&&t.type!==p.num||(e=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(u,t,i,h,e,s,null!=n?n:!l);null===r?(c=!0,o=this.state.lastTokStart):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(p.braceR)||this.match(p.braceBarR)||this.raise(o,H.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(a.inexact=c);const u=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=i,u}flowParseObjectTypeProperty(e,t,s,r,n,i,a){if(this.eat(p.ellipsis))return this.match(p.comma)||this.match(p.semi)||this.match(p.braceR)||this.match(p.braceBarR)?(i?a||this.raise(this.state.lastTokStart,H.InexactInsideExact):this.raise(this.state.lastTokStart,H.InexactInsideNonObject),r&&this.raise(r.start,H.InexactVariance),null):(i||this.raise(this.state.lastTokStart,H.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,H.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=s,e.kind=n;let i=!1;return this.isRelational("<")||this.match(p.parenL)?(e.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==n&&"set"!==n||this.flowCheckGetterSetterParams(e)):("init"!==n&&this.unexpected(),e.method=!1,this.eat(p.question)&&(i=!0),e.value=this.flowParseTypeInitialiser(),e.variance=r),e.optional=i,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,s=e.start;e.value.params.length+(e.value.rest?1:0)!==t&&("get"===e.kind?this.raise(s,P.BadGetterArity):this.raise(s,P.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(s,P.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(p.semi)||this.eat(p.comma)||this.match(p.braceR)||this.match(p.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,s){e=e||this.state.start,t=t||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(p.dot);){const s=this.startNodeAt(e,t);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(e,t,s){const r=this.startNodeAt(e,t);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(e,t,s),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(p._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(p.bracketL);this.state.possuper.parseFunctionBody(e,!0,s))):super.parseFunctionBody(e,!1,s)}parseFunctionBodyAndFinish(e,t,s=!1){if(this.match(p.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,s)}parseStatement(e,t){if(this.state.strict&&this.match(p.name)&&"interface"===this.state.value){const e=this.lookahead();if(e.type===p.name||q(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 s=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(p._class)||this.match(p.name)||this.match(p._function)||this.match(p._var)||this.match(p._export))return this.flowParseDeclare(e)}else if(this.match(p.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(p.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,s,r){if(!this.match(p.question))return e;if(r){const n=this.tryParse((()=>super.parseConditional(e,t,s)));return n.node?(n.error&&(this.state=n.failState),n.node):(r.start=n.error.pos||this.state.start,e)}this.expect(p.question);const n=this.state.clone(),i=this.state.noArrowAt,a=this.startNodeAt(t,s);let{consequent:o,failed:l}=this.tryParseConditionalConsequent(),[c,u]=this.getArrowLikeExpressions(o);if(l||u.length>0){const e=[...i];if(u.length>0){this.state=n,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(n.start,H.AmbiguousConditionalArrow),l&&1===c.length&&(this.state=n,this.state.noArrowAt=e.concat(c[0].start),({consequent:o,failed:l}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=i,this.expect(p.colon),a.test=e,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(p.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const s=[e],r=[];for(;0!==s.length;){const e=s.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):r.push(e),s.push(e.body)):"ConditionalExpression"===e.type&&(s.push(e.consequent),s.push(e.alternate))}return t?(r.forEach((e=>this.finishArrowValidation(e))),[r,[]]):function(e,t){const s=[],r=[];for(let n=0;ne.params.every((e=>this.isAssignable(e,!0)))))}finishArrowValidation(e){var t;this.toAssignableList(e.params,null==(t=e.extra)?void 0:t.trailingComma),this.scope.enter(6),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=t(),this.state.noArrowParamsConversionAt.pop()):s=t(),s}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(p.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(p.colon)){const r=this.startNodeAt(t,s);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(p.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!==p.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,s=super.maybeParseExportNamespaceSpecifier(e);return s&&"type"===e.exportKind&&this.unexpected(t),s}parseClassId(e,t,s){super.parseClassId(e,t,s),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,s){const r=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,s),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type?this.raise(r,H.DeclareClassElement):t.value&&this.raise(t.value.start,H.DeclareClassFieldInitializer))}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(p.braceBarL,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?this.finishOp(p.question,1):function(e,t){return 64===e&&64===t}(e,t)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(e):this.finishOp(p.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,s)=>"ObjectMethod"!==e.type&&(s===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){return"TypeCastExpression"===e.type?super.toAssignable(this.typeCastToParameter(e)):super.toAssignable(e)}toAssignableList(e,t){for(let t=0;t1||!t)&&this.raise(n.typeAnnotation.start,H.TypeCastInPattern)}return e}parseArrayLike(e,t,s,r){const n=super.parseArrayLike(e,t,s,r);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}checkLVal(e,t=64,s,r){if("TypeCastExpression"!==e.type)return super.checkLVal(e,t,s,r)}parseClassProperty(e){return this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(p.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(p.colon)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,s,r,n,i){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,s,r,n,i)}pushClassPrivateMethod(e,t,s,r){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,s,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(p.comma))}}parsePropertyName(e,t){const s=this.flowParseVariance(),r=super.parsePropertyName(e,t);return e.variance=s,r}parseObjPropValue(e,t,s,r,n,i,a,o){let l;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!a&&(l=this.flowParseTypeParameterDeclaration(),this.match(p.parenL)||this.unexpected()),super.parseObjPropValue(e,t,s,r,n,i,a,o),l&&((e.value||e).typeParameters=l)}parseAssignableListItemTypes(e){return this.eat(p.question)&&("Identifier"!==e.type&&this.raise(e.start,H.OptionalBindingPattern),e.optional=!0),this.match(p.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(e),e}parseMaybeDefault(e,t,s){const r=super.parseMaybeDefault(e,t,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(e,t,s)),i),!n.error)return n.node;const{context:r}=this.state;r[r.length-1]===v.j_oTag?r.length-=2:r[r.length-1]===v.j_expr&&(r.length-=1)}if((null==(r=n)?void 0:r.error)||this.isRelational("<")){var a,o;let r;i=i||this.state.clone();const l=this.tryParse((n=>{var i;r=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(r,(()=>{const n=super.parseMaybeAssign(e,t,s);return this.resetStartLocationFromNode(n,r),n}));"ArrowFunctionExpression"!==a.type&&(null==(i=a.extra)?void 0:i.parenthesized)&&n();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),a}),i);let c=null;if(l.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(l.node).type){if(!l.error&&!l.aborted)return l.node.async&&this.raise(r.start,H.UnexpectedTypeParameterBeforeAsyncArrowFunction),l.node;c=l.node}if(null==(a=n)?void 0:a.node)return this.state=n.failState,n.node;if(c)return this.state=l.failState,c;if(null==(o=n)?void 0:o.thrown)throw n.error;if(l.thrown)throw l.error;throw this.raise(r.start,H.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,s)}parseArrow(e){if(this.match(p.colon)){const t=this.tryParse((()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(p.arrow)||this.unexpected(),s}));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(p.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(e.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,s,r){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const r=this.startNodeAt(t,s);r.callee=e,r.arguments=this.parseCallExpressionArguments(p.parenR,!1),e=this.finishNode(r,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const n=this.state.clone(),i=this.tryParse((e=>this.parseAsyncArrowWithTypeParameters(t,s)||e()),n);if(!i.error&&!i.aborted)return i.node;const a=this.tryParse((()=>super.parseSubscripts(e,t,s,r)),n);if(a.node&&!a.error)return a.node;if(i.node)return this.state=i.failState,i.node;if(a.node)return this.state=a.failState,a.node;throw i.error||a.error}return super.parseSubscripts(e,t,s,r)}parseSubscript(e,t,s,r,n){if(this.match(p.questionDot)&&this.isLookaheadToken_lt()){if(n.optionalChainMember=!0,r)return n.stop=!0,e;this.next();const i=this.startNodeAt(t,s);return i.callee=e,i.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(p.parenL),i.arguments=this.parseCallExpressionArguments(p.parenR,!1),i.optional=!0,this.finishCallExpression(i,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(t,s);r.callee=e;const i=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(p.parenL),r.arguments=this.parseCallExpressionArguments(p.parenR,!1),n.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,n.optionalChainMember))));if(i.node)return i.error&&(this.state=i.failState),i.node}return super.parseSubscript(e,t,s,r,n)}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 s=this.startNodeAt(e,t);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,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(p.braceBarR,2)}parseTopLevel(e,t){const s=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,H.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,H.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,P.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 s=this.input.charCodeAt(t+e),r=this.input.charCodeAt(t+e+1);return 58===s&&58===r?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===s&&58!==r&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,P.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,H.EnumBooleanMemberNotInitialized,s,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(e,H.EnumInvalidMemberName,s,r,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:s}){this.raise(e,H.EnumDuplicateMemberName,s,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,H.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:s}){return this.raise(e,null===s?H.EnumInvalidExplicitTypeUnknownSupplied:H.EnumInvalidExplicitType,t,s)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:s,memberName:r}){let n=null;switch(s){case"boolean":case"number":case"string":n=H.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":n=H.EnumInvalidMemberInitializerSymbolType;break;default:n=H.EnumInvalidMemberInitializerUnknownType}return this.raise(e,n,t,r,s)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,H.EnumNumberMemberNotInitialized,t,s)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,H.EnumStringMemberInconsistentlyInitailized,t)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(p.comma)||this.match(p.braceR);switch(this.state.type){case p.num:{const s=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:s.start,value:s}:{type:"invalid",pos:e}}case p.string:{const s=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:s.start,value:s}:{type:"invalid",pos:e}}case p._true:case p._false:{const s=this.parseBooleanLiteral();return t()?{type:"boolean",pos:s.start,value:s}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(p.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,s){const{explicitType:r}=t;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};for(;!this.match(p.braceR);){const n=this.startNode(),{id:i,init:a}=this.flowEnumMemberRaw(),o=i.name;if(""===o)continue;/^[a-z]/.test(o)&&this.flowEnumErrorInvalidMemberName(i.start,{enumName:e,memberName:o}),s.has(o)&&this.flowEnumErrorDuplicateMemberName(i.start,{enumName:e,memberName:o}),s.add(o);const l={enumName:e,explicitType:t,memberName:o};switch(n.id=i,a.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"boolean"),n.init=a.value,r.booleanMembers.push(this.finishNode(n,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"number"),n.init=a.value,r.numberMembers.push(this.finishNode(n,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"string"),n.init=a.value,r.stringMembers.push(this.finishNode(n,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(a.pos,l);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(a.pos,l);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(a.pos,l);break;default:r.defaultedMembers.push(this.finishNode(n,"EnumDefaultedMember"))}}this.match(p.braceR)||this.expect(p.comma)}return r}flowEnumStringMembers(e,t,{enumName:s}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(let t=0;t(e.members=[],this.expect(p.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const i=n.booleanMembers.length,a=n.numberMembers.length,o=n.stringMembers.length,l=n.defaultedMembers.length;if(i||a||o||l){if(i||a){if(!a&&!o&&i>=l){for(let e=0,s=n.defaultedMembers;e=l){for(let e=0,s=n.defaultedMembers;eclass extends e{getScopeHandler(){return ie}tsIsIdentifier(){return this.match(p.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(p.parenL)||this.match(p.parenR)||this.match(p.colon)||this.match(p.eq)||this.match(p.question)||this.match(p.bang))}tsParseModifier(e){if(!this.match(p.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e,t){for(;;){const s=this.state.start,r=this.tsParseModifier(t);if(!r)break;Object.hasOwnProperty.call(e,r)&&this.raise(s,pe.DuplicateModifier,r),e[r]=!0}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(p.braceR);case"HeritageClauseElement":return this.match(p.braceL);case"TupleElementTypes":return this.match(p.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const s=[];for(;!this.tsIsListTerminator(e);)s.push(t());return s}tsParseDelimitedList(e,t){return le(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,s){const r=[];for(;!this.tsIsListTerminator(e);){const n=t();if(null==n)return;if(r.push(n),!this.eat(p.comma)){if(this.tsIsListTerminator(e))break;return void(s&&this.expect(p.comma))}}return r}tsParseBracketedList(e,t,s,r){r||(s?this.expect(p.bracketL):this.expectRelational("<"));const n=this.tsParseDelimitedList(e,t);return s?this.expect(p.bracketR):this.expectRelational(">"),n}tsParseImportType(){const e=this.startNode();return this.expect(p._import),this.expect(p.parenL),this.match(p.string)||this.raise(this.state.start,pe.UnsupportedImportTypeArgument),e.argument=this.parseExprAtom(),this.expect(p.parenR),this.eat(p.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(p.dot);){const s=this.startNodeAtNode(t);s.left=t,s.right=this.parseIdentifier(e),t=this.finishNode(s,"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),this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(p._typeof),this.match(p._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(p._extends),e.default=this.tsEatThenParseType(p.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(p.jsxTagStart)?this.next():this.unexpected(),e.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),0===e.params.length&&this.raise(e.start,pe.EmptyTypeParameters),this.finishNode(e,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===p._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const s=e===p.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(p.parenL),t.parameters=this.tsParseBindingListForSignature(),(s||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(p.parenR,41).map((e=>("Identifier"!==e.type&&"RestElement"!==e.type&&"ObjectPattern"!==e.type&&"ArrayPattern"!==e.type&&this.raise(e.start,pe.UnsupportedSignatureParameterKind,e.type),e)))}tsParseTypeMemberSemicolon(){this.eat(p.comma)||this.semicolon()}tsParseSignatureMember(e,t){return this.tsFillSignature(p.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(p.name)&&this.match(p.colon)}tsTryParseIndexSignature(e){if(!this.match(p.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(p.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(p.bracketR),e.parameters=[t];const s=this.tsTryParseTypeAnnotation();return s&&(e.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(p.question)&&(e.optional=!0);const s=e;if(t||!this.match(p.parenL)&&!this.isRelational("<")){const e=s;t&&(e.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSPropertySignature")}{const e=s;return this.tsFillSignature(p.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSMethodSignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(p.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(p._new)){const t=this.startNode();return this.next(),this.match(p.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}const t=!!this.tsParseModifier(["readonly"]),s=this.tsTryParseIndexSignature(e);return s?(t&&(e.readonly=!0),s):(this.parsePropertyName(e,!1),this.tsParsePropertyOrMethodSignature(e,t))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(p.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(p.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(p.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(p.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(p._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(p._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(p.braceL),this.match(p.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(p.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(p.bracketR),this.match(p.plusMin)?(e.optional=this.state.value,this.next(),this.expect(p.question)):this.eat(p.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(p.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,s=null;return e.elementTypes.forEach((e=>{var r;let{type:n}=e;!t||"TSRestType"===n||"TSOptionalType"===n||"TSNamedTupleMember"===n&&e.optional||this.raise(e.start,pe.OptionalTypeBeforeRequired),t=t||"TSNamedTupleMember"===n&&e.optional||"TSOptionalType"===n,"TSRestType"===n&&(n=(e=e.typeAnnotation).type);const i="TSNamedTupleMember"===n;s=null!=(r=s)?r:i,s!==i&&this.raise(e.start,pe.MixedLabeledAndUnlabeledElements)})),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,s=this.eat(p.ellipsis);let r=this.tsParseType();const n=this.eat(p.question);if(this.eat(p.colon)){const e=this.startNodeAtNode(r);e.optional=n,"TSTypeReference"!==r.type||r.typeParameters||"Identifier"!==r.typeName.type?(this.raise(r.start,pe.InvalidTupleMemberLabel),e.label=r):e.label=r.typeName,e.elementType=this.tsParseType(),r=this.finishNode(e,"TSNamedTupleMember")}else if(n){const e=this.startNodeAtNode(r);e.typeAnnotation=r,r=this.finishNode(e,"TSOptionalType")}if(s){const s=this.startNodeAt(e,t);s.typeAnnotation=r,r=this.finishNode(s,"TSRestType")}return r}tsParseParenthesizedType(){const e=this.startNode();return this.expect(p.parenL),e.typeAnnotation=this.tsParseType(),this.expect(p.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e){const t=this.startNode();return"TSConstructorType"===e&&this.expect(p._new),this.tsFillSignature(p.arrow,t),this.finishNode(t,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case p.num:case p.bigint:case p.string:case p._true:case p._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 p.name:case p._void:case p._null:{const e=this.match(p._void)?"TSVoidKeyword":this.match(p._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 p.string:case p.num:case p.bigint:case p._true:case p._false:return this.tsParseLiteralTypeNode();case p.plusMin:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();if(t.type!==p.num&&t.type!==p.bigint)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case p._this:return this.tsParseThisTypeOrThisTypePredicate();case p._typeof:return this.tsParseTypeQuery();case p._import:return this.tsParseImportType();case p.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case p.bracketL:return this.tsParseTupleType();case p.parenL:return this.tsParseParenthesizedType();case p.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(p.bracketL);)if(this.match(p.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(p.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(p.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,pe.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,s){this.eat(s);let r=t();if(this.match(s)){const n=[r];for(;this.eat(s);)n.push(t());const i=this.startNodeAtNode(r);i.types=n,r=this.finishNode(i,e)}return r}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),p.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),p.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(p.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(p.name)||this.match(p._this))return this.next(),!0;if(this.match(p.braceL)){let e=1;for(this.next();e>0;)this.match(p.braceL)?++e:this.match(p.braceR)&&--e,this.next();return!0}if(this.match(p.bracketL)){let e=1;for(this.next();e>0;)this.match(p.bracketL)?++e:this.match(p.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(p.parenR)||this.match(p.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(p.colon)||this.match(p.comma)||this.match(p.question)||this.match(p.eq))return!0;if(this.match(p.parenR)&&(this.next(),this.match(p.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType((()=>{const t=this.startNode();this.expect(e);const s=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(s&&this.match(p._this)){let e=this.tsParseThisTypeOrThisTypePredicate();if("TSThisType"===e.type){const s=this.startNodeAtNode(t);s.parameterName=e,s.asserts=!0,e=this.finishNode(s,"TSTypePredicate")}else e.asserts=!0;return t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const r=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!r){if(!s)return this.tsParseTypeAnnotation(!1,t);const e=this.startNodeAtNode(t);return e.parameterName=this.parseIdentifier(),e.asserts=s,t.typeAnnotation=this.finishNode(e,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}const n=this.tsParseTypeAnnotation(!1),i=this.startNodeAtNode(t);return i.parameterName=r,i.typeAnnotation=n,i.asserts=s,t.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(p.colon)?this.tsParseTypeOrTypePredicateAnnotation(p.colon):void 0}tsTryParseTypeAnnotation(){return this.match(p.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(p.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(!this.match(p.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const e=this.state.containsEsc;return this.next(),!(!this.match(p.name)&&!this.match(p._this)||(e&&this.raise(this.state.lastTokStart,P.InvalidEscapedReservedWord,"asserts"),0))}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType((()=>{e&&this.expect(p.colon),t.typeAnnotation=this.tsParseType()})),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){ce(this.state.inType);const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(p._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(p.question),t.trueType=this.tsParseType(),this.expect(p.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(p._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):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,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(t,pe.EmptyHeritageClauseType,e),s}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,130,void 0,"typescript interface declaration"),e.typeParameters=this.tsTryParseTypeParameters(),this.eat(p._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,2,void 0,"typescript type alias"),e.typeParameters=this.tsTryParseTypeParameters(),e.typeAnnotation=this.tsInType((()=>{if(this.expect(p.eq),this.isContextual("intrinsic")&&this.lookahead().type!==p.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(p.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(p.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,t?779:267,void 0,"typescript enum declaration"),this.expect(p.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(p.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(p.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,p.braceR),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){if(e.id=this.parseIdentifier(),t||this.checkLVal(e.id,1024,null,"module or namespace declaration"),this.eat(p.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(128),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(p.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(p.braceL)?(this.scope.enter(128),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,9,void 0,"import equals declaration"),this.expect(p.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(p.parenL),!this.match(p.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(p.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),s=e();return this.state=t,s}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(),s=e();return void 0!==s&&!1!==s?s:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,s=this.state.type;return this.isContextual("let")&&(s=p._var,t="let"),this.tsInDeclareContext((()=>{switch(s){case p._function:return e.declare=!0,this.parseFunctionStatement(e,!1,!0);case p._class:return e.declare=!0,this.parseClass(e,!0,!1);case p._const:if(this.match(p._const)&&this.isLookaheadContextual("enum"))return this.expect(p._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case p._var:return t=t||this.state.value,this.parseVarStatement(e,t);case p.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(p.braceL)){this.scope.enter(128),this.prodParam.enter(0);const s=e;return s.global=!0,s.id=t,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,s){switch(t){case"abstract":if(this.tsCheckLineTerminatorAndMatch(p._class,s)){const t=e;return t.abstract=!0,s&&(this.next(),this.match(p._class)||this.unexpected(null,p._class)),this.parseClass(t,!0,!1)}break;case"enum":if(s||this.match(p.name))return s&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminatorAndMatch(p.name,s))return s&&this.next(),this.tsParseInterfaceDeclaration(e);break;case"module":if(s&&this.next(),this.match(p.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.tsCheckLineTerminatorAndMatch(p.name,s))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"namespace":if(this.tsCheckLineTerminatorAndMatch(p.name,s))return s&&this.next(),this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminatorAndMatch(p.name,s))return s&&this.next(),this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminatorAndMatch(e,t){return(t||this.match(e))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(e,t);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(p.arrow),s}));return this.state.maybeInArrowParameters=s,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,pe.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(p.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 s=this.state.start,r=this.state.startLoc;let n,i=!1;void 0!==e&&(n=this.parseAccessModifier(),i=!!this.tsParseModifier(["readonly"]),!1===e&&(n||i)&&this.raise(s,pe.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(n||i){const e=this.startNodeAt(s,r);return t.length&&(e.decorators=t),n&&(e.accessibility=n),i&&(e.readonly=i),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,pe.UnsupportedParameterPropertyKind),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(a.decorators=t),o}parseFunctionBodyAndFinish(e,t,s=!1){this.match(p.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(p.colon));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;r&&!this.match(p.braceL)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isDeclareContext&&(this.raise(e.start,pe.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,r,s):super.parseFunctionBodyAndFinish(e,t,s)}registerFunctionStatementId(e){!e.body&&e.id?this.checkLVal(e.id,1024,null,"function name"):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(e){e.forEach((e=>{"TSTypeCastExpression"===(null==e?void 0:e.type)&&this.raise(e.typeAnnotation.start,pe.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,s,r,n){if(!this.hasPrecedingLineBreak()&&this.match(p.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(t,s);return r.expression=e,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const i=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,s);if(e)return e}const i=this.startNodeAt(t,s);i.callee=e;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(p.parenL))return i.arguments=this.parseCallExpressionArguments(p.parenR,!1),this.tsCheckForInvalidTypeCasts(i.arguments),i.typeParameters=a,this.finishCallExpression(i,n.optionalChainMember);if(this.match(p.backQuote)){const r=this.parseTaggedTemplateExpression(e,t,s,n);return r.typeParameters=a,r}}this.unexpected()}));if(i)return i}return super.parseSubscript(e,t,s,r,n)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch((()=>{const e=this.tsParseTypeArguments();return this.match(p.parenL)||this.unexpected(),e}));t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,s,r){if(le(p._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const n=this.startNodeAt(t,s);n.expression=e;const i=this.tsTryNextParseConstantContext();return n.typeAnnotation=i||this.tsNextThenParseType(),this.finishNode(n,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(n,t,s,r)}return super.parseExprOp(e,t,s,r)}checkReservedWord(e,t,s,r){}checkDuplicateExports(){}parseImport(e){if(this.match(p.name)||this.match(p.star)||this.match(p.braceL)){const t=this.lookahead();if(this.match(p.name)&&t.type===p.eq)return this.tsParseImportEqualsDeclaration(e);!this.isContextual("type")||t.type===p.comma||t.type===p.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(p._import))return this.expect(p._import),this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(p.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===p.braceL?(this.next(),e.exportKind="type"):e.exportKind="value",super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===p._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),this.parseClass(e,!0,!0),e.abstract=!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===p._const){const e=this.lookahead();if(e.type===p.name&&"enum"===e.value){const e=this.startNode();return this.expect(p._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(e,t,s){this.tsParseModifiers(t,["declare"]);const r=this.parseAccessModifier();r&&(t.accessibility=r),this.tsParseModifiers(t,["declare"]);const n=()=>{super.parseClassMember(e,t,s)};t.declare?this.tsInDeclareContext(n):n()}parseClassMemberWithIsStatic(e,t,s,r){this.tsParseModifiers(t,["abstract","readonly","declare"]);const n=this.tsTryParseIndexSignature(t);if(n)return e.body.push(n),t.abstract&&this.raise(t.start,pe.IndexSignatureHasAbstract),r&&this.raise(t.start,pe.IndexSignatureHasStatic),t.accessibility&&this.raise(t.start,pe.IndexSignatureHasAccessibility,t.accessibility),void(t.declare&&this.raise(t.start,pe.IndexSignatureHasDeclare));super.parseClassMemberWithIsStatic(e,t,s,r)}parsePostMemberNameModifiers(e){this.eat(p.question)&&(e.optional=!0),e.readonly&&this.match(p.parenL)&&this.raise(e.start,pe.ClassMethodHasReadonly),e.declare&&this.match(p.parenL)&&this.raise(e.start,pe.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,s,r){if(!r||!this.match(p.question))return super.parseConditional(e,t,s,r);const n=this.tryParse((()=>super.parseConditional(e,t,s)));return n.node?(n.error&&(this.state=n.failState),n.node):(r.start=n.error.pos||this.state.start,e)}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(p.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(p.colon)){const r=this.startNodeAt(t,s);return r.expression=e,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,s=this.state.startLoc,r=this.eatContextual("declare");let n;return this.match(p.name)&&(n=this.tsTryParseExportDeclaration()),n||(n=super.parseExportDeclaration(e)),n&&("TSInterfaceDeclaration"===n.type||"TSTypeAliasDeclaration"===n.type||r)&&(e.exportKind="type"),n&&r&&(this.resetStartLocation(n,t,s),n.declare=!0),n}parseClassId(e,t,s){if((!t||s)&&this.isContextual("implements"))return;super.parseClassId(e,t,s,e.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(p.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),this.state.isDeclareContext&&this.match(p.eq)&&this.raise(this.state.start,pe.DeclareClassFieldHasInitializer),super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(e.start,pe.PrivateElementHasAbstract),e.accessibility&&this.raise(e.start,pe.PrivateElementHasAccessibility,e.accessibility),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}pushClassMethod(e,t,s,r,n,i){const a=this.tsTryParseTypeParameters();a&&n&&this.raise(a.start,pe.ConstructorHasTypeParameters),a&&(t.typeParameters=a),super.pushClassMethod(e,t,s,r,n,i)}pushClassPrivateMethod(e,t,s,r){const n=this.tsTryParseTypeParameters();n&&(t.typeParameters=n),super.pushClassPrivateMethod(e,t,s,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 s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(p.bang)&&(e.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(e.id.typeAnnotation=s,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(p.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,s,r,n,i,a,o;let l,c,u,h;if(this.match(p.jsxTagStart)){if(l=this.state.clone(),c=this.tryParse((()=>super.parseMaybeAssign(...e)),l),!c.error)return c.node;const{context:t}=this.state;t[t.length-1]===v.j_oTag?t.length-=2:t[t.length-1]===v.j_expr&&(t.length-=1)}if(!(null==(t=c)?void 0:t.error)&&!this.isRelational("<"))return super.parseMaybeAssign(...e);l=l||this.state.clone();const d=this.tryParse((t=>{var s;h=this.tsParseTypeParameters();const r=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==r.type||r.extra&&r.extra.parenthesized)&&t(),0!==(null==(s=h)?void 0:s.params.length)&&this.resetStartLocationFromNode(r,h),r.typeParameters=h,r}),l);if(!d.error&&!d.aborted)return d.node;if(!c&&(ce(!this.hasPlugin("jsx")),u=this.tryParse((()=>super.parseMaybeAssign(...e)),l),!u.error))return u.node;if(null==(s=c)?void 0:s.node)return this.state=c.failState,c.node;if(d.node)return this.state=d.failState,d.node;if(null==(r=u)?void 0:r.node)return this.state=u.failState,u.node;if(null==(n=c)?void 0:n.thrown)throw c.error;if(d.thrown)throw d.error;if(null==(i=u)?void 0:i.thrown)throw u.error;throw(null==(a=c)?void 0:a.error)||d.error||(null==(o=u)?void 0:o.error)}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(p.colon)){const t=this.tryParse((e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(p.colon);return!this.canInsertSemicolon()&&this.match(p.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(p.question)&&("Identifier"===e.type||this.state.isDeclareContext||this.state.inType||this.raise(e.start,pe.PatternIsOptional),e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}toAssignable(e){switch(e.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(e));case"TSParameterProperty":default:return super.toAssignable(e);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression),e}}checkLVal(e,t=64,s,r){switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,t,s,"parameter property");case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(e.expression,t,s,r);default:return void super.checkLVal(e,t,s,r)}}parseBindingAtom(){return this.state.type===p._this?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(p.parenL)){const s=super.parseMaybeDecoratorArguments(e);return s.typeParameters=t,s}this.unexpected(this.state.start,p.parenL)}return super.parseMaybeDecoratorArguments(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(p.bang)||this.match(p.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),s=e.params[0];return s&&"Identifier"===s.type&&"this"===s.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}}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(p.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(p.modulo),this.match(p.name)){const e=this.parseIdentifierName(this.state.start),s=this.createIdentifier(t,e);if(s.type="V8IntrinsicIdentifier",this.match(p.parenL))return s}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(p.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(p.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const s=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,s?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(p.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)}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(p.colon)){const s=e;return s.label=this.finishPlaceholder(t,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"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,s){const r=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const n=this.state.strict,i=this.parsePlaceholder("Identifier");if(i)if(this.match(p._extends)||this.match(p.placeholder)||this.match(p.braceL))e.id=i;else{if(s||!t)return e.id=null,e.body=this.finishPlaceholder(i,"ClassBody"),this.finishNode(e,r);this.unexpected(null,"A class name is required")}else this.parseClassId(e,t,s);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,n),this.finishNode(e,r)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(p.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=t,e.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(e)}isExportDefaultSpecifier(){if(this.match(p._default)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(p.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?void 0: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(p.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const s=this.startNodeAtNode(t);return s.local=t,this.finishNode(s,"ImportDefaultSpecifier"),e.specifiers.push(s),this.eat(p.comma)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},ye=Object.keys(me),ge={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 be{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.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=p.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[v.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.octalPositions=[],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 be,s=Object.keys(this);for(let r=0,n=s.length;r=48&&e<=57};const xe=new Set(["g","m","s","i","y","u"]),Pe={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Se={bin:[48,49]};Se.oct=[...Se.bin,50,51,52,53,54,55],Se.dec=[...Se.oct,56,57],Se.hex=[...Se.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Ee{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 Ae extends S{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.state=new be,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 Ee(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){return f.lastIndex=e,e+f.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(e){if(this.state.strict=e,this.match(p.num)||this.match(p.string)){for(this.state.pos=this.state.start;this.state.pos=this.length)return void this.finishToken(p.eof);const t=null==e?void 0:e.override;t?t(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(e,t,s,r,n,i){const a={type:e?"CommentBlock":"CommentLine",value:t,start:s,end:r,loc:new g(n,i)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,s=this.input.indexOf("*/",this.state.pos+2);if(-1===s)throw this.raise(t,P.UnterminatedComment);let r;for(this.state.pos=s+2,h.lastIndex=t;(r=h.exec(this.input))&&r.index=48&&t<=57)throw this.raise(this.state.pos,P.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?P.RecordExpressionHashIncorrectStartSyntaxType:P.TupleExpressionHashIncorrectStartSyntaxType);123===t?this.finishToken(p.braceHashL):this.finishToken(p.bracketHashL),this.state.pos+=2}else this.finishOp(p.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(p.ellipsis)):(++this.state.pos,this.finishToken(p.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(p.assign,2):this.finishOp(p.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(p.question)):(this.state.pos+=2,this.finishToken(p.questionDot))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(p.parenL);case 41:return++this.state.pos,void this.finishToken(p.parenR);case 59:return++this.state.pos,void this.finishToken(p.semi);case 44:return++this.state.pos,void this.finishToken(p.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,P.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(p.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(p.bracketL);return;case 93:return++this.state.pos,void this.finishToken(p.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,P.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(p.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(p.braceL);return;case 125:return++this.state.pos,void this.finishToken(p.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(p.doubleColon,2):(++this.state.pos,this.finishToken(p.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(p.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(p.tilde,1);case 64:return++this.state.pos,void this.finishToken(p.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(D(e))return void this.readWord()}throw this.raise(this.state.pos,P.InvalidOrUnexpectedToken,String.fromCodePoint(e))}finishOp(e,t){const s=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,s)}readRegexp(){const e=this.state.pos;let t,s;for(;;){if(this.state.pos>=this.length)throw this.raise(e,P.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(u.test(r))throw this.raise(e,P.UnterminatedRegExp);if(t)t=!1;else{if("["===r)s=!0;else if("]"===r&&s)s=!1;else if("/"===r&&!s)break;t="\\\\"===r}++this.state.pos}const r=this.input.slice(e,this.state.pos);++this.state.pos;let n="";for(;this.state.pos-1&&this.raise(this.state.pos+1,P.DuplicateRegExpFlags);else{if(!M(t)&&92!==t)break;this.raise(this.state.pos+1,P.MalformedRegExpFlags)}++this.state.pos,n+=e}this.finishToken(p.regexp,{pattern:r,flags:n})}readInt(e,t,s,r=!0){const n=this.state.pos,i=16===e?Pe.hex:Pe.decBinOct,a=16===e?Se.hex:10===e?Se.dec:8===e?Se.oct:Se.bin;let o=!1,l=0;for(let n=0,c=null==t?1/0:t;n=97?t-97+10:t>=65?t-65+10:Te(t)?t-48:1/0,c>=e)if(this.options.errorRecovery&&c<=9)c=0,this.raise(this.state.start+n+2,P.InvalidDigit,e);else{if(!s)break;c=0,o=!0}++this.state.pos,l=l*e+c}else{const e=this.input.charCodeAt(this.state.pos-1),t=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(t)||i.indexOf(e)>-1||i.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,P.UnexpectedNumericSeparator),r||this.raise(this.state.pos,P.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===n||null!=t&&this.state.pos-n!==t||o?null:l}readRadixNumber(e){const t=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(e);null==r&&this.raise(this.state.start+2,P.InvalidDigit,e);const n=this.input.charCodeAt(this.state.pos);if(110===n)++this.state.pos,s=!0;else if(109===n)throw this.raise(t,P.InvalidDecimal);if(D(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,P.NumberIdentifier);if(s){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(p.bigint,e)}else this.finishToken(p.num,r)}readNumber(e){const t=this.state.pos;let s=!1,r=!1,n=!1,i=!1,a=!1;e||null!==this.readInt(10)||this.raise(t,P.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.state.strict)this.raise(t,P.StrictOctalLiteral);else{const s=e.indexOf("_");s>0&&this.raise(s+t,P.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(e)}let l=this.input.charCodeAt(this.state.pos);if(46!==l||a||(++this.state.pos,this.readInt(10),s=!0,l=this.input.charCodeAt(this.state.pos)),69!==l&&101!==l||a||(l=this.input.charCodeAt(++this.state.pos),43!==l&&45!==l||++this.state.pos,null===this.readInt(10)&&this.raise(t,P.InvalidOrMissingExponent),s=!0,i=!0,l=this.input.charCodeAt(this.state.pos)),110===l&&((s||o)&&this.raise(t,P.InvalidBigIntLiteral),++this.state.pos,r=!0),109===l&&(this.expectPlugin("decimal",this.state.pos),(i||o)&&this.raise(t,P.InvalidDecimal),++this.state.pos,n=!0),D(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,P.NumberIdentifier);const c=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(p.bigint,c);if(n)return void this.finishToken(p.decimal,c);const u=a?parseInt(c,8):parseFloat(c);this.finishToken(p.num,u)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const s=++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(s,P.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,P.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;if(92===r)t+=this.input.slice(s,this.state.pos),t+=this.readEscapedChar(!1),s=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,P.UnterminatedString);++this.state.pos}}t+=this.input.slice(s,this.state.pos++),this.finishToken(p.string,t)}readTmplToken(){let e="",t=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,P.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(p.template)?36===r?(this.state.pos+=2,void this.finishToken(p.dollarBraceL)):(++this.state.pos,void this.finishToken(p.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(p.template,s?null:e));if(92===r){e+=this.input.slice(t,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!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}}readEscapedChar(e){const t=!e,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){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.state.strict&&this.raise(this.state.pos-1,P.StrictNumericEscape);default:if(s>=48&&s<=55){const t=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const n=this.input.charCodeAt(this.state.pos);if("0"!==s||56===n||57===n){if(e)return null;this.state.strict?this.raise(t,P.StrictNumericEscape):this.state.octalPositions.push(t)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(e,t,s){const r=this.state.pos,n=this.readInt(16,e,t,!1);return null===n&&(s?this.raise(r,P.InvalidEscapeSequence):this.state.pos=r-1),n}readWord1(){let e="";this.state.containsEsc=!1;const t=this.state.pos;let s=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 s={node:null};try{const r=e(((e=null)=>{throw s.node=e,s}));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===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:s,doubleProto:r}=e;if(!t)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,P.DuplicateProto)}isLiteralPropertyName(){return this.match(p.name)||!!this.state.type.keyword||this.match(p.string)||this.match(p.num)||this.match(p.bigint)||this.match(p.decimal)}}class we{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Ce{constructor(e,t,s){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(s),(null==e?void 0:e.options.ranges)&&(this.range=[t,0]),(null==e?void 0:e.filename)&&(this.loc.filename=e.filename)}__clone(){const e=new Ce,t=Object.keys(this);for(let s=0,r=t.length;s"ParenthesizedExpression"===e.type?Oe(e.expression):e;class Ne extends Ie{toAssignable(e){var t,s;let r;switch(("ParenthesizedExpression"===e.type||(null==(t=e.extra)?void 0:t.parenthesized))&&(r=Oe(e),"Identifier"!==r.type&&"MemberExpression"!==r.type&&this.raise(e.start,P.InvalidParenthesizedAssignment)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(let t=0,s=e.properties.length,r=s-1;t{this.raise(s,t);let r=e.length-2,n=e[r];for(;n.canBeArrowParameterDeclaration();)n.clearDeclarationError(s),n=e[--r]}))}}function Me(){return new ke}class _e extends Ne{checkProto(e,t,s,r){if("SpreadElement"===e.type||"ObjectMethod"===e.type||e.computed||e.shorthand)return;const n=e.key;if("__proto__"===("Identifier"===n.type?n.name:n.value)){if(t)return void this.raise(n.start,P.RecordNoProto);s.used&&(r?-1===r.doubleProto&&(r.doubleProto=n.start):this.raise(n.start,P.DuplicateProto)),s.used=!0}}shouldExitDescending(e,t){return"ArrowFunctionExpression"===e.type&&e.start===t}getExpression(){let e=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e),this.nextToken();const t=this.parseExpression();return this.match(p.eof)||this.unexpected(),t.comments=this.state.comments,t.errors=this.state.errors,t}parseExpression(e,t){return e?this.disallowInAnd((()=>this.parseExpressionBase(t))):this.allowInAnd((()=>this.parseExpressionBase(t)))}parseExpressionBase(e){const t=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(e);if(this.match(p.comma)){const n=this.startNodeAt(t,s);for(n.expressions=[r];this.eat(p.comma);)n.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(n.expressions),this.finishNode(n,"SequenceExpression")}return r}parseMaybeAssignDisallowIn(e,t,s){return this.disallowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssignAllowIn(e,t,s){return this.allowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssign(e,t,s){const r=this.state.start,n=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,n)),e}let i;e?i=!1:(e=new we,i=!0),(this.match(p.parenL)||this.match(p.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e,s);if(t&&(a=t.call(this,a,r,n)),this.state.type.isAssign){const t=this.startNodeAt(r,n),s=this.state.value;return t.operator=s,this.match(p.eq)?(t.left=this.toAssignable(a),e.doubleProto=-1):t.left=a,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(a,void 0,void 0,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),a}parseMaybeConditional(e,t){const s=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprOps(e);return this.shouldExitDescending(i,n)?i:this.parseConditional(i,s,r,t)}parseConditional(e,t,s,r){if(this.eat(p.question)){const r=this.startNodeAt(t,s);return r.test=e,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(p.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseMaybeUnary(e);return this.shouldExitDescending(n,r)?n:this.parseExprOp(n,t,s,-1)}parseExprOp(e,t,s,r){let n=this.state.type.binop;if(null!=n&&(this.prodParam.hasIn||!this.match(p._in))&&n>r){const i=this.state.type;if(i===p.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const a=this.startNodeAt(t,s);a.left=e,a.operator=this.state.value,i!==p.exponent||"UnaryExpression"!==e.type||!this.options.createParenthesizedExpressions&&e.extra&&e.extra.parenthesized||this.raise(e.argument.start,P.UnexpectedTokenUnaryExponentiation);const o=i===p.logicalOR||i===p.logicalAND,l=i===p.nullishCoalescing;if(l&&(n=p.logicalAND.binop),this.next(),i===p.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(p.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,P.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(i,n),this.finishNode(a,o||l?"LogicalExpression":"BinaryExpression");const c=this.state.type;if(l&&(c===p.logicalOR||c===p.logicalAND)||o&&c===p.nullishCoalescing)throw this.raise(this.state.start,P.MixingCoalesceWithLogical);return this.parseExprOp(a,t,s,r)}return e}parseExprOpRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;if(e===p.pipeline)switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),s,r)));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(t)))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,r,e.rightAssociative?t-1:t)}parseMaybeUnary(e){if(this.isContextual("await")&&this.isAwaitAllowed())return this.parseAwait();const t=this.match(p.incDec),s=this.startNode();if(this.state.type.prefix){s.operator=this.state.value,s.prefix=!0,this.match(p._throw)&&this.expectPlugin("throwExpressions");const r=this.match(p._delete);if(this.next(),s.argument=this.parseMaybeUnary(),this.checkExpressionErrors(e,!0),this.state.strict&&r){const e=s.argument;"Identifier"===e.type?this.raise(s.start,P.StrictDelete):"MemberExpression"!==e.type&&"OptionalMemberExpression"!==e.type||"PrivateName"!==e.property.type||this.raise(s.start,P.DeletePrivateField)}if(!t)return this.finishNode(s,"UnaryExpression")}return this.parseUpdate(s,t,e)}parseUpdate(e,t,s){if(t)return this.checkLVal(e.argument,void 0,void 0,"prefix operation"),this.finishNode(e,"UpdateExpression");const r=this.state.start,n=this.state.startLoc;let i=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return i;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(r,n);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.checkLVal(i,void 0,void 0,"postfix operation"),this.next(),i=this.finishNode(e,"UpdateExpression")}return i}parseExprSubscripts(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseExprAtom(e);return this.shouldExitDescending(n,r)?n:this.parseSubscripts(n,t,s)}parseSubscripts(e,t,s,r){const n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,s,r,n),n.maybeAsyncArrow=!1}while(!n.stop);return e}parseSubscript(e,t,s,r,n){if(!r&&this.eat(p.doubleColon))return this.parseBind(e,t,s,r,n);if(this.match(p.backQuote))return this.parseTaggedTemplateExpression(e,t,s,n);let i=!1;if(this.match(p.questionDot)){if(n.optionalChainMember=i=!0,r&&40===this.lookaheadCharCode())return n.stop=!0,e;this.next()}return!r&&this.match(p.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,s,n,i):i||this.match(p.bracketL)||this.eat(p.dot)?this.parseMember(e,t,s,n,i):(n.stop=!0,e)}parseMember(e,t,s,r,n){const i=this.startNodeAt(t,s),a=this.eat(p.bracketL);i.object=e,i.computed=a;const o=a?this.parseExpression():this.parseMaybePrivateName(!0);return"PrivateName"===o.type&&("Super"===i.object.type&&this.raise(t,P.SuperPrivateField),this.classScope.usePrivateName(o.id.name,o.start)),i.property=o,a&&this.expect(p.bracketR),r.optionalChainMember?(i.optional=n,this.finishNode(i,"OptionalMemberExpression")):this.finishNode(i,"MemberExpression")}parseBind(e,t,s,r,n){const i=this.startNodeAt(t,s);return i.object=e,i.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),t,s,r)}parseCoverCallAndAsyncArrowHead(e,t,s,r,n){const i=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(t,s);return a.callee=e,r.maybeAsyncArrow&&this.expressionScope.enter(new Le(2)),r.optionalChainMember&&(a.optional=n),a.arguments=n?this.parseCallExpressionArguments(p.parenR,!1):this.parseCallExpressionArguments(p.parenR,r.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,a),this.finishCallExpression(a,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!n?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,s),a)):(r.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=i,a}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,s,r){const n=this.startNodeAt(t,s);return n.tag=e,n.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(t,P.OptionalChainingNoTemplate),this.finishNode(n,"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,P.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(let t=0,s=e.arguments;t1?(r=this.startNodeAt(a,o),r.expressions=l,this.finishNodeAt(r,"SequenceExpression",m,y)):r=l[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t),r;const b=this.startNodeAt(t,s);return b.expression=r,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(p.arrow))return e}parseParenItem(e,t,s){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(p.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const s=this.parseMetaProperty(e,t,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let e=P.UnexpectedNewTarget;this.hasPlugin("classProperties")&&(e+=" or class properties"),this.raise(s.start,e)}return s}return this.parseNew(e)}parseNew(e){return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,P.ImportCallNotNewExpression):"OptionalMemberExpression"===e.callee.type||"OptionalCallExpression"===e.callee.type?this.raise(this.state.lastTokEnd,P.OptionalChainingNoNew):this.eat(p.questionDot)&&this.raise(this.state.start,P.OptionalChainingNoNew),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(p.parenL)){const t=this.parseExprList(p.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,P.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(p.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let s=this.parseTemplateElement(e);for(t.quasis=[s];!s.tail;)this.expect(p.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(p.braceR),t.quasis.push(s=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const i=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(p.comma),this.match(e)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const n=this.parsePropertyDefinition(t,r);t||this.checkProto(n,s,i,r),s&&"ObjectProperty"!==n.type&&"SpreadElement"!==n.type&&this.raise(n.start,P.InvalidRecordProperty),n.shorthand&&this.addExtra(n,"shorthand",!0),o.properties.push(n)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=n;let l="ObjectExpression";return t?l="ObjectPattern":s&&(l="RecordExpression"),this.finishNode(o,l)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(p.bracketL)||this.match(p.star))}parsePropertyDefinition(e,t){let s=[];if(this.match(p.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,P.UnsupportedPropertyDecorator);this.match(p.at);)s.push(this.parseDecorator());const r=this.startNode();let n,i,a=!1,o=!1,l=!1;if(this.match(p.ellipsis))return s.length&&this.unexpected(),e?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(e||t)&&(n=this.state.start,i=this.state.startLoc),e||(a=this.eat(p.star));const c=this.state.containsEsc,u=this.parsePropertyName(r,!1);if(!e&&!a&&!c&&this.maybeAsyncOrAccessorProp(r)){const e=u.name;"async"!==e||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(p.star),this.parsePropertyName(r,!1)),"get"!==e&&"set"!==e||(l=!0,r.kind=e,this.match(p.star)&&(a=!0,this.raise(this.state.pos,P.AccessorIsGenerator,e),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,n,i,a,o,e,l,t),r}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const s=this.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e),n=e.start;r.length!==s&&("get"===e.kind?this.raise(n,P.BadGetterArity):this.raise(n,P.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=r[r.length-1])?void 0:t.type)&&this.raise(n,P.BadSetterRestParameter)}parseObjectMethod(e,t,s,r,n){return n?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):s||t||this.match(p.parenL)?(r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,s,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,s,r,n){return e.shorthand=!1,this.eat(p.colon)?(e.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(n),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,s,e.key.__clone()):this.match(p.eq)&&n?(-1===n.shorthandAssign&&(n.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,s,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,s,r,n,i,a,o){const l=this.parseObjectMethod(e,r,n,i,a)||this.parseObjectProperty(e,t,s,i,o);return l||this.unexpected(),l}parsePropertyName(e,t){if(this.eat(p.bracketL))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(p.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(p.num)||this.match(p.string)||this.match(p.bigint)||this.match(p.decimal)?this.parseExprAtom():this.parseMaybePrivateName(t),"PrivateName"!==e.key.type&&(e.computed=!1),this.state.inPropertyName=s}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,s,r,n,i,a=!1){this.initFunction(e,s),e.generator=!!t;const o=r;return this.scope.enter(18|(a?64:0)|(n?32:0)),this.prodParam.enter(oe(s,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,i,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const i=this.startNode();return this.next(),i.elements=this.parseExprList(e,!s,r,i),this.state.inFSharpPipelineDirectBody=n,this.finishNode(i,s?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,s,r){this.scope.enter(6);let n=oe(s,!1);!this.match(p.bracketL)&&this.prodParam.hasIn&&(n|=8),this.prodParam.enter(n),this.initFunction(e,s);const i=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=i,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,s){e.params=this.toAssignableList(t,s)}parseFunctionBodyAndFinish(e,t,s=!1){this.parseFunctionBody(e,!1,s),this.finishNode(e,t)}parseFunctionBody(e,t,s=!1){const r=t&&!this.match(p.braceL);if(this.expressionScope.enter(Me()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,n=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,(n=>{const i=!this.isSimpleParamList(e.params);if(n&&i){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,P.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||s||i),t,a),this.state.strict&&e.id&&this.checkLVal(e.id,65,void 0,"function name",void 0,a)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=n}}isSimpleParamList(e){for(let t=0,s=e.length;t=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const n=this.parseExprOp(this.parseMaybeUnary(),t,s,e);return this.state.inFSharpPipelineDirectBody=r,n}}const je={kind:"loop"},Re={kind:"switch"},Be=/[\\uD800-\\uDFFF]/u;class Fe extends _e{parseTopLevel(e,t){if(t.sourceType=this.options.sourceType,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,p.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let e=0,t=Array.from(this.scope.undefinedExports);ethis.parseStatement("do"))),this.state.labels.pop(),this.expect(p._while),e.test=this.parseHeaderExpression(),this.eat(p.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(je);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(0),this.expect(p.parenL),this.match(p.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const s=this.isLet();if(this.match(p._var)||this.match(p._const)||s){const r=this.startNode(),n=s?"let":this.state.value;return this.next(),this.parseVar(r,!0,n),this.finishNode(r,"VariableDeclaration"),(this.match(p._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 we,n=this.parseExpression(!0,r);if(this.match(p._in)||this.isContextual("of")){this.toAssignable(n);const s=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(n,void 0,void 0,s),this.parseForIn(e,n,t)}return this.checkExpressionErrors(r,!0),t>-1&&this.unexpected(t),this.parseFor(e,n)}parseFunctionStatement(e,t,s){return this.next(),this.parseFunction(e,1|(s?0:2),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(p._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,P.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 s;this.expect(p.braceL),this.state.labels.push(Re),this.scope.enter(0);for(let e;!this.match(p.braceR);)if(this.match(p._case)||this.match(p._default)){const r=this.match(p._case);s&&this.finishNode(s,"SwitchCase"),t.push(s=this.startNode()),s.consequent=[],this.next(),r?s.test=this.parseExpression():(e&&this.raise(this.state.lastTokStart,P.MultipleDefaultsInSwitch),e=!0,s.test=null),this.expect(p.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,P.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,9,null,"catch clause"),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(p._catch)){const t=this.startNode();this.next(),this.match(p.parenL)?(this.expect(p.parenL),t.param=this.parseCatchClauseParam(),this.expect(p.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(p._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,P.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(je),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,P.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,s,r){for(let e=0,r=this.state.labels;e=0;t--){const s=this.state.labels[t];if(s.statementStart!==e.start)break;s.statementStart=this.state.start,s.kind=n}return this.state.labels.push({name:t,kind:n,statementStart:this.state.start}),e.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),e.label=s,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,s){const r=this.startNode();return this.expect(p.braceL),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,p.braceR,s),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,s,r,n){const i=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(i,t?a:void 0,s,r,n)}parseBlockOrModuleBlockBody(e,t,s,r,n){const i=[],a=this.state.strict;let o=!1,l=!1;for(;!this.match(r);){!l&&this.state.octalPositions.length&&i.push(...this.state.octalPositions);const r=this.parseStatement(null,s);if(t&&!l&&this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),o||"use strict"!==e.value.value||(o=!0,this.setStrict(!0))}else l=!0,e.push(r)}if(this.state.strict&&i.length)for(let e=0;ethis.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,s){const r=this.match(p._in);return this.next(),r?s>-1&&this.unexpected(s):e.await=s>-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,P.InvalidLhs,"for-loop"):this.raise(t.start,P.ForInOfLoopInitializer,r?"for-in":"for-of"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(p.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,s){const r=e.declarations=[],n=this.hasPlugin("typescript");for(e.kind=s;;){const e=this.startNode();if(this.parseVarId(e,s),this.eat(p.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==s||this.match(p._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(p._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,P.DeclarationMissingInitializer,"Complex binding patterns"):n||this.raise(this.state.lastTokEnd,P.DeclarationMissingInitializer,"Const declarations"),e.init=null),r.push(this.finishNode(e,"VariableDeclarator")),!this.eat(p.comma))break}return e}parseVarId(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?5:9,void 0,"variable declaration","var"!==t)}parseFunction(e,t=0,s=!1){const r=1&t,n=2&t,i=!(!r||4&t);this.initFunction(e,s),this.match(p.star)&&n&&this.raise(this.state.start,P.GeneratorInSingleStatementContext),e.generator=this.eat(p.star),r&&(e.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(oe(s,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&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||this.match(p.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(p.parenL),this.expressionScope.enter(new ke(3)),e.params=this.parseBindingList(p.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,s){this.next(),this.takeDecorators(e);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,s),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(p.eq)||this.match(p.semi)||this.match(p.braceR)}isClassMethod(){return this.match(p.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const s={constructorAllowsSuper:e,hadConstructor:!1,hadStaticBlock:!1};let r=[];const n=this.startNode();if(n.body=[],this.expect(p.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(p.braceR);){if(this.eat(p.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,P.DecoratorSemicolon);continue}if(this.match(p.at)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(n,e,s),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,P.DecoratorConstructor)}})),this.state.strict=t,this.next(),r.length)throw this.raise(this.state.start,P.TrailingDecorator);return this.classScope.exit(),this.finishNode(n,"ClassBody")}parseClassMemberFromModifier(e,t){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=s,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(e,t,s){const r=this.isContextual("static");if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(p.braceL))return void this.parseClassStaticBlock(e,t,s)}this.parseClassMemberWithIsStatic(e,t,s,r)}parseClassMemberWithIsStatic(e,t,s,r){const n=t,i=t,a=t,o=t,l=n,c=n;if(t.static=r,this.eat(p.star))return l.kind="method",this.parseClassElementName(l),"PrivateName"===l.key.type?void this.pushClassPrivateMethod(e,i,!0,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,P.ConstructorIsGenerator),void this.pushClassMethod(e,n,!0,!1,!1,!1));const u=this.state.containsEsc,h=this.parseClassElementName(t),d="PrivateName"===h.type,f="Identifier"===h.type,m=this.state.start;if(this.parsePostMemberNameModifiers(c),this.isClassMethod()){if(l.kind="method",d)return void this.pushClassPrivateMethod(e,i,!1,!1);const t=this.isNonstaticConstructor(n);let r=!1;t&&(n.kind="constructor",s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(h.start,P.DuplicateConstructor),s.hadConstructor=!0,r=s.constructorAllowsSuper),this.pushClassMethod(e,n,!1,!1,t,r)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if(!f||"async"!==h.name||u||this.isLineTerminator())!f||"get"!==h.name&&"set"!==h.name||u||this.match(p.star)&&this.isLineTerminator()?this.isLineTerminator()?d?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected():(l.kind=h.name,this.parseClassElementName(n),"PrivateName"===l.key.type?this.pushClassPrivateMethod(e,i,!1,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,P.ConstructorIsAccessor),this.pushClassMethod(e,n,!1,!1,!1,!1)),this.checkGetterSetterParams(n));else{const t=this.eat(p.star);c.optional&&this.unexpected(m),l.kind="method",this.parseClassElementName(l),this.parsePostMemberNameModifiers(c),"PrivateName"===l.key.type?this.pushClassPrivateMethod(e,i,t,!0):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,P.ConstructorIsAsync),this.pushClassMethod(e,n,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,P.StaticPrototype),"PrivateName"===t.type&&"constructor"===t.id.name&&this.raise(t.start,P.ConstructorClassPrivateField),t}parseClassStaticBlock(e,t,s){var r;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(80),this.expressionScope.enter(Me());const n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const i=t.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,p.braceR),this.prodParam.exit(),this.expressionScope.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,"StaticBlock")),s.hadStaticBlock&&this.raise(t.start,P.DuplicateStaticBlock),(null==(r=t.decorators)?void 0:r.length)&&this.raise(t.start,P.DecoratorStaticBlock),s.hadStaticBlock=!0}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,P.ConstructorClassField),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){this.expectPlugin("classPrivateProperties",t.key.start);const s=this.parseClassPrivateProperty(t);e.body.push(s),this.classScope.declarePrivateName(s.key.id.name,0,s.key.start)}pushClassMethod(e,t,s,r,n,i){e.body.push(this.parseMethod(t,s,r,n,i,"ClassMethod",!0))}pushClassPrivateMethod(e,t,s,r){this.expectPlugin("classPrivateMethods",t.key.start);const n=this.parseMethod(t,s,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(n);const i="get"===n.kind?n.static?6:2:"set"===n.kind?n.static?5:1:0;this.classScope.declarePrivateName(n.key.id.name,i,n.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return e.typeAnnotation&&!this.match(p.eq)||this.expectPlugin("classProperties"),this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter(Me()),this.prodParam.enter(0),e.value=this.eat(p.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,s,r=139){this.match(p.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,r,void 0,"class name")):s||!t?e.id=null:this.unexpected(null,P.MissingClassName)}parseClassSuper(e){e.superClass=this.eat(p._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),s=!t||this.eat(p.comma),r=s&&this.eatExportStar(e),n=r&&this.maybeParseExportNamespaceSpecifier(e),i=s&&(!n||this.eat(p.comma)),a=t||r;if(r&&!n)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(e);if(t&&s&&!r&&!o||n&&i&&!o)throw this.unexpected(null,p.braceL);let l;if(a||o?(l=!1,this.parseExportFrom(e,a)):l=this.maybeParseExportDeclaration(e),a||o||l)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(p._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,p.braceL)}eatExportStar(e){return this.eat(p.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(p.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!u.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(p._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,5,t);if(this.match(p._class))return this.parseClass(e,!0,!0);if(this.match(p.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,P.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(p._const)||this.match(p._var)||this.isLet())throw this.raise(this.state.start,P.UnsupportedDefaultExport);{const e=this.parseMaybeAssignAllowIn();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(p.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===p.name&&"from"!==e.value||e.type===p.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(p._default))return!1;const e=this.nextTokenStart(),t=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||this.match(p.name)&&t)return!0;if(this.match(p._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(p.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,P.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,s,r){if(t)if(s){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var n;const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!=4||(null==(n=t.extra)?void 0:n.parenthesized)||this.raise(t.start,P.ExportDefaultFromAsIdentifier)}}else if(e.specifiers&&e.specifiers.length)for(let t=0,s=e.specifiers;t-1&&this.raise(e.start,"default"===t?P.DuplicateDefaultExport:P.DuplicateExport,t),this.state.exportedIdentifiers.push(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(p.braceL);!this.eat(p.braceR);){if(t)t=!1;else if(this.expect(p.comma),this.eat(p.braceR))break;const s=this.startNode();s.local=this.parseModuleExportName(),s.exported=this.eatContextual("as")?this.parseModuleExportName():s.local.__clone(),e.push(this.finishNode(s,"ExportSpecifier"))}return e}parseModuleExportName(){if(this.match(p.string)){this.expectPlugin("moduleStringNames");const e=this.parseLiteral(this.state.value,"StringLiteral"),t=e.value.match(Be);return t&&this.raise(e.start,P.ModuleExportNameHasLoneSurrogate,t[0].charCodeAt(0).toString(16)),e}return this.parseIdentifier(!0)}parseImport(e){if(e.specifiers=[],!this.match(p.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(p.comma),s=t&&this.maybeParseStarImportSpecifier(e);t&&!s&&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(p.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(p.name)}parseImportSpecifierLocal(e,t,s,r){t.local=this.parseIdentifier(),this.checkLVal(t.local,9,void 0,r),e.specifiers.push(this.finishNode(t,s))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(p.braceR))break;const s=this.startNode(),r=this.state.value;if(this.match(p.string)?s.key=this.parseLiteral(r,"StringLiteral"):s.key=this.parseIdentifier(!0),this.expect(p.colon),"type"!==r&&this.raise(s.key.start,P.ModuleAttributeDifferentFromType,r),t.has(r)&&this.raise(s.key.start,P.ModuleAttributesWithDuplicateKeys,r),t.add(r),!this.match(p.string))throw this.unexpected(this.state.start,P.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(p.comma));return e}maybeParseModuleAttributes(){if(!this.match(p._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const e=[],t=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),"type"!==s.key.name&&this.raise(s.key.start,P.ModuleAttributeDifferentFromType,s.key.name),t.has(s.key.name)&&this.raise(s.key.start,P.ModuleAttributesWithDuplicateKeys,s.key.name),t.add(s.key.name),this.expect(p.colon),!this.match(p.string))throw this.unexpected(this.state.start,P.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(p.comma));return e}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(p.braceL);const e=this.parseAssertEntries();return this.eat(p.braceR),e}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(p.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(p.braceL);!this.eat(p.braceR);){if(t)t=!1;else{if(this.eat(p.colon))throw this.raise(this.state.start,P.DestructureNamedImport);if(this.expect(p.comma),this.eat(p.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,P.ImportBindingIsString,e.value);this.checkReservedWord(e.name,t.start,!0,!0),t.local=e.__clone()}this.checkLVal(t.local,9,void 0,"import specifier"),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))}}class Ue{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class Ve{constructor(e){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Ue)}exit(){const e=this.stack.pop(),t=this.current();for(let s=0,r=Array.from(e.undefinedPrivateNames);s`\'${e}\'`)).join(", "));if(ue(e,"moduleAttributes")){if(ue(e,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==he(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(ue(e,"recordAndTuple")&&!fe.includes(he(e,"recordAndTuple","syntaxType")))throw new Error("\'recordAndTuple\' requires \'syntaxType\' option whose value should be one of: "+fe.map((e=>`\'${e}\'`)).join(", "))}(e.plugins),s=function(e){const t=ye.filter((t=>ue(e,t))),s=t.join("/");let r=We[s];if(!r){r=qe;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clear=function(){n(),i()},t.clearPath=n,t.clearScope=i,t.scope=t.path=void 0;let s=new WeakMap;t.path=s;let r=new WeakMap;function n(){t.path=s=new WeakMap}function i(){t.scope=r=new WeakMap}t.scope=r},7193:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=s(706))&&r.__esModule?r:{default:r},i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473));function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}t.default=class{constructor(e,t,s,r){this.queue=null,this.parentPath=r,this.scope=e,this.state=s,this.opts=t}shouldVisit(e){const t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;const s=i.VISITOR_KEYS[e.type];if(!(null==s?void 0:s.length))return!1;for(const t of s)if(e[t])return!0;return!1}create(e,t,s,r){return n.default.get({parentPath:this.parentPath,parent:e,container:t,key:s,listKey:r})}maybeQueue(e,t){if(this.trap)throw new Error("Infinite cycle detected");this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}visitMultiple(e,t,s){if(0===e.length)return!1;const r=[];for(let n=0;n=0)){if(t.push(r.node),r.visit()){s=!0;break}if(this.priorityQueue.length&&(s=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,s))break}for(const t of e)t.popContext();return this.queue=null,s}visit(e,t){const s=e[t];return!!s&&(Array.isArray(s)?this.visitMultiple(s,e,t):this.visitSingle(e,t))}}},8672:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{getCode(){}getScope(){}addHelper(){throw new Error("Helpers are not supported by the default hub.")}buildError(e,t,s=TypeError){return new s(t)}}},1910:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=d,Object.defineProperty(t,"NodePath",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"Hub",{enumerable:!0,get:function(){return c.default}}),t.visitors=void 0;var r=h(s(7193)),n=u(s(8221));t.visitors=n;var i=u(s(4473)),a=u(s(1826)),o=h(s(706)),l=h(s(4639)),c=h(s(8672));function p(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return p=function(){return e},e}function u(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=p();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}function h(e){return e&&e.__esModule?e:{default:e}}function d(e,t,s,r,a){if(e){if(t||(t={}),!t.noScope&&!s&&"Program"!==e.type&&"File"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);i.VISITOR_KEYS[e.type]&&(n.explode(t),d.node(e,t,s,r,a))}}function f(e,t){e.node.type===t.type&&(t.has=!0,e.stop())}d.visitors=n,d.verify=n.verify,d.explode=n.explode,d.cheap=function(e,t){return i.traverseFast(e,t)},d.node=function(e,t,s,n,a,o){const l=i.VISITOR_KEYS[e.type];if(!l)return;const c=new r.default(s,t,n,a);for(const t of l)if((!o||!o[t])&&c.visit(e,t))return},d.clearNode=function(e,t){i.removeProperties(e,t),a.path.delete(e)},d.removeProperties=function(e,t){return i.traverseFast(e,d.clearNode,t),e},d.hasType=function(e,t,s){if(null==s?void 0:s.includes(e.type))return!1;if(e.type===t)return!0;const r={has:!1,type:t};return d(e,{noScope:!0,denylist:s,enter:f},null,r),r.has},d.cache=a},4852:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findParent=function(e){let t=this;for(;t=t.parentPath;)if(e(t))return t;return null},t.find=function(e){let t=this;do{if(e(t))return t}while(t=t.parentPath);return null},t.getFunctionParent=function(){return this.findParent((e=>e.isFunction()))},t.getStatementParent=function(){let e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can\'t possibly find a statement parent to this");return e},t.getEarliestCommonAncestorFrom=function(e){return this.getDeepestCommonAncestorFrom(e,(function(e,t,s){let r;const i=n.VISITOR_KEYS[e.type];for(const e of s){const s=e[t+1];r?(s.listKey&&r.listKey===s.listKey&&s.keyi.indexOf(s.parentKey))&&(r=s):r=s}return r}))},t.getDeepestCommonAncestorFrom=function(e,t){if(!e.length)return this;if(1===e.length)return e[0];let s,r,n=1/0;const i=e.map((e=>{const t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==this);return t.lengtht===e))},t.inType=function(){let e=this;for(;e;){for(const t of arguments)if(e.node.type===t)return!0;e=e.parentPath}return!1};var r,n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=r?Object.getOwnPropertyDescriptor(e,n):null;a&&(a.get||a.set)?Object.defineProperty(s,n,a):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}(r=s(706))&&r.__esModule},7403:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.shareCommentsWithSiblings=function(){if("string"==typeof this.key)return;const e=this.node;if(!e)return;const t=e.trailingComments,s=e.leadingComments;if(!t&&!s)return;const r=this.getSibling(this.key-1),n=this.getSibling(this.key+1),i=Boolean(r.node),a=Boolean(n.node);i&&!a?r.addComments("trailing",t):a&&!i&&n.addComments("leading",s)},t.addComment=function(e,t,s){r.addComment(this.node,e,t,s)},t.addComments=function(e,t){r.addComments(this.node,e,t)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}},7036:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.call=function(e){const t=this.opts;return this.debug(e),!(!this.node||!this._call(t[e]))||!!this.node&&this._call(t[this.node.type]&&t[this.node.type][e])},t._call=function(e){if(!e)return!1;for(const t of e){if(!t)continue;const e=this.node;if(!e)return!0;const s=t.call(this.state,this,this.state);if(s&&"object"==typeof s&&"function"==typeof s.then)throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not support. If you\'re using a published plugin, you may need to upgrade your @babel/core version.");if(s)throw new Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e)return!0;if(this._traverseFlags>0)return!0}return!1},t.isBlacklisted=t.isDenylisted=function(){var e;const t=null!=(e=this.opts.denylist)?e:this.opts.blacklist;return t&&t.indexOf(this.node.type)>-1},t.visit=function(){return!!this.node&&(!this.isDenylisted()&&((!this.opts.shouldSkip||!this.opts.shouldSkip(this))&&(this.shouldSkip||this.call("enter")||this.shouldSkip?(this.debug("Skip..."),this.shouldStop):(this.debug("Recursing into..."),n.default.node(this.node,this.opts,this.scope,this.state,this,this.skipKeys),this.call("exit"),this.shouldStop))))},t.skip=function(){this.shouldSkip=!0},t.skipKey=function(e){null==this.skipKeys&&(this.skipKeys={}),this.skipKeys[e]=!0},t.stop=function(){this._traverseFlags|=i.SHOULD_SKIP|i.SHOULD_STOP},t.setScope=function(){if(this.opts&&this.opts.noScope)return;let e,t=this.parentPath;for(;t&&!e;){if(t.opts&&t.opts.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope&&this.scope.init()},t.setContext=function(e){return null!=this.skipKeys&&(this.skipKeys={}),this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts),this.setScope(),this},t.resync=function(){this.removed||(this._resyncParent(),this._resyncList(),this._resyncKey())},t._resyncParent=function(){this.parentPath&&(this.parent=this.parentPath.node)},t._resyncKey=function(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)},t.pushContext=function(e){this.contexts.push(e),this.setContext(e)},t.setup=function(e,t,s,r){this.listKey=s,this.container=t,this.parentPath=e||this.parentPath,this.setKey(r)},t.setKey=function(e){var t;this.key=e,this.node=this.container[this.key],this.type=null==(t=this.node)?void 0:t.type},t.requeue=function(e=this){if(e.removed)return;const t=this.contexts;for(const s of t)s.maybeQueue(e)},t._getQueueContexts=function(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t};var r,n=(r=s(1910))&&r.__esModule?r:{default:r},i=s(706)},7926:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toComputedKey=function(){const e=this.node;let t;if(this.isMemberExpression())t=e.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");t=e.key}return e.computed||n.isIdentifier(t)&&(t=n.stringLiteral(t.name)),t},t.ensureBlock=function(){const e=this.get("body"),t=e.node;if(Array.isArray(e))throw new Error("Can\'t convert array path to a block statement");if(!t)throw new Error("Can\'t convert node without a body");if(e.isBlockStatement())return t;const s=[];let r,i,a="body";e.isStatement()?(i="body",r=0,s.push(e.node)):(a+=".body.0",this.isFunction()?(r="argument",s.push(n.returnStatement(e.node))):(r="expression",s.push(n.expressionStatement(e.node)))),this.node.body=n.blockStatement(s);const o=this.get(a);return e.setup(o,i?o.node[i]:o.node,i,r),this.node},t.arrowFunctionToShadowed=function(){this.isArrowFunctionExpression()&&this.arrowFunctionToExpression()},t.unwrapFunctionEnvironment=function(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError("Can only unwrap the environment of a function.");o(this)},t.arrowFunctionToExpression=function({allowInsertArrow:e=!0,specCompliant:t=!1}={}){if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");const s=o(this,t,e);if(this.ensureBlock(),this.node.type="FunctionExpression",t){const e=s?null:this.parentPath.scope.generateUidIdentifier("arrowCheckId");e&&this.parentPath.scope.push({id:e,init:n.objectExpression([])}),this.get("body").unshiftContainer("body",n.expressionStatement(n.callExpression(this.hub.addHelper("newArrowCheck"),[n.thisExpression(),e?n.identifier(e.name):n.identifier(s)]))),this.replaceWith(n.callExpression(n.memberExpression((0,i.default)(this,!0)||this.node,n.identifier("bind")),[e?n.identifier(e.name):n.thisExpression()]))}};var r,n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),i=(r=s(6163))&&r.__esModule?r:{default:r};function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e,t=!1,s=!0){const r=e.findParent((e=>e.isFunction()&&!e.isArrowFunctionExpression()||e.isProgram()||e.isClassProperty({static:!1}))),i="constructor"===(null==r?void 0:r.node.kind);if(r.isClassProperty())throw e.buildCodeFrameError("Unable to transform arrow inside class property");const{thisPaths:a,argumentsPaths:o,newTargetPaths:p,superProps:u,superCalls:h}=function(e){const t=[],s=[],r=[],n=[],i=[];return e.traverse({ClassProperty(e){e.skip()},Function(e){e.isArrowFunctionExpression()||e.skip()},ThisExpression(e){t.push(e)},JSXIdentifier(e){"this"===e.node.name&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&t.push(e)},CallExpression(e){e.get("callee").isSuper()&&i.push(e)},MemberExpression(e){e.get("object").isSuper()&&n.push(e)},ReferencedIdentifier(e){"arguments"===e.node.name&&s.push(e)},MetaProperty(e){e.get("meta").isIdentifier({name:"new"})&&e.get("property").isIdentifier({name:"target"})&&r.push(e)}}),{thisPaths:t,argumentsPaths:s,newTargetPaths:r,superProps:n,superCalls:i}}(e);if(i&&h.length>0){if(!s)throw h[0].buildCodeFrameError("Unable to handle nested super() usage in arrow");const e=[];r.traverse({Function(e){e.isArrowFunctionExpression()||e.skip()},ClassProperty(e){e.skip()},CallExpression(t){t.get("callee").isSuper()&&e.push(t)}});const t=function(e){return c(e,"supercall",(()=>{const t=e.scope.generateUidIdentifier("args");return n.arrowFunctionExpression([n.restElement(t)],n.callExpression(n.super(),[n.spreadElement(n.identifier(t.name))]))}))}(r);e.forEach((e=>{const s=n.identifier(t);s.loc=e.node.callee.loc,e.get("callee").replaceWith(s)}))}if(o.length>0){const e=c(r,"arguments",(()=>n.identifier("arguments")));o.forEach((t=>{const s=n.identifier(e);s.loc=t.node.loc,t.replaceWith(s)}))}if(p.length>0){const e=c(r,"newtarget",(()=>n.metaProperty(n.identifier("new"),n.identifier("target"))));p.forEach((t=>{const s=n.identifier(e);s.loc=t.node.loc,t.replaceWith(s)}))}if(u.length>0){if(!s)throw u[0].buildCodeFrameError("Unable to handle nested super.prop usage");u.reduce(((e,t)=>e.concat(function(e){if(e.parentPath.isAssignmentExpression()&&"="!==e.parentPath.node.operator){const t=e.parentPath,s=t.node.operator.slice(0,-1),r=t.node.right;if(t.node.operator="=",e.node.computed){const i=e.scope.generateDeclaredUidIdentifier("tmp");t.get("left").replaceWith(n.memberExpression(e.node.object,n.assignmentExpression("=",i,e.node.property),!0)),t.get("right").replaceWith(n.binaryExpression(s,n.memberExpression(e.node.object,n.identifier(i.name),!0),r))}else t.get("left").replaceWith(n.memberExpression(e.node.object,e.node.property)),t.get("right").replaceWith(n.binaryExpression(s,n.memberExpression(e.node.object,n.identifier(e.node.property.name)),r));return[t.get("left"),t.get("right").get("left")]}if(e.parentPath.isUpdateExpression()){const t=e.parentPath,s=e.scope.generateDeclaredUidIdentifier("tmp"),r=e.node.computed?e.scope.generateDeclaredUidIdentifier("prop"):null,i=[n.assignmentExpression("=",s,n.memberExpression(e.node.object,r?n.assignmentExpression("=",r,e.node.property):e.node.property,e.node.computed)),n.assignmentExpression("=",n.memberExpression(e.node.object,r?n.identifier(r.name):e.node.property,e.node.computed),n.binaryExpression("+",n.identifier(s.name),n.numericLiteral(1)))];return e.parentPath.node.prefix||i.push(n.identifier(s.name)),t.replaceWith(n.sequenceExpression(i)),[t.get("expressions.0.right"),t.get("expressions.1.left")]}return[e]}(t))),[]).forEach((e=>{const t=e.node.computed?"":e.get("property").node.name,s=e.parentPath.isAssignmentExpression({left:e.node}),i=e.parentPath.isCallExpression({callee:e.node}),o=function(e,t,s){return c(e,`superprop_${t?"set":"get"}:${s||""}`,(()=>{const r=[];let i;if(s)i=n.memberExpression(n.super(),n.identifier(s));else{const t=e.scope.generateUidIdentifier("prop");r.unshift(t),i=n.memberExpression(n.super(),n.identifier(t.name),!0)}if(t){const t=e.scope.generateUidIdentifier("value");r.push(t),i=n.assignmentExpression("=",i,n.identifier(t.name))}return n.arrowFunctionExpression(r,i)}))}(r,s,t),l=[];if(e.node.computed&&l.push(e.get("property").node),s){const t=e.parentPath.node.right;l.push(t)}const p=n.callExpression(n.identifier(o),l);i?(e.parentPath.unshiftContainer("arguments",n.thisExpression()),e.replaceWith(n.memberExpression(p,n.identifier("call"))),a.push(e.parentPath.get("arguments.0"))):s?e.parentPath.replaceWith(p):e.replaceWith(p)}))}let d;return(a.length>0||t)&&(d=function(e,t){return c(e,"this",(s=>{if(!t||!l(e))return n.thisExpression();const r=new WeakSet;e.traverse({Function(e){e.isArrowFunctionExpression()||e.skip()},ClassProperty(e){e.skip()},CallExpression(e){e.get("callee").isSuper()&&(r.has(e.node)||(r.add(e.node),e.replaceWithMultiple([e.node,n.assignmentExpression("=",n.identifier(s),n.identifier("this"))])))}})}))}(r,i),(!t||i&&l(r))&&(a.forEach((e=>{const t=e.isJSX()?n.jsxIdentifier(d):n.identifier(d);t.loc=e.node.loc,e.replaceWith(t)})),t&&(d=null))),d}function l(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}function c(e,t,s){const r="binding:"+t;let n=e.getData(r);if(!n){const i=e.scope.generateUidIdentifier(t);n=i.name,e.setData(r,n),e.scope.push({id:i,init:s(n)})}return n}},5635:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateTruthy=function(){const e=this.evaluate();if(e.confident)return!!e.value},t.evaluate=function(){const e={confident:!0,deoptPath:null,seen:new Map};let t=i(this,e);return e.confident||(t=void 0),{confident:e.confident,deopt:e.deoptPath,value:t}};const s=["String","Number","Math"],r=["random"];function n(e,t){t.confident&&(t.deoptPath=e,t.confident=!1)}function i(e,t){const{node:o}=e,{seen:l}=t;if(l.has(o)){const s=l.get(o);return s.resolved?s.value:void n(e,t)}{const c={resolved:!1};l.set(o,c);const p=function(e,t){if(!t.confident)return;const{node:o}=e;if(e.isSequenceExpression()){const s=e.get("expressions");return i(s[s.length-1],t)}if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return o.value;if(e.isNullLiteral())return null;if(e.isTemplateLiteral())return a(e,o.quasis,t);if(e.isTaggedTemplateExpression()&&e.get("tag").isMemberExpression()){const s=e.get("tag.object"),{node:{name:r}}=s,n=e.get("tag.property");if(s.isIdentifier()&&"String"===r&&!e.scope.getBinding(r,!0)&&n.isIdentifier&&"raw"===n.node.name)return a(e,o.quasi.quasis,t,!0)}if(e.isConditionalExpression()){const s=i(e.get("test"),t);if(!t.confident)return;return i(s?e.get("consequent"):e.get("alternate"),t)}if(e.isExpressionWrapper())return i(e.get("expression"),t);if(e.isMemberExpression()&&!e.parentPath.isCallExpression({callee:o})){const t=e.get("property"),s=e.get("object");if(s.isLiteral()&&t.isIdentifier()){const e=s.node.value,r=typeof e;if("number"===r||"string"===r)return e[t.node.name]}}if(e.isReferencedIdentifier()){const s=e.scope.getBinding(o.name);if(s&&s.constantViolations.length>0)return n(s.path,t);if(s&&e.node.start":return s>r;case"<=":return s<=r;case">=":return s>=r;case"==":return s==r;case"!=":return s!=r;case"===":return s===r;case"!==":return s!==r;case"|":return s|r;case"&":return s&r;case"^":return s^r;case"<<":return s<>":return s>>r;case">>>":return s>>>r}}if(e.isCallExpression()){const n=e.get("callee");let a,l;if(n.isIdentifier()&&!e.scope.getBinding(n.node.name,!0)&&s.indexOf(n.node.name)>=0&&(l=global[o.callee.name]),n.isMemberExpression()){const e=n.get("object"),t=n.get("property");if(e.isIdentifier()&&t.isIdentifier()&&s.indexOf(e.node.name)>=0&&r.indexOf(t.node.name)<0&&(a=global[e.node.name],l=a[t.node.name]),e.isLiteral()&&t.isIdentifier()){const s=typeof e.node.value;"string"!==s&&"number"!==s||(a=e.node.value,l=a[t.node.name])}}if(l){const s=e.get("arguments").map((e=>i(e,t)));if(!t.confident)return;return l.apply(a,s)}}n(e,t)}(e,t);return t.confident&&(c.resolved=!0,c.value=p),p}}function a(e,t,s,r=!1){let n="",a=0;const o=e.get("expressions");for(const e of t){if(!s.confident)break;n+=r?e.value.raw:e.value.cooked;const t=o[a++];t&&(n+=String(i(t,s)))}if(s.confident)return n}},4189:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getOpposite=function(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):void 0},t.getCompletionRecords=function(){let e=[];if(this.isIfStatement())e=o(this.get("consequent"),e),e=o(this.get("alternate"),e);else if(this.isDoExpression()||this.isFor()||this.isWhile())e=o(this.get("body"),e);else if(this.isProgram()||this.isBlockStatement())e=o(this.get("body").pop(),e);else{if(this.isFunction())return this.get("body").getCompletionRecords();this.isTryStatement()?(e=o(this.get("block"),e),e=o(this.get("handler"),e)):this.isCatchClause()?e=o(this.get("body"),e):this.isSwitchStatement()?e=function(e,t){let s=!0;for(let r=e.length-1;r>=0;r--){const n=e[r].get("consequent");let i=l(n);if(i){for(;0===i.key&&i.parentPath.isBlockStatement();)i=i.parentPath;const e=i.getPrevSibling();i.key>0&&(e.isExpressionStatement()||e.isBlockStatement())?(t=o(e,t),i.remove()):(i.replaceWith(i.scope.buildUndefinedNode()),t=o(i,t))}else if(s){const e=t=>!t.isBlockStatement()||t.get("body").some(e);n.some(e)&&(t=o(n[n.length-1],t),s=!1)}}return t}(this.get("cases"),e):e.push(this)}return e},t.getSibling=function(e){return n.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e})},t.getPrevSibling=function(){return this.getSibling(this.key-1)},t.getNextSibling=function(){return this.getSibling(this.key+1)},t.getAllNextSiblings=function(){let e=this.key,t=this.getSibling(++e);const s=[];for(;t.node;)s.push(t),t=this.getSibling(++e);return s},t.getAllPrevSiblings=function(){let e=this.key,t=this.getSibling(--e);const s=[];for(;t.node;)s.push(t),t=this.getSibling(--e);return s},t.get=function(e,t){!0===t&&(t=this.context);const s=e.split(".");return 1===s.length?this._getKey(e,t):this._getPattern(s,t)},t._getKey=function(e,t){const s=this.node,r=s[e];return Array.isArray(r)?r.map(((i,a)=>n.default.get({listKey:e,parentPath:this,parent:s,container:r,key:a}).setContext(t))):n.default.get({parentPath:this,parent:s,container:s,key:e}).setContext(t)},t._getPattern=function(e,t){let s=this;for(const r of e)s="."===r?s.parentPath:Array.isArray(s)?s[r]:s.get(r,t);return s},t.getBindingIdentifiers=function(e){return i.getBindingIdentifiers(this.node,e)},t.getOuterBindingIdentifiers=function(e){return i.getOuterBindingIdentifiers(this.node,e)},t.getBindingIdentifierPaths=function(e=!1,t=!1){let s=[].concat(this);const r=Object.create(null);for(;s.length;){const n=s.shift();if(!n)continue;if(!n.node)continue;const a=i.getBindingIdentifiers.keys[n.node.type];if(n.isIdentifier())e?(r[n.node.name]=r[n.node.name]||[]).push(n):r[n.node.name]=n;else if(n.isExportDeclaration()){const e=n.get("declaration");e.isDeclaration()&&s.push(e)}else{if(t){if(n.isFunctionDeclaration()){s.push(n.get("id"));continue}if(n.isFunctionExpression())continue}if(a)for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.SHOULD_SKIP=t.SHOULD_STOP=t.REMOVED=void 0;var r=E(s(1025)),n=P(s(4410)),i=P(s(1910)),a=P(s(4639)),o=E(s(4473)),l=s(1826),c=P(s(5386)),p=E(s(4852)),u=E(s(3078)),h=E(s(4638)),d=E(s(5635)),f=E(s(7926)),m=E(s(5201)),y=E(s(7036)),g=E(s(6788)),b=E(s(9613)),T=E(s(4189)),x=E(s(7403));function P(e){return e&&e.__esModule?e:{default:e}}function S(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return S=function(){return e},e}function E(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=S();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}const A=(0,n.default)("babel");t.REMOVED=1,t.SHOULD_STOP=2,t.SHOULD_SKIP=4;class v{constructor(e,t){this.contexts=[],this.state=null,this.opts=null,this._traverseFlags=0,this.skipKeys=null,this.parentPath=null,this.container=null,this.listKey=null,this.key=null,this.node=null,this.type=null,this.parent=t,this.hub=e,this.data=null,this.context=null,this.scope=null}static get({hub:e,parentPath:t,parent:s,container:r,listKey:n,key:i}){if(!e&&t&&(e=t.hub),!s)throw new Error("To get a node path the parent needs to exist");const a=r[i],o=l.path.get(s)||[];let c;l.path.has(s)||l.path.set(s,o);for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTypeAnnotation=function(){if(this.typeAnnotation)return this.typeAnnotation;let e=this._getTypeAnnotation()||n.anyTypeAnnotation();return n.isTypeAnnotation(e)&&(e=e.typeAnnotation),this.typeAnnotation=e},t._getTypeAnnotation=function(){var e;const t=this.node;if(!t){if("init"===this.key&&this.parentPath.isVariableDeclarator()){const e=this.parentPath.parentPath,t=e.parentPath;return"left"===e.key&&t.isForInStatement()?n.stringTypeAnnotation():"left"===e.key&&t.isForOfStatement()?n.anyTypeAnnotation():n.voidTypeAnnotation()}return}if(t.typeAnnotation)return t.typeAnnotation;let s=r[t.type];return s?s.call(this,t):(s=r[this.parentPath.type],(null==(e=s)?void 0:e.validParent)?this.parentPath.getTypeAnnotation():void 0)},t.isBaseType=function(e,t){return o(e,this.getTypeAnnotation(),t)},t.couldBeBaseType=function(e){const t=this.getTypeAnnotation();if(n.isAnyTypeAnnotation(t))return!0;if(n.isUnionTypeAnnotation(t)){for(const s of t.types)if(n.isAnyTypeAnnotation(s)||o(e,s,!0))return!0;return!1}return o(e,t,!0)},t.baseTypeStrictlyMatches=function(e){const t=this.getTypeAnnotation();if(e=e.getTypeAnnotation(),!n.isAnyTypeAnnotation(t)&&n.isFlowBaseAnnotation(t))return e.type===t.type},t.isGenericType=function(e){const t=this.getTypeAnnotation();return n.isGenericTypeAnnotation(t)&&n.isIdentifier(t.id,{name:e})};var r=a(s(4606)),n=a(s(4473));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function a(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=r?Object.getOwnPropertyDescriptor(e,n):null;a&&(a.get||a.set)?Object.defineProperty(s,n,a):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}function o(e,t,s){if("string"===e)return n.isStringTypeAnnotation(t);if("number"===e)return n.isNumberTypeAnnotation(t);if("boolean"===e)return n.isBooleanTypeAnnotation(t);if("any"===e)return n.isAnyTypeAnnotation(t);if("mixed"===e)return n.isMixedTypeAnnotation(t);if("empty"===e)return n.isEmptyTypeAnnotation(t);if("void"===e)return n.isVoidTypeAnnotation(t);if(s)return!1;throw new Error(`Unknown base type ${e}`)}},7875:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!this.isReferenced())return;const t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t,s){const n=[],a=[];let l=i(e,t,a);const c=o(e,t,s);if(c){const t=i(e,c.ifStatement);l=l.filter((e=>t.indexOf(e)<0)),n.push(c.typeAnnotation)}if(l.length){l=l.concat(a);for(const e of l)n.push(e.getTypeAnnotation())}if(n.length)return r.isTSTypeAnnotation(n[0])&&r.createTSUnionType?r.createTSUnionType(n):r.createFlowUnionType?r.createFlowUnionType(n):r.createUnionTypeAnnotation(n)}(t,this,e.name):"undefined"===e.name?r.voidTypeAnnotation():"NaN"===e.name||"Infinity"===e.name?r.numberTypeAnnotation():void e.name};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e,t,s){const r=e.constantViolations.slice();return r.unshift(e.path),r.filter((e=>{const r=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return s&&"unknown"===r&&s.push(e),"before"===r}))}function a(e,t){const s=t.node.operator,n=t.get("right").resolve(),i=t.get("left").resolve();let a,o,l;if(i.isIdentifier({name:e})?a=n:n.isIdentifier({name:e})&&(a=i),a)return"==="===s?a.getTypeAnnotation():r.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(s)>=0?r.numberTypeAnnotation():void 0;if("==="!==s&&"=="!==s)return;if(i.isUnaryExpression({operator:"typeof"})?(o=i,l=n):n.isUnaryExpression({operator:"typeof"})&&(o=n,l=i),!o)return;if(!o.get("argument").isIdentifier({name:e}))return;if(l=l.resolve(),!l.isLiteral())return;const c=l.node.value;return"string"==typeof c?r.createTypeAnnotationBasedOnTypeof(c):void 0}function o(e,t,s){const n=function(e,t,s){let r;for(;r=t.parentPath;){if(r.isIfStatement()||r.isConditionalExpression()){if("test"===t.key)return;return r}if(r.isFunction()&&r.parentPath.scope.getBinding(s)!==e)return;t=r}}(e,t,s);if(!n)return;const i=[n.get("test")],l=[];for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VariableDeclarator=function(){var e;if(!this.get("id").isIdentifier())return;const t=this.get("init");let s=t.getTypeAnnotation();return"AnyTypeAnnotation"===(null==(e=s)?void 0:e.type)&&t.isCallExpression()&&t.get("callee").isIdentifier({name:"Array"})&&!t.scope.hasBinding("Array",!0)&&(s=l()),s},t.TypeCastExpression=o,t.NewExpression=function(e){if(this.get("callee").isIdentifier())return n.genericTypeAnnotation(e.callee)},t.TemplateLiteral=function(){return n.stringTypeAnnotation()},t.UnaryExpression=function(e){const t=e.operator;return"void"===t?n.voidTypeAnnotation():n.NUMBER_UNARY_OPERATORS.indexOf(t)>=0?n.numberTypeAnnotation():n.STRING_UNARY_OPERATORS.indexOf(t)>=0?n.stringTypeAnnotation():n.BOOLEAN_UNARY_OPERATORS.indexOf(t)>=0?n.booleanTypeAnnotation():void 0},t.BinaryExpression=function(e){const t=e.operator;if(n.NUMBER_BINARY_OPERATORS.indexOf(t)>=0)return n.numberTypeAnnotation();if(n.BOOLEAN_BINARY_OPERATORS.indexOf(t)>=0)return n.booleanTypeAnnotation();if("+"===t){const e=this.get("right"),t=this.get("left");return t.isBaseType("number")&&e.isBaseType("number")?n.numberTypeAnnotation():t.isBaseType("string")||e.isBaseType("string")?n.stringTypeAnnotation():n.unionTypeAnnotation([n.stringTypeAnnotation(),n.numberTypeAnnotation()])}},t.LogicalExpression=function(){const e=[this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()];return n.isTSTypeAnnotation(e[0])&&n.createTSUnionType?n.createTSUnionType(e):n.createFlowUnionType?n.createFlowUnionType(e):n.createUnionTypeAnnotation(e)},t.ConditionalExpression=function(){const e=[this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()];return n.isTSTypeAnnotation(e[0])&&n.createTSUnionType?n.createTSUnionType(e):n.createFlowUnionType?n.createFlowUnionType(e):n.createUnionTypeAnnotation(e)},t.SequenceExpression=function(){return this.get("expressions").pop().getTypeAnnotation()},t.ParenthesizedExpression=function(){return this.get("expression").getTypeAnnotation()},t.AssignmentExpression=function(){return this.get("right").getTypeAnnotation()},t.UpdateExpression=function(e){const t=e.operator;if("++"===t||"--"===t)return n.numberTypeAnnotation()},t.StringLiteral=function(){return n.stringTypeAnnotation()},t.NumericLiteral=function(){return n.numberTypeAnnotation()},t.BooleanLiteral=function(){return n.booleanTypeAnnotation()},t.NullLiteral=function(){return n.nullLiteralTypeAnnotation()},t.RegExpLiteral=function(){return n.genericTypeAnnotation(n.identifier("RegExp"))},t.ObjectExpression=function(){return n.genericTypeAnnotation(n.identifier("Object"))},t.ArrayExpression=l,t.RestElement=c,t.ClassDeclaration=t.ClassExpression=t.FunctionDeclaration=t.ArrowFunctionExpression=t.FunctionExpression=function(){return n.genericTypeAnnotation(n.identifier("Function"))},t.CallExpression=function(){const{callee:e}=this.node;return u(e)?n.arrayTypeAnnotation(n.stringTypeAnnotation()):p(e)||h(e)?n.arrayTypeAnnotation(n.anyTypeAnnotation()):d(e)?n.arrayTypeAnnotation(n.tupleTypeAnnotation([n.stringTypeAnnotation(),n.anyTypeAnnotation()])):f(this.get("callee"))},t.TaggedTemplateExpression=function(){return f(this.get("tag"))},Object.defineProperty(t,"Identifier",{enumerable:!0,get:function(){return i.default}});var r,n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),i=(r=s(7875))&&r.__esModule?r:{default:r};function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e){return e.typeAnnotation}function l(){return n.genericTypeAnnotation(n.identifier("Array"))}function c(){return l()}o.validParent=!0,c.validParent=!0;const p=n.buildMatchMemberExpression("Array.from"),u=n.buildMatchMemberExpression("Object.keys"),h=n.buildMatchMemberExpression("Object.values"),d=n.buildMatchMemberExpression("Object.entries");function f(e){if((e=e.resolve()).isFunction()){if(e.is("async"))return e.is("generator")?n.genericTypeAnnotation(n.identifier("AsyncIterator")):n.genericTypeAnnotation(n.identifier("Promise"));if(e.node.returnType)return e.node.returnType}}},5201:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matchesPattern=function(e,t){return r.matchesPattern(this.node,e,t)},t.has=i,t.isStatic=function(){return this.scope.isStatic(this.node)},t.isnt=function(e){return!this.has(e)},t.equals=function(e,t){return this.node[e]===t},t.isNodeType=function(e){return r.isType(this.type,e)},t.canHaveVariableDeclarationOrExpression=function(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()},t.canSwapBetweenExpressionAndStatement=function(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?r.isBlockStatement(e):!!this.isBlockStatement()&&r.isExpression(e))},t.isCompletionRecord=function(e){let t=this,s=!0;do{const r=t.container;if(t.isFunction()&&!s)return!!e;if(s=!1,Array.isArray(r)&&t.key!==r.length-1)return!1}while((t=t.parentPath)&&!t.isProgram());return!0},t.isStatementOrBlock=function(){return!this.parentPath.isLabeledStatement()&&!r.isBlockStatement(this.container)&&r.STATEMENT_OR_BLOCK_KEYS.includes(this.key)},t.referencesImport=function(e,t){if(!this.isReferencedIdentifier())return!1;const s=this.scope.getBinding(this.node.name);if(!s||"module"!==s.kind)return!1;const r=s.path,n=r.parentPath;return!!n.isImportDeclaration()&&(n.node.source.value===e&&(!t||(!(!r.isImportDefaultSpecifier()||"default"!==t)||(!(!r.isImportNamespaceSpecifier()||"*"!==t)||!(!r.isImportSpecifier()||r.node.imported.name!==t)))))},t.getSource=function(){const e=this.node;if(e.end){const t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return""},t.willIMaybeExecuteBefore=function(e){return"after"!==this._guessExecutionStatusRelativeTo(e)},t._guessExecutionStatusRelativeTo=function(e){const t={this:o(this),target:o(e)};if(t.target.node!==t.this.node)return this._guessExecutionStatusRelativeToDifferentFunctions(t.target);const s={target:e.getAncestry(),this:this.getAncestry()};if(s.target.indexOf(this)>=0)return"after";if(s.this.indexOf(e)>=0)return"before";let n;const i={target:0,this:0};for(;!n&&i.this=0?n=e:i.this++}if(!n)throw new Error("Internal Babel error - The two compared nodes don\'t appear to belong to the same program.");if(c(s.this,i.this-1)||c(s.target,i.target-1))return"unknown";const a={this:s.this[i.this-1],target:s.target[i.target-1]};if(a.target.listKey&&a.this.listKey&&a.target.container===a.this.container)return a.target.key>a.this.key?"before":"after";const l=r.VISITOR_KEYS[n.type],p=l.indexOf(a.this.parentKey);return l.indexOf(a.target.parentKey)>p?"before":"after"},t._guessExecutionStatusRelativeToDifferentFunctions=function(e){if(!e.isFunctionDeclaration()||e.parentPath.isExportDeclaration())return"unknown";const t=e.scope.getBinding(e.node.id.name);if(!t.references)return"before";const s=t.referencePaths;let r;for(const t of s){if(t.find((t=>t.node===e.node)))continue;if("callee"!==t.key||!t.parentPath.isCallExpression())return"unknown";if(p.has(t.node))continue;p.add(t.node);const s=this._guessExecutionStatusRelativeTo(t);if(p.delete(t.node),r&&r!==s)return"unknown";r=s}return r},t.resolve=function(e,t){return this._resolve(e,t)||this},t._resolve=function(e,t){if(!(t&&t.indexOf(this)>=0))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){const s=this.scope.getBinding(this.node.name);if(!s)return;if(!s.constant)return;if("module"===s.kind)return;if(s.path!==this){const r=s.path.resolve(e,t);if(this.find((e=>e.node===r.node)))return;return r}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){const s=this.toComputedKey();if(!r.isLiteral(s))return;const n=s.value,i=this.get("object").resolve(e,t);if(i.isObjectExpression()){const s=i.get("properties");for(const r of s){if(!r.isProperty())continue;const s=r.get("key");let i=r.isnt("computed")&&s.isIdentifier({name:n});if(i=i||s.isLiteral({value:n}),i)return r.get("value").resolve(e,t)}}else if(i.isArrayExpression()&&!isNaN(+n)){const s=i.get("elements")[n];if(s)return s.resolve(e,t)}}}},t.isConstantExpression=function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}return this.isLiteral()?!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every((e=>e.isConstantExpression()))):this.isUnaryExpression()?"void"===this.get("operator").node&&this.get("argument").isConstantExpression():!!this.isBinaryExpression()&&(this.get("left").isConstantExpression()&&this.get("right").isConstantExpression())},t.isInStrictMode=function(){return!!(this.isProgram()?this:this.parentPath).find((e=>{if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(!e.isProgram()&&!e.isFunction())return!1;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;let{node:t}=e;e.isFunction()&&(t=t.body);for(const e of t.directives)if("use strict"===e.value.value)return!0}))},t.is=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){const t=this.node&&this.node[e];return t&&Array.isArray(t)?!!t.length:!!t}const a=i;function o(e){return(e.scope.getFunctionParent()||e.scope.getProgramParent()).path}function l(e,t){switch(e){case"LogicalExpression":case"AssignmentPattern":return"right"===t;case"ConditionalExpression":case"IfStatement":return"consequent"===t||"alternate"===t;case"WhileStatement":case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":return"body"===t;case"ForStatement":return"body"===t||"update"===t;case"SwitchStatement":return"cases"===t;case"TryStatement":return"handler"===t;case"OptionalMemberExpression":return"property"===t;case"OptionalCallExpression":return"arguments"===t;default:return!1}}function c(e,t){for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}const i={ReferencedIdentifier(e,t){if(e.isJSXIdentifier()&&r.react.isCompatTag(e.node.name)&&!e.parentPath.isJSXMemberExpression())return;if("this"===e.node.name){let s=e.scope;do{if(s.path.isFunction()&&!s.path.isArrowFunctionExpression())break}while(s=s.parent);s&&t.breakOnScopePaths.push(s.path)}const s=e.scope.getBinding(e.node.name);if(s){for(const r of s.constantViolations)if(r.scope!==s.path.scope)return t.mutableBinding=!0,void e.stop();s===t.scope.getBinding(e.node.name)&&(t.bindings[e.node.name]=s)}}};t.default=class{constructor(e,t){this.breakOnScopePaths=[],this.bindings={},this.mutableBinding=!1,this.scopes=[],this.scope=t,this.path=e,this.attachAfter=!1}isCompatibleScope(e){for(const t of Object.keys(this.bindings)){const s=this.bindings[t];if(!e.bindingIdentifierEquals(t,s.identifier))return!1}return!0}getCompatibleScopes(){let e=this.path.scope;do{if(!this.isCompatibleScope(e))break;if(this.scopes.push(e),this.breakOnScopePaths.indexOf(e.path)>=0)break}while(e=e.parent)}getAttachmentPath(){let e=this._getAttachmentPath();if(!e)return;let t=e.scope;if(t.path===e&&(t=e.scope.parent),t.path.isProgram()||t.path.isFunction())for(const s of Object.keys(this.bindings)){if(!t.hasOwnBinding(s))continue;const r=this.bindings[s];if("param"!==r.kind&&"params"!==r.path.parentKey&&this.getAttachmentParentForPath(r.path).key>=e.key){this.attachAfter=!0,e=r.path;for(const t of r.constantViolations)this.getAttachmentParentForPath(t).key>e.key&&(e=t)}}return e}_getAttachmentPath(){const e=this.scopes.pop();if(e)if(e.path.isFunction()){if(!this.hasOwnParamBindings(e))return this.getNextScopeAttachmentParent();{if(this.scope===e)return;const t=e.path.get("body").get("body");for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hooks=void 0,t.hooks=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&("consequent"===e.key||"alternate"===e.key)||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}]},1025:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForAwaitStatement=t.NumericLiteralTypeAnnotation=t.ExistentialTypeParam=t.SpreadProperty=t.RestProperty=t.Flow=t.Pure=t.Generated=t.User=t.Var=t.BlockScoped=t.Referenced=t.Scope=t.Expression=t.Statement=t.BindingIdentifier=t.ReferencedMemberExpression=t.ReferencedIdentifier=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}(s(4473));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}const i={types:["Identifier","JSXIdentifier"],checkPath(e,t){const{node:s,parent:n}=e;if(!r.isIdentifier(s,t)&&!r.isJSXMemberExpression(n,t)){if(!r.isJSXIdentifier(s,t))return!1;if(r.react.isCompatTag(s.name))return!1}return r.isReferenced(s,n,e.parentPath.parent)}};t.ReferencedIdentifier=i;const a={types:["MemberExpression"],checkPath:({node:e,parent:t})=>r.isMemberExpression(e)&&r.isReferenced(e,t)};t.ReferencedMemberExpression=a;const o={types:["Identifier"],checkPath(e){const{node:t,parent:s}=e,n=e.parentPath.parent;return r.isIdentifier(t)&&r.isBinding(t,s,n)}};t.BindingIdentifier=o;const l={types:["Statement"],checkPath({node:e,parent:t}){if(r.isStatement(e)){if(r.isVariableDeclaration(e)){if(r.isForXStatement(t,{left:e}))return!1;if(r.isForStatement(t,{init:e}))return!1}return!0}return!1}};t.Statement=l;const c={types:["Expression"],checkPath:e=>e.isIdentifier()?e.isReferencedIdentifier():r.isExpression(e.node)};t.Expression=c;const p={types:["Scopable","Pattern"],checkPath:e=>r.isScope(e.node,e.parent)};t.Scope=p;const u={checkPath:e=>r.isReferenced(e.node,e.parent)};t.Referenced=u;const h={checkPath:e=>r.isBlockScoped(e.node)};t.BlockScoped=h;const d={types:["VariableDeclaration"],checkPath:e=>r.isVar(e.node)};t.Var=d;t.User={checkPath:e=>e.node&&!!e.node.loc};t.Generated={checkPath:e=>!e.isUser()};t.Pure={checkPath:(e,t)=>e.scope.isPure(e.node,t)};const f={types:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],checkPath:({node:e})=>!(!r.isFlow(e)&&(r.isImportDeclaration(e)?"type"!==e.importKind&&"typeof"!==e.importKind:r.isExportDeclaration(e)?"type"!==e.exportKind:!r.isImportSpecifier(e)||"type"!==e.importKind&&"typeof"!==e.importKind))};t.Flow=f;t.RestProperty={types:["RestElement"],checkPath:e=>e.parentPath&&e.parentPath.isObjectPattern()};t.SpreadProperty={types:["RestElement"],checkPath:e=>e.parentPath&&e.parentPath.isObjectExpression()},t.ExistentialTypeParam={types:["ExistsTypeAnnotation"]},t.NumericLiteralTypeAnnotation={types:["NumberLiteralTypeAnnotation"]};t.ForAwaitStatement={types:["ForOfStatement"],checkPath:({node:e})=>!0===e.await}},9613:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.insertBefore=function(e){this._assertUnremoved(),e=this._verifyNodeList(e);const{parentPath:t}=this;if(t.isExpressionStatement()||t.isLabeledStatement()||t.isExportNamedDeclaration()||t.isExportDefaultDeclaration()&&this.isDeclaration())return t.insertBefore(e);if(this.isNodeType("Expression")&&!this.isJSXElement()||t.isForStatement()&&"init"===this.key)return this.node&&e.push(this.node),this.replaceExpressionWithStatements(e);if(Array.isArray(this.container))return this._containerInsertBefore(e);if(this.isStatementOrBlock()){const t=this.node&&(!this.isExpressionStatement()||null!=this.node.expression);return this.replaceWith(a.blockStatement(t?[this.node]:[])),this.unshiftContainer("body",e)}throw new Error("We don\'t know what to do with this node type. We were previously a Statement but we can\'t fit in here?")},t._containerInsert=function(e,t){this.updateSiblingKeys(e,t.length);const s=[];this.container.splice(e,0,...t);for(let r=0;ra.isExpression(e)?a.expressionStatement(e):e)));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!t.isJSXElement()||t.isForStatement()&&"init"===this.key){if(this.node){let{scope:s}=this;t.isMethod({computed:!0,key:this.node})&&(s=s.parent);const r=s.generateDeclaredUidIdentifier();e.unshift(a.expressionStatement(a.assignmentExpression("=",a.cloneNode(r),this.node))),e.push(a.expressionStatement(a.cloneNode(r)))}return this.replaceExpressionWithStatements(e)}if(Array.isArray(this.container))return this._containerInsertAfter(e);if(this.isStatementOrBlock()){const t=this.node&&(!this.isExpressionStatement()||null!=this.node.expression);return this.replaceWith(a.blockStatement(t?[this.node]:[])),this.pushContainer("body",e)}throw new Error("We don\'t know what to do with this node type. We were previously a Statement but we can\'t fit in here?")},t.updateSiblingKeys=function(e,t){if(!this.parent)return;const s=r.path.get(this.parent);for(let r=0;r=e&&(n.key+=t)}},t._verifyNodeList=function(e){if(!e)return[];e.constructor!==Array&&(e=[e]);for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.remove=function(){var e;this._assertUnremoved(),this.resync(),(null==(e=this.opts)?void 0:e.noScope)||this._removeFromScope(),this._callRemovalHooks()||(this.shareCommentsWithSiblings(),this._remove()),this._markRemoved()},t._removeFromScope=function(){const e=this.getBindingIdentifiers();Object.keys(e).forEach((e=>this.scope.removeBinding(e)))},t._callRemovalHooks=function(){for(const e of r.hooks)if(e(this,this.parentPath))return!0},t._remove=function(){Array.isArray(this.container)?(this.container.splice(this.key,1),this.updateSiblingKeys(this.key,-1)):this._replaceWith(null)},t._markRemoved=function(){this._traverseFlags|=n.SHOULD_SKIP|n.REMOVED,this.node=null},t._assertUnremoved=function(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")};var r=s(8004),n=s(706)},4638:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceWithMultiple=function(e){this.resync(),e=this._verifyNodeList(e),o.inheritLeadingComments(e[0],this.node),o.inheritTrailingComments(e[e.length-1],this.node),this.node=this.container[this.key]=null;const t=this.insertAfter(e);return this.node?this.requeue():this.remove(),t},t.replaceWithSourceString=function(e){this.resync();try{e=`(${e})`,e=(0,a.parse)(e)}catch(t){const s=t.loc;throw s&&(t.message+=" - make sure this is an expression.\\n"+(0,r.codeFrameColumns)(e,{start:{line:s.line,column:s.column+1}}),t.code="BABEL_REPLACE_SOURCE_ERROR"),t}return e=e.program.body[0].expression,n.default.removeProperties(e),this.replaceWith(e)},t.replaceWith=function(e){if(this.resync(),this.removed)throw new Error("You can\'t replace this node, we\'ve already removed it");if(e instanceof i.default&&(e=e.node),!e)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node===e)return[this];if(this.isProgram()&&!o.isProgram(e))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(e))throw new Error("Don\'t use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof e)throw new Error("Don\'t use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");let t="";if(this.isNodeType("Statement")&&o.isExpression(e)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(e)||this.parentPath.isExportDefaultDeclaration()||(e=o.expressionStatement(e),t="expression")),this.isNodeType("Expression")&&o.isStatement(e)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(e))return this.replaceExpressionWithStatements([e]);const s=this.node;return s&&(o.inheritsComments(e,s),o.removeComments(s)),this._replaceWith(e),this.type=e.type,this.setScope(),this.requeue(),[t?this.get(t):this]},t._replaceWith=function(e){if(!this.container)throw new ReferenceError("Container is falsy");this.inList?o.validate(this.parent,this.key,[e]):o.validate(this.parent,this.key,e),this.debug(`Replace with ${null==e?void 0:e.type}`),this.node=this.container[this.key]=e},t.replaceExpressionWithStatements=function(e){this.resync();const t=o.toSequenceExpression(e,this.scope);if(t)return this.replaceWith(t)[0].get("expressions");const s=this.getFunctionParent(),r=null==s?void 0:s.is("async"),i=o.arrowFunctionExpression([],o.blockStatement(e));this.replaceWith(o.callExpression(i,[])),this.traverse(p);const a=this.get("callee").getCompletionRecords();for(const e of a){if(!e.isExpressionStatement())continue;const t=e.findParent((e=>e.isLoop()));if(t){let s=t.getData("expressionReplacementReturnUid");if(s)s=o.identifier(s.name);else{const e=this.get("callee");s=e.scope.generateDeclaredUidIdentifier("ret"),e.get("body").pushContainer("body",o.returnStatement(o.cloneNode(s))),t.setData("expressionReplacementReturnUid",s)}e.get("expression").replaceWith(o.assignmentExpression("=",o.cloneNode(s),e.node.expression))}else e.replaceWith(o.returnStatement(e.node.expression))}const l=this.get("callee");return l.arrowFunctionToExpression(),r&&n.default.hasType(this.get("callee.body").node,"AwaitExpression",o.FUNCTION_TYPES)&&(l.set("async",!0),this.replaceWith(o.awaitExpression(this.node))),l.get("body.body")},t.replaceInline=function(e){if(this.resync(),Array.isArray(e)){if(Array.isArray(this.container)){e=this._verifyNodeList(e);const t=this._containerInsertAfter(e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)};var r=s(785),n=c(s(1910)),i=c(s(706)),a=s(7493),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473));function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}function c(e){return e&&e.__esModule?e:{default:e}}const p={Function(e){e.skip()},VariableDeclaration(e){if("var"!==e.node.kind)return;const t=e.getBindingIdentifiers();for(const s of Object.keys(t))e.scope.push({id:t[s]});const s=[];for(const t of e.node.declarations)t.init&&s.push(o.expressionStatement(o.assignmentExpression("=",t.id,t.init)));e.replaceWithMultiple(s)}}},2329:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor({identifier:e,scope:t,path:s,kind:r}){this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.identifier=e,this.scope=t,this.path=s,this.kind=r,this.clearValue()}deoptValue(){this.clearValue(),this.hasDeoptedValue=!0}setValue(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}clearValue(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}reassign(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)}reference(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))}dereference(){this.references--,this.referenced=!!this.references}}},4639:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=p(s(1360)),n=p(s(1910)),i=p(s(2329)),a=p(s(2261)),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(s,n,i):s[n]=e[n]}return s.default=e,t&&t.set(e,s),s}(s(4473)),l=s(1826);function c(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function p(e){return e&&e.__esModule?e:{default:e}}function u(e,t){switch(null==e?void 0:e.type){default:if(o.isModuleDeclaration(e))if(e.source)u(e.source,t);else if(e.specifiers&&e.specifiers.length)for(const s of e.specifiers)u(s,t);else e.declaration&&u(e.declaration,t);else o.isModuleSpecifier(e)?u(e.local,t):o.isLiteral(e)&&t.push(e.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":u(e.object,t),u(e.property,t);break;case"Identifier":case"JSXIdentifier":case"JSXOpeningElement":t.push(e.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":u(e.callee,t);break;case"ObjectExpression":case"ObjectPattern":for(const s of e.properties)u(s,t);break;case"SpreadElement":case"RestElement":case"UnaryExpression":case"UpdateExpression":u(e.argument,t);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":u(e.key,t);break;case"ThisExpression":t.push("this");break;case"Super":t.push("super");break;case"Import":t.push("import");break;case"DoExpression":t.push("do");break;case"YieldExpression":t.push("yield"),u(e.argument,t);break;case"AwaitExpression":t.push("await"),u(e.argument,t);break;case"AssignmentExpression":u(e.left,t);break;case"VariableDeclarator":case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":u(e.id,t);break;case"ParenthesizedExpression":u(e.expression,t);break;case"MetaProperty":u(e.meta,t),u(e.property,t);break;case"JSXElement":u(e.openingElement,t);break;case"JSXFragment":u(e.openingFragment,t);break;case"JSXOpeningFragment":t.push("Fragment");break;case"JSXNamespacedName":u(e.namespace,t),u(e.name,t)}}const h={For(e){for(const t of o.FOR_INIT_KEYS){const s=e.get(t);s.isVar()&&(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerBinding("var",s)}},Declaration(e){e.isBlockScoped()||e.isExportDeclaration()&&e.get("declaration").isDeclaration()||(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e)},ReferencedIdentifier(e,t){t.references.push(e)},ForXStatement(e,t){const s=e.get("left");(s.isPattern()||s.isIdentifier())&&t.constantViolations.push(e)},ExportDeclaration:{exit(e){const{node:t,scope:s}=e,r=t.declaration;if(o.isClassDeclaration(r)||o.isFunctionDeclaration(r)){const t=r.id;if(!t)return;const n=s.getBinding(t.name);n&&n.reference(e)}else if(o.isVariableDeclaration(r))for(const t of r.declarations)for(const r of Object.keys(o.getBindingIdentifiers(t))){const t=s.getBinding(r);t&&t.reference(e)}}},LabeledStatement(e){e.scope.getProgramParent().addGlobal(e.node),e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression(e,t){t.assignments.push(e)},UpdateExpression(e,t){t.constantViolations.push(e)},UnaryExpression(e,t){"delete"===e.node.operator&&t.constantViolations.push(e)},BlockScoped(e){let t=e.scope;if(t.path===e&&(t=t.parent),t.getBlockParent().registerDeclaration(e),e.isClassDeclaration()&&e.node.id){const t=e.node.id.name;e.scope.bindings[t]=e.scope.parent.getBinding(t)}},Block(e){const t=e.get("body");for(const s of t)s.isFunctionDeclaration()&&e.scope.getBlockParent().registerDeclaration(s)},CatchClause(e){e.scope.registerBinding("let",e)},Function(e){e.isFunctionExpression()&&e.has("id")&&!e.get("id").node[o.NOT_LOCAL_BINDING]&&e.scope.registerBinding("local",e.get("id"),e);const t=e.get("params");for(const s of t)e.scope.registerBinding("param",s)},ClassExpression(e){e.has("id")&&!e.get("id").node[o.NOT_LOCAL_BINDING]&&e.scope.registerBinding("local",e)}};let d=0;class f{constructor(e){const{node:t}=e,s=l.scope.get(t);if((null==s?void 0:s.path)===e)return s;l.scope.set(t,this),this.uid=d++,this.block=t,this.path=e,this.labels=new Map,this.inited=!1}get parent(){const e=this.path.findParent((e=>e.isScope()));return null==e?void 0:e.scope}get parentBlock(){return this.path.parent}get hub(){return this.path.hub}traverse(e,t,s){(0,n.default)(e,t,this,s,this.path)}generateDeclaredUidIdentifier(e){const t=this.generateUidIdentifier(e);return this.push({id:t}),o.cloneNode(t)}generateUidIdentifier(e){return o.identifier(this.generateUid(e))}generateUid(e="temp"){let t;e=o.toIdentifier(e).replace(/^_+/,"").replace(/[0-9]+$/g,"");let s=1;do{t=this._generateUid(e,s),s++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));const r=this.getProgramParent();return r.references[t]=!0,r.uids[t]=!0,t}_generateUid(e,t){let s=e;return t>1&&(s+=t),`_${s}`}generateUidBasedOnNode(e,t){const s=[];u(e,s);let r=s.join("$");return r=r.replace(/^_/,"")||t||"ref",this.generateUid(r.slice(0,20))}generateUidIdentifierBasedOnNode(e,t){return o.identifier(this.generateUidBasedOnNode(e,t))}isStatic(e){if(o.isThisExpression(e)||o.isSuper(e))return!0;if(o.isIdentifier(e)){const t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}maybeGenerateMemoised(e,t){if(this.isStatic(e))return null;{const s=this.generateUidIdentifierBasedOnNode(e);return t?s:(this.push({id:s}),o.cloneNode(s))}}checkBlockScopedCollisions(e,t,s,r){if("param"!==t&&"local"!==e.kind&&("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&("let"===t||"const"===t)))throw this.hub.buildError(r,`Duplicate declaration "${s}"`,TypeError)}rename(e,t,s){const n=this.getBinding(e);if(n)return t=t||this.generateUidIdentifier(e).name,new r.default(n,e,t).rename(s)}_renameFromMap(e,t,s,r){e[t]&&(e[s]=r,e[t]=null)}dump(){const e="-".repeat(60);console.log(e);let t=this;do{console.log("#",t.block.type);for(const e of Object.keys(t.bindings)){const s=t.bindings[e];console.log(" -",e,{constant:s.constant,references:s.references,violations:s.constantViolations.length,kind:s.kind})}}while(t=t.parent);console.log(e)}toArray(e,t,s){if(o.isIdentifier(e)){const t=this.getBinding(e.name);if((null==t?void 0:t.constant)&&t.path.isGenericType("Array"))return e}if(o.isArrayExpression(e))return e;if(o.isIdentifier(e,{name:"arguments"}))return o.callExpression(o.memberExpression(o.memberExpression(o.memberExpression(o.identifier("Array"),o.identifier("prototype")),o.identifier("slice")),o.identifier("call")),[e]);let r;const n=[e];return!0===t?r="toConsumableArray":t?(n.push(o.numericLiteral(t)),r="slicedToArray"):r="toArray",s&&(n.unshift(this.hub.addHelper(r)),r="maybeArrayLike"),o.callExpression(this.hub.addHelper(r),n)}hasLabel(e){return!!this.getLabel(e)}getLabel(e){return this.labels.get(e)}registerLabel(e){this.labels.set(e.node.label.name,e)}registerDeclaration(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration()){const t=e.get("declarations");for(const s of t)this.registerBinding(e.node.kind,s)}else if(e.isClassDeclaration())this.registerBinding("let",e);else if(e.isImportDeclaration()){const t=e.get("specifiers");for(const e of t)this.registerBinding("module",e)}else if(e.isExportDeclaration()){const t=e.get("declaration");(t.isClassDeclaration()||t.isFunctionDeclaration()||t.isVariableDeclaration())&&this.registerDeclaration(t)}else this.registerBinding("unknown",e)}buildUndefinedNode(){return o.unaryExpression("void",o.numericLiteral(0),!0)}registerConstantViolation(e){const t=e.getBindingIdentifiers();for(const s of Object.keys(t)){const t=this.getBinding(s);t&&t.reassign(e)}}registerBinding(e,t,s=t){if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration()){const s=t.get("declarations");for(const t of s)this.registerBinding(e,t);return}const r=this.getProgramParent(),n=t.getOuterBindingIdentifiers(!0);for(const t of Object.keys(n)){r.references[t]=!0;for(const r of n[t]){const n=this.getOwnBinding(t);if(n){if(n.identifier===r)continue;this.checkBlockScopedCollisions(n,e,t,r)}n?this.registerConstantViolation(s):this.bindings[t]=new i.default({identifier:r,scope:this,path:s,kind:e})}}}addGlobal(e){this.globals[e.name]=e}hasUid(e){let t=this;do{if(t.uids[e])return!0}while(t=t.parent);return!1}hasGlobal(e){let t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1}hasReference(e){return!!this.getProgramParent().references[e]}isPure(e,t){if(o.isIdentifier(e)){const s=this.getBinding(e.name);return!!s&&(!t||s.constant)}if(o.isClass(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&this.isPure(e.body,t);if(o.isClassBody(e)){for(const s of e.body)if(!this.isPure(s,t))return!1;return!0}if(o.isBinary(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(o.isArrayExpression(e)){for(const s of e.elements)if(!this.isPure(s,t))return!1;return!0}if(o.isObjectExpression(e)){for(const s of e.properties)if(!this.isPure(s,t))return!1;return!0}if(o.isMethod(e))return!(e.computed&&!this.isPure(e.key,t))&&"get"!==e.kind&&"set"!==e.kind;if(o.isProperty(e))return!(e.computed&&!this.isPure(e.key,t))&&this.isPure(e.value,t);if(o.isUnaryExpression(e))return this.isPure(e.argument,t);if(o.isTaggedTemplateExpression(e))return o.matchesPattern(e.tag,"String.raw")&&!this.hasBinding("String",!0)&&this.isPure(e.quasi,t);if(o.isTemplateLiteral(e)){for(const s of e.expressions)if(!this.isPure(s,t))return!1;return!0}return o.isPureish(e)}setData(e,t){return this.data[e]=t}getData(e){let t=this;do{const s=t.data[e];if(null!=s)return s}while(t=t.parent)}removeData(e){let t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)}init(){this.inited||(this.inited=!0,this.crawl())}crawl(){const e=this.path;if(this.references=Object.create(null),this.bindings=Object.create(null),this.globals=Object.create(null),this.uids=Object.create(null),this.data=Object.create(null),e.isFunction()){e.isFunctionExpression()&&e.has("id")&&!e.get("id").node[o.NOT_LOCAL_BINDING]&&this.registerBinding("local",e.get("id"),e);const t=e.get("params");for(const e of t)this.registerBinding("param",e)}const t=this.getProgramParent();if(t.crawling)return;const s={references:[],constantViolations:[],assignments:[]};this.crawling=!0,e.traverse(h,s),this.crawling=!1;for(const e of s.assignments){const s=e.getBindingIdentifiers();for(const r of Object.keys(s))e.scope.getBinding(r)||t.addGlobal(s[r]);e.scope.registerConstantViolation(e)}for(const e of s.references){const s=e.scope.getBinding(e.node.name);s?s.reference(e):t.addGlobal(e.node)}for(const e of s.constantViolations)e.scope.registerConstantViolation(e)}push(e){let t=this.path;t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path),(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get("body"));const s=e.unique,r=e.kind||"var",n=null==e._blockHoist?2:e._blockHoist,i=`declaration:${r}:${n}`;let a=!s&&t.getData(i);if(!a){const e=o.variableDeclaration(r,[]);e._blockHoist=n,[a]=t.unshiftContainer("body",[e]),s||t.setData(i,a)}const l=o.variableDeclarator(e.id,e.init);a.node.declarations.push(l),this.registerBinding(r,a.get("declarations").pop())}getProgramParent(){let e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("Couldn\'t find a Program")}getFunctionParent(){let e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);return null}getBlockParent(){let e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn\'t find a BlockStatement, For, Switch, Function, Loop or Program...")}getAllBindings(){const e=Object.create(null);let t=this;do{for(const s of Object.keys(t.bindings))s in e==0&&(e[s]=t.bindings[s]);t=t.parent}while(t);return e}getAllBindingsOfKind(){const e=Object.create(null);for(const t of arguments){let s=this;do{for(const r of Object.keys(s.bindings)){const n=s.bindings[r];n.kind===t&&(e[r]=n)}s=s.parent}while(s)}return e}bindingIdentifierEquals(e,t){return this.getBindingIdentifier(e)===t}getBinding(e){let t,s=this;do{const n=s.getOwnBinding(e);var r;if(n&&(!(null==(r=t)?void 0:r.isPattern())||"param"===n.kind))return n;t=s.path}while(s=s.parent)}getOwnBinding(e){return this.bindings[e]}getBindingIdentifier(e){var t;return null==(t=this.getBinding(e))?void 0:t.identifier}getOwnBindingIdentifier(e){const t=this.bindings[e];return null==t?void 0:t.identifier}hasOwnBinding(e){return!!this.getOwnBinding(e)}hasBinding(e,t){return!(!e||!this.hasOwnBinding(e)&&!this.parentHasBinding(e,t)&&!this.hasUid(e)&&(t||!f.globals.includes(e))&&(t||!f.contextVariables.includes(e)))}parentHasBinding(e,t){var s;return null==(s=this.parent)?void 0:s.hasBinding(e,t)}moveBindingTo(e,t){const s=this.getBinding(e);s&&(s.scope.removeOwnBinding(e),s.scope=t,t.bindings[e]=s)}removeOwnBinding(e){delete this.bindings[e]}removeBinding(e){var t;null==(t=this.getBinding(e))||t.scope.removeOwnBinding(e);let s=this;do{s.uids[e]&&(s.uids[e]=!1)}while(s=s.parent)}}t.default=f,f.globals=Object.keys(a.default.builtin),f.contextVariables=["arguments","undefined","Infinity","NaN"]},1360:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,i(s(2329));var r=i(s(7224));function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}!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 s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(s,i,a):s[i]=e[i]}s.default=e,t&&t.set(e,s)}(s(4473));const a={ReferencedIdentifier({node:e},t){e.name===t.oldName&&(e.name=t.newName)},Scope(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||e.skip()},"AssignmentExpression|Declaration|VariableDeclarator"(e,t){if(e.isVariableDeclaration())return;const s=e.getOuterBindingIdentifiers();for(const e in s)e===t.oldName&&(s[e].name=t.newName)}};t.default=class{constructor(e,t,s){this.newName=s,this.oldName=t,this.binding=e}maybeConvertFromExportDeclaration(e){const t=e.parentPath;t.isExportDeclaration()&&(t.isExportDefaultDeclaration()&&!t.get("declaration").node.id||(0,r.default)(t))}maybeConvertFromClassFunctionDeclaration(e){}maybeConvertFromClassFunctionExpression(e){}rename(e){const{binding:t,oldName:s,newName:r}=this,{scope:n,path:i}=t,o=i.find((e=>e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression()));o&&o.getOuterBindingIdentifiers()[s]===t.identifier&&this.maybeConvertFromExportDeclaration(o),n.traverse(e||n.block,a,this),e||(n.removeOwnBinding(s),n.bindings[r]=t,this.binding.identifier.name=r),t.type,o&&(this.maybeConvertFromClassFunctionDeclaration(o),this.maybeConvertFromClassFunctionExpression(o))}}},8221:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.explode=o,t.verify=l,t.merge=function(e,t=[],s){const r={};for(let n=0;ne.toString()),r})),r[n]=i)}return r}function u(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function h(e,t){const s=function(s){if(e.checkPath(s))return t.apply(this,arguments)};return s.toString=()=>t.toString(),s}function d(e){return"_"===e[0]||"enter"===e||"exit"===e||"shouldSkip"===e||"denylist"===e||"noScope"===e||"skipKeys"===e||"blacklist"===e}function f(e,t){for(const s of Object.keys(t))e[s]=[].concat(e[s]||[],t[s])}},2579:(e,t,s)=>{var r=s(1639),n=Object.prototype.hasOwnProperty,i="undefined"!=typeof Map;function a(){this._array=[],this._set=i?new Map:Object.create(null)}a.fromArray=function(e,t){for(var s=new a,r=0,n=e.length;r=0)return t}else{var s=r.toSetString(e);if(n.call(this._set,s))return this._set[s]}throw new Error(\'"\'+e+\'" is not in the set.\')},a.prototype.at=function(e){if(e>=0&&e{var r=s(7382);t.encode=function(e){var t,s="",n=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&n,(n>>>=5)>0&&(t|=32),s+=r.encode(t)}while(n>0);return s},t.decode=function(e,t,s){var n,i,a,o,l=e.length,c=0,p=0;do{if(t>=l)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));n=!!(32&i),c+=(i&=31)<>1,1==(1&a)?-o:o),s.rest=t}},7382:(e,t)=>{var s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{function s(e,r,n,i,a,o){var l=Math.floor((r-e)/2)+e,c=a(n,i[l],!0);return 0===c?l:c>0?r-l>1?s(l,r,n,i,a,o):o==t.LEAST_UPPER_BOUND?r1?s(e,l,n,i,a,o):o==t.LEAST_UPPER_BOUND?l:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,n,i){if(0===r.length)return-1;var a=s(-1,r.length,e,r,n,i||t.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===n(r[a],r[a-1],!0);)--a;return a}},7898:(e,t,s)=>{var r=s(1639);function n(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}n.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},n.prototype.add=function(e){var t,s,n,i,a,o;s=e,n=(t=this._last).generatedLine,i=s.generatedLine,a=t.generatedColumn,o=s.generatedColumn,i>n||i==n&&o>=a||r.compareByGeneratedPositionsInflated(t,s)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},n.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=n},4820:(e,t)=>{function s(e,t,s){var r=e[t];e[t]=e[s],e[s]=r}function r(e,t,n,i){if(n{var r=s(1639),n=s(5698),i=s(2579).I,a=s(7810),o=s(4820).U;function l(e){var t=e;return"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,""))),null!=t.sections?new u(t):new c(t)}function c(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,"")));var s=r.getArg(t,"version"),n=r.getArg(t,"sources"),a=r.getArg(t,"names",[]),o=r.getArg(t,"sourceRoot",null),l=r.getArg(t,"sourcesContent",null),c=r.getArg(t,"mappings"),p=r.getArg(t,"file",null);if(s!=this._version)throw new Error("Unsupported version: "+s);n=n.map(String).map(r.normalize).map((function(e){return o&&r.isAbsolute(o)&&r.isAbsolute(e)?r.relative(o,e):e})),this._names=i.fromArray(a.map(String),!0),this._sources=i.fromArray(n,!0),this.sourceRoot=o,this.sourcesContent=l,this._mappings=c,this.file=p}function p(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function u(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,"")));var s=r.getArg(t,"version"),n=r.getArg(t,"sections");if(s!=this._version)throw new Error("Unsupported version: "+s);this._sources=new i,this._names=new i;var a={line:-1,column:0};this._sections=n.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var t=r.getArg(e,"offset"),s=r.getArg(t,"line"),n=r.getArg(t,"column");if(s=0){var o=this._originalMappings[a];if(void 0===e.column)for(var l=o.originalLine;o&&o.originalLine===l;)i.push({line:r.getArg(o,"generatedLine",null),column:r.getArg(o,"generatedColumn",null),lastColumn:r.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++a];else for(var c=o.originalColumn;o&&o.originalLine===t&&o.originalColumn==c;)i.push({line:r.getArg(o,"generatedLine",null),column:r.getArg(o,"generatedColumn",null),lastColumn:r.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++a]}return i},t.SourceMapConsumer=l,c.prototype=Object.create(l.prototype),c.prototype.consumer=l,c.fromSourceMap=function(e){var t=Object.create(c.prototype),s=t._names=i.fromArray(e._names.toArray(),!0),n=t._sources=i.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),l=t.__generatedMappings=[],u=t.__originalMappings=[],h=0,d=a.length;h1&&(s.source=m+i[1],m+=i[1],s.originalLine=d+i[2],d=s.originalLine,s.originalLine+=1,s.originalColumn=f+i[3],f=s.originalColumn,i.length>4&&(s.name=y+i[4],y+=i[4])),S.push(s),"number"==typeof s.originalLine&&P.push(s)}o(S,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=S,o(P,r.compareByOriginalPositions),this.__originalMappings=P},c.prototype._findMapping=function(e,t,s,r,i,a){if(e[s]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[s]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return n.search(e,t,i,a)},c.prototype.computeColumnSpans=function(){for(var e=0;e=0){var n=this._generatedMappings[s];if(n.generatedLine===t.generatedLine){var i=r.getArg(n,"source",null);null!==i&&(i=this._sources.at(i),null!=this.sourceRoot&&(i=r.join(this.sourceRoot,i)));var a=r.getArg(n,"name",null);return null!==a&&(a=this._names.at(a)),{source:i,line:r.getArg(n,"originalLine",null),column:r.getArg(n,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},c.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=r.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var s;if(null!=this.sourceRoot&&(s=r.urlParse(this.sourceRoot))){var n=e.replace(/^file:\\/\\//,"");if("file"==s.scheme&&this._sources.has(n))return this.sourcesContent[this._sources.indexOf(n)];if((!s.path||"/"==s.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error(\'"\'+e+\'" is not in the SourceMap.\')},c.prototype.generatedPositionFor=function(e){var t=r.getArg(e,"source");if(null!=this.sourceRoot&&(t=r.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var s={source:t=this._sources.indexOf(t),originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")},n=this._findMapping(s,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",l.GREATEST_LOWER_BOUND));if(n>=0){var i=this._originalMappings[n];if(i.source===s.source)return{line:r.getArg(i,"generatedLine",null),column:r.getArg(i,"generatedColumn",null),lastColumn:r.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},u.prototype=Object.create(l.prototype),u.prototype.constructor=l,u.prototype._version=3,Object.defineProperty(u.prototype,"sources",{get:function(){for(var e=[],t=0;t{var r=s(7810),n=s(1639),i=s(2579).I,a=s(7898).H;function o(e){e||(e={}),this._file=n.getArg(e,"file",null),this._sourceRoot=n.getArg(e,"sourceRoot",null),this._skipValidation=n.getArg(e,"skipValidation",!1),this._sources=new i,this._names=new i,this._mappings=new a,this._sourcesContents=null}o.prototype._version=3,o.fromSourceMap=function(e){var t=e.sourceRoot,s=new o({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=n.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),s.addMapping(r)})),e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&s.setSourceContent(t,r)})),s},o.prototype.addMapping=function(e){var t=n.getArg(e,"generated"),s=n.getArg(e,"original",null),r=n.getArg(e,"source",null),i=n.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,s,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!=s&&s.line,originalColumn:null!=s&&s.column,source:r,name:i})},o.prototype.setSourceContent=function(e,t){var s=e;null!=this._sourceRoot&&(s=n.relative(this._sourceRoot,s)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[n.toSetString(s)]=t):this._sourcesContents&&(delete this._sourcesContents[n.toSetString(s)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},o.prototype.applySourceMap=function(e,t,s){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 a=this._sourceRoot;null!=a&&(r=n.relative(a,r));var o=new i,l=new i;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){var i=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=i.source&&(t.source=i.source,null!=s&&(t.source=n.join(s,t.source)),null!=a&&(t.source=n.relative(a,t.source)),t.originalLine=i.line,t.originalColumn=i.column,null!=i.name&&(t.name=i.name))}var c=t.source;null==c||o.has(c)||o.add(c);var p=t.name;null==p||l.has(p)||l.add(p)}),this),this._sources=o,this._names=l,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=s&&(t=n.join(s,t)),null!=a&&(t=n.relative(a,t)),this.setSourceContent(t,r))}),this)},o.prototype._validateMapping=function(e,t,s,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||s||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&&s))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:s,original:t,name:r}))},o.prototype._serializeMappings=function(){for(var e,t,s,i,a=0,o=1,l=0,c=0,p=0,u=0,h="",d=this._mappings.toArray(),f=0,m=d.length;f0){if(!n.compareByGeneratedPositionsInflated(t,d[f-1]))continue;e+=","}e+=r.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(i=this._sources.indexOf(t.source),e+=r.encode(i-u),u=i,e+=r.encode(t.originalLine-1-c),c=t.originalLine-1,e+=r.encode(t.originalColumn-l),l=t.originalColumn,null!=t.name&&(s=this._names.indexOf(t.name),e+=r.encode(s-p),p=s)),h+=e}return h},o.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=n.relative(t,e));var s=n.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,s)?this._sourcesContents[s]:null}),this)},o.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},o.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=o},1799:(e,t,s)=>{var r=s(7969).SourceMapGenerator,n=s(1639),i=/(\\r?\\n)/,a="$$$isSourceNode$$$";function o(e,t,s,r,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==s?null:s,this.name=null==n?null:n,this[a]=!0,null!=r&&this.add(r)}o.fromStringWithSourceMap=function(e,t,s){var r=new o,a=e.split(i),l=0,c=function(){return e()+(e()||"");function e(){return l=0;t--)this.prepend(e[t]);else{if(!e[a]&&"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},o.prototype.walk=function(e){for(var t,s=0,r=this.children.length;s0){for(t=[],s=0;s{t.getArg=function(e,t,s){if(t in e)return e[t];if(3===arguments.length)return s;throw new Error(\'"\'+t+\'" is a required argument.\')};var s=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/,r=/^data:.+\\,.+$/;function n(e){var t=e.match(s);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function a(e){var s=e,r=n(e);if(r){if(!r.path)return e;s=r.path}for(var a,o=t.isAbsolute(s),l=s.split(/\\/+/),c=0,p=l.length-1;p>=0;p--)"."===(a=l[p])?l.splice(p,1):".."===a?c++:c>0&&(""===a?(l.splice(p+1,c),c=0):(l.splice(p,2),c--));return""===(s=l.join("/"))&&(s=o?"/":"."),r?(r.path=s,i(r)):s}t.urlParse=n,t.urlGenerate=i,t.normalize=a,t.join=function(e,t){""===e&&(e="."),""===t&&(t=".");var s=n(t),o=n(e);if(o&&(e=o.path||"/"),s&&!s.scheme)return o&&(s.scheme=o.scheme),i(s);if(s||t.match(r))return t;if(o&&!o.host&&!o.path)return o.host=t,i(o);var l="/"===t.charAt(0)?t:a(e.replace(/\\/+$/,"")+"/"+t);return o?(o.path=l,i(o)):l},t.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(s)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\\/$/,"");for(var s=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++s}return Array(s+1).join("../")+t.substr(e.length+1)};var o=!("__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 s=t-10;s>=0;s--)if(36!==e.charCodeAt(s))return!1;return!0}function p(e,t){return e===t?0:e>t?1:-1}t.toSetString=o?l:function(e){return c(e)?"$"+e:e},t.fromSetString=o?l:function(e){return c(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,s){var r=e.source-t.source;return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||s||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:e.name-t.name},t.compareByGeneratedPositionsDeflated=function(e,t,s){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||s||0!=(r=e.source-t.source)||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:e.name-t.name},t.compareByGeneratedPositionsInflated=function(e,t){var s=e.generatedLine-t.generatedLine;return 0!==s||0!=(s=e.generatedColumn-t.generatedColumn)||0!==(s=p(e.source,t.source))||0!=(s=e.originalLine-t.originalLine)||0!=(s=e.originalColumn-t.originalColumn)?s:p(e.name,t.name)}},8737:(e,t,s)=>{t.SourceMapGenerator=s(7969).SourceMapGenerator,t.SourceMapConsumer=s(8076).SourceMapConsumer,t.SourceNode=s(1799).SourceNode},4468:(e,t)=>{"use strict";t.ZP=function(){throw Error("Test Error stack")},t.U1=void 0,t.U1=12},2037:e=>{"use strict";e.exports=require("os")},6224:e=>{"use strict";e.exports=require("tty")},3837:e=>{"use strict";e.exports=require("util")},5342:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.codeFrameColumns=d,t.default=function(e,t,s,n={}){if(!u){u=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";r.emitWarning?r.emitWarning(e,"DeprecationWarning"):(new Error(e).name="DeprecationWarning",console.warn(new Error(e)))}return d(e,{start:{column:s=Math.max(s,0),line:t}},n)};var n=s(9258),i=function(e,t){if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var s=a(true);if(s&&s.has(e))return s.get(e);var r={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var o=n?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=e[i]}return r.default=e,s&&s.set(e,r),r}(s(7614));function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,s=new WeakMap;return(a=function(e){return e?s:t})(e)}const o="object"!=typeof r||"0"!==r.env.FORCE_COLOR&&"false"!==r.env.FORCE_COLOR?i.default:(0,i.createColors)(!1),l=(e,t)=>s=>e(t(s));let c;function p(e){return e?(null!=c||(c=(0,i.createColors)(!0)),c):o}let u=!1;const h=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function d(e,t,s={}){const r=(s.highlightCode||s.forceColor)&&(0,n.shouldHighlight)(s),i=p(s.forceColor),a=function(e){return{gutter:e.gray,marker:l(e.red,e.bold),message:l(e.red,e.bold)}}(i),o=(e,t)=>r?e(t):t,c=e.split(h),{start:u,end:d,markerLines:f}=function(e,t,s){const r=Object.assign({column:0,line:-1},e.start),n=Object.assign({},r,e.end),{linesAbove:i=2,linesBelow:a=3}=s||{},o=r.line,l=r.column,c=n.line,p=n.column;let u=Math.max(o-(i+1),0),h=Math.min(t.length,c+a);-1===o&&(u=0),-1===c&&(h=t.length);const d=c-o,f={};if(d)for(let e=0;e<=d;e++){const s=e+o;if(l)if(0===e){const e=t[s-1].length;f[s]=[l,e-l+1]}else if(e===d)f[s]=[0,p];else{const r=t[s-e].length;f[s]=[0,r]}else f[s]=!0}else f[o]=l===p?!l||[l,0]:[l,p-l];return{start:u,end:h,markerLines:f}}(t,c,s),m=t.start&&"number"==typeof t.start.column,y=String(d).length;let g=(r?(0,n.default)(e,s):e).split(h,d).slice(u,d).map(((e,t)=>{const r=u+1+t,n=` ${` ${r}`.slice(-y)} |`,i=f[r],l=!f[r+1];if(i){let t="";if(Array.isArray(i)){const r=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\\t]/g," "),c=i[1]||1;t=["\\n ",o(a.gutter,n.replace(/\\d/g," "))," ",r,o(a.marker,"^").repeat(c)].join(""),l&&s.message&&(t+=" "+o(a.message,s.message))}return[o(a.marker,">"),o(a.gutter,n),e.length>0?` ${e}`:"",t].join("")}return` ${o(a.gutter,n)}${e.length>0?` ${e}`:""}`})).join("\\n");return s.message&&!m&&(g=`${" ".repeat(y+1)}${s.message}\\n${g}`),r?i.reset(g):g}},3993:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readCodePoint=c,t.readInt=l,t.readStringContents=function(e,t,s,r,n,o){const l=s,c=r,p=n;let u="",h=null,d=s;const{length:f}=t;for(;;){if(s>=f){o.unterminated(l,c,p),u+=t.slice(d,s);break}const m=t.charCodeAt(s);if(i(e,m,t,s)){u+=t.slice(d,s);break}if(92===m){u+=t.slice(d,s);const i=a(t,s,r,n,"template"===e,o);null!==i.ch||h?u+=i.ch:h={pos:s,lineStart:r,curLine:n},({pos:s,lineStart:r,curLine:n}=i),d=s}else 8232===m||8233===m?(++n,r=++s):10===m||13===m?"template"===e?(u+=t.slice(d,s)+"\\n",++s,13===m&&10===t.charCodeAt(s)&&++s,++n,d=r=s):o.unterminated(l,c,p):++s}return{pos:s,str:u,firstInvalidLoc:h,lineStart:r,curLine:n,containsInvalid:!!h}};var s=function(e){return e>=48&&e<=57};const r={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},n={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function i(e,t,s,r){return"template"===e?96===t||36===t&&123===s.charCodeAt(r+1):t===("double"===e?34:39)}function a(e,t,s,r,n,i){const a=!n;t++;const l=e=>({pos:t,ch:e,lineStart:s,curLine:r}),p=e.charCodeAt(t++);switch(p){case 110:return l("\\n");case 114:return l("\\r");case 120:{let n;return({code:n,pos:t}=o(e,t,s,r,2,!1,a,i)),l(null===n?null:String.fromCharCode(n))}case 117:{let n;return({code:n,pos:t}=c(e,t,s,r,a,i)),l(null===n?null:String.fromCodePoint(n))}case 116:return l("\\t");case 98:return l("\\b");case 118:return l("\\v");case 102:return l("\\f");case 13:10===e.charCodeAt(t)&&++t;case 10:s=t,++r;case 8232:case 8233:return l("");case 56:case 57:if(n)return l(null);i.strictNumericEscape(t-1,s,r);default:if(p>=48&&p<=55){const a=t-1;let o=/^[0-7]+/.exec(e.slice(a,t+2))[0],c=parseInt(o,8);c>255&&(o=o.slice(0,-1),c=parseInt(o,8)),t+=o.length-1;const p=e.charCodeAt(t);if("0"!==o||56===p||57===p){if(n)return l(null);i.strictNumericEscape(a,s,r)}return l(String.fromCharCode(c))}return l(String.fromCharCode(p))}}function o(e,t,s,r,n,i,a,o){const c=t;let p;return({n:p,pos:t}=l(e,t,s,r,16,n,i,!1,o,!a)),null===p&&(a?o.invalidEscapeSequence(c,s,r):t=c-1),{code:p,pos:t}}function l(e,t,i,a,o,l,c,p,u,h){const d=t,f=16===o?r.hex:r.decBinOct,m=16===o?n.hex:10===o?n.dec:8===o?n.oct:n.bin;let y=!1,g=0;for(let r=0,n=null==l?1/0:l;r=97?r-97+10:r>=65?r-65+10:s(r)?r-48:1/0,n>=o){if(n<=9&&h)return{n:null,pos:t};if(n<=9&&u.invalidDigit(t,i,a,o))n=0;else{if(!c)break;n=0,y=!0}}++t,g=g*o+n}else{const s=e.charCodeAt(t-1),r=e.charCodeAt(t+1);if(p){if(Number.isNaN(r)||!m(r)||f.has(s)||f.has(r)){if(h)return{n:null,pos:t};u.unexpectedNumericSeparator(t,i,a)}}else{if(h)return{n:null,pos:t};u.numericSeparatorInEscapeSequence(t,i,a)}++t}}return t===d||null!=l&&t-d!==l||y?{n:null,pos:t}:{n:g,pos:t}}function c(e,t,s,r,n,i){let a;if(123===e.charCodeAt(t)){if(++t,({code:a,pos:t}=o(e,t,s,r,e.indexOf("}",t)-t,!0,n,i)),++t,null!==a&&a>1114111){if(!n)return{code:null,pos:t};i.invalidCodePoint(t,s,r)}}else({code:a,pos:t}=o(e,t,s,r,4,!1,n,i));return{code:a,pos:t}}},554:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIdentifierChar=p,t.isIdentifierName=function(e){let t=!0;for(let s=0;se)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function c(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&n.test(String.fromCharCode(e)):l(e,a)))}function p(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&i.test(String.fromCharCode(e)):l(e,a)||l(e,o))))}},736:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return r.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return r.isIdentifierName}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return r.isIdentifierStart}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return n.isKeyword}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return n.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return n.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return n.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return n.isStrictReservedWord}});var r=s(554),n=s(221)},221:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=function(e){return s.has(e)},t.isReservedWord=i,t.isStrictBindOnlyReservedWord=o,t.isStrictBindReservedWord=function(e,t){return a(e,t)||o(e)},t.isStrictReservedWord=a;const s=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"]),r=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),n=new Set(["eval","arguments"]);function i(e,t){return t&&"await"===e||"enum"===e}function a(e,t){return i(e,t)||r.has(e)}function o(e){return n.has(e)}},9258:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t={}){if(""!==e&&m(t)){const s=function(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:c(c(e.white,e.bgRed),e.bold)}}(t.forceColor?(null!=f||(f=(0,a.createColors)(!0)),f):l);return function(e,t){let s="";for(const{type:r,value:n}of d(t)){const t=e[r];s+=t?n.split(u).map((e=>t(e))).join("\\n"):n}return s}(s,e)}return e},t.shouldHighlight=m;var n=s(8631),i=s(7990),a=function(e,t){if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var s=o(true);if(s&&s.has(e))return s.get(e);var r={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}return r.default=e,s&&s.set(e,r),r}(s(7614));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,s=new WeakMap;return(o=function(e){return e?s:t})(e)}const l="object"!=typeof r||"0"!==r.env.FORCE_COLOR&&"false"!==r.env.FORCE_COLOR?a.default:(0,a.createColors)(!1),c=(e,t)=>s=>e(t(s)),p=new Set(["as","async","from","get","of","set"]),u=/\\r\\n|[\\n\\r\\u2028\\u2029]/,h=/^[()[\\]{}]$/;let d,f;{const e=/^[a-z][\\w-]*$/i,t=function(t,s,r){if("name"===t.type){if((0,i.isKeyword)(t.value)||(0,i.isStrictReservedWord)(t.value,!0)||p.has(t.value))return"keyword";if(e.test(t.value)&&("<"===r[s-1]||"(null!=e||(e=s(1859)),t?(null!=r||(r=new e.constructor({enabled:!0,level:1})),r):e)}},5500:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIdentifierChar=p,t.isIdentifierName=function(e){let t=!0;for(let s=0;se)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function c(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&n.test(String.fromCharCode(e)):l(e,a)))}function p(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&i.test(String.fromCharCode(e)):l(e,a)||l(e,o))))}},7990:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return r.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return r.isIdentifierName}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return r.isIdentifierStart}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return n.isKeyword}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return n.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return n.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return n.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return n.isStrictReservedWord}});var r=s(5500),n=s(7206)},7206:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=function(e){return s.has(e)},t.isReservedWord=i,t.isStrictBindOnlyReservedWord=o,t.isStrictBindReservedWord=function(e,t){return a(e,t)||o(e)},t.isStrictReservedWord=a;const s=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"]),r=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),n=new Set(["eval","arguments"]);function i(e,t){return t&&"await"===e||"enum"===e}function a(e,t){return i(e,t)||r.has(e)}function o(e){return n.has(e)}},8710:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!(0,r.default)(e)){var t;const s=null!=(t=null==e?void 0:e.type)?t:JSON.stringify(e);throw new TypeError(`Not a valid node of type "${s}"`)}};var r=s(3261)},3658:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertAccessor=function(e,t){i("Accessor",e,t)},t.assertAnyTypeAnnotation=function(e,t){i("AnyTypeAnnotation",e,t)},t.assertArgumentPlaceholder=function(e,t){i("ArgumentPlaceholder",e,t)},t.assertArrayExpression=function(e,t){i("ArrayExpression",e,t)},t.assertArrayPattern=function(e,t){i("ArrayPattern",e,t)},t.assertArrayTypeAnnotation=function(e,t){i("ArrayTypeAnnotation",e,t)},t.assertArrowFunctionExpression=function(e,t){i("ArrowFunctionExpression",e,t)},t.assertAssignmentExpression=function(e,t){i("AssignmentExpression",e,t)},t.assertAssignmentPattern=function(e,t){i("AssignmentPattern",e,t)},t.assertAwaitExpression=function(e,t){i("AwaitExpression",e,t)},t.assertBigIntLiteral=function(e,t){i("BigIntLiteral",e,t)},t.assertBinary=function(e,t){i("Binary",e,t)},t.assertBinaryExpression=function(e,t){i("BinaryExpression",e,t)},t.assertBindExpression=function(e,t){i("BindExpression",e,t)},t.assertBlock=function(e,t){i("Block",e,t)},t.assertBlockParent=function(e,t){i("BlockParent",e,t)},t.assertBlockStatement=function(e,t){i("BlockStatement",e,t)},t.assertBooleanLiteral=function(e,t){i("BooleanLiteral",e,t)},t.assertBooleanLiteralTypeAnnotation=function(e,t){i("BooleanLiteralTypeAnnotation",e,t)},t.assertBooleanTypeAnnotation=function(e,t){i("BooleanTypeAnnotation",e,t)},t.assertBreakStatement=function(e,t){i("BreakStatement",e,t)},t.assertCallExpression=function(e,t){i("CallExpression",e,t)},t.assertCatchClause=function(e,t){i("CatchClause",e,t)},t.assertClass=function(e,t){i("Class",e,t)},t.assertClassAccessorProperty=function(e,t){i("ClassAccessorProperty",e,t)},t.assertClassBody=function(e,t){i("ClassBody",e,t)},t.assertClassDeclaration=function(e,t){i("ClassDeclaration",e,t)},t.assertClassExpression=function(e,t){i("ClassExpression",e,t)},t.assertClassImplements=function(e,t){i("ClassImplements",e,t)},t.assertClassMethod=function(e,t){i("ClassMethod",e,t)},t.assertClassPrivateMethod=function(e,t){i("ClassPrivateMethod",e,t)},t.assertClassPrivateProperty=function(e,t){i("ClassPrivateProperty",e,t)},t.assertClassProperty=function(e,t){i("ClassProperty",e,t)},t.assertCompletionStatement=function(e,t){i("CompletionStatement",e,t)},t.assertConditional=function(e,t){i("Conditional",e,t)},t.assertConditionalExpression=function(e,t){i("ConditionalExpression",e,t)},t.assertContinueStatement=function(e,t){i("ContinueStatement",e,t)},t.assertDebuggerStatement=function(e,t){i("DebuggerStatement",e,t)},t.assertDecimalLiteral=function(e,t){i("DecimalLiteral",e,t)},t.assertDeclaration=function(e,t){i("Declaration",e,t)},t.assertDeclareClass=function(e,t){i("DeclareClass",e,t)},t.assertDeclareExportAllDeclaration=function(e,t){i("DeclareExportAllDeclaration",e,t)},t.assertDeclareExportDeclaration=function(e,t){i("DeclareExportDeclaration",e,t)},t.assertDeclareFunction=function(e,t){i("DeclareFunction",e,t)},t.assertDeclareInterface=function(e,t){i("DeclareInterface",e,t)},t.assertDeclareModule=function(e,t){i("DeclareModule",e,t)},t.assertDeclareModuleExports=function(e,t){i("DeclareModuleExports",e,t)},t.assertDeclareOpaqueType=function(e,t){i("DeclareOpaqueType",e,t)},t.assertDeclareTypeAlias=function(e,t){i("DeclareTypeAlias",e,t)},t.assertDeclareVariable=function(e,t){i("DeclareVariable",e,t)},t.assertDeclaredPredicate=function(e,t){i("DeclaredPredicate",e,t)},t.assertDecorator=function(e,t){i("Decorator",e,t)},t.assertDirective=function(e,t){i("Directive",e,t)},t.assertDirectiveLiteral=function(e,t){i("DirectiveLiteral",e,t)},t.assertDoExpression=function(e,t){i("DoExpression",e,t)},t.assertDoWhileStatement=function(e,t){i("DoWhileStatement",e,t)},t.assertEmptyStatement=function(e,t){i("EmptyStatement",e,t)},t.assertEmptyTypeAnnotation=function(e,t){i("EmptyTypeAnnotation",e,t)},t.assertEnumBody=function(e,t){i("EnumBody",e,t)},t.assertEnumBooleanBody=function(e,t){i("EnumBooleanBody",e,t)},t.assertEnumBooleanMember=function(e,t){i("EnumBooleanMember",e,t)},t.assertEnumDeclaration=function(e,t){i("EnumDeclaration",e,t)},t.assertEnumDefaultedMember=function(e,t){i("EnumDefaultedMember",e,t)},t.assertEnumMember=function(e,t){i("EnumMember",e,t)},t.assertEnumNumberBody=function(e,t){i("EnumNumberBody",e,t)},t.assertEnumNumberMember=function(e,t){i("EnumNumberMember",e,t)},t.assertEnumStringBody=function(e,t){i("EnumStringBody",e,t)},t.assertEnumStringMember=function(e,t){i("EnumStringMember",e,t)},t.assertEnumSymbolBody=function(e,t){i("EnumSymbolBody",e,t)},t.assertExistsTypeAnnotation=function(e,t){i("ExistsTypeAnnotation",e,t)},t.assertExportAllDeclaration=function(e,t){i("ExportAllDeclaration",e,t)},t.assertExportDeclaration=function(e,t){i("ExportDeclaration",e,t)},t.assertExportDefaultDeclaration=function(e,t){i("ExportDefaultDeclaration",e,t)},t.assertExportDefaultSpecifier=function(e,t){i("ExportDefaultSpecifier",e,t)},t.assertExportNamedDeclaration=function(e,t){i("ExportNamedDeclaration",e,t)},t.assertExportNamespaceSpecifier=function(e,t){i("ExportNamespaceSpecifier",e,t)},t.assertExportSpecifier=function(e,t){i("ExportSpecifier",e,t)},t.assertExpression=function(e,t){i("Expression",e,t)},t.assertExpressionStatement=function(e,t){i("ExpressionStatement",e,t)},t.assertExpressionWrapper=function(e,t){i("ExpressionWrapper",e,t)},t.assertFile=function(e,t){i("File",e,t)},t.assertFlow=function(e,t){i("Flow",e,t)},t.assertFlowBaseAnnotation=function(e,t){i("FlowBaseAnnotation",e,t)},t.assertFlowDeclaration=function(e,t){i("FlowDeclaration",e,t)},t.assertFlowPredicate=function(e,t){i("FlowPredicate",e,t)},t.assertFlowType=function(e,t){i("FlowType",e,t)},t.assertFor=function(e,t){i("For",e,t)},t.assertForInStatement=function(e,t){i("ForInStatement",e,t)},t.assertForOfStatement=function(e,t){i("ForOfStatement",e,t)},t.assertForStatement=function(e,t){i("ForStatement",e,t)},t.assertForXStatement=function(e,t){i("ForXStatement",e,t)},t.assertFunction=function(e,t){i("Function",e,t)},t.assertFunctionDeclaration=function(e,t){i("FunctionDeclaration",e,t)},t.assertFunctionExpression=function(e,t){i("FunctionExpression",e,t)},t.assertFunctionParent=function(e,t){i("FunctionParent",e,t)},t.assertFunctionTypeAnnotation=function(e,t){i("FunctionTypeAnnotation",e,t)},t.assertFunctionTypeParam=function(e,t){i("FunctionTypeParam",e,t)},t.assertGenericTypeAnnotation=function(e,t){i("GenericTypeAnnotation",e,t)},t.assertIdentifier=function(e,t){i("Identifier",e,t)},t.assertIfStatement=function(e,t){i("IfStatement",e,t)},t.assertImmutable=function(e,t){i("Immutable",e,t)},t.assertImport=function(e,t){i("Import",e,t)},t.assertImportAttribute=function(e,t){i("ImportAttribute",e,t)},t.assertImportDeclaration=function(e,t){i("ImportDeclaration",e,t)},t.assertImportDefaultSpecifier=function(e,t){i("ImportDefaultSpecifier",e,t)},t.assertImportExpression=function(e,t){i("ImportExpression",e,t)},t.assertImportNamespaceSpecifier=function(e,t){i("ImportNamespaceSpecifier",e,t)},t.assertImportOrExportDeclaration=function(e,t){i("ImportOrExportDeclaration",e,t)},t.assertImportSpecifier=function(e,t){i("ImportSpecifier",e,t)},t.assertIndexedAccessType=function(e,t){i("IndexedAccessType",e,t)},t.assertInferredPredicate=function(e,t){i("InferredPredicate",e,t)},t.assertInterfaceDeclaration=function(e,t){i("InterfaceDeclaration",e,t)},t.assertInterfaceExtends=function(e,t){i("InterfaceExtends",e,t)},t.assertInterfaceTypeAnnotation=function(e,t){i("InterfaceTypeAnnotation",e,t)},t.assertInterpreterDirective=function(e,t){i("InterpreterDirective",e,t)},t.assertIntersectionTypeAnnotation=function(e,t){i("IntersectionTypeAnnotation",e,t)},t.assertJSX=function(e,t){i("JSX",e,t)},t.assertJSXAttribute=function(e,t){i("JSXAttribute",e,t)},t.assertJSXClosingElement=function(e,t){i("JSXClosingElement",e,t)},t.assertJSXClosingFragment=function(e,t){i("JSXClosingFragment",e,t)},t.assertJSXElement=function(e,t){i("JSXElement",e,t)},t.assertJSXEmptyExpression=function(e,t){i("JSXEmptyExpression",e,t)},t.assertJSXExpressionContainer=function(e,t){i("JSXExpressionContainer",e,t)},t.assertJSXFragment=function(e,t){i("JSXFragment",e,t)},t.assertJSXIdentifier=function(e,t){i("JSXIdentifier",e,t)},t.assertJSXMemberExpression=function(e,t){i("JSXMemberExpression",e,t)},t.assertJSXNamespacedName=function(e,t){i("JSXNamespacedName",e,t)},t.assertJSXOpeningElement=function(e,t){i("JSXOpeningElement",e,t)},t.assertJSXOpeningFragment=function(e,t){i("JSXOpeningFragment",e,t)},t.assertJSXSpreadAttribute=function(e,t){i("JSXSpreadAttribute",e,t)},t.assertJSXSpreadChild=function(e,t){i("JSXSpreadChild",e,t)},t.assertJSXText=function(e,t){i("JSXText",e,t)},t.assertLVal=function(e,t){i("LVal",e,t)},t.assertLabeledStatement=function(e,t){i("LabeledStatement",e,t)},t.assertLiteral=function(e,t){i("Literal",e,t)},t.assertLogicalExpression=function(e,t){i("LogicalExpression",e,t)},t.assertLoop=function(e,t){i("Loop",e,t)},t.assertMemberExpression=function(e,t){i("MemberExpression",e,t)},t.assertMetaProperty=function(e,t){i("MetaProperty",e,t)},t.assertMethod=function(e,t){i("Method",e,t)},t.assertMiscellaneous=function(e,t){i("Miscellaneous",e,t)},t.assertMixedTypeAnnotation=function(e,t){i("MixedTypeAnnotation",e,t)},t.assertModuleDeclaration=function(e,t){(0,n.default)("assertModuleDeclaration","assertImportOrExportDeclaration"),i("ModuleDeclaration",e,t)},t.assertModuleExpression=function(e,t){i("ModuleExpression",e,t)},t.assertModuleSpecifier=function(e,t){i("ModuleSpecifier",e,t)},t.assertNewExpression=function(e,t){i("NewExpression",e,t)},t.assertNoop=function(e,t){i("Noop",e,t)},t.assertNullLiteral=function(e,t){i("NullLiteral",e,t)},t.assertNullLiteralTypeAnnotation=function(e,t){i("NullLiteralTypeAnnotation",e,t)},t.assertNullableTypeAnnotation=function(e,t){i("NullableTypeAnnotation",e,t)},t.assertNumberLiteral=function(e,t){(0,n.default)("assertNumberLiteral","assertNumericLiteral"),i("NumberLiteral",e,t)},t.assertNumberLiteralTypeAnnotation=function(e,t){i("NumberLiteralTypeAnnotation",e,t)},t.assertNumberTypeAnnotation=function(e,t){i("NumberTypeAnnotation",e,t)},t.assertNumericLiteral=function(e,t){i("NumericLiteral",e,t)},t.assertObjectExpression=function(e,t){i("ObjectExpression",e,t)},t.assertObjectMember=function(e,t){i("ObjectMember",e,t)},t.assertObjectMethod=function(e,t){i("ObjectMethod",e,t)},t.assertObjectPattern=function(e,t){i("ObjectPattern",e,t)},t.assertObjectProperty=function(e,t){i("ObjectProperty",e,t)},t.assertObjectTypeAnnotation=function(e,t){i("ObjectTypeAnnotation",e,t)},t.assertObjectTypeCallProperty=function(e,t){i("ObjectTypeCallProperty",e,t)},t.assertObjectTypeIndexer=function(e,t){i("ObjectTypeIndexer",e,t)},t.assertObjectTypeInternalSlot=function(e,t){i("ObjectTypeInternalSlot",e,t)},t.assertObjectTypeProperty=function(e,t){i("ObjectTypeProperty",e,t)},t.assertObjectTypeSpreadProperty=function(e,t){i("ObjectTypeSpreadProperty",e,t)},t.assertOpaqueType=function(e,t){i("OpaqueType",e,t)},t.assertOptionalCallExpression=function(e,t){i("OptionalCallExpression",e,t)},t.assertOptionalIndexedAccessType=function(e,t){i("OptionalIndexedAccessType",e,t)},t.assertOptionalMemberExpression=function(e,t){i("OptionalMemberExpression",e,t)},t.assertParenthesizedExpression=function(e,t){i("ParenthesizedExpression",e,t)},t.assertPattern=function(e,t){i("Pattern",e,t)},t.assertPatternLike=function(e,t){i("PatternLike",e,t)},t.assertPipelineBareFunction=function(e,t){i("PipelineBareFunction",e,t)},t.assertPipelinePrimaryTopicReference=function(e,t){i("PipelinePrimaryTopicReference",e,t)},t.assertPipelineTopicExpression=function(e,t){i("PipelineTopicExpression",e,t)},t.assertPlaceholder=function(e,t){i("Placeholder",e,t)},t.assertPrivate=function(e,t){i("Private",e,t)},t.assertPrivateName=function(e,t){i("PrivateName",e,t)},t.assertProgram=function(e,t){i("Program",e,t)},t.assertProperty=function(e,t){i("Property",e,t)},t.assertPureish=function(e,t){i("Pureish",e,t)},t.assertQualifiedTypeIdentifier=function(e,t){i("QualifiedTypeIdentifier",e,t)},t.assertRecordExpression=function(e,t){i("RecordExpression",e,t)},t.assertRegExpLiteral=function(e,t){i("RegExpLiteral",e,t)},t.assertRegexLiteral=function(e,t){(0,n.default)("assertRegexLiteral","assertRegExpLiteral"),i("RegexLiteral",e,t)},t.assertRestElement=function(e,t){i("RestElement",e,t)},t.assertRestProperty=function(e,t){(0,n.default)("assertRestProperty","assertRestElement"),i("RestProperty",e,t)},t.assertReturnStatement=function(e,t){i("ReturnStatement",e,t)},t.assertScopable=function(e,t){i("Scopable",e,t)},t.assertSequenceExpression=function(e,t){i("SequenceExpression",e,t)},t.assertSpreadElement=function(e,t){i("SpreadElement",e,t)},t.assertSpreadProperty=function(e,t){(0,n.default)("assertSpreadProperty","assertSpreadElement"),i("SpreadProperty",e,t)},t.assertStandardized=function(e,t){i("Standardized",e,t)},t.assertStatement=function(e,t){i("Statement",e,t)},t.assertStaticBlock=function(e,t){i("StaticBlock",e,t)},t.assertStringLiteral=function(e,t){i("StringLiteral",e,t)},t.assertStringLiteralTypeAnnotation=function(e,t){i("StringLiteralTypeAnnotation",e,t)},t.assertStringTypeAnnotation=function(e,t){i("StringTypeAnnotation",e,t)},t.assertSuper=function(e,t){i("Super",e,t)},t.assertSwitchCase=function(e,t){i("SwitchCase",e,t)},t.assertSwitchStatement=function(e,t){i("SwitchStatement",e,t)},t.assertSymbolTypeAnnotation=function(e,t){i("SymbolTypeAnnotation",e,t)},t.assertTSAnyKeyword=function(e,t){i("TSAnyKeyword",e,t)},t.assertTSArrayType=function(e,t){i("TSArrayType",e,t)},t.assertTSAsExpression=function(e,t){i("TSAsExpression",e,t)},t.assertTSBaseType=function(e,t){i("TSBaseType",e,t)},t.assertTSBigIntKeyword=function(e,t){i("TSBigIntKeyword",e,t)},t.assertTSBooleanKeyword=function(e,t){i("TSBooleanKeyword",e,t)},t.assertTSCallSignatureDeclaration=function(e,t){i("TSCallSignatureDeclaration",e,t)},t.assertTSConditionalType=function(e,t){i("TSConditionalType",e,t)},t.assertTSConstructSignatureDeclaration=function(e,t){i("TSConstructSignatureDeclaration",e,t)},t.assertTSConstructorType=function(e,t){i("TSConstructorType",e,t)},t.assertTSDeclareFunction=function(e,t){i("TSDeclareFunction",e,t)},t.assertTSDeclareMethod=function(e,t){i("TSDeclareMethod",e,t)},t.assertTSEntityName=function(e,t){i("TSEntityName",e,t)},t.assertTSEnumBody=function(e,t){i("TSEnumBody",e,t)},t.assertTSEnumDeclaration=function(e,t){i("TSEnumDeclaration",e,t)},t.assertTSEnumMember=function(e,t){i("TSEnumMember",e,t)},t.assertTSExportAssignment=function(e,t){i("TSExportAssignment",e,t)},t.assertTSExpressionWithTypeArguments=function(e,t){i("TSExpressionWithTypeArguments",e,t)},t.assertTSExternalModuleReference=function(e,t){i("TSExternalModuleReference",e,t)},t.assertTSFunctionType=function(e,t){i("TSFunctionType",e,t)},t.assertTSImportEqualsDeclaration=function(e,t){i("TSImportEqualsDeclaration",e,t)},t.assertTSImportType=function(e,t){i("TSImportType",e,t)},t.assertTSIndexSignature=function(e,t){i("TSIndexSignature",e,t)},t.assertTSIndexedAccessType=function(e,t){i("TSIndexedAccessType",e,t)},t.assertTSInferType=function(e,t){i("TSInferType",e,t)},t.assertTSInstantiationExpression=function(e,t){i("TSInstantiationExpression",e,t)},t.assertTSInterfaceBody=function(e,t){i("TSInterfaceBody",e,t)},t.assertTSInterfaceDeclaration=function(e,t){i("TSInterfaceDeclaration",e,t)},t.assertTSIntersectionType=function(e,t){i("TSIntersectionType",e,t)},t.assertTSIntrinsicKeyword=function(e,t){i("TSIntrinsicKeyword",e,t)},t.assertTSLiteralType=function(e,t){i("TSLiteralType",e,t)},t.assertTSMappedType=function(e,t){i("TSMappedType",e,t)},t.assertTSMethodSignature=function(e,t){i("TSMethodSignature",e,t)},t.assertTSModuleBlock=function(e,t){i("TSModuleBlock",e,t)},t.assertTSModuleDeclaration=function(e,t){i("TSModuleDeclaration",e,t)},t.assertTSNamedTupleMember=function(e,t){i("TSNamedTupleMember",e,t)},t.assertTSNamespaceExportDeclaration=function(e,t){i("TSNamespaceExportDeclaration",e,t)},t.assertTSNeverKeyword=function(e,t){i("TSNeverKeyword",e,t)},t.assertTSNonNullExpression=function(e,t){i("TSNonNullExpression",e,t)},t.assertTSNullKeyword=function(e,t){i("TSNullKeyword",e,t)},t.assertTSNumberKeyword=function(e,t){i("TSNumberKeyword",e,t)},t.assertTSObjectKeyword=function(e,t){i("TSObjectKeyword",e,t)},t.assertTSOptionalType=function(e,t){i("TSOptionalType",e,t)},t.assertTSParameterProperty=function(e,t){i("TSParameterProperty",e,t)},t.assertTSParenthesizedType=function(e,t){i("TSParenthesizedType",e,t)},t.assertTSPropertySignature=function(e,t){i("TSPropertySignature",e,t)},t.assertTSQualifiedName=function(e,t){i("TSQualifiedName",e,t)},t.assertTSRestType=function(e,t){i("TSRestType",e,t)},t.assertTSSatisfiesExpression=function(e,t){i("TSSatisfiesExpression",e,t)},t.assertTSStringKeyword=function(e,t){i("TSStringKeyword",e,t)},t.assertTSSymbolKeyword=function(e,t){i("TSSymbolKeyword",e,t)},t.assertTSTemplateLiteralType=function(e,t){i("TSTemplateLiteralType",e,t)},t.assertTSThisType=function(e,t){i("TSThisType",e,t)},t.assertTSTupleType=function(e,t){i("TSTupleType",e,t)},t.assertTSType=function(e,t){i("TSType",e,t)},t.assertTSTypeAliasDeclaration=function(e,t){i("TSTypeAliasDeclaration",e,t)},t.assertTSTypeAnnotation=function(e,t){i("TSTypeAnnotation",e,t)},t.assertTSTypeAssertion=function(e,t){i("TSTypeAssertion",e,t)},t.assertTSTypeElement=function(e,t){i("TSTypeElement",e,t)},t.assertTSTypeLiteral=function(e,t){i("TSTypeLiteral",e,t)},t.assertTSTypeOperator=function(e,t){i("TSTypeOperator",e,t)},t.assertTSTypeParameter=function(e,t){i("TSTypeParameter",e,t)},t.assertTSTypeParameterDeclaration=function(e,t){i("TSTypeParameterDeclaration",e,t)},t.assertTSTypeParameterInstantiation=function(e,t){i("TSTypeParameterInstantiation",e,t)},t.assertTSTypePredicate=function(e,t){i("TSTypePredicate",e,t)},t.assertTSTypeQuery=function(e,t){i("TSTypeQuery",e,t)},t.assertTSTypeReference=function(e,t){i("TSTypeReference",e,t)},t.assertTSUndefinedKeyword=function(e,t){i("TSUndefinedKeyword",e,t)},t.assertTSUnionType=function(e,t){i("TSUnionType",e,t)},t.assertTSUnknownKeyword=function(e,t){i("TSUnknownKeyword",e,t)},t.assertTSVoidKeyword=function(e,t){i("TSVoidKeyword",e,t)},t.assertTaggedTemplateExpression=function(e,t){i("TaggedTemplateExpression",e,t)},t.assertTemplateElement=function(e,t){i("TemplateElement",e,t)},t.assertTemplateLiteral=function(e,t){i("TemplateLiteral",e,t)},t.assertTerminatorless=function(e,t){i("Terminatorless",e,t)},t.assertThisExpression=function(e,t){i("ThisExpression",e,t)},t.assertThisTypeAnnotation=function(e,t){i("ThisTypeAnnotation",e,t)},t.assertThrowStatement=function(e,t){i("ThrowStatement",e,t)},t.assertTopicReference=function(e,t){i("TopicReference",e,t)},t.assertTryStatement=function(e,t){i("TryStatement",e,t)},t.assertTupleExpression=function(e,t){i("TupleExpression",e,t)},t.assertTupleTypeAnnotation=function(e,t){i("TupleTypeAnnotation",e,t)},t.assertTypeAlias=function(e,t){i("TypeAlias",e,t)},t.assertTypeAnnotation=function(e,t){i("TypeAnnotation",e,t)},t.assertTypeCastExpression=function(e,t){i("TypeCastExpression",e,t)},t.assertTypeParameter=function(e,t){i("TypeParameter",e,t)},t.assertTypeParameterDeclaration=function(e,t){i("TypeParameterDeclaration",e,t)},t.assertTypeParameterInstantiation=function(e,t){i("TypeParameterInstantiation",e,t)},t.assertTypeScript=function(e,t){i("TypeScript",e,t)},t.assertTypeofTypeAnnotation=function(e,t){i("TypeofTypeAnnotation",e,t)},t.assertUnaryExpression=function(e,t){i("UnaryExpression",e,t)},t.assertUnaryLike=function(e,t){i("UnaryLike",e,t)},t.assertUnionTypeAnnotation=function(e,t){i("UnionTypeAnnotation",e,t)},t.assertUpdateExpression=function(e,t){i("UpdateExpression",e,t)},t.assertUserWhitespacable=function(e,t){i("UserWhitespacable",e,t)},t.assertV8IntrinsicIdentifier=function(e,t){i("V8IntrinsicIdentifier",e,t)},t.assertVariableDeclaration=function(e,t){i("VariableDeclaration",e,t)},t.assertVariableDeclarator=function(e,t){i("VariableDeclarator",e,t)},t.assertVariance=function(e,t){i("Variance",e,t)},t.assertVoidTypeAnnotation=function(e,t){i("VoidTypeAnnotation",e,t)},t.assertWhile=function(e,t){i("While",e,t)},t.assertWhileStatement=function(e,t){i("WhileStatement",e,t)},t.assertWithStatement=function(e,t){i("WithStatement",e,t)},t.assertYieldExpression=function(e,t){i("YieldExpression",e,t)};var r=s(2606),n=s(7525);function i(e,t,s){if(!(0,r.default)(e,t,s))throw new Error(`Expected type "${e}" with option ${JSON.stringify(s)}, but instead got "${t.type}".`)}},8163:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(0,n.default)(e);return 1===t.length?t[0]:(0,r.unionTypeAnnotation)(t)};var r=s(7890),n=s(4541)},4315:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(7890);t.default=function(e){switch(e){case"string":return(0,r.stringTypeAnnotation)();case"number":return(0,r.numberTypeAnnotation)();case"undefined":return(0,r.voidTypeAnnotation)();case"boolean":return(0,r.booleanTypeAnnotation)();case"function":return(0,r.genericTypeAnnotation)((0,r.identifier)("Function"));case"object":return(0,r.genericTypeAnnotation)((0,r.identifier)("Object"));case"symbol":return(0,r.genericTypeAnnotation)((0,r.identifier)("Symbol"));case"bigint":return(0,r.anyTypeAnnotation)()}throw new Error("Invalid typeof value: "+e)}},7890:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(5999);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var n=s(4819);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}}))}))},5999:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.anyTypeAnnotation=function(){return{type:"AnyTypeAnnotation"}},t.argumentPlaceholder=function(){return{type:"ArgumentPlaceholder"}},t.arrayExpression=function(e=[]){const t={type:"ArrayExpression",elements:e},s=o.ArrayExpression;return a(s.elements,t,"elements",e,1),t},t.arrayPattern=function(e){const t={type:"ArrayPattern",elements:e},s=o.ArrayPattern;return a(s.elements,t,"elements",e,1),t},t.arrayTypeAnnotation=function(e){const t={type:"ArrayTypeAnnotation",elementType:e},s=o.ArrayTypeAnnotation;return a(s.elementType,t,"elementType",e,1),t},t.arrowFunctionExpression=function(e,t,s=!1){const r={type:"ArrowFunctionExpression",params:e,body:t,async:s,expression:null},n=o.ArrowFunctionExpression;return a(n.params,r,"params",e,1),a(n.body,r,"body",t,1),a(n.async,r,"async",s),r},t.assignmentExpression=function(e,t,s){const r={type:"AssignmentExpression",operator:e,left:t,right:s},n=o.AssignmentExpression;return a(n.operator,r,"operator",e),a(n.left,r,"left",t,1),a(n.right,r,"right",s,1),r},t.assignmentPattern=function(e,t){const s={type:"AssignmentPattern",left:e,right:t},r=o.AssignmentPattern;return a(r.left,s,"left",e,1),a(r.right,s,"right",t,1),s},t.awaitExpression=function(e){const t={type:"AwaitExpression",argument:e},s=o.AwaitExpression;return a(s.argument,t,"argument",e,1),t},t.bigIntLiteral=function(e){const t={type:"BigIntLiteral",value:e},s=o.BigIntLiteral;return a(s.value,t,"value",e),t},t.binaryExpression=function(e,t,s){const r={type:"BinaryExpression",operator:e,left:t,right:s},n=o.BinaryExpression;return a(n.operator,r,"operator",e),a(n.left,r,"left",t,1),a(n.right,r,"right",s,1),r},t.bindExpression=function(e,t){const s={type:"BindExpression",object:e,callee:t},r=o.BindExpression;return a(r.object,s,"object",e,1),a(r.callee,s,"callee",t,1),s},t.blockStatement=function(e,t=[]){const s={type:"BlockStatement",body:e,directives:t},r=o.BlockStatement;return a(r.body,s,"body",e,1),a(r.directives,s,"directives",t,1),s},t.booleanLiteral=function(e){const t={type:"BooleanLiteral",value:e},s=o.BooleanLiteral;return a(s.value,t,"value",e),t},t.booleanLiteralTypeAnnotation=function(e){const t={type:"BooleanLiteralTypeAnnotation",value:e},s=o.BooleanLiteralTypeAnnotation;return a(s.value,t,"value",e),t},t.booleanTypeAnnotation=function(){return{type:"BooleanTypeAnnotation"}},t.breakStatement=function(e=null){const t={type:"BreakStatement",label:e},s=o.BreakStatement;return a(s.label,t,"label",e,1),t},t.callExpression=function(e,t){const s={type:"CallExpression",callee:e,arguments:t},r=o.CallExpression;return a(r.callee,s,"callee",e,1),a(r.arguments,s,"arguments",t,1),s},t.catchClause=function(e=null,t){const s={type:"CatchClause",param:e,body:t},r=o.CatchClause;return a(r.param,s,"param",e,1),a(r.body,s,"body",t,1),s},t.classAccessorProperty=function(e,t=null,s=null,r=null,n=!1,i=!1){const l={type:"ClassAccessorProperty",key:e,value:t,typeAnnotation:s,decorators:r,computed:n,static:i},c=o.ClassAccessorProperty;return a(c.key,l,"key",e,1),a(c.value,l,"value",t,1),a(c.typeAnnotation,l,"typeAnnotation",s,1),a(c.decorators,l,"decorators",r,1),a(c.computed,l,"computed",n),a(c.static,l,"static",i),l},t.classBody=function(e){const t={type:"ClassBody",body:e},s=o.ClassBody;return a(s.body,t,"body",e,1),t},t.classDeclaration=function(e=null,t=null,s,r=null){const n={type:"ClassDeclaration",id:e,superClass:t,body:s,decorators:r},i=o.ClassDeclaration;return a(i.id,n,"id",e,1),a(i.superClass,n,"superClass",t,1),a(i.body,n,"body",s,1),a(i.decorators,n,"decorators",r,1),n},t.classExpression=function(e=null,t=null,s,r=null){const n={type:"ClassExpression",id:e,superClass:t,body:s,decorators:r},i=o.ClassExpression;return a(i.id,n,"id",e,1),a(i.superClass,n,"superClass",t,1),a(i.body,n,"body",s,1),a(i.decorators,n,"decorators",r,1),n},t.classImplements=function(e,t=null){const s={type:"ClassImplements",id:e,typeParameters:t},r=o.ClassImplements;return a(r.id,s,"id",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.classMethod=function(e="method",t,s,r,n=!1,i=!1,l=!1,c=!1){const p={type:"ClassMethod",kind:e,key:t,params:s,body:r,computed:n,static:i,generator:l,async:c},u=o.ClassMethod;return a(u.kind,p,"kind",e),a(u.key,p,"key",t,1),a(u.params,p,"params",s,1),a(u.body,p,"body",r,1),a(u.computed,p,"computed",n),a(u.static,p,"static",i),a(u.generator,p,"generator",l),a(u.async,p,"async",c),p},t.classPrivateMethod=function(e="method",t,s,r,n=!1){const i={type:"ClassPrivateMethod",kind:e,key:t,params:s,body:r,static:n},l=o.ClassPrivateMethod;return a(l.kind,i,"kind",e),a(l.key,i,"key",t,1),a(l.params,i,"params",s,1),a(l.body,i,"body",r,1),a(l.static,i,"static",n),i},t.classPrivateProperty=function(e,t=null,s=null,r=!1){const n={type:"ClassPrivateProperty",key:e,value:t,decorators:s,static:r},i=o.ClassPrivateProperty;return a(i.key,n,"key",e,1),a(i.value,n,"value",t,1),a(i.decorators,n,"decorators",s,1),a(i.static,n,"static",r),n},t.classProperty=function(e,t=null,s=null,r=null,n=!1,i=!1){const l={type:"ClassProperty",key:e,value:t,typeAnnotation:s,decorators:r,computed:n,static:i},c=o.ClassProperty;return a(c.key,l,"key",e,1),a(c.value,l,"value",t,1),a(c.typeAnnotation,l,"typeAnnotation",s,1),a(c.decorators,l,"decorators",r,1),a(c.computed,l,"computed",n),a(c.static,l,"static",i),l},t.conditionalExpression=function(e,t,s){const r={type:"ConditionalExpression",test:e,consequent:t,alternate:s},n=o.ConditionalExpression;return a(n.test,r,"test",e,1),a(n.consequent,r,"consequent",t,1),a(n.alternate,r,"alternate",s,1),r},t.continueStatement=function(e=null){const t={type:"ContinueStatement",label:e},s=o.ContinueStatement;return a(s.label,t,"label",e,1),t},t.debuggerStatement=function(){return{type:"DebuggerStatement"}},t.decimalLiteral=function(e){const t={type:"DecimalLiteral",value:e},s=o.DecimalLiteral;return a(s.value,t,"value",e),t},t.declareClass=function(e,t=null,s=null,r){const n={type:"DeclareClass",id:e,typeParameters:t,extends:s,body:r},i=o.DeclareClass;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.extends,n,"extends",s,1),a(i.body,n,"body",r,1),n},t.declareExportAllDeclaration=function(e,t=null){const s={type:"DeclareExportAllDeclaration",source:e,attributes:t},r=o.DeclareExportAllDeclaration;return a(r.source,s,"source",e,1),a(r.attributes,s,"attributes",t,1),s},t.declareExportDeclaration=function(e=null,t=null,s=null,r=null){const n={type:"DeclareExportDeclaration",declaration:e,specifiers:t,source:s,attributes:r},i=o.DeclareExportDeclaration;return a(i.declaration,n,"declaration",e,1),a(i.specifiers,n,"specifiers",t,1),a(i.source,n,"source",s,1),a(i.attributes,n,"attributes",r,1),n},t.declareFunction=function(e){const t={type:"DeclareFunction",id:e},s=o.DeclareFunction;return a(s.id,t,"id",e,1),t},t.declareInterface=function(e,t=null,s=null,r){const n={type:"DeclareInterface",id:e,typeParameters:t,extends:s,body:r},i=o.DeclareInterface;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.extends,n,"extends",s,1),a(i.body,n,"body",r,1),n},t.declareModule=function(e,t,s=null){const r={type:"DeclareModule",id:e,body:t,kind:s},n=o.DeclareModule;return a(n.id,r,"id",e,1),a(n.body,r,"body",t,1),a(n.kind,r,"kind",s),r},t.declareModuleExports=function(e){const t={type:"DeclareModuleExports",typeAnnotation:e},s=o.DeclareModuleExports;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.declareOpaqueType=function(e,t=null,s=null){const r={type:"DeclareOpaqueType",id:e,typeParameters:t,supertype:s},n=o.DeclareOpaqueType;return a(n.id,r,"id",e,1),a(n.typeParameters,r,"typeParameters",t,1),a(n.supertype,r,"supertype",s,1),r},t.declareTypeAlias=function(e,t=null,s){const r={type:"DeclareTypeAlias",id:e,typeParameters:t,right:s},n=o.DeclareTypeAlias;return a(n.id,r,"id",e,1),a(n.typeParameters,r,"typeParameters",t,1),a(n.right,r,"right",s,1),r},t.declareVariable=function(e){const t={type:"DeclareVariable",id:e},s=o.DeclareVariable;return a(s.id,t,"id",e,1),t},t.declaredPredicate=function(e){const t={type:"DeclaredPredicate",value:e},s=o.DeclaredPredicate;return a(s.value,t,"value",e,1),t},t.decorator=function(e){const t={type:"Decorator",expression:e},s=o.Decorator;return a(s.expression,t,"expression",e,1),t},t.directive=function(e){const t={type:"Directive",value:e},s=o.Directive;return a(s.value,t,"value",e,1),t},t.directiveLiteral=function(e){const t={type:"DirectiveLiteral",value:e},s=o.DirectiveLiteral;return a(s.value,t,"value",e),t},t.doExpression=function(e,t=!1){const s={type:"DoExpression",body:e,async:t},r=o.DoExpression;return a(r.body,s,"body",e,1),a(r.async,s,"async",t),s},t.doWhileStatement=function(e,t){const s={type:"DoWhileStatement",test:e,body:t},r=o.DoWhileStatement;return a(r.test,s,"test",e,1),a(r.body,s,"body",t,1),s},t.emptyStatement=function(){return{type:"EmptyStatement"}},t.emptyTypeAnnotation=function(){return{type:"EmptyTypeAnnotation"}},t.enumBooleanBody=function(e){const t={type:"EnumBooleanBody",members:e,explicitType:null,hasUnknownMembers:null},s=o.EnumBooleanBody;return a(s.members,t,"members",e,1),t},t.enumBooleanMember=function(e){const t={type:"EnumBooleanMember",id:e,init:null},s=o.EnumBooleanMember;return a(s.id,t,"id",e,1),t},t.enumDeclaration=function(e,t){const s={type:"EnumDeclaration",id:e,body:t},r=o.EnumDeclaration;return a(r.id,s,"id",e,1),a(r.body,s,"body",t,1),s},t.enumDefaultedMember=function(e){const t={type:"EnumDefaultedMember",id:e},s=o.EnumDefaultedMember;return a(s.id,t,"id",e,1),t},t.enumNumberBody=function(e){const t={type:"EnumNumberBody",members:e,explicitType:null,hasUnknownMembers:null},s=o.EnumNumberBody;return a(s.members,t,"members",e,1),t},t.enumNumberMember=function(e,t){const s={type:"EnumNumberMember",id:e,init:t},r=o.EnumNumberMember;return a(r.id,s,"id",e,1),a(r.init,s,"init",t,1),s},t.enumStringBody=function(e){const t={type:"EnumStringBody",members:e,explicitType:null,hasUnknownMembers:null},s=o.EnumStringBody;return a(s.members,t,"members",e,1),t},t.enumStringMember=function(e,t){const s={type:"EnumStringMember",id:e,init:t},r=o.EnumStringMember;return a(r.id,s,"id",e,1),a(r.init,s,"init",t,1),s},t.enumSymbolBody=function(e){const t={type:"EnumSymbolBody",members:e,hasUnknownMembers:null},s=o.EnumSymbolBody;return a(s.members,t,"members",e,1),t},t.existsTypeAnnotation=function(){return{type:"ExistsTypeAnnotation"}},t.exportAllDeclaration=function(e){const t={type:"ExportAllDeclaration",source:e},s=o.ExportAllDeclaration;return a(s.source,t,"source",e,1),t},t.exportDefaultDeclaration=function(e){const t={type:"ExportDefaultDeclaration",declaration:e},s=o.ExportDefaultDeclaration;return a(s.declaration,t,"declaration",e,1),t},t.exportDefaultSpecifier=function(e){const t={type:"ExportDefaultSpecifier",exported:e},s=o.ExportDefaultSpecifier;return a(s.exported,t,"exported",e,1),t},t.exportNamedDeclaration=function(e=null,t=[],s=null){const r={type:"ExportNamedDeclaration",declaration:e,specifiers:t,source:s},n=o.ExportNamedDeclaration;return a(n.declaration,r,"declaration",e,1),a(n.specifiers,r,"specifiers",t,1),a(n.source,r,"source",s,1),r},t.exportNamespaceSpecifier=function(e){const t={type:"ExportNamespaceSpecifier",exported:e},s=o.ExportNamespaceSpecifier;return a(s.exported,t,"exported",e,1),t},t.exportSpecifier=function(e,t){const s={type:"ExportSpecifier",local:e,exported:t},r=o.ExportSpecifier;return a(r.local,s,"local",e,1),a(r.exported,s,"exported",t,1),s},t.expressionStatement=function(e){const t={type:"ExpressionStatement",expression:e},s=o.ExpressionStatement;return a(s.expression,t,"expression",e,1),t},t.file=function(e,t=null,s=null){const r={type:"File",program:e,comments:t,tokens:s},n=o.File;return a(n.program,r,"program",e,1),a(n.comments,r,"comments",t,1),a(n.tokens,r,"tokens",s),r},t.forInStatement=function(e,t,s){const r={type:"ForInStatement",left:e,right:t,body:s},n=o.ForInStatement;return a(n.left,r,"left",e,1),a(n.right,r,"right",t,1),a(n.body,r,"body",s,1),r},t.forOfStatement=function(e,t,s,r=!1){const n={type:"ForOfStatement",left:e,right:t,body:s,await:r},i=o.ForOfStatement;return a(i.left,n,"left",e,1),a(i.right,n,"right",t,1),a(i.body,n,"body",s,1),a(i.await,n,"await",r),n},t.forStatement=function(e=null,t=null,s=null,r){const n={type:"ForStatement",init:e,test:t,update:s,body:r},i=o.ForStatement;return a(i.init,n,"init",e,1),a(i.test,n,"test",t,1),a(i.update,n,"update",s,1),a(i.body,n,"body",r,1),n},t.functionDeclaration=function(e=null,t,s,r=!1,n=!1){const i={type:"FunctionDeclaration",id:e,params:t,body:s,generator:r,async:n},l=o.FunctionDeclaration;return a(l.id,i,"id",e,1),a(l.params,i,"params",t,1),a(l.body,i,"body",s,1),a(l.generator,i,"generator",r),a(l.async,i,"async",n),i},t.functionExpression=function(e=null,t,s,r=!1,n=!1){const i={type:"FunctionExpression",id:e,params:t,body:s,generator:r,async:n},l=o.FunctionExpression;return a(l.id,i,"id",e,1),a(l.params,i,"params",t,1),a(l.body,i,"body",s,1),a(l.generator,i,"generator",r),a(l.async,i,"async",n),i},t.functionTypeAnnotation=function(e=null,t,s=null,r){const n={type:"FunctionTypeAnnotation",typeParameters:e,params:t,rest:s,returnType:r},i=o.FunctionTypeAnnotation;return a(i.typeParameters,n,"typeParameters",e,1),a(i.params,n,"params",t,1),a(i.rest,n,"rest",s,1),a(i.returnType,n,"returnType",r,1),n},t.functionTypeParam=function(e=null,t){const s={type:"FunctionTypeParam",name:e,typeAnnotation:t},r=o.FunctionTypeParam;return a(r.name,s,"name",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.genericTypeAnnotation=function(e,t=null){const s={type:"GenericTypeAnnotation",id:e,typeParameters:t},r=o.GenericTypeAnnotation;return a(r.id,s,"id",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.identifier=function(e){const t={type:"Identifier",name:e},s=o.Identifier;return a(s.name,t,"name",e),t},t.ifStatement=function(e,t,s=null){const r={type:"IfStatement",test:e,consequent:t,alternate:s},n=o.IfStatement;return a(n.test,r,"test",e,1),a(n.consequent,r,"consequent",t,1),a(n.alternate,r,"alternate",s,1),r},t.import=function(){return{type:"Import"}},t.importAttribute=function(e,t){const s={type:"ImportAttribute",key:e,value:t},r=o.ImportAttribute;return a(r.key,s,"key",e,1),a(r.value,s,"value",t,1),s},t.importDeclaration=function(e,t){const s={type:"ImportDeclaration",specifiers:e,source:t},r=o.ImportDeclaration;return a(r.specifiers,s,"specifiers",e,1),a(r.source,s,"source",t,1),s},t.importDefaultSpecifier=function(e){const t={type:"ImportDefaultSpecifier",local:e},s=o.ImportDefaultSpecifier;return a(s.local,t,"local",e,1),t},t.importExpression=function(e,t=null){const s={type:"ImportExpression",source:e,options:t},r=o.ImportExpression;return a(r.source,s,"source",e,1),a(r.options,s,"options",t,1),s},t.importNamespaceSpecifier=function(e){const t={type:"ImportNamespaceSpecifier",local:e},s=o.ImportNamespaceSpecifier;return a(s.local,t,"local",e,1),t},t.importSpecifier=function(e,t){const s={type:"ImportSpecifier",local:e,imported:t},r=o.ImportSpecifier;return a(r.local,s,"local",e,1),a(r.imported,s,"imported",t,1),s},t.indexedAccessType=function(e,t){const s={type:"IndexedAccessType",objectType:e,indexType:t},r=o.IndexedAccessType;return a(r.objectType,s,"objectType",e,1),a(r.indexType,s,"indexType",t,1),s},t.inferredPredicate=function(){return{type:"InferredPredicate"}},t.interfaceDeclaration=function(e,t=null,s=null,r){const n={type:"InterfaceDeclaration",id:e,typeParameters:t,extends:s,body:r},i=o.InterfaceDeclaration;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.extends,n,"extends",s,1),a(i.body,n,"body",r,1),n},t.interfaceExtends=function(e,t=null){const s={type:"InterfaceExtends",id:e,typeParameters:t},r=o.InterfaceExtends;return a(r.id,s,"id",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.interfaceTypeAnnotation=function(e=null,t){const s={type:"InterfaceTypeAnnotation",extends:e,body:t},r=o.InterfaceTypeAnnotation;return a(r.extends,s,"extends",e,1),a(r.body,s,"body",t,1),s},t.interpreterDirective=function(e){const t={type:"InterpreterDirective",value:e},s=o.InterpreterDirective;return a(s.value,t,"value",e),t},t.intersectionTypeAnnotation=function(e){const t={type:"IntersectionTypeAnnotation",types:e},s=o.IntersectionTypeAnnotation;return a(s.types,t,"types",e,1),t},t.jSXAttribute=t.jsxAttribute=function(e,t=null){const s={type:"JSXAttribute",name:e,value:t},r=o.JSXAttribute;return a(r.name,s,"name",e,1),a(r.value,s,"value",t,1),s},t.jSXClosingElement=t.jsxClosingElement=function(e){const t={type:"JSXClosingElement",name:e},s=o.JSXClosingElement;return a(s.name,t,"name",e,1),t},t.jSXClosingFragment=t.jsxClosingFragment=function(){return{type:"JSXClosingFragment"}},t.jSXElement=t.jsxElement=function(e,t=null,s,r=null){const n={type:"JSXElement",openingElement:e,closingElement:t,children:s,selfClosing:r},i=o.JSXElement;return a(i.openingElement,n,"openingElement",e,1),a(i.closingElement,n,"closingElement",t,1),a(i.children,n,"children",s,1),a(i.selfClosing,n,"selfClosing",r),n},t.jSXEmptyExpression=t.jsxEmptyExpression=function(){return{type:"JSXEmptyExpression"}},t.jSXExpressionContainer=t.jsxExpressionContainer=function(e){const t={type:"JSXExpressionContainer",expression:e},s=o.JSXExpressionContainer;return a(s.expression,t,"expression",e,1),t},t.jSXFragment=t.jsxFragment=function(e,t,s){const r={type:"JSXFragment",openingFragment:e,closingFragment:t,children:s},n=o.JSXFragment;return a(n.openingFragment,r,"openingFragment",e,1),a(n.closingFragment,r,"closingFragment",t,1),a(n.children,r,"children",s,1),r},t.jSXIdentifier=t.jsxIdentifier=function(e){const t={type:"JSXIdentifier",name:e},s=o.JSXIdentifier;return a(s.name,t,"name",e),t},t.jSXMemberExpression=t.jsxMemberExpression=function(e,t){const s={type:"JSXMemberExpression",object:e,property:t},r=o.JSXMemberExpression;return a(r.object,s,"object",e,1),a(r.property,s,"property",t,1),s},t.jSXNamespacedName=t.jsxNamespacedName=function(e,t){const s={type:"JSXNamespacedName",namespace:e,name:t},r=o.JSXNamespacedName;return a(r.namespace,s,"namespace",e,1),a(r.name,s,"name",t,1),s},t.jSXOpeningElement=t.jsxOpeningElement=function(e,t,s=!1){const r={type:"JSXOpeningElement",name:e,attributes:t,selfClosing:s},n=o.JSXOpeningElement;return a(n.name,r,"name",e,1),a(n.attributes,r,"attributes",t,1),a(n.selfClosing,r,"selfClosing",s),r},t.jSXOpeningFragment=t.jsxOpeningFragment=function(){return{type:"JSXOpeningFragment"}},t.jSXSpreadAttribute=t.jsxSpreadAttribute=function(e){const t={type:"JSXSpreadAttribute",argument:e},s=o.JSXSpreadAttribute;return a(s.argument,t,"argument",e,1),t},t.jSXSpreadChild=t.jsxSpreadChild=function(e){const t={type:"JSXSpreadChild",expression:e},s=o.JSXSpreadChild;return a(s.expression,t,"expression",e,1),t},t.jSXText=t.jsxText=function(e){const t={type:"JSXText",value:e},s=o.JSXText;return a(s.value,t,"value",e),t},t.labeledStatement=function(e,t){const s={type:"LabeledStatement",label:e,body:t},r=o.LabeledStatement;return a(r.label,s,"label",e,1),a(r.body,s,"body",t,1),s},t.logicalExpression=function(e,t,s){const r={type:"LogicalExpression",operator:e,left:t,right:s},n=o.LogicalExpression;return a(n.operator,r,"operator",e),a(n.left,r,"left",t,1),a(n.right,r,"right",s,1),r},t.memberExpression=function(e,t,s=!1,r=null){const n={type:"MemberExpression",object:e,property:t,computed:s,optional:r},i=o.MemberExpression;return a(i.object,n,"object",e,1),a(i.property,n,"property",t,1),a(i.computed,n,"computed",s),a(i.optional,n,"optional",r),n},t.metaProperty=function(e,t){const s={type:"MetaProperty",meta:e,property:t},r=o.MetaProperty;return a(r.meta,s,"meta",e,1),a(r.property,s,"property",t,1),s},t.mixedTypeAnnotation=function(){return{type:"MixedTypeAnnotation"}},t.moduleExpression=function(e){const t={type:"ModuleExpression",body:e},s=o.ModuleExpression;return a(s.body,t,"body",e,1),t},t.newExpression=function(e,t){const s={type:"NewExpression",callee:e,arguments:t},r=o.NewExpression;return a(r.callee,s,"callee",e,1),a(r.arguments,s,"arguments",t,1),s},t.noop=function(){return{type:"Noop"}},t.nullLiteral=function(){return{type:"NullLiteral"}},t.nullLiteralTypeAnnotation=function(){return{type:"NullLiteralTypeAnnotation"}},t.nullableTypeAnnotation=function(e){const t={type:"NullableTypeAnnotation",typeAnnotation:e},s=o.NullableTypeAnnotation;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.numberLiteral=function(e){return(0,n.default)("NumberLiteral","NumericLiteral","The node type "),l(e)},t.numberLiteralTypeAnnotation=function(e){const t={type:"NumberLiteralTypeAnnotation",value:e},s=o.NumberLiteralTypeAnnotation;return a(s.value,t,"value",e),t},t.numberTypeAnnotation=function(){return{type:"NumberTypeAnnotation"}},t.numericLiteral=l,t.objectExpression=function(e){const t={type:"ObjectExpression",properties:e},s=o.ObjectExpression;return a(s.properties,t,"properties",e,1),t},t.objectMethod=function(e="method",t,s,r,n=!1,i=!1,l=!1){const c={type:"ObjectMethod",kind:e,key:t,params:s,body:r,computed:n,generator:i,async:l},p=o.ObjectMethod;return a(p.kind,c,"kind",e),a(p.key,c,"key",t,1),a(p.params,c,"params",s,1),a(p.body,c,"body",r,1),a(p.computed,c,"computed",n),a(p.generator,c,"generator",i),a(p.async,c,"async",l),c},t.objectPattern=function(e){const t={type:"ObjectPattern",properties:e},s=o.ObjectPattern;return a(s.properties,t,"properties",e,1),t},t.objectProperty=function(e,t,s=!1,r=!1,n=null){const i={type:"ObjectProperty",key:e,value:t,computed:s,shorthand:r,decorators:n},l=o.ObjectProperty;return a(l.key,i,"key",e,1),a(l.value,i,"value",t,1),a(l.computed,i,"computed",s),a(l.shorthand,i,"shorthand",r),a(l.decorators,i,"decorators",n,1),i},t.objectTypeAnnotation=function(e,t=[],s=[],r=[],n=!1){const i={type:"ObjectTypeAnnotation",properties:e,indexers:t,callProperties:s,internalSlots:r,exact:n},l=o.ObjectTypeAnnotation;return a(l.properties,i,"properties",e,1),a(l.indexers,i,"indexers",t,1),a(l.callProperties,i,"callProperties",s,1),a(l.internalSlots,i,"internalSlots",r,1),a(l.exact,i,"exact",n),i},t.objectTypeCallProperty=function(e){const t={type:"ObjectTypeCallProperty",value:e,static:null},s=o.ObjectTypeCallProperty;return a(s.value,t,"value",e,1),t},t.objectTypeIndexer=function(e=null,t,s,r=null){const n={type:"ObjectTypeIndexer",id:e,key:t,value:s,variance:r,static:null},i=o.ObjectTypeIndexer;return a(i.id,n,"id",e,1),a(i.key,n,"key",t,1),a(i.value,n,"value",s,1),a(i.variance,n,"variance",r,1),n},t.objectTypeInternalSlot=function(e,t,s,r,n){const i={type:"ObjectTypeInternalSlot",id:e,value:t,optional:s,static:r,method:n},l=o.ObjectTypeInternalSlot;return a(l.id,i,"id",e,1),a(l.value,i,"value",t,1),a(l.optional,i,"optional",s),a(l.static,i,"static",r),a(l.method,i,"method",n),i},t.objectTypeProperty=function(e,t,s=null){const r={type:"ObjectTypeProperty",key:e,value:t,variance:s,kind:null,method:null,optional:null,proto:null,static:null},n=o.ObjectTypeProperty;return a(n.key,r,"key",e,1),a(n.value,r,"value",t,1),a(n.variance,r,"variance",s,1),r},t.objectTypeSpreadProperty=function(e){const t={type:"ObjectTypeSpreadProperty",argument:e},s=o.ObjectTypeSpreadProperty;return a(s.argument,t,"argument",e,1),t},t.opaqueType=function(e,t=null,s=null,r){const n={type:"OpaqueType",id:e,typeParameters:t,supertype:s,impltype:r},i=o.OpaqueType;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.supertype,n,"supertype",s,1),a(i.impltype,n,"impltype",r,1),n},t.optionalCallExpression=function(e,t,s){const r={type:"OptionalCallExpression",callee:e,arguments:t,optional:s},n=o.OptionalCallExpression;return a(n.callee,r,"callee",e,1),a(n.arguments,r,"arguments",t,1),a(n.optional,r,"optional",s),r},t.optionalIndexedAccessType=function(e,t){const s={type:"OptionalIndexedAccessType",objectType:e,indexType:t,optional:null},r=o.OptionalIndexedAccessType;return a(r.objectType,s,"objectType",e,1),a(r.indexType,s,"indexType",t,1),s},t.optionalMemberExpression=function(e,t,s=!1,r){const n={type:"OptionalMemberExpression",object:e,property:t,computed:s,optional:r},i=o.OptionalMemberExpression;return a(i.object,n,"object",e,1),a(i.property,n,"property",t,1),a(i.computed,n,"computed",s),a(i.optional,n,"optional",r),n},t.parenthesizedExpression=function(e){const t={type:"ParenthesizedExpression",expression:e},s=o.ParenthesizedExpression;return a(s.expression,t,"expression",e,1),t},t.pipelineBareFunction=function(e){const t={type:"PipelineBareFunction",callee:e},s=o.PipelineBareFunction;return a(s.callee,t,"callee",e,1),t},t.pipelinePrimaryTopicReference=function(){return{type:"PipelinePrimaryTopicReference"}},t.pipelineTopicExpression=function(e){const t={type:"PipelineTopicExpression",expression:e},s=o.PipelineTopicExpression;return a(s.expression,t,"expression",e,1),t},t.placeholder=function(e,t){const s={type:"Placeholder",expectedNode:e,name:t},r=o.Placeholder;return a(r.expectedNode,s,"expectedNode",e),a(r.name,s,"name",t,1),s},t.privateName=function(e){const t={type:"PrivateName",id:e},s=o.PrivateName;return a(s.id,t,"id",e,1),t},t.program=function(e,t=[],s="script",r=null){const n={type:"Program",body:e,directives:t,sourceType:s,interpreter:r},i=o.Program;return a(i.body,n,"body",e,1),a(i.directives,n,"directives",t,1),a(i.sourceType,n,"sourceType",s),a(i.interpreter,n,"interpreter",r,1),n},t.qualifiedTypeIdentifier=function(e,t){const s={type:"QualifiedTypeIdentifier",id:e,qualification:t},r=o.QualifiedTypeIdentifier;return a(r.id,s,"id",e,1),a(r.qualification,s,"qualification",t,1),s},t.recordExpression=function(e){const t={type:"RecordExpression",properties:e},s=o.RecordExpression;return a(s.properties,t,"properties",e,1),t},t.regExpLiteral=c,t.regexLiteral=function(e,t=""){return(0,n.default)("RegexLiteral","RegExpLiteral","The node type "),c(e,t)},t.restElement=p,t.restProperty=function(e){return(0,n.default)("RestProperty","RestElement","The node type "),p(e)},t.returnStatement=function(e=null){const t={type:"ReturnStatement",argument:e},s=o.ReturnStatement;return a(s.argument,t,"argument",e,1),t},t.sequenceExpression=function(e){const t={type:"SequenceExpression",expressions:e},s=o.SequenceExpression;return a(s.expressions,t,"expressions",e,1),t},t.spreadElement=u,t.spreadProperty=function(e){return(0,n.default)("SpreadProperty","SpreadElement","The node type "),u(e)},t.staticBlock=function(e){const t={type:"StaticBlock",body:e},s=o.StaticBlock;return a(s.body,t,"body",e,1),t},t.stringLiteral=function(e){const t={type:"StringLiteral",value:e},s=o.StringLiteral;return a(s.value,t,"value",e),t},t.stringLiteralTypeAnnotation=function(e){const t={type:"StringLiteralTypeAnnotation",value:e},s=o.StringLiteralTypeAnnotation;return a(s.value,t,"value",e),t},t.stringTypeAnnotation=function(){return{type:"StringTypeAnnotation"}},t.super=function(){return{type:"Super"}},t.switchCase=function(e=null,t){const s={type:"SwitchCase",test:e,consequent:t},r=o.SwitchCase;return a(r.test,s,"test",e,1),a(r.consequent,s,"consequent",t,1),s},t.switchStatement=function(e,t){const s={type:"SwitchStatement",discriminant:e,cases:t},r=o.SwitchStatement;return a(r.discriminant,s,"discriminant",e,1),a(r.cases,s,"cases",t,1),s},t.symbolTypeAnnotation=function(){return{type:"SymbolTypeAnnotation"}},t.taggedTemplateExpression=function(e,t){const s={type:"TaggedTemplateExpression",tag:e,quasi:t},r=o.TaggedTemplateExpression;return a(r.tag,s,"tag",e,1),a(r.quasi,s,"quasi",t,1),s},t.templateElement=function(e,t=!1){const s={type:"TemplateElement",value:e,tail:t},r=o.TemplateElement;return a(r.value,s,"value",e),a(r.tail,s,"tail",t),s},t.templateLiteral=function(e,t){const s={type:"TemplateLiteral",quasis:e,expressions:t},r=o.TemplateLiteral;return a(r.quasis,s,"quasis",e,1),a(r.expressions,s,"expressions",t,1),s},t.thisExpression=function(){return{type:"ThisExpression"}},t.thisTypeAnnotation=function(){return{type:"ThisTypeAnnotation"}},t.throwStatement=function(e){const t={type:"ThrowStatement",argument:e},s=o.ThrowStatement;return a(s.argument,t,"argument",e,1),t},t.topicReference=function(){return{type:"TopicReference"}},t.tryStatement=function(e,t=null,s=null){const r={type:"TryStatement",block:e,handler:t,finalizer:s},n=o.TryStatement;return a(n.block,r,"block",e,1),a(n.handler,r,"handler",t,1),a(n.finalizer,r,"finalizer",s,1),r},t.tSAnyKeyword=t.tsAnyKeyword=function(){return{type:"TSAnyKeyword"}},t.tSArrayType=t.tsArrayType=function(e){const t={type:"TSArrayType",elementType:e},s=o.TSArrayType;return a(s.elementType,t,"elementType",e,1),t},t.tSAsExpression=t.tsAsExpression=function(e,t){const s={type:"TSAsExpression",expression:e,typeAnnotation:t},r=o.TSAsExpression;return a(r.expression,s,"expression",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.tSBigIntKeyword=t.tsBigIntKeyword=function(){return{type:"TSBigIntKeyword"}},t.tSBooleanKeyword=t.tsBooleanKeyword=function(){return{type:"TSBooleanKeyword"}},t.tSCallSignatureDeclaration=t.tsCallSignatureDeclaration=function(e=null,t,s=null){const r={type:"TSCallSignatureDeclaration",typeParameters:e,parameters:t,typeAnnotation:s},n=o.TSCallSignatureDeclaration;return a(n.typeParameters,r,"typeParameters",e,1),a(n.parameters,r,"parameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSConditionalType=t.tsConditionalType=function(e,t,s,r){const n={type:"TSConditionalType",checkType:e,extendsType:t,trueType:s,falseType:r},i=o.TSConditionalType;return a(i.checkType,n,"checkType",e,1),a(i.extendsType,n,"extendsType",t,1),a(i.trueType,n,"trueType",s,1),a(i.falseType,n,"falseType",r,1),n},t.tSConstructSignatureDeclaration=t.tsConstructSignatureDeclaration=function(e=null,t,s=null){const r={type:"TSConstructSignatureDeclaration",typeParameters:e,parameters:t,typeAnnotation:s},n=o.TSConstructSignatureDeclaration;return a(n.typeParameters,r,"typeParameters",e,1),a(n.parameters,r,"parameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSConstructorType=t.tsConstructorType=function(e=null,t,s=null){const r={type:"TSConstructorType",typeParameters:e,parameters:t,typeAnnotation:s},n=o.TSConstructorType;return a(n.typeParameters,r,"typeParameters",e,1),a(n.parameters,r,"parameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSDeclareFunction=t.tsDeclareFunction=function(e=null,t=null,s,r=null){const n={type:"TSDeclareFunction",id:e,typeParameters:t,params:s,returnType:r},i=o.TSDeclareFunction;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.params,n,"params",s,1),a(i.returnType,n,"returnType",r,1),n},t.tSDeclareMethod=t.tsDeclareMethod=function(e=null,t,s=null,r,n=null){const i={type:"TSDeclareMethod",decorators:e,key:t,typeParameters:s,params:r,returnType:n},l=o.TSDeclareMethod;return a(l.decorators,i,"decorators",e,1),a(l.key,i,"key",t,1),a(l.typeParameters,i,"typeParameters",s,1),a(l.params,i,"params",r,1),a(l.returnType,i,"returnType",n,1),i},t.tSEnumBody=t.tsEnumBody=function(e){const t={type:"TSEnumBody",members:e},s=o.TSEnumBody;return a(s.members,t,"members",e,1),t},t.tSEnumDeclaration=t.tsEnumDeclaration=function(e,t){const s={type:"TSEnumDeclaration",id:e,members:t},r=o.TSEnumDeclaration;return a(r.id,s,"id",e,1),a(r.members,s,"members",t,1),s},t.tSEnumMember=t.tsEnumMember=function(e,t=null){const s={type:"TSEnumMember",id:e,initializer:t},r=o.TSEnumMember;return a(r.id,s,"id",e,1),a(r.initializer,s,"initializer",t,1),s},t.tSExportAssignment=t.tsExportAssignment=function(e){const t={type:"TSExportAssignment",expression:e},s=o.TSExportAssignment;return a(s.expression,t,"expression",e,1),t},t.tSExpressionWithTypeArguments=t.tsExpressionWithTypeArguments=function(e,t=null){const s={type:"TSExpressionWithTypeArguments",expression:e,typeParameters:t},r=o.TSExpressionWithTypeArguments;return a(r.expression,s,"expression",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.tSExternalModuleReference=t.tsExternalModuleReference=function(e){const t={type:"TSExternalModuleReference",expression:e},s=o.TSExternalModuleReference;return a(s.expression,t,"expression",e,1),t},t.tSFunctionType=t.tsFunctionType=function(e=null,t,s=null){const r={type:"TSFunctionType",typeParameters:e,parameters:t,typeAnnotation:s},n=o.TSFunctionType;return a(n.typeParameters,r,"typeParameters",e,1),a(n.parameters,r,"parameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSImportEqualsDeclaration=t.tsImportEqualsDeclaration=function(e,t){const s={type:"TSImportEqualsDeclaration",id:e,moduleReference:t,isExport:null},r=o.TSImportEqualsDeclaration;return a(r.id,s,"id",e,1),a(r.moduleReference,s,"moduleReference",t,1),s},t.tSImportType=t.tsImportType=function(e,t=null,s=null){const r={type:"TSImportType",argument:e,qualifier:t,typeParameters:s},n=o.TSImportType;return a(n.argument,r,"argument",e,1),a(n.qualifier,r,"qualifier",t,1),a(n.typeParameters,r,"typeParameters",s,1),r},t.tSIndexSignature=t.tsIndexSignature=function(e,t=null){const s={type:"TSIndexSignature",parameters:e,typeAnnotation:t},r=o.TSIndexSignature;return a(r.parameters,s,"parameters",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.tSIndexedAccessType=t.tsIndexedAccessType=function(e,t){const s={type:"TSIndexedAccessType",objectType:e,indexType:t},r=o.TSIndexedAccessType;return a(r.objectType,s,"objectType",e,1),a(r.indexType,s,"indexType",t,1),s},t.tSInferType=t.tsInferType=function(e){const t={type:"TSInferType",typeParameter:e},s=o.TSInferType;return a(s.typeParameter,t,"typeParameter",e,1),t},t.tSInstantiationExpression=t.tsInstantiationExpression=function(e,t=null){const s={type:"TSInstantiationExpression",expression:e,typeParameters:t},r=o.TSInstantiationExpression;return a(r.expression,s,"expression",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.tSInterfaceBody=t.tsInterfaceBody=function(e){const t={type:"TSInterfaceBody",body:e},s=o.TSInterfaceBody;return a(s.body,t,"body",e,1),t},t.tSInterfaceDeclaration=t.tsInterfaceDeclaration=function(e,t=null,s=null,r){const n={type:"TSInterfaceDeclaration",id:e,typeParameters:t,extends:s,body:r},i=o.TSInterfaceDeclaration;return a(i.id,n,"id",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.extends,n,"extends",s,1),a(i.body,n,"body",r,1),n},t.tSIntersectionType=t.tsIntersectionType=function(e){const t={type:"TSIntersectionType",types:e},s=o.TSIntersectionType;return a(s.types,t,"types",e,1),t},t.tSIntrinsicKeyword=t.tsIntrinsicKeyword=function(){return{type:"TSIntrinsicKeyword"}},t.tSLiteralType=t.tsLiteralType=function(e){const t={type:"TSLiteralType",literal:e},s=o.TSLiteralType;return a(s.literal,t,"literal",e,1),t},t.tSMappedType=t.tsMappedType=function(e,t=null,s=null){const r={type:"TSMappedType",typeParameter:e,typeAnnotation:t,nameType:s},n=o.TSMappedType;return a(n.typeParameter,r,"typeParameter",e,1),a(n.typeAnnotation,r,"typeAnnotation",t,1),a(n.nameType,r,"nameType",s,1),r},t.tSMethodSignature=t.tsMethodSignature=function(e,t=null,s,r=null){const n={type:"TSMethodSignature",key:e,typeParameters:t,parameters:s,typeAnnotation:r,kind:null},i=o.TSMethodSignature;return a(i.key,n,"key",e,1),a(i.typeParameters,n,"typeParameters",t,1),a(i.parameters,n,"parameters",s,1),a(i.typeAnnotation,n,"typeAnnotation",r,1),n},t.tSModuleBlock=t.tsModuleBlock=function(e){const t={type:"TSModuleBlock",body:e},s=o.TSModuleBlock;return a(s.body,t,"body",e,1),t},t.tSModuleDeclaration=t.tsModuleDeclaration=function(e,t){const s={type:"TSModuleDeclaration",id:e,body:t,kind:null},r=o.TSModuleDeclaration;return a(r.id,s,"id",e,1),a(r.body,s,"body",t,1),s},t.tSNamedTupleMember=t.tsNamedTupleMember=function(e,t,s=!1){const r={type:"TSNamedTupleMember",label:e,elementType:t,optional:s},n=o.TSNamedTupleMember;return a(n.label,r,"label",e,1),a(n.elementType,r,"elementType",t,1),a(n.optional,r,"optional",s),r},t.tSNamespaceExportDeclaration=t.tsNamespaceExportDeclaration=function(e){const t={type:"TSNamespaceExportDeclaration",id:e},s=o.TSNamespaceExportDeclaration;return a(s.id,t,"id",e,1),t},t.tSNeverKeyword=t.tsNeverKeyword=function(){return{type:"TSNeverKeyword"}},t.tSNonNullExpression=t.tsNonNullExpression=function(e){const t={type:"TSNonNullExpression",expression:e},s=o.TSNonNullExpression;return a(s.expression,t,"expression",e,1),t},t.tSNullKeyword=t.tsNullKeyword=function(){return{type:"TSNullKeyword"}},t.tSNumberKeyword=t.tsNumberKeyword=function(){return{type:"TSNumberKeyword"}},t.tSObjectKeyword=t.tsObjectKeyword=function(){return{type:"TSObjectKeyword"}},t.tSOptionalType=t.tsOptionalType=function(e){const t={type:"TSOptionalType",typeAnnotation:e},s=o.TSOptionalType;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSParameterProperty=t.tsParameterProperty=function(e){const t={type:"TSParameterProperty",parameter:e},s=o.TSParameterProperty;return a(s.parameter,t,"parameter",e,1),t},t.tSParenthesizedType=t.tsParenthesizedType=function(e){const t={type:"TSParenthesizedType",typeAnnotation:e},s=o.TSParenthesizedType;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSPropertySignature=t.tsPropertySignature=function(e,t=null){const s={type:"TSPropertySignature",key:e,typeAnnotation:t},r=o.TSPropertySignature;return a(r.key,s,"key",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.tSQualifiedName=t.tsQualifiedName=function(e,t){const s={type:"TSQualifiedName",left:e,right:t},r=o.TSQualifiedName;return a(r.left,s,"left",e,1),a(r.right,s,"right",t,1),s},t.tSRestType=t.tsRestType=function(e){const t={type:"TSRestType",typeAnnotation:e},s=o.TSRestType;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSSatisfiesExpression=t.tsSatisfiesExpression=function(e,t){const s={type:"TSSatisfiesExpression",expression:e,typeAnnotation:t},r=o.TSSatisfiesExpression;return a(r.expression,s,"expression",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.tSStringKeyword=t.tsStringKeyword=function(){return{type:"TSStringKeyword"}},t.tSSymbolKeyword=t.tsSymbolKeyword=function(){return{type:"TSSymbolKeyword"}},t.tSTemplateLiteralType=t.tsTemplateLiteralType=function(e,t){const s={type:"TSTemplateLiteralType",quasis:e,types:t},r=o.TSTemplateLiteralType;return a(r.quasis,s,"quasis",e,1),a(r.types,s,"types",t,1),s},t.tSThisType=t.tsThisType=function(){return{type:"TSThisType"}},t.tSTupleType=t.tsTupleType=function(e){const t={type:"TSTupleType",elementTypes:e},s=o.TSTupleType;return a(s.elementTypes,t,"elementTypes",e,1),t},t.tSTypeAliasDeclaration=t.tsTypeAliasDeclaration=function(e,t=null,s){const r={type:"TSTypeAliasDeclaration",id:e,typeParameters:t,typeAnnotation:s},n=o.TSTypeAliasDeclaration;return a(n.id,r,"id",e,1),a(n.typeParameters,r,"typeParameters",t,1),a(n.typeAnnotation,r,"typeAnnotation",s,1),r},t.tSTypeAnnotation=t.tsTypeAnnotation=function(e){const t={type:"TSTypeAnnotation",typeAnnotation:e},s=o.TSTypeAnnotation;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSTypeAssertion=t.tsTypeAssertion=function(e,t){const s={type:"TSTypeAssertion",typeAnnotation:e,expression:t},r=o.TSTypeAssertion;return a(r.typeAnnotation,s,"typeAnnotation",e,1),a(r.expression,s,"expression",t,1),s},t.tSTypeLiteral=t.tsTypeLiteral=function(e){const t={type:"TSTypeLiteral",members:e},s=o.TSTypeLiteral;return a(s.members,t,"members",e,1),t},t.tSTypeOperator=t.tsTypeOperator=function(e){const t={type:"TSTypeOperator",typeAnnotation:e,operator:null},s=o.TSTypeOperator;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.tSTypeParameter=t.tsTypeParameter=function(e=null,t=null,s){const r={type:"TSTypeParameter",constraint:e,default:t,name:s},n=o.TSTypeParameter;return a(n.constraint,r,"constraint",e,1),a(n.default,r,"default",t,1),a(n.name,r,"name",s),r},t.tSTypeParameterDeclaration=t.tsTypeParameterDeclaration=function(e){const t={type:"TSTypeParameterDeclaration",params:e},s=o.TSTypeParameterDeclaration;return a(s.params,t,"params",e,1),t},t.tSTypeParameterInstantiation=t.tsTypeParameterInstantiation=function(e){const t={type:"TSTypeParameterInstantiation",params:e},s=o.TSTypeParameterInstantiation;return a(s.params,t,"params",e,1),t},t.tSTypePredicate=t.tsTypePredicate=function(e,t=null,s=null){const r={type:"TSTypePredicate",parameterName:e,typeAnnotation:t,asserts:s},n=o.TSTypePredicate;return a(n.parameterName,r,"parameterName",e,1),a(n.typeAnnotation,r,"typeAnnotation",t,1),a(n.asserts,r,"asserts",s),r},t.tSTypeQuery=t.tsTypeQuery=function(e,t=null){const s={type:"TSTypeQuery",exprName:e,typeParameters:t},r=o.TSTypeQuery;return a(r.exprName,s,"exprName",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.tSTypeReference=t.tsTypeReference=function(e,t=null){const s={type:"TSTypeReference",typeName:e,typeParameters:t},r=o.TSTypeReference;return a(r.typeName,s,"typeName",e,1),a(r.typeParameters,s,"typeParameters",t,1),s},t.tSUndefinedKeyword=t.tsUndefinedKeyword=function(){return{type:"TSUndefinedKeyword"}},t.tSUnionType=t.tsUnionType=function(e){const t={type:"TSUnionType",types:e},s=o.TSUnionType;return a(s.types,t,"types",e,1),t},t.tSUnknownKeyword=t.tsUnknownKeyword=function(){return{type:"TSUnknownKeyword"}},t.tSVoidKeyword=t.tsVoidKeyword=function(){return{type:"TSVoidKeyword"}},t.tupleExpression=function(e=[]){const t={type:"TupleExpression",elements:e},s=o.TupleExpression;return a(s.elements,t,"elements",e,1),t},t.tupleTypeAnnotation=function(e){const t={type:"TupleTypeAnnotation",types:e},s=o.TupleTypeAnnotation;return a(s.types,t,"types",e,1),t},t.typeAlias=function(e,t=null,s){const r={type:"TypeAlias",id:e,typeParameters:t,right:s},n=o.TypeAlias;return a(n.id,r,"id",e,1),a(n.typeParameters,r,"typeParameters",t,1),a(n.right,r,"right",s,1),r},t.typeAnnotation=function(e){const t={type:"TypeAnnotation",typeAnnotation:e},s=o.TypeAnnotation;return a(s.typeAnnotation,t,"typeAnnotation",e,1),t},t.typeCastExpression=function(e,t){const s={type:"TypeCastExpression",expression:e,typeAnnotation:t},r=o.TypeCastExpression;return a(r.expression,s,"expression",e,1),a(r.typeAnnotation,s,"typeAnnotation",t,1),s},t.typeParameter=function(e=null,t=null,s=null){const r={type:"TypeParameter",bound:e,default:t,variance:s,name:null},n=o.TypeParameter;return a(n.bound,r,"bound",e,1),a(n.default,r,"default",t,1),a(n.variance,r,"variance",s,1),r},t.typeParameterDeclaration=function(e){const t={type:"TypeParameterDeclaration",params:e},s=o.TypeParameterDeclaration;return a(s.params,t,"params",e,1),t},t.typeParameterInstantiation=function(e){const t={type:"TypeParameterInstantiation",params:e},s=o.TypeParameterInstantiation;return a(s.params,t,"params",e,1),t},t.typeofTypeAnnotation=function(e){const t={type:"TypeofTypeAnnotation",argument:e},s=o.TypeofTypeAnnotation;return a(s.argument,t,"argument",e,1),t},t.unaryExpression=function(e,t,s=!0){const r={type:"UnaryExpression",operator:e,argument:t,prefix:s},n=o.UnaryExpression;return a(n.operator,r,"operator",e),a(n.argument,r,"argument",t,1),a(n.prefix,r,"prefix",s),r},t.unionTypeAnnotation=function(e){const t={type:"UnionTypeAnnotation",types:e},s=o.UnionTypeAnnotation;return a(s.types,t,"types",e,1),t},t.updateExpression=function(e,t,s=!1){const r={type:"UpdateExpression",operator:e,argument:t,prefix:s},n=o.UpdateExpression;return a(n.operator,r,"operator",e),a(n.argument,r,"argument",t,1),a(n.prefix,r,"prefix",s),r},t.v8IntrinsicIdentifier=function(e){const t={type:"V8IntrinsicIdentifier",name:e},s=o.V8IntrinsicIdentifier;return a(s.name,t,"name",e),t},t.variableDeclaration=function(e,t){const s={type:"VariableDeclaration",kind:e,declarations:t},r=o.VariableDeclaration;return a(r.kind,s,"kind",e),a(r.declarations,s,"declarations",t,1),s},t.variableDeclarator=function(e,t=null){const s={type:"VariableDeclarator",id:e,init:t},r=o.VariableDeclarator;return a(r.id,s,"id",e,1),a(r.init,s,"init",t,1),s},t.variance=function(e){const t={type:"Variance",kind:e},s=o.Variance;return a(s.kind,t,"kind",e),t},t.voidTypeAnnotation=function(){return{type:"VoidTypeAnnotation"}},t.whileStatement=function(e,t){const s={type:"WhileStatement",test:e,body:t},r=o.WhileStatement;return a(r.test,s,"test",e,1),a(r.body,s,"body",t,1),s},t.withStatement=function(e,t){const s={type:"WithStatement",object:e,body:t},r=o.WithStatement;return a(r.object,s,"object",e,1),a(r.body,s,"body",t,1),s},t.yieldExpression=function(e=null,t=!1){const s={type:"YieldExpression",argument:e,delegate:t},r=o.YieldExpression;return a(r.argument,s,"argument",e,1),a(r.delegate,s,"delegate",t),s};var r=s(3589),n=s(7525),i=s(5737);const{validateInternal:a}=r,{NODE_FIELDS:o}=i;function l(e){const t={type:"NumericLiteral",value:e},s=o.NumericLiteral;return a(s.value,t,"value",e),t}function c(e,t=""){const s={type:"RegExpLiteral",pattern:e,flags:t},r=o.RegExpLiteral;return a(r.pattern,s,"pattern",e),a(r.flags,s,"flags",t),s}function p(e){const t={type:"RestElement",argument:e},s=o.RestElement;return a(s.argument,t,"argument",e,1),t}function u(e){const t={type:"SpreadElement",argument:e},s=o.SpreadElement;return a(s.argument,t,"argument",e,1),t}},4819:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AnyTypeAnnotation",{enumerable:!0,get:function(){return r.anyTypeAnnotation}}),Object.defineProperty(t,"ArgumentPlaceholder",{enumerable:!0,get:function(){return r.argumentPlaceholder}}),Object.defineProperty(t,"ArrayExpression",{enumerable:!0,get:function(){return r.arrayExpression}}),Object.defineProperty(t,"ArrayPattern",{enumerable:!0,get:function(){return r.arrayPattern}}),Object.defineProperty(t,"ArrayTypeAnnotation",{enumerable:!0,get:function(){return r.arrayTypeAnnotation}}),Object.defineProperty(t,"ArrowFunctionExpression",{enumerable:!0,get:function(){return r.arrowFunctionExpression}}),Object.defineProperty(t,"AssignmentExpression",{enumerable:!0,get:function(){return r.assignmentExpression}}),Object.defineProperty(t,"AssignmentPattern",{enumerable:!0,get:function(){return r.assignmentPattern}}),Object.defineProperty(t,"AwaitExpression",{enumerable:!0,get:function(){return r.awaitExpression}}),Object.defineProperty(t,"BigIntLiteral",{enumerable:!0,get:function(){return r.bigIntLiteral}}),Object.defineProperty(t,"BinaryExpression",{enumerable:!0,get:function(){return r.binaryExpression}}),Object.defineProperty(t,"BindExpression",{enumerable:!0,get:function(){return r.bindExpression}}),Object.defineProperty(t,"BlockStatement",{enumerable:!0,get:function(){return r.blockStatement}}),Object.defineProperty(t,"BooleanLiteral",{enumerable:!0,get:function(){return r.booleanLiteral}}),Object.defineProperty(t,"BooleanLiteralTypeAnnotation",{enumerable:!0,get:function(){return r.booleanLiteralTypeAnnotation}}),Object.defineProperty(t,"BooleanTypeAnnotation",{enumerable:!0,get:function(){return r.booleanTypeAnnotation}}),Object.defineProperty(t,"BreakStatement",{enumerable:!0,get:function(){return r.breakStatement}}),Object.defineProperty(t,"CallExpression",{enumerable:!0,get:function(){return r.callExpression}}),Object.defineProperty(t,"CatchClause",{enumerable:!0,get:function(){return r.catchClause}}),Object.defineProperty(t,"ClassAccessorProperty",{enumerable:!0,get:function(){return r.classAccessorProperty}}),Object.defineProperty(t,"ClassBody",{enumerable:!0,get:function(){return r.classBody}}),Object.defineProperty(t,"ClassDeclaration",{enumerable:!0,get:function(){return r.classDeclaration}}),Object.defineProperty(t,"ClassExpression",{enumerable:!0,get:function(){return r.classExpression}}),Object.defineProperty(t,"ClassImplements",{enumerable:!0,get:function(){return r.classImplements}}),Object.defineProperty(t,"ClassMethod",{enumerable:!0,get:function(){return r.classMethod}}),Object.defineProperty(t,"ClassPrivateMethod",{enumerable:!0,get:function(){return r.classPrivateMethod}}),Object.defineProperty(t,"ClassPrivateProperty",{enumerable:!0,get:function(){return r.classPrivateProperty}}),Object.defineProperty(t,"ClassProperty",{enumerable:!0,get:function(){return r.classProperty}}),Object.defineProperty(t,"ConditionalExpression",{enumerable:!0,get:function(){return r.conditionalExpression}}),Object.defineProperty(t,"ContinueStatement",{enumerable:!0,get:function(){return r.continueStatement}}),Object.defineProperty(t,"DebuggerStatement",{enumerable:!0,get:function(){return r.debuggerStatement}}),Object.defineProperty(t,"DecimalLiteral",{enumerable:!0,get:function(){return r.decimalLiteral}}),Object.defineProperty(t,"DeclareClass",{enumerable:!0,get:function(){return r.declareClass}}),Object.defineProperty(t,"DeclareExportAllDeclaration",{enumerable:!0,get:function(){return r.declareExportAllDeclaration}}),Object.defineProperty(t,"DeclareExportDeclaration",{enumerable:!0,get:function(){return r.declareExportDeclaration}}),Object.defineProperty(t,"DeclareFunction",{enumerable:!0,get:function(){return r.declareFunction}}),Object.defineProperty(t,"DeclareInterface",{enumerable:!0,get:function(){return r.declareInterface}}),Object.defineProperty(t,"DeclareModule",{enumerable:!0,get:function(){return r.declareModule}}),Object.defineProperty(t,"DeclareModuleExports",{enumerable:!0,get:function(){return r.declareModuleExports}}),Object.defineProperty(t,"DeclareOpaqueType",{enumerable:!0,get:function(){return r.declareOpaqueType}}),Object.defineProperty(t,"DeclareTypeAlias",{enumerable:!0,get:function(){return r.declareTypeAlias}}),Object.defineProperty(t,"DeclareVariable",{enumerable:!0,get:function(){return r.declareVariable}}),Object.defineProperty(t,"DeclaredPredicate",{enumerable:!0,get:function(){return r.declaredPredicate}}),Object.defineProperty(t,"Decorator",{enumerable:!0,get:function(){return r.decorator}}),Object.defineProperty(t,"Directive",{enumerable:!0,get:function(){return r.directive}}),Object.defineProperty(t,"DirectiveLiteral",{enumerable:!0,get:function(){return r.directiveLiteral}}),Object.defineProperty(t,"DoExpression",{enumerable:!0,get:function(){return r.doExpression}}),Object.defineProperty(t,"DoWhileStatement",{enumerable:!0,get:function(){return r.doWhileStatement}}),Object.defineProperty(t,"EmptyStatement",{enumerable:!0,get:function(){return r.emptyStatement}}),Object.defineProperty(t,"EmptyTypeAnnotation",{enumerable:!0,get:function(){return r.emptyTypeAnnotation}}),Object.defineProperty(t,"EnumBooleanBody",{enumerable:!0,get:function(){return r.enumBooleanBody}}),Object.defineProperty(t,"EnumBooleanMember",{enumerable:!0,get:function(){return r.enumBooleanMember}}),Object.defineProperty(t,"EnumDeclaration",{enumerable:!0,get:function(){return r.enumDeclaration}}),Object.defineProperty(t,"EnumDefaultedMember",{enumerable:!0,get:function(){return r.enumDefaultedMember}}),Object.defineProperty(t,"EnumNumberBody",{enumerable:!0,get:function(){return r.enumNumberBody}}),Object.defineProperty(t,"EnumNumberMember",{enumerable:!0,get:function(){return r.enumNumberMember}}),Object.defineProperty(t,"EnumStringBody",{enumerable:!0,get:function(){return r.enumStringBody}}),Object.defineProperty(t,"EnumStringMember",{enumerable:!0,get:function(){return r.enumStringMember}}),Object.defineProperty(t,"EnumSymbolBody",{enumerable:!0,get:function(){return r.enumSymbolBody}}),Object.defineProperty(t,"ExistsTypeAnnotation",{enumerable:!0,get:function(){return r.existsTypeAnnotation}}),Object.defineProperty(t,"ExportAllDeclaration",{enumerable:!0,get:function(){return r.exportAllDeclaration}}),Object.defineProperty(t,"ExportDefaultDeclaration",{enumerable:!0,get:function(){return r.exportDefaultDeclaration}}),Object.defineProperty(t,"ExportDefaultSpecifier",{enumerable:!0,get:function(){return r.exportDefaultSpecifier}}),Object.defineProperty(t,"ExportNamedDeclaration",{enumerable:!0,get:function(){return r.exportNamedDeclaration}}),Object.defineProperty(t,"ExportNamespaceSpecifier",{enumerable:!0,get:function(){return r.exportNamespaceSpecifier}}),Object.defineProperty(t,"ExportSpecifier",{enumerable:!0,get:function(){return r.exportSpecifier}}),Object.defineProperty(t,"ExpressionStatement",{enumerable:!0,get:function(){return r.expressionStatement}}),Object.defineProperty(t,"File",{enumerable:!0,get:function(){return r.file}}),Object.defineProperty(t,"ForInStatement",{enumerable:!0,get:function(){return r.forInStatement}}),Object.defineProperty(t,"ForOfStatement",{enumerable:!0,get:function(){return r.forOfStatement}}),Object.defineProperty(t,"ForStatement",{enumerable:!0,get:function(){return r.forStatement}}),Object.defineProperty(t,"FunctionDeclaration",{enumerable:!0,get:function(){return r.functionDeclaration}}),Object.defineProperty(t,"FunctionExpression",{enumerable:!0,get:function(){return r.functionExpression}}),Object.defineProperty(t,"FunctionTypeAnnotation",{enumerable:!0,get:function(){return r.functionTypeAnnotation}}),Object.defineProperty(t,"FunctionTypeParam",{enumerable:!0,get:function(){return r.functionTypeParam}}),Object.defineProperty(t,"GenericTypeAnnotation",{enumerable:!0,get:function(){return r.genericTypeAnnotation}}),Object.defineProperty(t,"Identifier",{enumerable:!0,get:function(){return r.identifier}}),Object.defineProperty(t,"IfStatement",{enumerable:!0,get:function(){return r.ifStatement}}),Object.defineProperty(t,"Import",{enumerable:!0,get:function(){return r.import}}),Object.defineProperty(t,"ImportAttribute",{enumerable:!0,get:function(){return r.importAttribute}}),Object.defineProperty(t,"ImportDeclaration",{enumerable:!0,get:function(){return r.importDeclaration}}),Object.defineProperty(t,"ImportDefaultSpecifier",{enumerable:!0,get:function(){return r.importDefaultSpecifier}}),Object.defineProperty(t,"ImportExpression",{enumerable:!0,get:function(){return r.importExpression}}),Object.defineProperty(t,"ImportNamespaceSpecifier",{enumerable:!0,get:function(){return r.importNamespaceSpecifier}}),Object.defineProperty(t,"ImportSpecifier",{enumerable:!0,get:function(){return r.importSpecifier}}),Object.defineProperty(t,"IndexedAccessType",{enumerable:!0,get:function(){return r.indexedAccessType}}),Object.defineProperty(t,"InferredPredicate",{enumerable:!0,get:function(){return r.inferredPredicate}}),Object.defineProperty(t,"InterfaceDeclaration",{enumerable:!0,get:function(){return r.interfaceDeclaration}}),Object.defineProperty(t,"InterfaceExtends",{enumerable:!0,get:function(){return r.interfaceExtends}}),Object.defineProperty(t,"InterfaceTypeAnnotation",{enumerable:!0,get:function(){return r.interfaceTypeAnnotation}}),Object.defineProperty(t,"InterpreterDirective",{enumerable:!0,get:function(){return r.interpreterDirective}}),Object.defineProperty(t,"IntersectionTypeAnnotation",{enumerable:!0,get:function(){return r.intersectionTypeAnnotation}}),Object.defineProperty(t,"JSXAttribute",{enumerable:!0,get:function(){return r.jsxAttribute}}),Object.defineProperty(t,"JSXClosingElement",{enumerable:!0,get:function(){return r.jsxClosingElement}}),Object.defineProperty(t,"JSXClosingFragment",{enumerable:!0,get:function(){return r.jsxClosingFragment}}),Object.defineProperty(t,"JSXElement",{enumerable:!0,get:function(){return r.jsxElement}}),Object.defineProperty(t,"JSXEmptyExpression",{enumerable:!0,get:function(){return r.jsxEmptyExpression}}),Object.defineProperty(t,"JSXExpressionContainer",{enumerable:!0,get:function(){return r.jsxExpressionContainer}}),Object.defineProperty(t,"JSXFragment",{enumerable:!0,get:function(){return r.jsxFragment}}),Object.defineProperty(t,"JSXIdentifier",{enumerable:!0,get:function(){return r.jsxIdentifier}}),Object.defineProperty(t,"JSXMemberExpression",{enumerable:!0,get:function(){return r.jsxMemberExpression}}),Object.defineProperty(t,"JSXNamespacedName",{enumerable:!0,get:function(){return r.jsxNamespacedName}}),Object.defineProperty(t,"JSXOpeningElement",{enumerable:!0,get:function(){return r.jsxOpeningElement}}),Object.defineProperty(t,"JSXOpeningFragment",{enumerable:!0,get:function(){return r.jsxOpeningFragment}}),Object.defineProperty(t,"JSXSpreadAttribute",{enumerable:!0,get:function(){return r.jsxSpreadAttribute}}),Object.defineProperty(t,"JSXSpreadChild",{enumerable:!0,get:function(){return r.jsxSpreadChild}}),Object.defineProperty(t,"JSXText",{enumerable:!0,get:function(){return r.jsxText}}),Object.defineProperty(t,"LabeledStatement",{enumerable:!0,get:function(){return r.labeledStatement}}),Object.defineProperty(t,"LogicalExpression",{enumerable:!0,get:function(){return r.logicalExpression}}),Object.defineProperty(t,"MemberExpression",{enumerable:!0,get:function(){return r.memberExpression}}),Object.defineProperty(t,"MetaProperty",{enumerable:!0,get:function(){return r.metaProperty}}),Object.defineProperty(t,"MixedTypeAnnotation",{enumerable:!0,get:function(){return r.mixedTypeAnnotation}}),Object.defineProperty(t,"ModuleExpression",{enumerable:!0,get:function(){return r.moduleExpression}}),Object.defineProperty(t,"NewExpression",{enumerable:!0,get:function(){return r.newExpression}}),Object.defineProperty(t,"Noop",{enumerable:!0,get:function(){return r.noop}}),Object.defineProperty(t,"NullLiteral",{enumerable:!0,get:function(){return r.nullLiteral}}),Object.defineProperty(t,"NullLiteralTypeAnnotation",{enumerable:!0,get:function(){return r.nullLiteralTypeAnnotation}}),Object.defineProperty(t,"NullableTypeAnnotation",{enumerable:!0,get:function(){return r.nullableTypeAnnotation}}),Object.defineProperty(t,"NumberLiteral",{enumerable:!0,get:function(){return r.numberLiteral}}),Object.defineProperty(t,"NumberLiteralTypeAnnotation",{enumerable:!0,get:function(){return r.numberLiteralTypeAnnotation}}),Object.defineProperty(t,"NumberTypeAnnotation",{enumerable:!0,get:function(){return r.numberTypeAnnotation}}),Object.defineProperty(t,"NumericLiteral",{enumerable:!0,get:function(){return r.numericLiteral}}),Object.defineProperty(t,"ObjectExpression",{enumerable:!0,get:function(){return r.objectExpression}}),Object.defineProperty(t,"ObjectMethod",{enumerable:!0,get:function(){return r.objectMethod}}),Object.defineProperty(t,"ObjectPattern",{enumerable:!0,get:function(){return r.objectPattern}}),Object.defineProperty(t,"ObjectProperty",{enumerable:!0,get:function(){return r.objectProperty}}),Object.defineProperty(t,"ObjectTypeAnnotation",{enumerable:!0,get:function(){return r.objectTypeAnnotation}}),Object.defineProperty(t,"ObjectTypeCallProperty",{enumerable:!0,get:function(){return r.objectTypeCallProperty}}),Object.defineProperty(t,"ObjectTypeIndexer",{enumerable:!0,get:function(){return r.objectTypeIndexer}}),Object.defineProperty(t,"ObjectTypeInternalSlot",{enumerable:!0,get:function(){return r.objectTypeInternalSlot}}),Object.defineProperty(t,"ObjectTypeProperty",{enumerable:!0,get:function(){return r.objectTypeProperty}}),Object.defineProperty(t,"ObjectTypeSpreadProperty",{enumerable:!0,get:function(){return r.objectTypeSpreadProperty}}),Object.defineProperty(t,"OpaqueType",{enumerable:!0,get:function(){return r.opaqueType}}),Object.defineProperty(t,"OptionalCallExpression",{enumerable:!0,get:function(){return r.optionalCallExpression}}),Object.defineProperty(t,"OptionalIndexedAccessType",{enumerable:!0,get:function(){return r.optionalIndexedAccessType}}),Object.defineProperty(t,"OptionalMemberExpression",{enumerable:!0,get:function(){return r.optionalMemberExpression}}),Object.defineProperty(t,"ParenthesizedExpression",{enumerable:!0,get:function(){return r.parenthesizedExpression}}),Object.defineProperty(t,"PipelineBareFunction",{enumerable:!0,get:function(){return r.pipelineBareFunction}}),Object.defineProperty(t,"PipelinePrimaryTopicReference",{enumerable:!0,get:function(){return r.pipelinePrimaryTopicReference}}),Object.defineProperty(t,"PipelineTopicExpression",{enumerable:!0,get:function(){return r.pipelineTopicExpression}}),Object.defineProperty(t,"Placeholder",{enumerable:!0,get:function(){return r.placeholder}}),Object.defineProperty(t,"PrivateName",{enumerable:!0,get:function(){return r.privateName}}),Object.defineProperty(t,"Program",{enumerable:!0,get:function(){return r.program}}),Object.defineProperty(t,"QualifiedTypeIdentifier",{enumerable:!0,get:function(){return r.qualifiedTypeIdentifier}}),Object.defineProperty(t,"RecordExpression",{enumerable:!0,get:function(){return r.recordExpression}}),Object.defineProperty(t,"RegExpLiteral",{enumerable:!0,get:function(){return r.regExpLiteral}}),Object.defineProperty(t,"RegexLiteral",{enumerable:!0,get:function(){return r.regexLiteral}}),Object.defineProperty(t,"RestElement",{enumerable:!0,get:function(){return r.restElement}}),Object.defineProperty(t,"RestProperty",{enumerable:!0,get:function(){return r.restProperty}}),Object.defineProperty(t,"ReturnStatement",{enumerable:!0,get:function(){return r.returnStatement}}),Object.defineProperty(t,"SequenceExpression",{enumerable:!0,get:function(){return r.sequenceExpression}}),Object.defineProperty(t,"SpreadElement",{enumerable:!0,get:function(){return r.spreadElement}}),Object.defineProperty(t,"SpreadProperty",{enumerable:!0,get:function(){return r.spreadProperty}}),Object.defineProperty(t,"StaticBlock",{enumerable:!0,get:function(){return r.staticBlock}}),Object.defineProperty(t,"StringLiteral",{enumerable:!0,get:function(){return r.stringLiteral}}),Object.defineProperty(t,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return r.stringLiteralTypeAnnotation}}),Object.defineProperty(t,"StringTypeAnnotation",{enumerable:!0,get:function(){return r.stringTypeAnnotation}}),Object.defineProperty(t,"Super",{enumerable:!0,get:function(){return r.super}}),Object.defineProperty(t,"SwitchCase",{enumerable:!0,get:function(){return r.switchCase}}),Object.defineProperty(t,"SwitchStatement",{enumerable:!0,get:function(){return r.switchStatement}}),Object.defineProperty(t,"SymbolTypeAnnotation",{enumerable:!0,get:function(){return r.symbolTypeAnnotation}}),Object.defineProperty(t,"TSAnyKeyword",{enumerable:!0,get:function(){return r.tsAnyKeyword}}),Object.defineProperty(t,"TSArrayType",{enumerable:!0,get:function(){return r.tsArrayType}}),Object.defineProperty(t,"TSAsExpression",{enumerable:!0,get:function(){return r.tsAsExpression}}),Object.defineProperty(t,"TSBigIntKeyword",{enumerable:!0,get:function(){return r.tsBigIntKeyword}}),Object.defineProperty(t,"TSBooleanKeyword",{enumerable:!0,get:function(){return r.tsBooleanKeyword}}),Object.defineProperty(t,"TSCallSignatureDeclaration",{enumerable:!0,get:function(){return r.tsCallSignatureDeclaration}}),Object.defineProperty(t,"TSConditionalType",{enumerable:!0,get:function(){return r.tsConditionalType}}),Object.defineProperty(t,"TSConstructSignatureDeclaration",{enumerable:!0,get:function(){return r.tsConstructSignatureDeclaration}}),Object.defineProperty(t,"TSConstructorType",{enumerable:!0,get:function(){return r.tsConstructorType}}),Object.defineProperty(t,"TSDeclareFunction",{enumerable:!0,get:function(){return r.tsDeclareFunction}}),Object.defineProperty(t,"TSDeclareMethod",{enumerable:!0,get:function(){return r.tsDeclareMethod}}),Object.defineProperty(t,"TSEnumBody",{enumerable:!0,get:function(){return r.tsEnumBody}}),Object.defineProperty(t,"TSEnumDeclaration",{enumerable:!0,get:function(){return r.tsEnumDeclaration}}),Object.defineProperty(t,"TSEnumMember",{enumerable:!0,get:function(){return r.tsEnumMember}}),Object.defineProperty(t,"TSExportAssignment",{enumerable:!0,get:function(){return r.tsExportAssignment}}),Object.defineProperty(t,"TSExpressionWithTypeArguments",{enumerable:!0,get:function(){return r.tsExpressionWithTypeArguments}}),Object.defineProperty(t,"TSExternalModuleReference",{enumerable:!0,get:function(){return r.tsExternalModuleReference}}),Object.defineProperty(t,"TSFunctionType",{enumerable:!0,get:function(){return r.tsFunctionType}}),Object.defineProperty(t,"TSImportEqualsDeclaration",{enumerable:!0,get:function(){return r.tsImportEqualsDeclaration}}),Object.defineProperty(t,"TSImportType",{enumerable:!0,get:function(){return r.tsImportType}}),Object.defineProperty(t,"TSIndexSignature",{enumerable:!0,get:function(){return r.tsIndexSignature}}),Object.defineProperty(t,"TSIndexedAccessType",{enumerable:!0,get:function(){return r.tsIndexedAccessType}}),Object.defineProperty(t,"TSInferType",{enumerable:!0,get:function(){return r.tsInferType}}),Object.defineProperty(t,"TSInstantiationExpression",{enumerable:!0,get:function(){return r.tsInstantiationExpression}}),Object.defineProperty(t,"TSInterfaceBody",{enumerable:!0,get:function(){return r.tsInterfaceBody}}),Object.defineProperty(t,"TSInterfaceDeclaration",{enumerable:!0,get:function(){return r.tsInterfaceDeclaration}}),Object.defineProperty(t,"TSIntersectionType",{enumerable:!0,get:function(){return r.tsIntersectionType}}),Object.defineProperty(t,"TSIntrinsicKeyword",{enumerable:!0,get:function(){return r.tsIntrinsicKeyword}}),Object.defineProperty(t,"TSLiteralType",{enumerable:!0,get:function(){return r.tsLiteralType}}),Object.defineProperty(t,"TSMappedType",{enumerable:!0,get:function(){return r.tsMappedType}}),Object.defineProperty(t,"TSMethodSignature",{enumerable:!0,get:function(){return r.tsMethodSignature}}),Object.defineProperty(t,"TSModuleBlock",{enumerable:!0,get:function(){return r.tsModuleBlock}}),Object.defineProperty(t,"TSModuleDeclaration",{enumerable:!0,get:function(){return r.tsModuleDeclaration}}),Object.defineProperty(t,"TSNamedTupleMember",{enumerable:!0,get:function(){return r.tsNamedTupleMember}}),Object.defineProperty(t,"TSNamespaceExportDeclaration",{enumerable:!0,get:function(){return r.tsNamespaceExportDeclaration}}),Object.defineProperty(t,"TSNeverKeyword",{enumerable:!0,get:function(){return r.tsNeverKeyword}}),Object.defineProperty(t,"TSNonNullExpression",{enumerable:!0,get:function(){return r.tsNonNullExpression}}),Object.defineProperty(t,"TSNullKeyword",{enumerable:!0,get:function(){return r.tsNullKeyword}}),Object.defineProperty(t,"TSNumberKeyword",{enumerable:!0,get:function(){return r.tsNumberKeyword}}),Object.defineProperty(t,"TSObjectKeyword",{enumerable:!0,get:function(){return r.tsObjectKeyword}}),Object.defineProperty(t,"TSOptionalType",{enumerable:!0,get:function(){return r.tsOptionalType}}),Object.defineProperty(t,"TSParameterProperty",{enumerable:!0,get:function(){return r.tsParameterProperty}}),Object.defineProperty(t,"TSParenthesizedType",{enumerable:!0,get:function(){return r.tsParenthesizedType}}),Object.defineProperty(t,"TSPropertySignature",{enumerable:!0,get:function(){return r.tsPropertySignature}}),Object.defineProperty(t,"TSQualifiedName",{enumerable:!0,get:function(){return r.tsQualifiedName}}),Object.defineProperty(t,"TSRestType",{enumerable:!0,get:function(){return r.tsRestType}}),Object.defineProperty(t,"TSSatisfiesExpression",{enumerable:!0,get:function(){return r.tsSatisfiesExpression}}),Object.defineProperty(t,"TSStringKeyword",{enumerable:!0,get:function(){return r.tsStringKeyword}}),Object.defineProperty(t,"TSSymbolKeyword",{enumerable:!0,get:function(){return r.tsSymbolKeyword}}),Object.defineProperty(t,"TSTemplateLiteralType",{enumerable:!0,get:function(){return r.tsTemplateLiteralType}}),Object.defineProperty(t,"TSThisType",{enumerable:!0,get:function(){return r.tsThisType}}),Object.defineProperty(t,"TSTupleType",{enumerable:!0,get:function(){return r.tsTupleType}}),Object.defineProperty(t,"TSTypeAliasDeclaration",{enumerable:!0,get:function(){return r.tsTypeAliasDeclaration}}),Object.defineProperty(t,"TSTypeAnnotation",{enumerable:!0,get:function(){return r.tsTypeAnnotation}}),Object.defineProperty(t,"TSTypeAssertion",{enumerable:!0,get:function(){return r.tsTypeAssertion}}),Object.defineProperty(t,"TSTypeLiteral",{enumerable:!0,get:function(){return r.tsTypeLiteral}}),Object.defineProperty(t,"TSTypeOperator",{enumerable:!0,get:function(){return r.tsTypeOperator}}),Object.defineProperty(t,"TSTypeParameter",{enumerable:!0,get:function(){return r.tsTypeParameter}}),Object.defineProperty(t,"TSTypeParameterDeclaration",{enumerable:!0,get:function(){return r.tsTypeParameterDeclaration}}),Object.defineProperty(t,"TSTypeParameterInstantiation",{enumerable:!0,get:function(){return r.tsTypeParameterInstantiation}}),Object.defineProperty(t,"TSTypePredicate",{enumerable:!0,get:function(){return r.tsTypePredicate}}),Object.defineProperty(t,"TSTypeQuery",{enumerable:!0,get:function(){return r.tsTypeQuery}}),Object.defineProperty(t,"TSTypeReference",{enumerable:!0,get:function(){return r.tsTypeReference}}),Object.defineProperty(t,"TSUndefinedKeyword",{enumerable:!0,get:function(){return r.tsUndefinedKeyword}}),Object.defineProperty(t,"TSUnionType",{enumerable:!0,get:function(){return r.tsUnionType}}),Object.defineProperty(t,"TSUnknownKeyword",{enumerable:!0,get:function(){return r.tsUnknownKeyword}}),Object.defineProperty(t,"TSVoidKeyword",{enumerable:!0,get:function(){return r.tsVoidKeyword}}),Object.defineProperty(t,"TaggedTemplateExpression",{enumerable:!0,get:function(){return r.taggedTemplateExpression}}),Object.defineProperty(t,"TemplateElement",{enumerable:!0,get:function(){return r.templateElement}}),Object.defineProperty(t,"TemplateLiteral",{enumerable:!0,get:function(){return r.templateLiteral}}),Object.defineProperty(t,"ThisExpression",{enumerable:!0,get:function(){return r.thisExpression}}),Object.defineProperty(t,"ThisTypeAnnotation",{enumerable:!0,get:function(){return r.thisTypeAnnotation}}),Object.defineProperty(t,"ThrowStatement",{enumerable:!0,get:function(){return r.throwStatement}}),Object.defineProperty(t,"TopicReference",{enumerable:!0,get:function(){return r.topicReference}}),Object.defineProperty(t,"TryStatement",{enumerable:!0,get:function(){return r.tryStatement}}),Object.defineProperty(t,"TupleExpression",{enumerable:!0,get:function(){return r.tupleExpression}}),Object.defineProperty(t,"TupleTypeAnnotation",{enumerable:!0,get:function(){return r.tupleTypeAnnotation}}),Object.defineProperty(t,"TypeAlias",{enumerable:!0,get:function(){return r.typeAlias}}),Object.defineProperty(t,"TypeAnnotation",{enumerable:!0,get:function(){return r.typeAnnotation}}),Object.defineProperty(t,"TypeCastExpression",{enumerable:!0,get:function(){return r.typeCastExpression}}),Object.defineProperty(t,"TypeParameter",{enumerable:!0,get:function(){return r.typeParameter}}),Object.defineProperty(t,"TypeParameterDeclaration",{enumerable:!0,get:function(){return r.typeParameterDeclaration}}),Object.defineProperty(t,"TypeParameterInstantiation",{enumerable:!0,get:function(){return r.typeParameterInstantiation}}),Object.defineProperty(t,"TypeofTypeAnnotation",{enumerable:!0,get:function(){return r.typeofTypeAnnotation}}),Object.defineProperty(t,"UnaryExpression",{enumerable:!0,get:function(){return r.unaryExpression}}),Object.defineProperty(t,"UnionTypeAnnotation",{enumerable:!0,get:function(){return r.unionTypeAnnotation}}),Object.defineProperty(t,"UpdateExpression",{enumerable:!0,get:function(){return r.updateExpression}}),Object.defineProperty(t,"V8IntrinsicIdentifier",{enumerable:!0,get:function(){return r.v8IntrinsicIdentifier}}),Object.defineProperty(t,"VariableDeclaration",{enumerable:!0,get:function(){return r.variableDeclaration}}),Object.defineProperty(t,"VariableDeclarator",{enumerable:!0,get:function(){return r.variableDeclarator}}),Object.defineProperty(t,"Variance",{enumerable:!0,get:function(){return r.variance}}),Object.defineProperty(t,"VoidTypeAnnotation",{enumerable:!0,get:function(){return r.voidTypeAnnotation}}),Object.defineProperty(t,"WhileStatement",{enumerable:!0,get:function(){return r.whileStatement}}),Object.defineProperty(t,"WithStatement",{enumerable:!0,get:function(){return r.withStatement}}),Object.defineProperty(t,"YieldExpression",{enumerable:!0,get:function(){return r.yieldExpression}});var r=s(5999)},5894:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildUndefinedNode=function(){return(0,r.unaryExpression)("void",(0,r.numericLiteral)(0),!0)};var r=s(7890)},6250:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[];for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.map((e=>(0,i.isTSTypeAnnotation)(e)?e.typeAnnotation:e)),s=(0,n.default)(t);return 1===s.length?s[0]:(0,r.tsUnionType)(s)};var r=s(7890),n=s(7613),i=s(4019)},7883:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!1)};var r=s(6351)},721:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e)};var r=s(6351)},7039:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!0,!0)};var r=s(6351)},6351:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=!0,s=!1){return l(e,t,s,new Map)};var r=s(3104),n=s(4019);const{hasOwn:i}={hasOwn:Function.call.bind(Object.prototype.hasOwnProperty)};function a(e,t,s,r){return e&&"string"==typeof e.type?l(e,t,s,r):e}function o(e,t,s,r){return Array.isArray(e)?e.map((e=>a(e,t,s,r))):a(e,t,s,r)}function l(e,t=!0,s=!1,a){if(!e)return e;const{type:l}=e,p={type:e.type};if((0,n.isIdentifier)(e))p.name=e.name,i(e,"optional")&&"boolean"==typeof e.optional&&(p.optional=e.optional),i(e,"typeAnnotation")&&(p.typeAnnotation=t?o(e.typeAnnotation,!0,s,a):e.typeAnnotation),i(e,"decorators")&&(p.decorators=t?o(e.decorators,!0,s,a):e.decorators);else{if(!i(r.NODE_FIELDS,l))throw new Error(`Unknown node type: "${l}"`);for(const u of Object.keys(r.NODE_FIELDS[l]))i(e,u)&&(p[u]=t?(0,n.isFile)(e)&&"comments"===u?c(e.comments,t,s,a):o(e[u],!0,s,a):e[u])}return i(e,"loc")&&(p.loc=s?null:e.loc),i(e,"leadingComments")&&(p.leadingComments=c(e.leadingComments,t,s,a)),i(e,"innerComments")&&(p.innerComments=c(e.innerComments,t,s,a)),i(e,"trailingComments")&&(p.trailingComments=c(e.trailingComments,t,s,a)),i(e,"extra")&&(p.extra=Object.assign({},e.extra)),p}function c(e,t,s,r){return e&&t?e.map((e=>{const t=r.get(e);if(t)return t;const{type:n,value:i,loc:a}=e,o={type:n,value:i,loc:a};return s&&(o.loc=null),r.set(e,o),o})):e}},9482:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e,!1,!0)};var r=s(6351)},9477:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s,n){return(0,r.default)(e,t,[{type:n?"CommentLine":"CommentBlock",value:s}])};var r=s(5491)},5491:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){if(!s||!e)return e;const r=`${t}Comments`;return e[r]?"leading"===t?e[r]=s.concat(e[r]):e[r].push(...s):e[r]=s,e}},2735:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("innerComments",e,t)};var r=s(923)},5098:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("leadingComments",e,t)};var r=s(923)},428:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)("trailingComments",e,t)};var r=s(923)},9337:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,r.default)(e,t),(0,n.default)(e,t),(0,i.default)(e,t),e};var r=s(428),n=s(5098),i=s(2735)},2123:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return r.COMMENT_KEYS.forEach((t=>{e[t]=null})),e};var r=s(3218)},1847:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WHILE_TYPES=t.USERWHITESPACABLE_TYPES=t.UNARYLIKE_TYPES=t.TYPESCRIPT_TYPES=t.TSTYPE_TYPES=t.TSTYPEELEMENT_TYPES=t.TSENTITYNAME_TYPES=t.TSBASETYPE_TYPES=t.TERMINATORLESS_TYPES=t.STATEMENT_TYPES=t.STANDARDIZED_TYPES=t.SCOPABLE_TYPES=t.PUREISH_TYPES=t.PROPERTY_TYPES=t.PRIVATE_TYPES=t.PATTERN_TYPES=t.PATTERNLIKE_TYPES=t.OBJECTMEMBER_TYPES=t.MODULESPECIFIER_TYPES=t.MODULEDECLARATION_TYPES=t.MISCELLANEOUS_TYPES=t.METHOD_TYPES=t.LVAL_TYPES=t.LOOP_TYPES=t.LITERAL_TYPES=t.JSX_TYPES=t.IMPORTOREXPORTDECLARATION_TYPES=t.IMMUTABLE_TYPES=t.FUNCTION_TYPES=t.FUNCTIONPARENT_TYPES=t.FOR_TYPES=t.FORXSTATEMENT_TYPES=t.FLOW_TYPES=t.FLOWTYPE_TYPES=t.FLOWPREDICATE_TYPES=t.FLOWDECLARATION_TYPES=t.FLOWBASEANNOTATION_TYPES=t.EXPRESSION_TYPES=t.EXPRESSIONWRAPPER_TYPES=t.EXPORTDECLARATION_TYPES=t.ENUMMEMBER_TYPES=t.ENUMBODY_TYPES=t.DECLARATION_TYPES=t.CONDITIONAL_TYPES=t.COMPLETIONSTATEMENT_TYPES=t.CLASS_TYPES=t.BLOCK_TYPES=t.BLOCKPARENT_TYPES=t.BINARY_TYPES=t.ACCESSOR_TYPES=void 0;var r=s(3104);t.STANDARDIZED_TYPES=r.FLIPPED_ALIAS_KEYS.Standardized,t.EXPRESSION_TYPES=r.FLIPPED_ALIAS_KEYS.Expression,t.BINARY_TYPES=r.FLIPPED_ALIAS_KEYS.Binary,t.SCOPABLE_TYPES=r.FLIPPED_ALIAS_KEYS.Scopable,t.BLOCKPARENT_TYPES=r.FLIPPED_ALIAS_KEYS.BlockParent,t.BLOCK_TYPES=r.FLIPPED_ALIAS_KEYS.Block,t.STATEMENT_TYPES=r.FLIPPED_ALIAS_KEYS.Statement,t.TERMINATORLESS_TYPES=r.FLIPPED_ALIAS_KEYS.Terminatorless,t.COMPLETIONSTATEMENT_TYPES=r.FLIPPED_ALIAS_KEYS.CompletionStatement,t.CONDITIONAL_TYPES=r.FLIPPED_ALIAS_KEYS.Conditional,t.LOOP_TYPES=r.FLIPPED_ALIAS_KEYS.Loop,t.WHILE_TYPES=r.FLIPPED_ALIAS_KEYS.While,t.EXPRESSIONWRAPPER_TYPES=r.FLIPPED_ALIAS_KEYS.ExpressionWrapper,t.FOR_TYPES=r.FLIPPED_ALIAS_KEYS.For,t.FORXSTATEMENT_TYPES=r.FLIPPED_ALIAS_KEYS.ForXStatement,t.FUNCTION_TYPES=r.FLIPPED_ALIAS_KEYS.Function,t.FUNCTIONPARENT_TYPES=r.FLIPPED_ALIAS_KEYS.FunctionParent,t.PUREISH_TYPES=r.FLIPPED_ALIAS_KEYS.Pureish,t.DECLARATION_TYPES=r.FLIPPED_ALIAS_KEYS.Declaration,t.PATTERNLIKE_TYPES=r.FLIPPED_ALIAS_KEYS.PatternLike,t.LVAL_TYPES=r.FLIPPED_ALIAS_KEYS.LVal,t.TSENTITYNAME_TYPES=r.FLIPPED_ALIAS_KEYS.TSEntityName,t.LITERAL_TYPES=r.FLIPPED_ALIAS_KEYS.Literal,t.IMMUTABLE_TYPES=r.FLIPPED_ALIAS_KEYS.Immutable,t.USERWHITESPACABLE_TYPES=r.FLIPPED_ALIAS_KEYS.UserWhitespacable,t.METHOD_TYPES=r.FLIPPED_ALIAS_KEYS.Method,t.OBJECTMEMBER_TYPES=r.FLIPPED_ALIAS_KEYS.ObjectMember,t.PROPERTY_TYPES=r.FLIPPED_ALIAS_KEYS.Property,t.UNARYLIKE_TYPES=r.FLIPPED_ALIAS_KEYS.UnaryLike,t.PATTERN_TYPES=r.FLIPPED_ALIAS_KEYS.Pattern,t.CLASS_TYPES=r.FLIPPED_ALIAS_KEYS.Class;const n=t.IMPORTOREXPORTDECLARATION_TYPES=r.FLIPPED_ALIAS_KEYS.ImportOrExportDeclaration;t.EXPORTDECLARATION_TYPES=r.FLIPPED_ALIAS_KEYS.ExportDeclaration,t.MODULESPECIFIER_TYPES=r.FLIPPED_ALIAS_KEYS.ModuleSpecifier,t.ACCESSOR_TYPES=r.FLIPPED_ALIAS_KEYS.Accessor,t.PRIVATE_TYPES=r.FLIPPED_ALIAS_KEYS.Private,t.FLOW_TYPES=r.FLIPPED_ALIAS_KEYS.Flow,t.FLOWTYPE_TYPES=r.FLIPPED_ALIAS_KEYS.FlowType,t.FLOWBASEANNOTATION_TYPES=r.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation,t.FLOWDECLARATION_TYPES=r.FLIPPED_ALIAS_KEYS.FlowDeclaration,t.FLOWPREDICATE_TYPES=r.FLIPPED_ALIAS_KEYS.FlowPredicate,t.ENUMBODY_TYPES=r.FLIPPED_ALIAS_KEYS.EnumBody,t.ENUMMEMBER_TYPES=r.FLIPPED_ALIAS_KEYS.EnumMember,t.JSX_TYPES=r.FLIPPED_ALIAS_KEYS.JSX,t.MISCELLANEOUS_TYPES=r.FLIPPED_ALIAS_KEYS.Miscellaneous,t.TYPESCRIPT_TYPES=r.FLIPPED_ALIAS_KEYS.TypeScript,t.TSTYPEELEMENT_TYPES=r.FLIPPED_ALIAS_KEYS.TSTypeElement,t.TSTYPE_TYPES=r.FLIPPED_ALIAS_KEYS.TSType,t.TSBASETYPE_TYPES=r.FLIPPED_ALIAS_KEYS.TSBaseType,t.MODULEDECLARATION_TYPES=n},3218:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UPDATE_OPERATORS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.STATEMENT_OR_BLOCK_KEYS=t.NUMBER_UNARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.NOT_LOCAL_BINDING=t.LOGICAL_OPERATORS=t.INHERIT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.EQUALITY_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.COMMENT_KEYS=t.BOOLEAN_UNARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.BLOCK_SCOPED_SYMBOL=t.BINARY_OPERATORS=t.ASSIGNMENT_OPERATORS=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 s=t.LOGICAL_OPERATORS=["||","&&","??"],r=(t.UPDATE_OPERATORS=["++","--"],t.BOOLEAN_NUMBER_BINARY_OPERATORS=[">","<",">=","<="]),n=t.EQUALITY_BINARY_OPERATORS=["==","===","!=","!=="],i=t.COMPARISON_BINARY_OPERATORS=[...n,"in","instanceof"],a=t.BOOLEAN_BINARY_OPERATORS=[...i,...r],o=t.NUMBER_BINARY_OPERATORS=["-","/","%","*","**","&","|",">>",">>>","<<","^"],l=(t.BINARY_OPERATORS=["+",...o,...a,"|>"],t.ASSIGNMENT_OPERATORS=["=","+=",...o.map((e=>e+"=")),...s.map((e=>e+"="))],t.BOOLEAN_UNARY_OPERATORS=["delete","!"]),c=t.NUMBER_UNARY_OPERATORS=["+","-","~"],p=t.STRING_UNARY_OPERATORS=["typeof"];t.UNARY_OPERATORS=["void","throw",...l,...c,...p],t.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},t.BLOCK_SCOPED_SYMBOL=Symbol.for("var used to be block scoped"),t.NOT_LOCAL_BINDING=Symbol.for("should not be considered a local binding")},5620:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t="body"){const s=(0,r.default)(e[t],e);return e[t]=s,s};var r=s(6016)},8010:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,s){const l=[];let c=!0;for(const p of t)if((0,n.isEmptyStatement)(p)||(c=!1),(0,n.isExpression)(p))l.push(p);else if((0,n.isExpressionStatement)(p))l.push(p.expression);else if((0,n.isVariableDeclaration)(p)){if("var"!==p.kind)return;for(const e of p.declarations){const t=(0,r.default)(e);for(const e of Object.keys(t))s.push({kind:p.kind,id:(0,o.default)(t[e])});e.init&&l.push((0,i.assignmentExpression)("=",e.id,e.init))}c=!0}else if((0,n.isIfStatement)(p)){const t=p.consequent?e([p.consequent],s):(0,a.buildUndefinedNode)(),r=p.alternate?e([p.alternate],s):(0,a.buildUndefinedNode)();if(!t||!r)return;l.push((0,i.conditionalExpression)(p.test,t,r))}else if((0,n.isBlockStatement)(p)){const t=e(p.body,s);if(!t)return;l.push(t)}else{if(!(0,n.isEmptyStatement)(p))return;0===t.indexOf(p)&&(c=!0)}return c&&l.push((0,a.buildUndefinedNode)()),1===l.length?l[0]:(0,i.sequenceExpression)(l)};var r=s(5582),n=s(4019),i=s(7890),a=s(5894),o=s(6351)},1314:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"eval"!==(e=(0,r.default)(e))&&"arguments"!==e||(e="_"+e),e};var r=s(6191)},6016:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,r.isBlockStatement)(e))return e;let s=[];return(0,r.isEmptyStatement)(e)?s=[]:((0,r.isStatement)(e)||(e=(0,r.isFunction)(t)?(0,n.returnStatement)(e):(0,n.expressionStatement)(e)),s=[e]),(0,n.blockStatement)(s)};var r=s(4019),n=s(7890)},5222:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=e.key||e.property){return!e.computed&&(0,r.isIdentifier)(t)&&(t=(0,n.stringLiteral)(t.name)),t};var r=s(4019),n=s(7890)},1926:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(4019);t.default=function(e){if((0,r.isExpressionStatement)(e)&&(e=e.expression),(0,r.isExpression)(e))return e;if((0,r.isClass)(e)?e.type="ClassExpression":(0,r.isFunction)(e)&&(e.type="FunctionExpression"),!(0,r.isExpression)(e))throw new Error(`cannot turn ${e.type} to an expression`);return e}},6191:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e+="";let t="";for(const s of e)t+=(0,n.isIdentifierChar)(s.codePointAt(0))?s:"-";return t=t.replace(/^[-0-9]+/,""),t=t.replace(/[-\\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""})),(0,r.default)(t)||(t=`_${t}`),t||"_"};var r=s(7095),n=s(736)},2953:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=a;var r=s(4019),n=s(6351),i=s(6560);function a(e,t=e.key){let s;return"method"===e.kind?a.increment()+"":(s=(0,r.isIdentifier)(t)?t.name:(0,r.isStringLiteral)(t)?JSON.stringify(t.value):JSON.stringify((0,i.default)((0,n.default)(t))),e.computed&&(s=`[${s}]`),e.static&&(s=`static:${s}`),s)}a.uid=0,a.increment=function(){return a.uid>=Number.MAX_SAFE_INTEGER?a.uid=0:a.uid++}},6004:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(null==e||!e.length)return;const s=[],n=(0,r.default)(e,s);if(n){for(const e of s)t.push(e);return n}};var r=s(8010)},2748:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(4019),n=s(7890);t.default=function(e,t){if((0,r.isStatement)(e))return e;let s,i=!1;if((0,r.isClass)(e))i=!0,s="ClassDeclaration";else if((0,r.isFunction)(e))i=!0,s="FunctionDeclaration";else if((0,r.isAssignmentExpression)(e))return(0,n.expressionStatement)(e);if(i&&!e.id&&(s=!1),!s){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=s,e}},1171:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(7095),n=s(7890);t.default=function e(t){if(void 0===t)return(0,n.identifier)("undefined");if(!0===t||!1===t)return(0,n.booleanLiteral)(t);if(null===t)return(0,n.nullLiteral)();if("string"==typeof t)return(0,n.stringLiteral)(t);if("number"==typeof t){let e;if(Number.isFinite(t))e=(0,n.numericLiteral)(Math.abs(t));else{let s;s=Number.isNaN(t)?(0,n.numericLiteral)(0):(0,n.numericLiteral)(1),e=(0,n.binaryExpression)("/",s,(0,n.numericLiteral)(0))}return(t<0||Object.is(t,-0))&&(e=(0,n.unaryExpression)("-",e)),e}if(function(e){return"[object RegExp]"===i(e)}(t)){const e=t.source,s=/\\/([a-z]*)$/.exec(t.toString())[1];return(0,n.regExpLiteral)(e,s)}if(Array.isArray(t))return(0,n.arrayExpression)(t.map(e));if(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}(t)){const s=[];for(const i of Object.keys(t)){let a;a=(0,r.default)(i)?(0,n.identifier)(i):(0,n.stringLiteral)(i),s.push((0,n.objectProperty)(a,e(t[i])))}return(0,n.objectExpression)(s)}throw new Error("don\'t know how to turn this value into a node")};const i=Function.call.bind(Object.prototype.toString)},8427:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.patternLikeCommon=t.importAttributes=t.functionTypeAnnotationCommon=t.functionDeclarationCommon=t.functionCommon=t.classMethodOrPropertyCommon=t.classMethodOrDeclareMethodCommon=void 0;var n=s(2606),i=s(7095),a=s(736),o=s(3993),l=s(3218),c=s(5737);const p=(0,c.defineAliasedType)("Standardized");p("ArrayExpression",{fields:{elements:{validate:(0,c.arrayOf)((0,c.assertNodeOrValueType)("null","Expression","SpreadElement")),default:r.env.BABEL_TYPES_8_BREAKING?void 0:[]}},visitor:["elements"],aliases:["Expression"]}),p("AssignmentExpression",{fields:{operator:{validate:r.env.BABEL_TYPES_8_BREAKING?Object.assign(function(){const e=(0,c.assertOneOf)(...l.ASSIGNMENT_OPERATORS),t=(0,c.assertOneOf)("=");return function(s,r,i){((0,n.default)("Pattern",s.left)?t:e)(s,r,i)}}(),{type:"string"}):(0,c.assertValueType)("string")},left:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("Identifier","MemberExpression","OptionalMemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"):(0,c.assertNodeType)("LVal","OptionalMemberExpression")},right:{validate:(0,c.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),p("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:(0,c.assertOneOf)(...l.BINARY_OPERATORS)},left:{validate:function(){const e=(0,c.assertNodeType)("Expression"),t=(0,c.assertNodeType)("Expression","PrivateName");return Object.assign((function(s,r,n){("in"===s.operator?t:e)(s,r,n)}),{oneOfNodeTypes:["Expression","PrivateName"]})}()},right:{validate:(0,c.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),p("InterpreterDirective",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("string")}}}),p("Directive",{visitor:["value"],fields:{value:{validate:(0,c.assertNodeType)("DirectiveLiteral")}}}),p("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("string")}}}),p("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,c.arrayOfType)("Directive"),default:[]},body:(0,c.validateArrayOfType)("Statement")},aliases:["Scopable","BlockParent","Block","Statement"]}),p("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,c.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),p("CallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:(0,c.assertNodeType)("Expression","Super","V8IntrinsicIdentifier")},arguments:(0,c.validateArrayOfType)("Expression","SpreadElement","ArgumentPlaceholder"),typeArguments:{validate:(0,c.assertNodeType)("TypeParameterInstantiation"),optional:!0}},{optional:{validate:(0,c.assertValueType)("boolean"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}},r.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,c.assertValueType)("boolean"),optional:!0}})}),p("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,c.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:(0,c.assertNodeType)("BlockStatement")}},aliases:["Scopable","BlockParent"]}),p("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,c.assertNodeType)("Expression")},consequent:{validate:(0,c.assertNodeType)("Expression")},alternate:{validate:(0,c.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),p("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,c.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),p("DebuggerStatement",{aliases:["Statement"]}),p("DoWhileStatement",{builder:["test","body"],visitor:["body","test"],fields:{test:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),p("EmptyStatement",{aliases:["Statement"]}),p("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,c.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),p("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,c.assertNodeType)("Program")},comments:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertEach)((0,c.assertNodeType)("CommentBlock","CommentLine")):Object.assign((()=>{}),{each:{oneOfNodeTypes:["CommentBlock","CommentLine"]}}),optional:!0},tokens:{validate:(0,c.assertEach)(Object.assign((()=>{}),{type:"any"})),optional:!0}}}),p("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"):(0,c.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")}}}),p("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,c.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,c.assertNodeType)("Expression"),optional:!0},update:{validate:(0,c.assertNodeType)("Expression"),optional:!0},body:{validate:(0,c.assertNodeType)("Statement")}}});const u=()=>({params:(0,c.validateArrayOfType)("Identifier","Pattern","RestElement"),generator:{default:!1},async:{default:!1}});t.functionCommon=u;const h=()=>({returnType:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0}});t.functionTypeAnnotationCommon=h;const d=()=>Object.assign({},u(),{declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},id:{validate:(0,c.assertNodeType)("Identifier"),optional:!0}});t.functionDeclarationCommon=d,p("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","typeParameters","params","predicate","returnType","body"],fields:Object.assign({},d(),h(),{body:{validate:(0,c.assertNodeType)("BlockStatement")},predicate:{validate:(0,c.assertNodeType)("DeclaredPredicate","InferredPredicate"),optional:!0}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:r.env.BABEL_TYPES_8_BREAKING?function(){const e=(0,c.assertNodeType)("Identifier");return function(t,s,r){(0,n.default)("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}():void 0}),p("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},u(),h(),{id:{validate:(0,c.assertNodeType)("Identifier"),optional:!0},body:{validate:(0,c.assertNodeType)("BlockStatement")},predicate:{validate:(0,c.assertNodeType)("DeclaredPredicate","InferredPredicate"),optional:!0}})});const f=()=>({typeAnnotation:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},optional:{validate:(0,c.assertValueType)("boolean"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0}});t.patternLikeCommon=f,p("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},f(),{name:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("string"),Object.assign((function(e,t,s){if(!(0,i.default)(s,!1))throw new TypeError(`"${s}" is not a valid identifier name`)}),{type:"string"})):(0,c.assertValueType)("string")}}),validate:r.env.BABEL_TYPES_8_BREAKING?function(e,t,s){const r=/\\.(\\w+)$/.exec(t);if(!r)return;const[,i]=r,o={computed:!1};if("property"===i){if((0,n.default)("MemberExpression",e,o))return;if((0,n.default)("OptionalMemberExpression",e,o))return}else if("key"===i){if((0,n.default)("Property",e,o))return;if((0,n.default)("Method",e,o))return}else if("exported"===i){if((0,n.default)("ExportSpecifier",e))return}else if("imported"===i){if((0,n.default)("ImportSpecifier",e,{imported:s}))return}else if("meta"===i&&(0,n.default)("MetaProperty",e,{meta:s}))return;if(((0,a.isKeyword)(s.name)||(0,a.isReservedWord)(s.name,!1))&&"this"!==s.name)throw new TypeError(`"${s.name}" is not a valid identifier`)}:void 0}),p("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,c.assertNodeType)("Expression")},consequent:{validate:(0,c.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,c.assertNodeType)("Statement")}}}),p("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,c.assertNodeType)("Identifier")},body:{validate:(0,c.assertNodeType)("Statement")}}}),p("StringLiteral",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),p("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,c.chain)((0,c.assertValueType)("number"),Object.assign((function(e,t,s){(1/s<0||!Number.isFinite(s))&&new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${s}) instead.`)}),{type:"number"}))}},aliases:["Expression","Pureish","Literal","Immutable"]}),p("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),p("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),p("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:(0,c.assertValueType)("string")},flags:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("string"),Object.assign((function(e,t,s){const r=/[^gimsuy]/.exec(s);if(r)throw new TypeError(`"${r[0]}" is not a valid RegExp flag`)}),{type:"string"})):(0,c.assertValueType)("string"),default:""}}}),p("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:(0,c.assertOneOf)(...l.LOGICAL_OPERATORS)},left:{validate:(0,c.assertNodeType)("Expression")},right:{validate:(0,c.assertNodeType)("Expression")}}}),p("MemberExpression",{builder:["object","property","computed",...r.env.BABEL_TYPES_8_BREAKING?[]:["optional"]],visitor:["object","property"],aliases:["Expression","LVal"],fields:Object.assign({object:{validate:(0,c.assertNodeType)("Expression","Super")},property:{validate:function(){const e=(0,c.assertNodeType)("Identifier","PrivateName"),t=(0,c.assertNodeType)("Expression"),s=function(s,r,n){(s.computed?t:e)(s,r,n)};return s.oneOfNodeTypes=["Expression","Identifier","PrivateName"],s}()},computed:{default:!1}},r.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,c.assertValueType)("boolean"),optional:!0}})}),p("NewExpression",{inherits:"CallExpression"}),p("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceType:{validate:(0,c.assertOneOf)("script","module"),default:"script"},interpreter:{validate:(0,c.assertNodeType)("InterpreterDirective"),default:null,optional:!0},directives:{validate:(0,c.arrayOfType)("Directive"),default:[]},body:(0,c.validateArrayOfType)("Statement")},aliases:["Scopable","BlockParent","Block"]}),p("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:(0,c.validateArrayOfType)("ObjectMethod","ObjectProperty","SpreadElement")}}),p("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},u(),h(),{kind:Object.assign({validate:(0,c.assertOneOf)("method","get","set")},r.env.BABEL_TYPES_8_BREAKING?{}:{default:"method"}),computed:{default:!1},key:{validate:function(){const e=(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=(0,c.assertNodeType)("Expression"),s=function(s,r,n){(s.computed?t:e)(s,r,n)};return s.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral"],s}()},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},body:{validate:(0,c.assertNodeType)("BlockStatement")}}),aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),p("ObjectProperty",{builder:["key","value","computed","shorthand",...r.env.BABEL_TYPES_8_BREAKING?[]:["decorators"]],fields:{computed:{default:!1},key:{validate:function(){const e=(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","PrivateName"),t=(0,c.assertNodeType)("Expression");return Object.assign((function(s,r,n){(s.computed?t:e)(s,r,n)}),{oneOfNodeTypes:["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","PrivateName"]})}()},value:{validate:(0,c.assertNodeType)("Expression","PatternLike")},shorthand:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("boolean"),Object.assign((function(e,t,s){if(s){if(e.computed)throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");if(!(0,n.default)("Identifier",e.key))throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")}}),{type:"boolean"})):(0,c.assertValueType)("boolean"),default:!1},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:r.env.BABEL_TYPES_8_BREAKING?function(){const e=(0,c.assertNodeType)("Identifier","Pattern","TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion"),t=(0,c.assertNodeType)("Expression");return function(s,r,i){((0,n.default)("ObjectPattern",s)?e:t)(i,"value",i.value)}}():void 0}),p("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},f(),{argument:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("Identifier","ArrayPattern","ObjectPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"):(0,c.assertNodeType)("LVal")}}),validate:r.env.BABEL_TYPES_8_BREAKING?function(e,t){const s=/(\\w+)\\[(\\d+)\\]/.exec(t);if(!s)throw new Error("Internal Babel error: malformed key.");const[,r,n]=s;if(e[r].length>+n+1)throw new TypeError(`RestElement must be last element of ${r}`)}:void 0}),p("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,c.assertNodeType)("Expression"),optional:!0}}}),p("SequenceExpression",{visitor:["expressions"],fields:{expressions:(0,c.validateArrayOfType)("Expression")},aliases:["Expression"]}),p("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,c.assertNodeType)("Expression")}}}),p("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,c.assertNodeType)("Expression"),optional:!0},consequent:(0,c.validateArrayOfType)("Statement")}}),p("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,c.assertNodeType)("Expression")},cases:(0,c.validateArrayOfType)("SwitchCase")}}),p("ThisExpression",{aliases:["Expression"]}),p("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,c.assertNodeType)("Expression")}}}),p("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertNodeType)("BlockStatement"),Object.assign((function(e){if(!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")}),{oneOfNodeTypes:["BlockStatement"]})):(0,c.assertNodeType)("BlockStatement")},handler:{optional:!0,validate:(0,c.assertNodeType)("CatchClause")},finalizer:{optional:!0,validate:(0,c.assertNodeType)("BlockStatement")}}}),p("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,c.assertNodeType)("Expression")},operator:{validate:(0,c.assertOneOf)(...l.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),p("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("Identifier","MemberExpression"):(0,c.assertNodeType)("Expression")},operator:{validate:(0,c.assertOneOf)(...l.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),p("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},kind:{validate:(0,c.assertOneOf)("var","let","const","using","await using")},declarations:(0,c.validateArrayOfType)("VariableDeclarator")},validate:r.env.BABEL_TYPES_8_BREAKING?(()=>{const e=(0,c.assertNodeType)("Identifier");return function(t,s,r){if((0,n.default)("ForXStatement",t,{left:r})){if(1!==r.declarations.length)throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${t.type}`)}else r.declarations.forEach((t=>{t.init||e(t,"id",t.id)}))}})():void 0}),p("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"):(0,c.assertNodeType)("LVal")},definite:{optional:!0,validate:(0,c.assertValueType)("boolean")},init:{optional:!0,validate:(0,c.assertNodeType)("Expression")}}}),p("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")}}}),p("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")}}}),p("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},f(),{left:{validate:(0,c.assertNodeType)("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:(0,c.assertNodeType)("Expression")},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0}})}),p("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},f(),{elements:{validate:(0,c.chain)((0,c.assertValueType)("array"),(0,c.assertEach)((0,c.assertNodeOrValueType)("null","PatternLike","LVal")))}})}),p("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["typeParameters","params","predicate","returnType","body"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},u(),h(),{expression:{validate:(0,c.assertValueType)("boolean")},body:{validate:(0,c.assertNodeType)("BlockStatement","Expression")},predicate:{validate:(0,c.assertNodeType)("DeclaredPredicate","InferredPredicate"),optional:!0}})}),p("ClassBody",{visitor:["body"],fields:{body:(0,c.validateArrayOfType)("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")}}),p("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:(0,c.assertNodeType)("Identifier"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,c.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,c.assertNodeType)("Expression")},superTypeParameters:{validate:(0,c.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,c.arrayOfType)("TSExpressionWithTypeArguments","ClassImplements"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},mixins:{validate:(0,c.assertNodeType)("InterfaceExtends"),optional:!0}}}),p("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:(0,c.assertNodeType)("Identifier"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,c.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,c.assertNodeType)("Expression")},superTypeParameters:{validate:(0,c.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,c.arrayOfType)("TSExpressionWithTypeArguments","ClassImplements"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},mixins:{validate:(0,c.assertNodeType)("InterfaceExtends"),optional:!0},declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},abstract:{validate:(0,c.assertValueType)("boolean"),optional:!0}},validate:r.env.BABEL_TYPES_8_BREAKING?function(){const e=(0,c.assertNodeType)("Identifier");return function(t,s,r){(0,n.default)("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}():void 0});const m=t.importAttributes={attributes:{optional:!0,validate:(0,c.arrayOfType)("ImportAttribute")},assertions:{deprecated:!0,optional:!0,validate:(0,c.arrayOfType)("ImportAttribute")}};p("ExportAllDeclaration",{builder:["source"],visitor:["source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({source:{validate:(0,c.assertNodeType)("StringLiteral")},exportKind:(0,c.validateOptional)((0,c.assertOneOf)("type","value"))},m)}),p("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:(0,c.validateType)("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression"),exportKind:(0,c.validateOptional)((0,c.assertOneOf)("value"))}}),p("ExportNamedDeclaration",{builder:["declaration","specifiers","source"],visitor:r.env?["declaration","specifiers","source","attributes"]:["declaration","specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({declaration:{optional:!0,validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertNodeType)("Declaration"),Object.assign((function(e,t,s){if(s&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");if(s&&e.source)throw new TypeError("Cannot export a declaration from a source")}),{oneOfNodeTypes:["Declaration"]})):(0,c.assertNodeType)("Declaration")}},m,{specifiers:{default:[],validate:(0,c.arrayOf)(function(){const e=(0,c.assertNodeType)("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=(0,c.assertNodeType)("ExportSpecifier");return r.env.BABEL_TYPES_8_BREAKING?Object.assign((function(s,r,n){(s.source?e:t)(s,r,n)}),{oneOfNodeTypes:["ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"]}):e}())},source:{validate:(0,c.assertNodeType)("StringLiteral"),optional:!0},exportKind:(0,c.validateOptional)((0,c.assertOneOf)("type","value"))})}),p("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,c.assertNodeType)("Identifier")},exported:{validate:(0,c.assertNodeType)("Identifier","StringLiteral")},exportKind:{validate:(0,c.assertOneOf)("type","value"),optional:!0}}}),p("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){if(!r.env.BABEL_TYPES_8_BREAKING)return(0,c.assertNodeType)("VariableDeclaration","LVal");const e=(0,c.assertNodeType)("VariableDeclaration"),t=(0,c.assertNodeType)("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return Object.assign((function(s,r,i){(0,n.default)("VariableDeclaration",i)?e(s,r,i):t(s,r,i)}),{oneOfNodeTypes:["VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"]})}()},right:{validate:(0,c.assertNodeType)("Expression")},body:{validate:(0,c.assertNodeType)("Statement")},await:{default:!1}}}),p("ImportDeclaration",{builder:["specifiers","source"],visitor:["specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration"],fields:Object.assign({},m,{module:{optional:!0,validate:(0,c.assertValueType)("boolean")},phase:{default:null,validate:(0,c.assertOneOf)("source","defer")},specifiers:(0,c.validateArrayOfType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier"),source:{validate:(0,c.assertNodeType)("StringLiteral")},importKind:{validate:(0,c.assertOneOf)("type","typeof","value"),optional:!0}})}),p("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,c.assertNodeType)("Identifier")}}}),p("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,c.assertNodeType)("Identifier")}}}),p("ImportSpecifier",{visitor:["imported","local"],builder:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,c.assertNodeType)("Identifier")},imported:{validate:(0,c.assertNodeType)("Identifier","StringLiteral")},importKind:{validate:(0,c.assertOneOf)("type","typeof","value"),optional:!0}}}),p("ImportExpression",{visitor:["source","options"],aliases:["Expression"],fields:{phase:{default:null,validate:(0,c.assertOneOf)("source","defer")},source:{validate:(0,c.assertNodeType)("Expression")},options:{validate:(0,c.assertNodeType)("Expression"),optional:!0}}}),p("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertNodeType)("Identifier"),Object.assign((function(e,t,s){let r;switch(s.name){case"function":r="sent";break;case"new":r="target";break;case"import":r="meta"}if(!(0,n.default)("Identifier",e.property,{name:r}))throw new TypeError("Unrecognised MetaProperty")}),{oneOfNodeTypes:["Identifier"]})):(0,c.assertNodeType)("Identifier")},property:{validate:(0,c.assertNodeType)("Identifier")}}});const y=()=>({abstract:{validate:(0,c.assertValueType)("boolean"),optional:!0},accessibility:{validate:(0,c.assertOneOf)("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:(0,c.assertValueType)("boolean"),optional:!0},key:{validate:(0,c.chain)(function(){const e=(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=(0,c.assertNodeType)("Expression");return function(s,r,n){(s.computed?t:e)(s,r,n)}}(),(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}});t.classMethodOrPropertyCommon=y;const g=()=>Object.assign({},u(),y(),{params:(0,c.validateArrayOfType)("Identifier","Pattern","RestElement","TSParameterProperty"),kind:{validate:(0,c.assertOneOf)("get","set","method","constructor"),default:"method"},access:{validate:(0,c.chain)((0,c.assertValueType)("string"),(0,c.assertOneOf)("public","private","protected")),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0}});t.classMethodOrDeclareMethodCommon=g,p("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},g(),h(),{body:{validate:(0,c.assertNodeType)("BlockStatement")}})}),p("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},f(),{properties:(0,c.validateArrayOfType)("RestElement","ObjectProperty")})}),p("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:(0,c.assertNodeType)("Expression")}}}),p("Super",{aliases:["Expression"]}),p("TaggedTemplateExpression",{visitor:["tag","typeParameters","quasi"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,c.assertNodeType)("Expression")},quasi:{validate:(0,c.assertNodeType)("TemplateLiteral")},typeParameters:{validate:(0,c.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),p("TemplateElement",{builder:["value","tail"],fields:{value:{validate:(0,c.chain)((0,c.assertShape)({raw:{validate:(0,c.assertValueType)("string")},cooked:{validate:(0,c.assertValueType)("string"),optional:!0}}),(function(e){const t=e.value.raw;let s=!1;const r=()=>{throw new Error("Internal @babel/types error.")},{str:n,firstInvalidLoc:i}=(0,o.readStringContents)("template",t,0,0,0,{unterminated(){s=!0},strictNumericEscape:r,invalidEscapeSequence:r,numericSeparatorInEscapeSequence:r,unexpectedNumericSeparator:r,invalidDigit:r,invalidCodePoint:r});if(!s)throw new Error("Invalid raw");e.value.cooked=i?null:n}))},tail:{default:!1}}}),p("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:(0,c.validateArrayOfType)("TemplateElement"),expressions:{validate:(0,c.chain)((0,c.assertValueType)("array"),(0,c.assertEach)((0,c.assertNodeType)("Expression","TSType")),(function(e,t,s){if(e.quasis.length!==s.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\\nExpected ${s.length+1} quasis but got ${e.quasis.length}`)}))}}}),p("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("boolean"),Object.assign((function(e,t,s){if(s&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")}),{type:"boolean"})):(0,c.assertValueType)("boolean"),default:!1},argument:{optional:!0,validate:(0,c.assertNodeType)("Expression")}}}),p("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,c.assertNodeType)("Expression")}}}),p("Import",{aliases:["Expression"]}),p("BigIntLiteral",{builder:["value"],fields:{value:{validate:(0,c.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),p("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,c.assertNodeType)("Identifier")}}}),p("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:(0,c.assertNodeType)("Expression")},property:{validate:function(){const e=(0,c.assertNodeType)("Identifier"),t=(0,c.assertNodeType)("Expression");return Object.assign((function(s,r,n){(s.computed?t:e)(s,r,n)}),{oneOfNodeTypes:["Expression","Identifier"]})}()},computed:{default:!1},optional:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("boolean"),(0,c.assertOptionalChainStart)()):(0,c.assertValueType)("boolean")}}}),p("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:Object.assign({callee:{validate:(0,c.assertNodeType)("Expression")},arguments:(0,c.validateArrayOfType)("Expression","SpreadElement","ArgumentPlaceholder"),optional:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)("boolean"),(0,c.assertOptionalChainStart)()):(0,c.assertValueType)("boolean")},typeArguments:{validate:(0,c.assertNodeType)("TypeParameterInstantiation"),optional:!0}},{typeParameters:{validate:(0,c.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}})}),p("ClassProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},y(),{value:{validate:(0,c.assertNodeType)("Expression"),optional:!0},definite:{validate:(0,c.assertValueType)("boolean"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},readonly:{validate:(0,c.assertValueType)("boolean"),optional:!0},declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},variance:{validate:(0,c.assertNodeType)("Variance"),optional:!0}})}),p("ClassAccessorProperty",{visitor:["decorators","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property","Accessor"],fields:Object.assign({},y(),{key:{validate:(0,c.chain)(function(){const e=(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=(0,c.assertNodeType)("Expression");return function(s,r,n){(s.computed?t:e)(s,r,n)}}(),(0,c.assertNodeType)("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression","PrivateName"))},value:{validate:(0,c.assertNodeType)("Expression"),optional:!0},definite:{validate:(0,c.assertValueType)("boolean"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},readonly:{validate:(0,c.assertValueType)("boolean"),optional:!0},declare:{validate:(0,c.assertValueType)("boolean"),optional:!0},variance:{validate:(0,c.assertNodeType)("Variance"),optional:!0}})}),p("ClassPrivateProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:(0,c.assertNodeType)("PrivateName")},value:{validate:(0,c.assertNodeType)("Expression"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,c.arrayOfType)("Decorator"),optional:!0},static:{validate:(0,c.assertValueType)("boolean"),default:!1},readonly:{validate:(0,c.assertValueType)("boolean"),optional:!0},optional:{validate:(0,c.assertValueType)("boolean"),optional:!0},definite:{validate:(0,c.assertValueType)("boolean"),optional:!0},variance:{validate:(0,c.assertNodeType)("Variance"),optional:!0}}}),p("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["decorators","key","typeParameters","params","returnType","body"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},g(),h(),{kind:{validate:(0,c.assertOneOf)("get","set","method"),default:"method"},key:{validate:(0,c.assertNodeType)("PrivateName")},body:{validate:(0,c.assertNodeType)("BlockStatement")}})}),p("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:(0,c.assertNodeType)("Identifier")}}}),p("StaticBlock",{visitor:["body"],fields:{body:(0,c.validateArrayOfType)("Statement")},aliases:["Scopable","BlockParent","FunctionParent"]})},9229:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEPRECATED_ALIASES=void 0,t.DEPRECATED_ALIASES={ModuleDeclaration:"ImportOrExportDeclaration"}},82:(e,t,s)=>{"use strict";var r=s(397),n=s(5737);(0,n.default)("ArgumentPlaceholder",{}),(0,n.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:r.env.BABEL_TYPES_8_BREAKING?{object:{validate:(0,n.assertNodeType)("Expression")},callee:{validate:(0,n.assertNodeType)("Expression")}}:{object:{validate:Object.assign((()=>{}),{oneOfNodeTypes:["Expression"]})},callee:{validate:Object.assign((()=>{}),{oneOfNodeTypes:["Expression"]})}}}),(0,n.default)("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:(0,n.assertNodeType)("Identifier","StringLiteral")},value:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,n.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("DoExpression",{visitor:["body"],builder:["body","async"],aliases:["Expression"],fields:{body:{validate:(0,n.assertNodeType)("BlockStatement")},async:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,n.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:(0,n.validateArrayOfType)("ObjectProperty","SpreadElement")}}),(0,n.default)("TupleExpression",{fields:{elements:{validate:(0,n.arrayOfType)("Expression","SpreadElement"),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,n.default)("DecimalLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("ModuleExpression",{visitor:["body"],fields:{body:{validate:(0,n.assertNodeType)("Program")}},aliases:["Expression"]}),(0,n.default)("TopicReference",{aliases:["Expression"]}),(0,n.default)("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}},aliases:["Expression"]}),(0,n.default)("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:(0,n.assertNodeType)("Expression")}},aliases:["Expression"]}),(0,n.default)("PipelinePrimaryTopicReference",{aliases:["Expression"]})},6406:(e,t,s)=>{"use strict";var r=s(8427),n=s(5737);const i=(0,n.defineAliasedType)("Flow"),a=e=>{const t="DeclareClass"===e;i(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends",...t?["mixins","implements"]:[],"body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends"))},t?{mixins:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),implements:(0,n.validateOptional)((0,n.arrayOfType)("ClassImplements"))}:{},{body:(0,n.validateType)("ObjectTypeAnnotation")})})};i("AnyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["FlowType"],fields:{elementType:(0,n.validateType)("FlowType")}}),i("BooleanTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("NullLiteralTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("ClassImplements",{visitor:["id","typeParameters"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),a("DeclareClass"),i("DeclareFunction",{builder:["id"],visitor:["id","predicate"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),predicate:(0,n.validateOptionalType)("DeclaredPredicate")}}),a("DeclareInterface"),i("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier","StringLiteral"),body:(0,n.validateType)("BlockStatement"),kind:(0,n.validateOptional)((0,n.assertOneOf)("CommonJS","ES"))}}),i("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),i("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),i("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType"),impltype:(0,n.validateOptionalType)("FlowType")}}),i("DeclareVariable",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier")}}),i("DeclareExportDeclaration",{visitor:["declaration","specifiers","source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({declaration:(0,n.validateOptionalType)("Flow"),specifiers:(0,n.validateOptional)((0,n.arrayOfType)("ExportSpecifier","ExportNamespaceSpecifier")),source:(0,n.validateOptionalType)("StringLiteral"),default:(0,n.validateOptional)((0,n.assertValueType)("boolean"))},r.importAttributes)}),i("DeclareExportAllDeclaration",{visitor:["source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({source:(0,n.validateType)("StringLiteral"),exportKind:(0,n.validateOptional)((0,n.assertOneOf)("type","value"))},r.importAttributes)}),i("DeclaredPredicate",{visitor:["value"],aliases:["FlowPredicate"],fields:{value:(0,n.validateType)("Flow")}}),i("ExistsTypeAnnotation",{aliases:["FlowType"]}),i("FunctionTypeAnnotation",{builder:["typeParameters","params","rest","returnType"],visitor:["typeParameters","this","params","rest","returnType"],aliases:["FlowType"],fields:{typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),params:(0,n.validateArrayOfType)("FunctionTypeParam"),rest:(0,n.validateOptionalType)("FunctionTypeParam"),this:(0,n.validateOptionalType)("FunctionTypeParam"),returnType:(0,n.validateType)("FlowType")}}),i("FunctionTypeParam",{visitor:["name","typeAnnotation"],fields:{name:(0,n.validateOptionalType)("Identifier"),typeAnnotation:(0,n.validateType)("FlowType"),optional:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),i("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["FlowType"],fields:{id:(0,n.validateType)("Identifier","QualifiedTypeIdentifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),i("InferredPredicate",{aliases:["FlowPredicate"]}),i("InterfaceExtends",{visitor:["id","typeParameters"],fields:{id:(0,n.validateType)("Identifier","QualifiedTypeIdentifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),a("InterfaceDeclaration"),i("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["FlowType"],fields:{extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),body:(0,n.validateType)("ObjectTypeAnnotation")}}),i("IntersectionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),i("MixedTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("EmptyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["FlowType"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),i("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("number"))}}),i("NumberTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:(0,n.validate)((0,n.arrayOfType)("ObjectTypeProperty","ObjectTypeSpreadProperty")),indexers:{validate:(0,n.arrayOfType)("ObjectTypeIndexer"),optional:!0,default:[]},callProperties:{validate:(0,n.arrayOfType)("ObjectTypeCallProperty"),optional:!0,default:[]},internalSlots:{validate:(0,n.arrayOfType)("ObjectTypeInternalSlot"),optional:!0,default:[]},exact:{validate:(0,n.assertValueType)("boolean"),default:!1},inexact:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),i("ObjectTypeInternalSlot",{visitor:["id","value"],builder:["id","value","optional","static","method"],aliases:["UserWhitespacable"],fields:{id:(0,n.validateType)("Identifier"),value:(0,n.validateType)("FlowType"),optional:(0,n.validate)((0,n.assertValueType)("boolean")),static:(0,n.validate)((0,n.assertValueType)("boolean")),method:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("ObjectTypeCallProperty",{visitor:["value"],aliases:["UserWhitespacable"],fields:{value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("ObjectTypeIndexer",{visitor:["variance","id","key","value"],builder:["id","key","value","variance"],aliases:["UserWhitespacable"],fields:{id:(0,n.validateOptionalType)("Identifier"),key:(0,n.validateType)("FlowType"),value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance")}}),i("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["UserWhitespacable"],fields:{key:(0,n.validateType)("Identifier","StringLiteral"),value:(0,n.validateType)("FlowType"),kind:(0,n.validate)((0,n.assertOneOf)("init","get","set")),static:(0,n.validate)((0,n.assertValueType)("boolean")),proto:(0,n.validate)((0,n.assertValueType)("boolean")),optional:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance"),method:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["UserWhitespacable"],fields:{argument:(0,n.validateType)("FlowType")}}),i("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType"),impltype:(0,n.validateType)("FlowType")}}),i("QualifiedTypeIdentifier",{visitor:["qualification","id"],builder:["id","qualification"],fields:{id:(0,n.validateType)("Identifier"),qualification:(0,n.validateType)("Identifier","QualifiedTypeIdentifier")}}),i("StringLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("string"))}}),i("StringTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("SymbolTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("ThisTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("TupleTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),i("TypeofTypeAnnotation",{visitor:["argument"],aliases:["FlowType"],fields:{argument:(0,n.validateType)("FlowType")}}),i("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),i("TypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),i("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["ExpressionWrapper","Expression"],fields:{expression:(0,n.validateType)("Expression"),typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),i("TypeParameter",{visitor:["bound","default","variance"],fields:{name:(0,n.validate)((0,n.assertValueType)("string")),bound:(0,n.validateOptionalType)("TypeAnnotation"),default:(0,n.validateOptionalType)("FlowType"),variance:(0,n.validateOptionalType)("Variance")}}),i("TypeParameterDeclaration",{visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("TypeParameter"))}}),i("TypeParameterInstantiation",{visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),i("UnionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),i("Variance",{builder:["kind"],fields:{kind:(0,n.validate)((0,n.assertOneOf)("minus","plus"))}}),i("VoidTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),i("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:(0,n.validateType)("Identifier"),body:(0,n.validateType)("EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody")}}),i("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumBooleanMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumNumberMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumStringMember","EnumDefaultedMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:(0,n.validateArrayOfType)("EnumDefaultedMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),i("EnumBooleanMember",{aliases:["EnumMember"],builder:["id"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("BooleanLiteral")}}),i("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("NumericLiteral")}}),i("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("StringLiteral")}}),i("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier")}}),i("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:(0,n.validateType)("FlowType"),indexType:(0,n.validateType)("FlowType")}}),i("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:(0,n.validateType)("FlowType"),indexType:(0,n.validateType)("FlowType"),optional:(0,n.validate)((0,n.assertValueType)("boolean"))}})},3104:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ALIAS_KEYS",{enumerable:!0,get:function(){return r.ALIAS_KEYS}}),Object.defineProperty(t,"BUILDER_KEYS",{enumerable:!0,get:function(){return r.BUILDER_KEYS}}),Object.defineProperty(t,"DEPRECATED_ALIASES",{enumerable:!0,get:function(){return i.DEPRECATED_ALIASES}}),Object.defineProperty(t,"DEPRECATED_KEYS",{enumerable:!0,get:function(){return r.DEPRECATED_KEYS}}),Object.defineProperty(t,"FLIPPED_ALIAS_KEYS",{enumerable:!0,get:function(){return r.FLIPPED_ALIAS_KEYS}}),Object.defineProperty(t,"NODE_FIELDS",{enumerable:!0,get:function(){return r.NODE_FIELDS}}),Object.defineProperty(t,"NODE_PARENT_VALIDATIONS",{enumerable:!0,get:function(){return r.NODE_PARENT_VALIDATIONS}}),Object.defineProperty(t,"PLACEHOLDERS",{enumerable:!0,get:function(){return n.PLACEHOLDERS}}),Object.defineProperty(t,"PLACEHOLDERS_ALIAS",{enumerable:!0,get:function(){return n.PLACEHOLDERS_ALIAS}}),Object.defineProperty(t,"PLACEHOLDERS_FLIPPED_ALIAS",{enumerable:!0,get:function(){return n.PLACEHOLDERS_FLIPPED_ALIAS}}),t.TYPES=void 0,Object.defineProperty(t,"VISITOR_KEYS",{enumerable:!0,get:function(){return r.VISITOR_KEYS}}),s(8427),s(6406),s(1576),s(8923),s(82),s(2650);var r=s(5737),n=s(3217),i=s(9229);Object.keys(i.DEPRECATED_ALIASES).forEach((e=>{r.FLIPPED_ALIAS_KEYS[e]=r.FLIPPED_ALIAS_KEYS[i.DEPRECATED_ALIASES[e]]})),t.TYPES=[].concat(Object.keys(r.VISITOR_KEYS),Object.keys(r.FLIPPED_ALIAS_KEYS),Object.keys(r.DEPRECATED_KEYS))},1576:(e,t,s)=>{"use strict";var r=s(5737);const n=(0,r.defineAliasedType)("JSX");n("JSXAttribute",{visitor:["name","value"],aliases:["Immutable"],fields:{name:{validate:(0,r.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,r.assertNodeType)("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),n("JSXClosingElement",{visitor:["name"],aliases:["Immutable"],fields:{name:{validate:(0,r.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),n("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["Immutable","Expression"],fields:Object.assign({openingElement:{validate:(0,r.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,r.assertNodeType)("JSXClosingElement")},children:(0,r.validateArrayOfType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")},{selfClosing:{validate:(0,r.assertValueType)("boolean"),optional:!0}})}),n("JSXEmptyExpression",{}),n("JSXExpressionContainer",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:(0,r.assertNodeType)("Expression","JSXEmptyExpression")}}}),n("JSXSpreadChild",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:(0,r.assertNodeType)("Expression")}}}),n("JSXIdentifier",{builder:["name"],fields:{name:{validate:(0,r.assertValueType)("string")}}}),n("JSXMemberExpression",{visitor:["object","property"],fields:{object:{validate:(0,r.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,r.assertNodeType)("JSXIdentifier")}}}),n("JSXNamespacedName",{visitor:["namespace","name"],fields:{namespace:{validate:(0,r.assertNodeType)("JSXIdentifier")},name:{validate:(0,r.assertNodeType)("JSXIdentifier")}}}),n("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","typeParameters","typeArguments","attributes"],aliases:["Immutable"],fields:Object.assign({name:{validate:(0,r.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:(0,r.validateArrayOfType)("JSXAttribute","JSXSpreadAttribute"),typeArguments:{validate:(0,r.assertNodeType)("TypeParameterInstantiation"),optional:!0}},{typeParameters:{validate:(0,r.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}})}),n("JSXSpreadAttribute",{visitor:["argument"],fields:{argument:{validate:(0,r.assertNodeType)("Expression")}}}),n("JSXText",{aliases:["Immutable"],builder:["value"],fields:{value:{validate:(0,r.assertValueType)("string")}}}),n("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["Immutable","Expression"],fields:{openingFragment:{validate:(0,r.assertNodeType)("JSXOpeningFragment")},closingFragment:{validate:(0,r.assertNodeType)("JSXClosingFragment")},children:(0,r.validateArrayOfType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")}}),n("JSXOpeningFragment",{aliases:["Immutable"]}),n("JSXClosingFragment",{aliases:["Immutable"]})},8923:(e,t,s)=>{"use strict";var r=s(5737),n=s(3217),i=s(8427);const a=(0,r.defineAliasedType)("Miscellaneous");a("Noop",{visitor:[]}),a("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:Object.assign({name:{validate:(0,r.assertNodeType)("Identifier")},expectedNode:{validate:(0,r.assertOneOf)(...n.PLACEHOLDERS)}},(0,i.patternLikeCommon)())}),a("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:(0,r.assertValueType)("string")}}})},3217:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PLACEHOLDERS_FLIPPED_ALIAS=t.PLACEHOLDERS_ALIAS=t.PLACEHOLDERS=void 0;var r=s(5737);const n=t.PLACEHOLDERS=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"],i=t.PLACEHOLDERS_ALIAS={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};for(const e of n){const t=r.ALIAS_KEYS[e];null!=t&&t.length&&(i[e]=t)}const a=t.PLACEHOLDERS_FLIPPED_ALIAS={};Object.keys(i).forEach((e=>{i[e].forEach((t=>{hasOwnProperty.call(a,t)||(a[t]=[]),a[t].push(e)}))}))},2650:(e,t,s)=>{"use strict";var r=s(5737),n=s(8427),i=s(2606);const a=(0,r.defineAliasedType)("TypeScript"),o=(0,r.assertValueType)("boolean"),l=()=>({returnType:{validate:(0,r.assertNodeType)("TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,r.assertNodeType)("TSTypeParameterDeclaration","Noop"),optional:!0}});a("TSParameterProperty",{aliases:["LVal"],visitor:["parameter"],fields:{accessibility:{validate:(0,r.assertOneOf)("public","private","protected"),optional:!0},readonly:{validate:(0,r.assertValueType)("boolean"),optional:!0},parameter:{validate:(0,r.assertNodeType)("Identifier","AssignmentPattern")},override:{validate:(0,r.assertValueType)("boolean"),optional:!0},decorators:{validate:(0,r.arrayOfType)("Decorator"),optional:!0}}}),a("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},(0,n.functionDeclarationCommon)(),l())}),a("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},(0,n.classMethodOrDeclareMethodCommon)(),l())}),a("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:(0,r.validateType)("TSEntityName"),right:(0,r.validateType)("Identifier")}});const c=()=>({typeParameters:(0,r.validateOptionalType)("TSTypeParameterDeclaration"),parameters:(0,r.validateArrayOfType)("ArrayPattern","Identifier","ObjectPattern","RestElement"),typeAnnotation:(0,r.validateOptionalType)("TSTypeAnnotation")}),p={aliases:["TSTypeElement"],visitor:["typeParameters","parameters","typeAnnotation"],fields:c()};a("TSCallSignatureDeclaration",p),a("TSConstructSignatureDeclaration",p);const u=()=>({key:(0,r.validateType)("Expression"),computed:{default:!1},optional:(0,r.validateOptional)(o)});a("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation"],fields:Object.assign({},u(),{readonly:(0,r.validateOptional)(o),typeAnnotation:(0,r.validateOptionalType)("TSTypeAnnotation"),kind:{optional:!0,validate:(0,r.assertOneOf)("get","set")}})}),a("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","parameters","typeAnnotation"],fields:Object.assign({},c(),u(),{kind:{validate:(0,r.assertOneOf)("method","get","set")}})}),a("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:(0,r.validateOptional)(o),static:(0,r.validateOptional)(o),parameters:(0,r.validateArrayOfType)("Identifier"),typeAnnotation:(0,r.validateOptionalType)("TSTypeAnnotation")}});const h=["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"];for(const e of h)a(e,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});a("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});const d={aliases:["TSType"],visitor:["typeParameters","parameters","typeAnnotation"]};a("TSFunctionType",Object.assign({},d,{fields:c()})),a("TSConstructorType",Object.assign({},d,{fields:Object.assign({},c(),{abstract:(0,r.validateOptional)(o)})})),a("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeParameters"],fields:{typeName:(0,r.validateType)("TSEntityName"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation")}}),a("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:(0,r.validateType)("Identifier","TSThisType"),typeAnnotation:(0,r.validateOptionalType)("TSTypeAnnotation"),asserts:(0,r.validateOptional)(o)}}),a("TSTypeQuery",{aliases:["TSType"],visitor:["exprName","typeParameters"],fields:{exprName:(0,r.validateType)("TSEntityName","TSImportType"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation")}}),a("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:(0,r.validateArrayOfType)("TSTypeElement")}}),a("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:(0,r.validateType)("TSType")}}),a("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:(0,r.validateArrayOfType)("TSType","TSNamedTupleMember")}}),a("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,r.validateType)("TSType")}}),a("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,r.validateType)("TSType")}}),a("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:(0,r.validateType)("Identifier"),optional:{validate:o,default:!1},elementType:(0,r.validateType)("TSType")}});const f={aliases:["TSType"],visitor:["types"],fields:{types:(0,r.validateArrayOfType)("TSType")}};a("TSUnionType",f),a("TSIntersectionType",f),a("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:(0,r.validateType)("TSType"),extendsType:(0,r.validateType)("TSType"),trueType:(0,r.validateType)("TSType"),falseType:(0,r.validateType)("TSType")}}),a("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:(0,r.validateType)("TSTypeParameter")}}),a("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,r.validateType)("TSType")}}),a("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{operator:(0,r.validate)((0,r.assertValueType)("string")),typeAnnotation:(0,r.validateType)("TSType")}}),a("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:(0,r.validateType)("TSType"),indexType:(0,r.validateType)("TSType")}}),a("TSMappedType",{aliases:["TSType"],visitor:["typeParameter","nameType","typeAnnotation"],builder:["typeParameter","typeAnnotation","nameType"],fields:Object.assign({},{typeParameter:(0,r.validateType)("TSTypeParameter")},{readonly:(0,r.validateOptional)((0,r.assertOneOf)(!0,!1,"+","-")),optional:(0,r.validateOptional)((0,r.assertOneOf)(!0,!1,"+","-")),typeAnnotation:(0,r.validateOptionalType)("TSType"),nameType:(0,r.validateOptionalType)("TSType")})}),a("TSTemplateLiteralType",{aliases:["TSType","TSBaseType"],visitor:["quasis","types"],fields:{quasis:(0,r.validateArrayOfType)("TemplateElement"),types:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("TSType")),(function(e,t,s){if(e.quasis.length!==s.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of types.\\nExpected ${s.length+1} quasis but got ${e.quasis.length}`)}))}}}),a("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:{validate:function(){const e=(0,r.assertNodeType)("NumericLiteral","BigIntLiteral"),t=(0,r.assertOneOf)("-"),s=(0,r.assertNodeType)("NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral");function n(r,n,a){(0,i.default)("UnaryExpression",a)?(t(a,"operator",a.operator),e(a,"argument",a.argument)):s(r,n,a)}return n.oneOfNodeTypes=["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral","UnaryExpression"],n}()}}}),a("TSExpressionWithTypeArguments",{aliases:["TSType"],visitor:["expression","typeParameters"],fields:{expression:(0,r.validateType)("TSEntityName"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation")}}),a("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:(0,r.validateOptional)(o),id:(0,r.validateType)("Identifier"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterDeclaration"),extends:(0,r.validateOptional)((0,r.arrayOfType)("TSExpressionWithTypeArguments")),body:(0,r.validateType)("TSInterfaceBody")}}),a("TSInterfaceBody",{visitor:["body"],fields:{body:(0,r.validateArrayOfType)("TSTypeElement")}}),a("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:(0,r.validateOptional)(o),id:(0,r.validateType)("Identifier"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterDeclaration"),typeAnnotation:(0,r.validateType)("TSType")}}),a("TSInstantiationExpression",{aliases:["Expression"],visitor:["expression","typeParameters"],fields:{expression:(0,r.validateType)("Expression"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation")}});const m={aliases:["Expression","LVal","PatternLike"],visitor:["expression","typeAnnotation"],fields:{expression:(0,r.validateType)("Expression"),typeAnnotation:(0,r.validateType)("TSType")}};a("TSAsExpression",m),a("TSSatisfiesExpression",m),a("TSTypeAssertion",{aliases:["Expression","LVal","PatternLike"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:(0,r.validateType)("TSType"),expression:(0,r.validateType)("Expression")}}),a("TSEnumBody",{visitor:["members"],fields:{members:(0,r.validateArrayOfType)("TSEnumMember")}}),a("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","members"],fields:{declare:(0,r.validateOptional)(o),const:(0,r.validateOptional)(o),id:(0,r.validateType)("Identifier"),members:(0,r.validateArrayOfType)("TSEnumMember"),initializer:(0,r.validateOptionalType)("Expression"),body:(0,r.validateOptionalType)("TSEnumBody")}}),a("TSEnumMember",{visitor:["id","initializer"],fields:{id:(0,r.validateType)("Identifier","StringLiteral"),initializer:(0,r.validateOptionalType)("Expression")}}),a("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:Object.assign({kind:{validate:(0,r.assertOneOf)("global","module","namespace")},declare:(0,r.validateOptional)(o)},{global:(0,r.validateOptional)(o)},{id:(0,r.validateType)("Identifier","StringLiteral"),body:(0,r.validateType)("TSModuleBlock","TSModuleDeclaration")})}),a("TSModuleBlock",{aliases:["Scopable","Block","BlockParent","FunctionParent"],visitor:["body"],fields:{body:(0,r.validateArrayOfType)("Statement")}}),a("TSImportType",{aliases:["TSType"],builder:["argument","qualifier","typeParameters"],visitor:["argument","options","qualifier","typeParameters"],fields:{argument:(0,r.validateType)("StringLiteral"),qualifier:(0,r.validateOptionalType)("TSEntityName"),typeParameters:(0,r.validateOptionalType)("TSTypeParameterInstantiation"),options:{validate:(0,r.assertNodeType)("Expression"),optional:!0}}}),a("TSImportEqualsDeclaration",{aliases:["Statement","Declaration"],visitor:["id","moduleReference"],fields:Object.assign({},{isExport:(0,r.validate)(o)},{id:(0,r.validateType)("Identifier"),moduleReference:(0,r.validateType)("TSEntityName","TSExternalModuleReference"),importKind:{validate:(0,r.assertOneOf)("type","value"),optional:!0}})}),a("TSExternalModuleReference",{visitor:["expression"],fields:{expression:(0,r.validateType)("StringLiteral")}}),a("TSNonNullExpression",{aliases:["Expression","LVal","PatternLike"],visitor:["expression"],fields:{expression:(0,r.validateType)("Expression")}}),a("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:(0,r.validateType)("Expression")}}),a("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:(0,r.validateType)("Identifier")}}),a("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:(0,r.assertNodeType)("TSType")}}}),a("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:(0,r.validateArrayOfType)("TSType")}}),a("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:(0,r.validateArrayOfType)("TSTypeParameter")}}),a("TSTypeParameter",{builder:["constraint","default","name"],visitor:["constraint","default"],fields:{name:{validate:(0,r.assertValueType)("string")},in:{validate:(0,r.assertValueType)("boolean"),optional:!0},out:{validate:(0,r.assertValueType)("boolean"),optional:!0},const:{validate:(0,r.assertValueType)("boolean"),optional:!0},constraint:{validate:(0,r.assertNodeType)("TSType"),optional:!0},default:{validate:(0,r.assertNodeType)("TSType"),optional:!0}}})},5737:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0}),t.VISITOR_KEYS=t.NODE_PARENT_VALIDATIONS=t.NODE_FIELDS=t.FLIPPED_ALIAS_KEYS=t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.ALIAS_KEYS=void 0,t.arrayOf=m,t.arrayOfType=y,t.assertEach=g,t.assertNodeOrValueType=function(...e){function t(t,s,r){for(const a of e)if(d(r)===a||(0,n.default)(a,r))return void(0,i.validateChild)(t,s,r);throw new TypeError(`Property ${s} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(null==r?void 0:r.type)}`)}return t.oneOfNodeOrValueTypes=e,t},t.assertNodeType=b,t.assertOneOf=function(...e){function t(t,s,r){if(!e.includes(r))throw new TypeError(`Property ${s} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)}return t.oneOf=e,t},t.assertOptionalChainStart=function(){return function(e){var t;let s=e;for(;e;){const{type:e}=s;if("OptionalCallExpression"!==e){if("OptionalMemberExpression"!==e)break;if(s.optional)return;s=s.object}else{if(s.optional)return;s=s.callee}}throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${null==(t=s)?void 0:t.type}`)}},t.assertShape=function(e){function t(t,s,r){const n=[];for(const s of Object.keys(e))try{(0,i.validateField)(t,s,r[s],e[s])}catch(e){if(e instanceof TypeError){n.push(e.message);continue}throw e}if(n.length)throw new TypeError(`Property ${s} of ${t.type} expected to have the following:\\n${n.join("\\n")}`)}return t.shapeOf=e,t},t.assertValueType=T,t.chain=x,t.default=A,t.defineAliasedType=function(...e){return(t,s={})=>{let r=s.aliases;var n;r||(s.inherits&&(r=null==(n=E[s.inherits].aliases)?void 0:n.slice()),null!=r||(r=[]),s.aliases=r);const i=e.filter((e=>!r.includes(e)));r.unshift(...i),A(t,s)}},t.validate=f,t.validateArrayOfType=function(...e){return f(y(...e))},t.validateOptional=function(e){return{validate:e,optional:!0}},t.validateOptionalType=function(...e){return{validate:b(...e),optional:!0}},t.validateType=function(...e){return f(b(...e))};var n=s(2606),i=s(3589);const a=t.VISITOR_KEYS={},o=t.ALIAS_KEYS={},l=t.FLIPPED_ALIAS_KEYS={},c=t.NODE_FIELDS={},p=t.BUILDER_KEYS={},u=t.DEPRECATED_KEYS={},h=t.NODE_PARENT_VALIDATIONS={};function d(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function f(e){return{validate:e}}function m(e){return x(T("array"),g(e))}function y(...e){return m(b(...e))}function g(e){const t=r.env.BABEL_TYPES_8_BREAKING?i.validateChild:()=>{};function s(s,r,n){if(Array.isArray(n))for(let i=0;i=2&&"type"in e[0]&&"array"===e[0].type&&!("each"in e[1]))throw new Error(\'An assertValueType("array") validator can only be followed by an assertEach(...) validator.\');return t}const P=new Set(["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"]),S=new Set(["default","optional","deprecated","validate"]),E={};function A(e,t={}){const s=t.inherits&&E[t.inherits]||{};let r=t.fields;if(!r&&(r={},s.fields)){const e=Object.getOwnPropertyNames(s.fields);for(const t of e){const e=s.fields[t],n=e.default;if(Array.isArray(n)?n.length>0:n&&"object"==typeof n)throw new Error("field defaults can only be primitives or empty arrays currently");r[t]={default:Array.isArray(n)?[]:n,optional:e.optional,deprecated:e.deprecated,validate:e.validate}}}const n=t.visitor||s.visitor||[],i=t.aliases||s.aliases||[],f=t.builder||s.builder||t.visitor||[];for(const s of Object.keys(t))if(!P.has(s))throw new Error(`Unknown type option "${s}" on ${e}`);t.deprecatedAlias&&(u[t.deprecatedAlias]=e);for(const e of n.concat(f))r[e]=r[e]||{};for(const t of Object.keys(r)){const s=r[t];void 0===s.default||f.includes(t)||(s.optional=!0),void 0===s.default?s.default=null:s.validate||null==s.default||(s.validate=T(d(s.default)));for(const r of Object.keys(s))if(!S.has(r))throw new Error(`Unknown field key "${r}" on ${e}.${t}`)}a[e]=t.visitor=n,p[e]=t.builder=f,c[e]=t.fields=r,o[e]=t.aliases=i,i.forEach((t=>{l[t]=l[t]||[],l[t].push(e)})),t.validate&&(h[e]=t.validate),E[e]=t}},4473:(e,t,s)=>{"use strict";var r=s(397);Object.defineProperty(t,"__esModule",{value:!0});var n={react:!0,assertNode:!0,createTypeAnnotationBasedOnTypeof:!0,createUnionTypeAnnotation:!0,createFlowUnionType:!0,createTSUnionType:!0,cloneNode:!0,clone:!0,cloneDeep:!0,cloneDeepWithoutLoc:!0,cloneWithoutLoc:!0,addComment:!0,addComments:!0,inheritInnerComments:!0,inheritLeadingComments:!0,inheritsComments:!0,inheritTrailingComments:!0,removeComments:!0,ensureBlock:!0,toBindingIdentifierName:!0,toBlock:!0,toComputedKey:!0,toExpression:!0,toIdentifier:!0,toKeyAlias:!0,toStatement:!0,valueToNode:!0,appendToMemberExpression:!0,inherits:!0,prependToMemberExpression:!0,removeProperties:!0,removePropertiesDeep:!0,removeTypeDuplicates:!0,getAssignmentIdentifiers:!0,getBindingIdentifiers:!0,getOuterBindingIdentifiers:!0,getFunctionName:!0,traverse:!0,traverseFast:!0,shallowEqual:!0,is:!0,isBinding:!0,isBlockScoped:!0,isImmutable:!0,isLet:!0,isNode:!0,isNodesEquivalent:!0,isPlaceholderType:!0,isReferenced:!0,isScope:!0,isSpecifierDefault:!0,isType:!0,isValidES3Identifier:!0,isValidIdentifier:!0,isVar:!0,matchesPattern:!0,validate:!0,buildMatchMemberExpression:!0,__internal__deprecationWarning:!0};Object.defineProperty(t,"__internal__deprecationWarning",{enumerable:!0,get:function(){return ge.default}}),Object.defineProperty(t,"addComment",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(t,"addComments",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"appendToMemberExpression",{enumerable:!0,get:function(){return F.default}}),Object.defineProperty(t,"assertNode",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"buildMatchMemberExpression",{enumerable:!0,get:function(){return me.default}}),Object.defineProperty(t,"clone",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,"cloneDeep",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,"cloneDeepWithoutLoc",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"cloneNode",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(t,"cloneWithoutLoc",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(t,"createFlowUnionType",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"createTSUnionType",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"createTypeAnnotationBasedOnTypeof",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"createUnionTypeAnnotation",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"ensureBlock",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(t,"getAssignmentIdentifiers",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(t,"getBindingIdentifiers",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(t,"getFunctionName",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(t,"getOuterBindingIdentifiers",{enumerable:!0,get:function(){return J.default}}),Object.defineProperty(t,"inheritInnerComments",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(t,"inheritLeadingComments",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"inheritTrailingComments",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(t,"inherits",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(t,"inheritsComments",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(t,"is",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(t,"isBinding",{enumerable:!0,get:function(){return Z.default}}),Object.defineProperty(t,"isBlockScoped",{enumerable:!0,get:function(){return ee.default}}),Object.defineProperty(t,"isImmutable",{enumerable:!0,get:function(){return te.default}}),Object.defineProperty(t,"isLet",{enumerable:!0,get:function(){return se.default}}),Object.defineProperty(t,"isNode",{enumerable:!0,get:function(){return re.default}}),Object.defineProperty(t,"isNodesEquivalent",{enumerable:!0,get:function(){return ne.default}}),Object.defineProperty(t,"isPlaceholderType",{enumerable:!0,get:function(){return ie.default}}),Object.defineProperty(t,"isReferenced",{enumerable:!0,get:function(){return ae.default}}),Object.defineProperty(t,"isScope",{enumerable:!0,get:function(){return oe.default}}),Object.defineProperty(t,"isSpecifierDefault",{enumerable:!0,get:function(){return le.default}}),Object.defineProperty(t,"isType",{enumerable:!0,get:function(){return ce.default}}),Object.defineProperty(t,"isValidES3Identifier",{enumerable:!0,get:function(){return pe.default}}),Object.defineProperty(t,"isValidIdentifier",{enumerable:!0,get:function(){return ue.default}}),Object.defineProperty(t,"isVar",{enumerable:!0,get:function(){return he.default}}),Object.defineProperty(t,"matchesPattern",{enumerable:!0,get:function(){return de.default}}),Object.defineProperty(t,"prependToMemberExpression",{enumerable:!0,get:function(){return V.default}}),t.react=void 0,Object.defineProperty(t,"removeComments",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(t,"removeProperties",{enumerable:!0,get:function(){return q.default}}),Object.defineProperty(t,"removePropertiesDeep",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(t,"removeTypeDuplicates",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(t,"shallowEqual",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(t,"toBindingIdentifierName",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(t,"toBlock",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(t,"toComputedKey",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(t,"toExpression",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(t,"toIdentifier",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(t,"toKeyAlias",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"toStatement",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(t,"traverse",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(t,"traverseFast",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return fe.default}}),Object.defineProperty(t,"valueToNode",{enumerable:!0,get:function(){return R.default}});var i=s(3367),a=s(8486),o=s(6250),l=s(8710),c=s(3658);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var p=s(4315),u=s(8163),h=s(5403),d=s(5894);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}));var f=s(7890);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===f[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return f[e]}}))}));var m=s(6351),y=s(7883),g=s(721),b=s(7039),T=s(9482),x=s(9477),P=s(5491),S=s(2735),E=s(5098),A=s(9337),v=s(428),w=s(2123),C=s(1847);Object.keys(C).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===C[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return C[e]}}))}));var I=s(3218);Object.keys(I).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===I[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return I[e]}}))}));var O=s(5620),N=s(1314),k=s(6016),L=s(5222),D=s(1926),M=s(6191),_=s(2953),j=s(2748),R=s(1171),B=s(3104);Object.keys(B).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===B[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return B[e]}}))}));var F=s(4857),U=s(8600),V=s(9673),q=s(7477),K=s(6560),W=s(4541),H=s(5079),Y=s(5582),J=s(1889),X=s(18),G=s(4333);Object.keys(G).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===G[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return G[e]}}))}));var z=s(4487),$=s(9587),Q=s(2606),Z=s(1117),ee=s(124),te=s(9555),se=s(4757),re=s(3261),ne=s(4530),ie=s(464),ae=s(4500),oe=s(8596),le=s(3856),ce=s(3459),pe=s(4814),ue=s(7095),he=s(9760),de=s(775),fe=s(3589),me=s(7387),ye=s(4019);Object.keys(ye).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===ye[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return ye[e]}}))}));var ge=s(7525),be=s(6004);t.react={isReactComponent:i.default,isCompatTag:a.default,buildChildren:o.default},t.toSequenceExpression=be.default,r.env.BABEL_TYPES_8_BREAKING&&console.warn("BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-release instead!")},4857:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s=!1){return e.object=(0,r.memberExpression)(e.object,e.property,e.computed),e.property=t,e.computed=!!s,e};var r=s(7890)},4541:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){const s=Array.from(t),i=new Map,a=new Map,o=new Set,l=[];for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!e||!t)return e;for(const s of r.INHERIT_KEYS.optional)null==e[s]&&(e[s]=t[s]);for(const s of Object.keys(t))"_"===s[0]&&"__clone"!==s&&(e[s]=t[s]);for(const s of r.INHERIT_KEYS.force)e[s]=t[s];return(0,n.default)(e,t),e};var r=s(3218),n=s(9337)},9673:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,n.isSuper)(e.object))throw new Error("Cannot prepend node to super property access (`super.foo`).");return e.object=(0,r.memberExpression)(t,e.object),e};var r=s(7890),n=s(4473)},7477:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t={}){const s=t.preserveComments?n:i;for(const t of s)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const r=Object.getOwnPropertySymbols(e);for(const t of r)e[t]=null};var r=s(3218);const n=["tokens","start","end","loc","raw","rawValue"],i=[...r.COMMENT_KEYS,"comments",...n]},6560:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,r.default)(e,n.default,t),e};var r=s(4487),n=s(7477)},7613:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){const s=Array.from(t),i=new Map,a=new Map,o=new Set,l=[];for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[].concat(e),s=Object.create(null);for(;t.length;){const e=t.pop();if(e)switch(e.type){case"ArrayPattern":t.push(...e.elements);break;case"AssignmentExpression":case"AssignmentPattern":case"ForInStatement":case"ForOfStatement":t.push(e.left);break;case"ObjectPattern":t.push(...e.properties);break;case"ObjectProperty":t.push(e.value);break;case"RestElement":case"UpdateExpression":t.push(e.argument);break;case"UnaryExpression":"delete"===e.operator&&t.push(e.argument);break;case"Identifier":s[e.name]=e}}return s}},5582:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=n;var r=s(4019);function n(e,t,s,i){const a=[].concat(e),o=Object.create(null);for(;a.length;){const e=a.shift();if(!e)continue;if(i&&((0,r.isAssignmentExpression)(e)||(0,r.isUnaryExpression)(e)||(0,r.isUpdateExpression)(e)))continue;if((0,r.isIdentifier)(e)){t?(o[e.name]=o[e.name]||[]).push(e):o[e.name]=e;continue}if((0,r.isExportDeclaration)(e)&&!(0,r.isExportAllDeclaration)(e)){(0,r.isDeclaration)(e.declaration)&&a.push(e.declaration);continue}if(s){if((0,r.isFunctionDeclaration)(e)){a.push(e.id);continue}if((0,r.isFunctionExpression)(e))continue}const l=n.keys[e.type];if(l)for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("id"in e&&e.id)return{name:e.id.name,originalNode:e.id};let s,i="";if((0,r.isObjectProperty)(t,{value:e})?s=n(t):(0,r.isObjectMethod)(e)||(0,r.isClassMethod)(e)?(s=n(e),"get"===e.kind?i="get ":"set"===e.kind&&(i="set ")):(0,r.isVariableDeclarator)(t,{init:e})?s=t.id:(0,r.isAssignmentExpression)(t,{operator:"=",right:e})&&(s=t.left),!s)return null;const a=(0,r.isLiteral)(s)?function(e){return(0,r.isNullLiteral)(e)?"null":(0,r.isRegExpLiteral)(e)?`/${e.pattern}/${e.flags}`:(0,r.isTemplateLiteral)(e)?e.quasis.map((e=>e.value.raw)).join(""):void 0!==e.value?String(e.value):null}(s):(0,r.isIdentifier)(s)?s.name:(0,r.isPrivateName)(s)?s.id.name:null;return null==a?null:{name:i+a,originalNode:s}};var r=s(4019);function n(e){if(!e.computed||(0,r.isLiteral)(e.key))return e.key}},1889:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(5582);t.default=function(e,t){return(0,r.default)(e,t,!0)}},4333:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){"function"==typeof t&&(t={enter:t});const{enter:r,exit:i}=t;n(e,r,i,s,[])};var r=s(3104);function n(e,t,s,i,a){const o=r.VISITOR_KEYS[e.type];if(o){t&&t(e,a,i);for(const r of o){const o=e[r];if(Array.isArray(o))for(let l=0;l{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,s,n){if(!t)return;const i=r.VISITOR_KEYS[t.type];if(i){s(t,n=n||{});for(const r of i){const i=t[r];if(Array.isArray(i))for(const t of i)e(t,s,n);else e(i,s,n)}}};var r=s(3104)},7525:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r=""){if(s.has(e))return;s.add(e);const{internal:n,trace:i}=function(e,t){const{stackTraceLimit:s,prepareStackTrace:r}=Error;let n;if(Error.stackTraceLimit=4,Error.prepareStackTrace=function(e,t){n=t},(new Error).stack,Error.stackTraceLimit=s,Error.prepareStackTrace=r,!n)return{internal:!1,trace:""};const i=n.slice(2,4);return{internal:/[\\\\/]@babel[\\\\/]/.test(i[1].getFileName()),trace:i.map((e=>` at ${e}`)).join("\\n")}}();n||console.warn(`${r}\\`${e}\\` has been deprecated, please migrate to \\`${t}\\`\\n${i}`)};const s=new Set},923:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){t&&s&&(t[e]=Array.from(new Set([].concat(t[e],s[e]).filter(Boolean))))}},5178:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const s=e.value.split(/\\r\\n|\\n|\\r/);let i=0;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const s=Object.keys(t);for(const r of s)if(e[r]!==t[r])return!1;return!0}},7387:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const s=e.split(".");return e=>(0,r.default)(e,s,t)};var r=s(775)},4019:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAccessor=function(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||(0,r.default)(e,t)))},t.isAnyTypeAnnotation=function(e,t){return!!e&&"AnyTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isArgumentPlaceholder=function(e,t){return!!e&&"ArgumentPlaceholder"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayExpression=function(e,t){return!!e&&"ArrayExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayPattern=function(e,t){return!!e&&"ArrayPattern"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayTypeAnnotation=function(e,t){return!!e&&"ArrayTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrowFunctionExpression=function(e,t){return!!e&&"ArrowFunctionExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isAssignmentExpression=function(e,t){return!!e&&"AssignmentExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isAssignmentPattern=function(e,t){return!!e&&"AssignmentPattern"===e.type&&(null==t||(0,r.default)(e,t))},t.isAwaitExpression=function(e,t){return!!e&&"AwaitExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isBigIntLiteral=function(e,t){return!!e&&"BigIntLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isBinary=function(e,t){if(!e)return!1;switch(e.type){case"BinaryExpression":case"LogicalExpression":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBinaryExpression=function(e,t){return!!e&&"BinaryExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isBindExpression=function(e,t){return!!e&&"BindExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isBlock=function(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"Program":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBlockParent=function(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBlockStatement=function(e,t){return!!e&&"BlockStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanLiteral=function(e,t){return!!e&&"BooleanLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanLiteralTypeAnnotation=function(e,t){return!!e&&"BooleanLiteralTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanTypeAnnotation=function(e,t){return!!e&&"BooleanTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isBreakStatement=function(e,t){return!!e&&"BreakStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isCallExpression=function(e,t){return!!e&&"CallExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isCatchClause=function(e,t){return!!e&&"CatchClause"===e.type&&(null==t||(0,r.default)(e,t))},t.isClass=function(e,t){if(!e)return!1;switch(e.type){case"ClassExpression":case"ClassDeclaration":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isClassAccessorProperty=function(e,t){return!!e&&"ClassAccessorProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassBody=function(e,t){return!!e&&"ClassBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassDeclaration=function(e,t){return!!e&&"ClassDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassExpression=function(e,t){return!!e&&"ClassExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassImplements=function(e,t){return!!e&&"ClassImplements"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassMethod=function(e,t){return!!e&&"ClassMethod"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassPrivateMethod=function(e,t){return!!e&&"ClassPrivateMethod"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassPrivateProperty=function(e,t){return!!e&&"ClassPrivateProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassProperty=function(e,t){return!!e&&"ClassProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isCompletionStatement=function(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isConditional=function(e,t){if(!e)return!1;switch(e.type){case"ConditionalExpression":case"IfStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isConditionalExpression=function(e,t){return!!e&&"ConditionalExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isContinueStatement=function(e,t){return!!e&&"ContinueStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isDebuggerStatement=function(e,t){return!!e&&"DebuggerStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isDecimalLiteral=function(e,t){return!!e&&"DecimalLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclaration=function(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"VariableDeclaration":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":break;case"Placeholder":if("Declaration"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isDeclareClass=function(e,t){return!!e&&"DeclareClass"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareExportAllDeclaration=function(e,t){return!!e&&"DeclareExportAllDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareExportDeclaration=function(e,t){return!!e&&"DeclareExportDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareFunction=function(e,t){return!!e&&"DeclareFunction"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareInterface=function(e,t){return!!e&&"DeclareInterface"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareModule=function(e,t){return!!e&&"DeclareModule"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareModuleExports=function(e,t){return!!e&&"DeclareModuleExports"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareOpaqueType=function(e,t){return!!e&&"DeclareOpaqueType"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareTypeAlias=function(e,t){return!!e&&"DeclareTypeAlias"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareVariable=function(e,t){return!!e&&"DeclareVariable"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclaredPredicate=function(e,t){return!!e&&"DeclaredPredicate"===e.type&&(null==t||(0,r.default)(e,t))},t.isDecorator=function(e,t){return!!e&&"Decorator"===e.type&&(null==t||(0,r.default)(e,t))},t.isDirective=function(e,t){return!!e&&"Directive"===e.type&&(null==t||(0,r.default)(e,t))},t.isDirectiveLiteral=function(e,t){return!!e&&"DirectiveLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isDoExpression=function(e,t){return!!e&&"DoExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isDoWhileStatement=function(e,t){return!!e&&"DoWhileStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isEmptyStatement=function(e,t){return!!e&&"EmptyStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isEmptyTypeAnnotation=function(e,t){return!!e&&"EmptyTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumBody=function(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isEnumBooleanBody=function(e,t){return!!e&&"EnumBooleanBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumBooleanMember=function(e,t){return!!e&&"EnumBooleanMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumDeclaration=function(e,t){return!!e&&"EnumDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumDefaultedMember=function(e,t){return!!e&&"EnumDefaultedMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumMember=function(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isEnumNumberBody=function(e,t){return!!e&&"EnumNumberBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumNumberMember=function(e,t){return!!e&&"EnumNumberMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumStringBody=function(e,t){return!!e&&"EnumStringBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumStringMember=function(e,t){return!!e&&"EnumStringMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumSymbolBody=function(e,t){return!!e&&"EnumSymbolBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isExistsTypeAnnotation=function(e,t){return!!e&&"ExistsTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportAllDeclaration=function(e,t){return!!e&&"ExportAllDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportDeclaration=function(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isExportDefaultDeclaration=function(e,t){return!!e&&"ExportDefaultDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportDefaultSpecifier=function(e,t){return!!e&&"ExportDefaultSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportNamedDeclaration=function(e,t){return!!e&&"ExportNamedDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportNamespaceSpecifier=function(e,t){return!!e&&"ExportNamespaceSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportSpecifier=function(e,t){return!!e&&"ExportSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isExpression=function(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ParenthesizedExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":case"ArrowFunctionExpression":case"ClassExpression":case"ImportExpression":case"MetaProperty":case"Super":case"TaggedTemplateExpression":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"OptionalMemberExpression":case"OptionalCallExpression":case"TypeCastExpression":case"JSXElement":case"JSXFragment":case"BindExpression":case"DoExpression":case"RecordExpression":case"TupleExpression":case"DecimalLiteral":case"ModuleExpression":case"TopicReference":case"PipelineTopicExpression":case"PipelineBareFunction":case"PipelinePrimaryTopicReference":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Expression":case"Identifier":case"StringLiteral":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isExpressionStatement=function(e,t){return!!e&&"ExpressionStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isExpressionWrapper=function(e,t){if(!e)return!1;switch(e.type){case"ExpressionStatement":case"ParenthesizedExpression":case"TypeCastExpression":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFile=function(e,t){return!!e&&"File"===e.type&&(null==t||(0,r.default)(e,t))},t.isFlow=function(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ClassImplements":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"DeclaredPredicate":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"FunctionTypeParam":case"GenericTypeAnnotation":case"InferredPredicate":case"InterfaceExtends":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":case"OpaqueType":case"QualifiedTypeIdentifier":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"TypeAlias":case"TypeAnnotation":case"TypeCastExpression":case"TypeParameter":case"TypeParameterDeclaration":case"TypeParameterInstantiation":case"UnionTypeAnnotation":case"Variance":case"VoidTypeAnnotation":case"EnumDeclaration":case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowBaseAnnotation=function(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"BooleanTypeAnnotation":case"NullLiteralTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NumberTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"VoidTypeAnnotation":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowDeclaration=function(e,t){if(!e)return!1;switch(e.type){case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowPredicate=function(e,t){if(!e)return!1;switch(e.type){case"DeclaredPredicate":case"InferredPredicate":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowType=function(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"GenericTypeAnnotation":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"UnionTypeAnnotation":case"VoidTypeAnnotation":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFor=function(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForStatement":case"ForOfStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isForInStatement=function(e,t){return!!e&&"ForInStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isForOfStatement=function(e,t){return!!e&&"ForOfStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isForStatement=function(e,t){return!!e&&"ForStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isForXStatement=function(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForOfStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunction=function(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunctionDeclaration=function(e,t){return!!e&&"FunctionDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionExpression=function(e,t){return!!e&&"FunctionExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionParent=function(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunctionTypeAnnotation=function(e,t){return!!e&&"FunctionTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionTypeParam=function(e,t){return!!e&&"FunctionTypeParam"===e.type&&(null==t||(0,r.default)(e,t))},t.isGenericTypeAnnotation=function(e,t){return!!e&&"GenericTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isIdentifier=function(e,t){return!!e&&"Identifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isIfStatement=function(e,t){return!!e&&"IfStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isImmutable=function(e,t){if(!e)return!1;switch(e.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"BigIntLiteral":case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXOpeningElement":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":case"DecimalLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isImport=function(e,t){return!!e&&"Import"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportAttribute=function(e,t){return!!e&&"ImportAttribute"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportDeclaration=function(e,t){return!!e&&"ImportDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportDefaultSpecifier=function(e,t){return!!e&&"ImportDefaultSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportExpression=function(e,t){return!!e&&"ImportExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportNamespaceSpecifier=function(e,t){return!!e&&"ImportNamespaceSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportOrExportDeclaration=i,t.isImportSpecifier=function(e,t){return!!e&&"ImportSpecifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isIndexedAccessType=function(e,t){return!!e&&"IndexedAccessType"===e.type&&(null==t||(0,r.default)(e,t))},t.isInferredPredicate=function(e,t){return!!e&&"InferredPredicate"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceDeclaration=function(e,t){return!!e&&"InterfaceDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceExtends=function(e,t){return!!e&&"InterfaceExtends"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceTypeAnnotation=function(e,t){return!!e&&"InterfaceTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterpreterDirective=function(e,t){return!!e&&"InterpreterDirective"===e.type&&(null==t||(0,r.default)(e,t))},t.isIntersectionTypeAnnotation=function(e,t){return!!e&&"IntersectionTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSX=function(e,t){if(!e)return!1;switch(e.type){case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXEmptyExpression":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXIdentifier":case"JSXMemberExpression":case"JSXNamespacedName":case"JSXOpeningElement":case"JSXSpreadAttribute":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isJSXAttribute=function(e,t){return!!e&&"JSXAttribute"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXClosingElement=function(e,t){return!!e&&"JSXClosingElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXClosingFragment=function(e,t){return!!e&&"JSXClosingFragment"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXElement=function(e,t){return!!e&&"JSXElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXEmptyExpression=function(e,t){return!!e&&"JSXEmptyExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXExpressionContainer=function(e,t){return!!e&&"JSXExpressionContainer"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXFragment=function(e,t){return!!e&&"JSXFragment"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXIdentifier=function(e,t){return!!e&&"JSXIdentifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXMemberExpression=function(e,t){return!!e&&"JSXMemberExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXNamespacedName=function(e,t){return!!e&&"JSXNamespacedName"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXOpeningElement=function(e,t){return!!e&&"JSXOpeningElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXOpeningFragment=function(e,t){return!!e&&"JSXOpeningFragment"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXSpreadAttribute=function(e,t){return!!e&&"JSXSpreadAttribute"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXSpreadChild=function(e,t){return!!e&&"JSXSpreadChild"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXText=function(e,t){return!!e&&"JSXText"===e.type&&(null==t||(0,r.default)(e,t))},t.isLVal=function(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSParameterProperty":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isLabeledStatement=function(e,t){return!!e&&"LabeledStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isLiteral=function(e,t){if(!e)return!1;switch(e.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"TemplateLiteral":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isLogicalExpression=function(e,t){return!!e&&"LogicalExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isLoop=function(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":case"ForOfStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMemberExpression=function(e,t){return!!e&&"MemberExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isMetaProperty=function(e,t){return!!e&&"MetaProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isMethod=function(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMiscellaneous=function(e,t){if(!e)return!1;switch(e.type){case"Noop":case"Placeholder":case"V8IntrinsicIdentifier":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMixedTypeAnnotation=function(e,t){return!!e&&"MixedTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isModuleDeclaration=function(e,t){return(0,n.default)("isModuleDeclaration","isImportOrExportDeclaration"),i(e,t)},t.isModuleExpression=function(e,t){return!!e&&"ModuleExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isModuleSpecifier=function(e,t){if(!e)return!1;switch(e.type){case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isNewExpression=function(e,t){return!!e&&"NewExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isNoop=function(e,t){return!!e&&"Noop"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullLiteral=function(e,t){return!!e&&"NullLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullLiteralTypeAnnotation=function(e,t){return!!e&&"NullLiteralTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullableTypeAnnotation=function(e,t){return!!e&&"NullableTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberLiteral=function(e,t){return(0,n.default)("isNumberLiteral","isNumericLiteral"),!!e&&"NumberLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberLiteralTypeAnnotation=function(e,t){return!!e&&"NumberLiteralTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberTypeAnnotation=function(e,t){return!!e&&"NumberTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumericLiteral=function(e,t){return!!e&&"NumericLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectExpression=function(e,t){return!!e&&"ObjectExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectMember=function(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isObjectMethod=function(e,t){return!!e&&"ObjectMethod"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectPattern=function(e,t){return!!e&&"ObjectPattern"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectProperty=function(e,t){return!!e&&"ObjectProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeAnnotation=function(e,t){return!!e&&"ObjectTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeCallProperty=function(e,t){return!!e&&"ObjectTypeCallProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeIndexer=function(e,t){return!!e&&"ObjectTypeIndexer"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeInternalSlot=function(e,t){return!!e&&"ObjectTypeInternalSlot"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeProperty=function(e,t){return!!e&&"ObjectTypeProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeSpreadProperty=function(e,t){return!!e&&"ObjectTypeSpreadProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isOpaqueType=function(e,t){return!!e&&"OpaqueType"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalCallExpression=function(e,t){return!!e&&"OptionalCallExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalIndexedAccessType=function(e,t){return!!e&&"OptionalIndexedAccessType"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalMemberExpression=function(e,t){return!!e&&"OptionalMemberExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isParenthesizedExpression=function(e,t){return!!e&&"ParenthesizedExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isPattern=function(e,t){if(!e)return!1;switch(e.type){case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":break;case"Placeholder":if("Pattern"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPatternLike=function(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPipelineBareFunction=function(e,t){return!!e&&"PipelineBareFunction"===e.type&&(null==t||(0,r.default)(e,t))},t.isPipelinePrimaryTopicReference=function(e,t){return!!e&&"PipelinePrimaryTopicReference"===e.type&&(null==t||(0,r.default)(e,t))},t.isPipelineTopicExpression=function(e,t){return!!e&&"PipelineTopicExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isPlaceholder=function(e,t){return!!e&&"Placeholder"===e.type&&(null==t||(0,r.default)(e,t))},t.isPrivate=function(e,t){if(!e)return!1;switch(e.type){case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPrivateName=function(e,t){return!!e&&"PrivateName"===e.type&&(null==t||(0,r.default)(e,t))},t.isProgram=function(e,t){return!!e&&"Program"===e.type&&(null==t||(0,r.default)(e,t))},t.isProperty=function(e,t){if(!e)return!1;switch(e.type){case"ObjectProperty":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPureish=function(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"ArrowFunctionExpression":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isQualifiedTypeIdentifier=function(e,t){return!!e&&"QualifiedTypeIdentifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isRecordExpression=function(e,t){return!!e&&"RecordExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isRegExpLiteral=function(e,t){return!!e&&"RegExpLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isRegexLiteral=function(e,t){return(0,n.default)("isRegexLiteral","isRegExpLiteral"),!!e&&"RegexLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isRestElement=function(e,t){return!!e&&"RestElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isRestProperty=function(e,t){return(0,n.default)("isRestProperty","isRestElement"),!!e&&"RestProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isReturnStatement=function(e,t){return!!e&&"ReturnStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isScopable=function(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ClassExpression":case"ClassDeclaration":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isSequenceExpression=function(e,t){return!!e&&"SequenceExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isSpreadElement=function(e,t){return!!e&&"SpreadElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isSpreadProperty=function(e,t){return(0,n.default)("isSpreadProperty","isSpreadElement"),!!e&&"SpreadProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isStandardized=function(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"InterpreterDirective":case"Directive":case"DirectiveLiteral":case"BlockStatement":case"BreakStatement":case"CallExpression":case"CatchClause":case"ConditionalExpression":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"File":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Identifier":case"IfStatement":case"LabeledStatement":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"Program":case"ObjectExpression":case"ObjectMethod":case"ObjectProperty":case"RestElement":case"ReturnStatement":case"SequenceExpression":case"ParenthesizedExpression":case"SwitchCase":case"SwitchStatement":case"ThisExpression":case"ThrowStatement":case"TryStatement":case"UnaryExpression":case"UpdateExpression":case"VariableDeclaration":case"VariableDeclarator":case"WhileStatement":case"WithStatement":case"AssignmentPattern":case"ArrayPattern":case"ArrowFunctionExpression":case"ClassBody":case"ClassExpression":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportSpecifier":case"ForOfStatement":case"ImportDeclaration":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportExpression":case"MetaProperty":case"ClassMethod":case"ObjectPattern":case"SpreadElement":case"Super":case"TaggedTemplateExpression":case"TemplateElement":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"ExportNamespaceSpecifier":case"OptionalMemberExpression":case"OptionalCallExpression":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":case"StaticBlock":break;case"Placeholder":switch(e.expectedNode){case"Identifier":case"StringLiteral":case"BlockStatement":case"ClassBody":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isStatement=function(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ForOfStatement":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":case"TSExportAssignment":case"TSNamespaceExportDeclaration":break;case"Placeholder":switch(e.expectedNode){case"Statement":case"Declaration":case"BlockStatement":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isStaticBlock=function(e,t){return!!e&&"StaticBlock"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringLiteral=function(e,t){return!!e&&"StringLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringLiteralTypeAnnotation=function(e,t){return!!e&&"StringLiteralTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringTypeAnnotation=function(e,t){return!!e&&"StringTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isSuper=function(e,t){return!!e&&"Super"===e.type&&(null==t||(0,r.default)(e,t))},t.isSwitchCase=function(e,t){return!!e&&"SwitchCase"===e.type&&(null==t||(0,r.default)(e,t))},t.isSwitchStatement=function(e,t){return!!e&&"SwitchStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isSymbolTypeAnnotation=function(e,t){return!!e&&"SymbolTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSAnyKeyword=function(e,t){return!!e&&"TSAnyKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSArrayType=function(e,t){return!!e&&"TSArrayType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSAsExpression=function(e,t){return!!e&&"TSAsExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSBaseType=function(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSTemplateLiteralType":case"TSLiteralType":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSBigIntKeyword=function(e,t){return!!e&&"TSBigIntKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSBooleanKeyword=function(e,t){return!!e&&"TSBooleanKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSCallSignatureDeclaration=function(e,t){return!!e&&"TSCallSignatureDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConditionalType=function(e,t){return!!e&&"TSConditionalType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConstructSignatureDeclaration=function(e,t){return!!e&&"TSConstructSignatureDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConstructorType=function(e,t){return!!e&&"TSConstructorType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSDeclareFunction=function(e,t){return!!e&&"TSDeclareFunction"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSDeclareMethod=function(e,t){return!!e&&"TSDeclareMethod"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSEntityName=function(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"TSQualifiedName":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSEnumBody=function(e,t){return!!e&&"TSEnumBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSEnumDeclaration=function(e,t){return!!e&&"TSEnumDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSEnumMember=function(e,t){return!!e&&"TSEnumMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExportAssignment=function(e,t){return!!e&&"TSExportAssignment"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExpressionWithTypeArguments=function(e,t){return!!e&&"TSExpressionWithTypeArguments"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExternalModuleReference=function(e,t){return!!e&&"TSExternalModuleReference"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSFunctionType=function(e,t){return!!e&&"TSFunctionType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSImportEqualsDeclaration=function(e,t){return!!e&&"TSImportEqualsDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSImportType=function(e,t){return!!e&&"TSImportType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIndexSignature=function(e,t){return!!e&&"TSIndexSignature"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIndexedAccessType=function(e,t){return!!e&&"TSIndexedAccessType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInferType=function(e,t){return!!e&&"TSInferType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInstantiationExpression=function(e,t){return!!e&&"TSInstantiationExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInterfaceBody=function(e,t){return!!e&&"TSInterfaceBody"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInterfaceDeclaration=function(e,t){return!!e&&"TSInterfaceDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIntersectionType=function(e,t){return!!e&&"TSIntersectionType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIntrinsicKeyword=function(e,t){return!!e&&"TSIntrinsicKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSLiteralType=function(e,t){return!!e&&"TSLiteralType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSMappedType=function(e,t){return!!e&&"TSMappedType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSMethodSignature=function(e,t){return!!e&&"TSMethodSignature"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSModuleBlock=function(e,t){return!!e&&"TSModuleBlock"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSModuleDeclaration=function(e,t){return!!e&&"TSModuleDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNamedTupleMember=function(e,t){return!!e&&"TSNamedTupleMember"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNamespaceExportDeclaration=function(e,t){return!!e&&"TSNamespaceExportDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNeverKeyword=function(e,t){return!!e&&"TSNeverKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNonNullExpression=function(e,t){return!!e&&"TSNonNullExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNullKeyword=function(e,t){return!!e&&"TSNullKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNumberKeyword=function(e,t){return!!e&&"TSNumberKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSObjectKeyword=function(e,t){return!!e&&"TSObjectKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSOptionalType=function(e,t){return!!e&&"TSOptionalType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSParameterProperty=function(e,t){return!!e&&"TSParameterProperty"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSParenthesizedType=function(e,t){return!!e&&"TSParenthesizedType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSPropertySignature=function(e,t){return!!e&&"TSPropertySignature"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSQualifiedName=function(e,t){return!!e&&"TSQualifiedName"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSRestType=function(e,t){return!!e&&"TSRestType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSSatisfiesExpression=function(e,t){return!!e&&"TSSatisfiesExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSStringKeyword=function(e,t){return!!e&&"TSStringKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSSymbolKeyword=function(e,t){return!!e&&"TSSymbolKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTemplateLiteralType=function(e,t){return!!e&&"TSTemplateLiteralType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSThisType=function(e,t){return!!e&&"TSThisType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTupleType=function(e,t){return!!e&&"TSTupleType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSType=function(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSImportType":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSTypeAliasDeclaration=function(e,t){return!!e&&"TSTypeAliasDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeAnnotation=function(e,t){return!!e&&"TSTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeAssertion=function(e,t){return!!e&&"TSTypeAssertion"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeElement=function(e,t){if(!e)return!1;switch(e.type){case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSTypeLiteral=function(e,t){return!!e&&"TSTypeLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeOperator=function(e,t){return!!e&&"TSTypeOperator"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameter=function(e,t){return!!e&&"TSTypeParameter"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameterDeclaration=function(e,t){return!!e&&"TSTypeParameterDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameterInstantiation=function(e,t){return!!e&&"TSTypeParameterInstantiation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypePredicate=function(e,t){return!!e&&"TSTypePredicate"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeQuery=function(e,t){return!!e&&"TSTypeQuery"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeReference=function(e,t){return!!e&&"TSTypeReference"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUndefinedKeyword=function(e,t){return!!e&&"TSUndefinedKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUnionType=function(e,t){return!!e&&"TSUnionType"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUnknownKeyword=function(e,t){return!!e&&"TSUnknownKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSVoidKeyword=function(e,t){return!!e&&"TSVoidKeyword"===e.type&&(null==t||(0,r.default)(e,t))},t.isTaggedTemplateExpression=function(e,t){return!!e&&"TaggedTemplateExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTemplateElement=function(e,t){return!!e&&"TemplateElement"===e.type&&(null==t||(0,r.default)(e,t))},t.isTemplateLiteral=function(e,t){return!!e&&"TemplateLiteral"===e.type&&(null==t||(0,r.default)(e,t))},t.isTerminatorless=function(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":case"YieldExpression":case"AwaitExpression":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isThisExpression=function(e,t){return!!e&&"ThisExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isThisTypeAnnotation=function(e,t){return!!e&&"ThisTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isThrowStatement=function(e,t){return!!e&&"ThrowStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isTopicReference=function(e,t){return!!e&&"TopicReference"===e.type&&(null==t||(0,r.default)(e,t))},t.isTryStatement=function(e,t){return!!e&&"TryStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isTupleExpression=function(e,t){return!!e&&"TupleExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTupleTypeAnnotation=function(e,t){return!!e&&"TupleTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeAlias=function(e,t){return!!e&&"TypeAlias"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeAnnotation=function(e,t){return!!e&&"TypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeCastExpression=function(e,t){return!!e&&"TypeCastExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameter=function(e,t){return!!e&&"TypeParameter"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameterDeclaration=function(e,t){return!!e&&"TypeParameterDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameterInstantiation=function(e,t){return!!e&&"TypeParameterInstantiation"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeScript=function(e,t){if(!e)return!1;switch(e.type){case"TSParameterProperty":case"TSDeclareFunction":case"TSDeclareMethod":case"TSQualifiedName":case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSNamedTupleMember":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSInterfaceDeclaration":case"TSInterfaceBody":case"TSTypeAliasDeclaration":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSEnumBody":case"TSEnumDeclaration":case"TSEnumMember":case"TSModuleDeclaration":case"TSModuleBlock":case"TSImportType":case"TSImportEqualsDeclaration":case"TSExternalModuleReference":case"TSNonNullExpression":case"TSExportAssignment":case"TSNamespaceExportDeclaration":case"TSTypeAnnotation":case"TSTypeParameterInstantiation":case"TSTypeParameterDeclaration":case"TSTypeParameter":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTypeofTypeAnnotation=function(e,t){return!!e&&"TypeofTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isUnaryExpression=function(e,t){return!!e&&"UnaryExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isUnaryLike=function(e,t){if(!e)return!1;switch(e.type){case"UnaryExpression":case"SpreadElement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isUnionTypeAnnotation=function(e,t){return!!e&&"UnionTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isUpdateExpression=function(e,t){return!!e&&"UpdateExpression"===e.type&&(null==t||(0,r.default)(e,t))},t.isUserWhitespacable=function(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isV8IntrinsicIdentifier=function(e,t){return!!e&&"V8IntrinsicIdentifier"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariableDeclaration=function(e,t){return!!e&&"VariableDeclaration"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariableDeclarator=function(e,t){return!!e&&"VariableDeclarator"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariance=function(e,t){return!!e&&"Variance"===e.type&&(null==t||(0,r.default)(e,t))},t.isVoidTypeAnnotation=function(e,t){return!!e&&"VoidTypeAnnotation"===e.type&&(null==t||(0,r.default)(e,t))},t.isWhile=function(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"WhileStatement":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isWhileStatement=function(e,t){return!!e&&"WhileStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isWithStatement=function(e,t){return!!e&&"WithStatement"===e.type&&(null==t||(0,r.default)(e,t))},t.isYieldExpression=function(e,t){return!!e&&"YieldExpression"===e.type&&(null==t||(0,r.default)(e,t))};var r=s(9587),n=s(7525);function i(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":break;default:return!1}return null==t||(0,r.default)(e,t)}},2606:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){return!!t&&((0,n.default)(t.type,e)?void 0===s||(0,r.default)(t,s):!s&&"Placeholder"===t.type&&e in a.FLIPPED_ALIAS_KEYS&&(0,i.default)(t.expectedNode,e))};var r=s(9587),n=s(3459),i=s(464),a=s(3104)},1117:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){if(s&&"Identifier"===e.type&&"ObjectProperty"===t.type&&"ObjectExpression"===s.type)return!1;const n=r.default.keys[t.type];if(n)for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.isFunctionDeclaration)(e)||(0,r.isClassDeclaration)(e)||(0,n.default)(e)};var r=s(4019),n=s(4757)},9555:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!(0,r.default)(e.type,"Immutable")||!!(0,n.isIdentifier)(e)&&"undefined"===e.name};var r=s(3459),n=s(4019)},4757:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.isVariableDeclaration)(e)&&("var"!==e.kind||e[n.BLOCK_SCOPED_SYMBOL])};var r=s(4019),n=s(3218)},3261:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!(!e||!r.VISITOR_KEYS[e.type])};var r=s(3104)},4530:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,s){if("object"!=typeof t||"object"!=typeof s||null==t||null==s)return t===s;if(t.type!==s.type)return!1;const n=Object.keys(r.NODE_FIELDS[t.type]||t.type),i=r.VISITOR_KEYS[t.type];for(const r of n){const n=t[r],a=s[r];if(typeof n!=typeof a)return!1;if(null!=n||null!=a){if(null==n||null==a)return!1;if(Array.isArray(n)){if(!Array.isArray(a))return!1;if(n.length!==a.length)return!1;for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e===t)return!0;const s=r.PLACEHOLDERS_ALIAS[e];if(s)for(const e of s)if(t===e)return!0;return!1};var r=s(3104)},4500:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return t.property===e?!!t.computed:t.object===e;case"JSXMemberExpression":return t.object===e;case"VariableDeclarator":return t.init===e;case"ArrowFunctionExpression":return t.body===e;case"PrivateName":case"LabeledStatement":case"CatchClause":case"RestElement":case"BreakStatement":case"ContinueStatement":case"FunctionDeclaration":case"FunctionExpression":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportAttribute":case"JSXAttribute":case"ObjectPattern":case"ArrayPattern":case"MetaProperty":return!1;case"ClassMethod":case"ClassPrivateMethod":case"ObjectMethod":return t.key===e&&!!t.computed;case"ObjectProperty":return t.key===e?!!t.computed:!s||"ObjectPattern"!==s.type;case"ClassProperty":case"ClassAccessorProperty":case"TSPropertySignature":return t.key!==e||!!t.computed;case"ClassPrivateProperty":case"ObjectTypeProperty":return t.key!==e;case"ClassDeclaration":case"ClassExpression":return t.superClass===e;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ExportSpecifier":return(null==s||!s.source)&&t.local===e;case"TSEnumMember":return t.id!==e}return!0}},8596:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(!(0,r.isBlockStatement)(e)||!(0,r.isFunction)(t)&&!(0,r.isCatchClause)(t))&&(!(!(0,r.isPattern)(e)||!(0,r.isFunction)(t)&&!(0,r.isCatchClause)(t))||(0,r.isScopable)(e))};var r=s(4019)},3856:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.isImportDefaultSpecifier)(e)||(0,r.isIdentifier)(e.imported||e.exported,{name:"default"})};var r=s(4019)},3459:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e===t)return!0;if(null==e)return!1;if(r.ALIAS_KEYS[t])return!1;const s=r.FLIPPED_ALIAS_KEYS[t];if(s){if(s[0]===e)return!0;for(const t of s)if(e===t)return!0}return!1};var r=s(3104)},4814:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e)&&!n.has(e)};var r=s(7095);const n=new Set(["abstract","boolean","byte","char","double","enum","final","float","goto","implements","int","interface","long","native","package","private","protected","public","short","static","synchronized","throws","transient","volatile"])},7095:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=!0){return"string"==typeof e&&((!t||!(0,r.isKeyword)(e)&&!(0,r.isStrictReservedWord)(e,!0))&&(0,r.isIdentifierName)(e))};var r=s(736)},9760:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.isVariableDeclaration)(e,{kind:"var"})&&!e[n.BLOCK_SCOPED_SYMBOL]};var r=s(4019),n=s(3218)},775:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){if(!(0,r.isMemberExpression)(e))return!1;const n=Array.isArray(t)?t:t.split("."),i=[];let a;for(a=e;(0,r.isMemberExpression)(a);a=a.object)i.push(a.property);if(i.push(a),i.lengthn.length)return!1;for(let e=0,t=i.length-1;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!e&&/^[a-z]/.test(e)}},3367:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r=(0,s(7387).default)("React.Component");t.default=r},3589:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s){if(!e)return;const a=r.NODE_FIELDS[e.type];if(!a)return;n(e,t,s,a[t]),i(e,t,s)},t.validateChild=i,t.validateField=n,t.validateInternal=function(e,t,s,n,i){if(null!=e&&e.validate&&(!e.optional||null!=n)&&(e.validate(t,s,n),i)){var a;const e=n.type;if(null==e)return;null==(a=r.NODE_PARENT_VALIDATIONS[e])||a.call(r.NODE_PARENT_VALIDATIONS,t,s,n)}};var r=s(3104);function n(e,t,s,r){null!=r&&r.validate&&(r.optional&&null==s||r.validate(e,t,s))}function i(e,t,s){var n;const i=null==s?void 0:s.type;null!=i&&(null==(n=r.NODE_PARENT_VALIDATIONS[i])||n.call(r.NODE_PARENT_VALIDATIONS,e,t,s))}},964:e=>{"use strict";e.exports=JSON.parse(\'{"builtin":{"Array":false,"ArrayBuffer":false,"Atomics":false,"BigInt":false,"BigInt64Array":false,"BigUint64Array":false,"Boolean":false,"constructor":false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,"globalThis":false,"hasOwnProperty":false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,"isPrototypeOf":false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,"propertyIsEnumerable":false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,"SharedArrayBuffer":false,"String":false,"Symbol":false,"SyntaxError":false,"toLocaleString":false,"toString":false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,"valueOf":false,"WeakMap":false,"WeakSet":false},"es5":{"Array":false,"Boolean":false,"constructor":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Function":false,"hasOwnProperty":false,"Infinity":false,"isFinite":false,"isNaN":false,"isPrototypeOf":false,"JSON":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"propertyIsEnumerable":false,"RangeError":false,"ReferenceError":false,"RegExp":false,"String":false,"SyntaxError":false,"toLocaleString":false,"toString":false,"TypeError":false,"undefined":false,"unescape":false,"URIError":false,"valueOf":false},"es2015":{"Array":false,"ArrayBuffer":false,"Boolean":false,"constructor":false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,"hasOwnProperty":false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,"isPrototypeOf":false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,"propertyIsEnumerable":false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,"String":false,"Symbol":false,"SyntaxError":false,"toLocaleString":false,"toString":false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,"valueOf":false,"WeakMap":false,"WeakSet":false},"es2017":{"Array":false,"ArrayBuffer":false,"Atomics":false,"Boolean":false,"constructor":false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,"hasOwnProperty":false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,"isPrototypeOf":false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,"propertyIsEnumerable":false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,"SharedArrayBuffer":false,"String":false,"Symbol":false,"SyntaxError":false,"toLocaleString":false,"toString":false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,"valueOf":false,"WeakMap":false,"WeakSet":false},"browser":{"AbortController":false,"AbortSignal":false,"addEventListener":false,"alert":false,"AnalyserNode":false,"Animation":false,"AnimationEffectReadOnly":false,"AnimationEffectTiming":false,"AnimationEffectTimingReadOnly":false,"AnimationEvent":false,"AnimationPlaybackEvent":false,"AnimationTimeline":false,"applicationCache":false,"ApplicationCache":false,"ApplicationCacheErrorEvent":false,"atob":false,"Attr":false,"Audio":false,"AudioBuffer":false,"AudioBufferSourceNode":false,"AudioContext":false,"AudioDestinationNode":false,"AudioListener":false,"AudioNode":false,"AudioParam":false,"AudioProcessingEvent":false,"AudioScheduledSourceNode":false,"AudioWorkletGlobalScope ":false,"AudioWorkletNode":false,"AudioWorkletProcessor":false,"BarProp":false,"BaseAudioContext":false,"BatteryManager":false,"BeforeUnloadEvent":false,"BiquadFilterNode":false,"Blob":false,"BlobEvent":false,"blur":false,"BroadcastChannel":false,"btoa":false,"BudgetService":false,"ByteLengthQueuingStrategy":false,"Cache":false,"caches":false,"CacheStorage":false,"cancelAnimationFrame":false,"cancelIdleCallback":false,"CanvasCaptureMediaStreamTrack":false,"CanvasGradient":false,"CanvasPattern":false,"CanvasRenderingContext2D":false,"ChannelMergerNode":false,"ChannelSplitterNode":false,"CharacterData":false,"clearInterval":false,"clearTimeout":false,"clientInformation":false,"ClipboardEvent":false,"close":false,"closed":false,"CloseEvent":false,"Comment":false,"CompositionEvent":false,"confirm":false,"console":false,"ConstantSourceNode":false,"ConvolverNode":false,"CountQueuingStrategy":false,"createImageBitmap":false,"Credential":false,"CredentialsContainer":false,"crypto":false,"Crypto":false,"CryptoKey":false,"CSS":false,"CSSConditionRule":false,"CSSFontFaceRule":false,"CSSGroupingRule":false,"CSSImportRule":false,"CSSKeyframeRule":false,"CSSKeyframesRule":false,"CSSMediaRule":false,"CSSNamespaceRule":false,"CSSPageRule":false,"CSSRule":false,"CSSRuleList":false,"CSSStyleDeclaration":false,"CSSStyleRule":false,"CSSStyleSheet":false,"CSSSupportsRule":false,"CustomElementRegistry":false,"customElements":false,"CustomEvent":false,"DataTransfer":false,"DataTransferItem":false,"DataTransferItemList":false,"defaultstatus":false,"defaultStatus":false,"DelayNode":false,"DeviceMotionEvent":false,"DeviceOrientationEvent":false,"devicePixelRatio":false,"dispatchEvent":false,"document":false,"Document":false,"DocumentFragment":false,"DocumentType":false,"DOMError":false,"DOMException":false,"DOMImplementation":false,"DOMMatrix":false,"DOMMatrixReadOnly":false,"DOMParser":false,"DOMPoint":false,"DOMPointReadOnly":false,"DOMQuad":false,"DOMRect":false,"DOMRectReadOnly":false,"DOMStringList":false,"DOMStringMap":false,"DOMTokenList":false,"DragEvent":false,"DynamicsCompressorNode":false,"Element":false,"ErrorEvent":false,"event":false,"Event":false,"EventSource":false,"EventTarget":false,"external":false,"fetch":false,"File":false,"FileList":false,"FileReader":false,"find":false,"focus":false,"FocusEvent":false,"FontFace":false,"FontFaceSetLoadEvent":false,"FormData":false,"frameElement":false,"frames":false,"GainNode":false,"Gamepad":false,"GamepadButton":false,"GamepadEvent":false,"getComputedStyle":false,"getSelection":false,"HashChangeEvent":false,"Headers":false,"history":false,"History":false,"HTMLAllCollection":false,"HTMLAnchorElement":false,"HTMLAreaElement":false,"HTMLAudioElement":false,"HTMLBaseElement":false,"HTMLBodyElement":false,"HTMLBRElement":false,"HTMLButtonElement":false,"HTMLCanvasElement":false,"HTMLCollection":false,"HTMLContentElement":false,"HTMLDataElement":false,"HTMLDataListElement":false,"HTMLDetailsElement":false,"HTMLDialogElement":false,"HTMLDirectoryElement":false,"HTMLDivElement":false,"HTMLDListElement":false,"HTMLDocument":false,"HTMLElement":false,"HTMLEmbedElement":false,"HTMLFieldSetElement":false,"HTMLFontElement":false,"HTMLFormControlsCollection":false,"HTMLFormElement":false,"HTMLFrameElement":false,"HTMLFrameSetElement":false,"HTMLHeadElement":false,"HTMLHeadingElement":false,"HTMLHRElement":false,"HTMLHtmlElement":false,"HTMLIFrameElement":false,"HTMLImageElement":false,"HTMLInputElement":false,"HTMLLabelElement":false,"HTMLLegendElement":false,"HTMLLIElement":false,"HTMLLinkElement":false,"HTMLMapElement":false,"HTMLMarqueeElement":false,"HTMLMediaElement":false,"HTMLMenuElement":false,"HTMLMetaElement":false,"HTMLMeterElement":false,"HTMLModElement":false,"HTMLObjectElement":false,"HTMLOListElement":false,"HTMLOptGroupElement":false,"HTMLOptionElement":false,"HTMLOptionsCollection":false,"HTMLOutputElement":false,"HTMLParagraphElement":false,"HTMLParamElement":false,"HTMLPictureElement":false,"HTMLPreElement":false,"HTMLProgressElement":false,"HTMLQuoteElement":false,"HTMLScriptElement":false,"HTMLSelectElement":false,"HTMLShadowElement":false,"HTMLSlotElement":false,"HTMLSourceElement":false,"HTMLSpanElement":false,"HTMLStyleElement":false,"HTMLTableCaptionElement":false,"HTMLTableCellElement":false,"HTMLTableColElement":false,"HTMLTableElement":false,"HTMLTableRowElement":false,"HTMLTableSectionElement":false,"HTMLTemplateElement":false,"HTMLTextAreaElement":false,"HTMLTimeElement":false,"HTMLTitleElement":false,"HTMLTrackElement":false,"HTMLUListElement":false,"HTMLUnknownElement":false,"HTMLVideoElement":false,"IDBCursor":false,"IDBCursorWithValue":false,"IDBDatabase":false,"IDBFactory":false,"IDBIndex":false,"IDBKeyRange":false,"IDBObjectStore":false,"IDBOpenDBRequest":false,"IDBRequest":false,"IDBTransaction":false,"IDBVersionChangeEvent":false,"IdleDeadline":false,"IIRFilterNode":false,"Image":false,"ImageBitmap":false,"ImageBitmapRenderingContext":false,"ImageCapture":false,"ImageData":false,"indexedDB":false,"innerHeight":false,"innerWidth":false,"InputEvent":false,"IntersectionObserver":false,"IntersectionObserverEntry":false,"Intl":false,"isSecureContext":false,"KeyboardEvent":false,"KeyframeEffect":false,"KeyframeEffectReadOnly":false,"length":false,"localStorage":false,"location":true,"Location":false,"locationbar":false,"matchMedia":false,"MediaDeviceInfo":false,"MediaDevices":false,"MediaElementAudioSourceNode":false,"MediaEncryptedEvent":false,"MediaError":false,"MediaKeyMessageEvent":false,"MediaKeySession":false,"MediaKeyStatusMap":false,"MediaKeySystemAccess":false,"MediaList":false,"MediaQueryList":false,"MediaQueryListEvent":false,"MediaRecorder":false,"MediaSettingsRange":false,"MediaSource":false,"MediaStream":false,"MediaStreamAudioDestinationNode":false,"MediaStreamAudioSourceNode":false,"MediaStreamEvent":false,"MediaStreamTrack":false,"MediaStreamTrackEvent":false,"menubar":false,"MessageChannel":false,"MessageEvent":false,"MessagePort":false,"MIDIAccess":false,"MIDIConnectionEvent":false,"MIDIInput":false,"MIDIInputMap":false,"MIDIMessageEvent":false,"MIDIOutput":false,"MIDIOutputMap":false,"MIDIPort":false,"MimeType":false,"MimeTypeArray":false,"MouseEvent":false,"moveBy":false,"moveTo":false,"MutationEvent":false,"MutationObserver":false,"MutationRecord":false,"name":false,"NamedNodeMap":false,"NavigationPreloadManager":false,"navigator":false,"Navigator":false,"NetworkInformation":false,"Node":false,"NodeFilter":false,"NodeIterator":false,"NodeList":false,"Notification":false,"OfflineAudioCompletionEvent":false,"OfflineAudioContext":false,"offscreenBuffering":false,"OffscreenCanvas":true,"onabort":true,"onafterprint":true,"onanimationend":true,"onanimationiteration":true,"onanimationstart":true,"onappinstalled":true,"onauxclick":true,"onbeforeinstallprompt":true,"onbeforeprint":true,"onbeforeunload":true,"onblur":true,"oncancel":true,"oncanplay":true,"oncanplaythrough":true,"onchange":true,"onclick":true,"onclose":true,"oncontextmenu":true,"oncuechange":true,"ondblclick":true,"ondevicemotion":true,"ondeviceorientation":true,"ondeviceorientationabsolute":true,"ondrag":true,"ondragend":true,"ondragenter":true,"ondragleave":true,"ondragover":true,"ondragstart":true,"ondrop":true,"ondurationchange":true,"onemptied":true,"onended":true,"onerror":true,"onfocus":true,"ongotpointercapture":true,"onhashchange":true,"oninput":true,"oninvalid":true,"onkeydown":true,"onkeypress":true,"onkeyup":true,"onlanguagechange":true,"onload":true,"onloadeddata":true,"onloadedmetadata":true,"onloadstart":true,"onlostpointercapture":true,"onmessage":true,"onmessageerror":true,"onmousedown":true,"onmouseenter":true,"onmouseleave":true,"onmousemove":true,"onmouseout":true,"onmouseover":true,"onmouseup":true,"onmousewheel":true,"onoffline":true,"ononline":true,"onpagehide":true,"onpageshow":true,"onpause":true,"onplay":true,"onplaying":true,"onpointercancel":true,"onpointerdown":true,"onpointerenter":true,"onpointerleave":true,"onpointermove":true,"onpointerout":true,"onpointerover":true,"onpointerup":true,"onpopstate":true,"onprogress":true,"onratechange":true,"onrejectionhandled":true,"onreset":true,"onresize":true,"onscroll":true,"onsearch":true,"onseeked":true,"onseeking":true,"onselect":true,"onstalled":true,"onstorage":true,"onsubmit":true,"onsuspend":true,"ontimeupdate":true,"ontoggle":true,"ontransitionend":true,"onunhandledrejection":true,"onunload":true,"onvolumechange":true,"onwaiting":true,"onwheel":true,"open":false,"openDatabase":false,"opener":false,"Option":false,"origin":false,"OscillatorNode":false,"outerHeight":false,"outerWidth":false,"PageTransitionEvent":false,"pageXOffset":false,"pageYOffset":false,"PannerNode":false,"parent":false,"Path2D":false,"PaymentAddress":false,"PaymentRequest":false,"PaymentRequestUpdateEvent":false,"PaymentResponse":false,"performance":false,"Performance":false,"PerformanceEntry":false,"PerformanceLongTaskTiming":false,"PerformanceMark":false,"PerformanceMeasure":false,"PerformanceNavigation":false,"PerformanceNavigationTiming":false,"PerformanceObserver":false,"PerformanceObserverEntryList":false,"PerformancePaintTiming":false,"PerformanceResourceTiming":false,"PerformanceTiming":false,"PeriodicWave":false,"Permissions":false,"PermissionStatus":false,"personalbar":false,"PhotoCapabilities":false,"Plugin":false,"PluginArray":false,"PointerEvent":false,"PopStateEvent":false,"postMessage":false,"Presentation":false,"PresentationAvailability":false,"PresentationConnection":false,"PresentationConnectionAvailableEvent":false,"PresentationConnectionCloseEvent":false,"PresentationConnectionList":false,"PresentationReceiver":false,"PresentationRequest":false,"print":false,"ProcessingInstruction":false,"ProgressEvent":false,"PromiseRejectionEvent":false,"prompt":false,"PushManager":false,"PushSubscription":false,"PushSubscriptionOptions":false,"queueMicrotask":false,"RadioNodeList":false,"Range":false,"ReadableStream":false,"registerProcessor":false,"RemotePlayback":false,"removeEventListener":false,"Request":false,"requestAnimationFrame":false,"requestIdleCallback":false,"resizeBy":false,"ResizeObserver":false,"ResizeObserverEntry":false,"resizeTo":false,"Response":false,"RTCCertificate":false,"RTCDataChannel":false,"RTCDataChannelEvent":false,"RTCDtlsTransport":false,"RTCIceCandidate":false,"RTCIceGatherer":false,"RTCIceTransport":false,"RTCPeerConnection":false,"RTCPeerConnectionIceEvent":false,"RTCRtpContributingSource":false,"RTCRtpReceiver":false,"RTCRtpSender":false,"RTCSctpTransport":false,"RTCSessionDescription":false,"RTCStatsReport":false,"RTCTrackEvent":false,"screen":false,"Screen":false,"screenLeft":false,"ScreenOrientation":false,"screenTop":false,"screenX":false,"screenY":false,"ScriptProcessorNode":false,"scroll":false,"scrollbars":false,"scrollBy":false,"scrollTo":false,"scrollX":false,"scrollY":false,"SecurityPolicyViolationEvent":false,"Selection":false,"self":false,"ServiceWorker":false,"ServiceWorkerContainer":false,"ServiceWorkerRegistration":false,"sessionStorage":false,"setInterval":false,"setTimeout":false,"ShadowRoot":false,"SharedWorker":false,"SourceBuffer":false,"SourceBufferList":false,"speechSynthesis":false,"SpeechSynthesisEvent":false,"SpeechSynthesisUtterance":false,"StaticRange":false,"status":false,"statusbar":false,"StereoPannerNode":false,"stop":false,"Storage":false,"StorageEvent":false,"StorageManager":false,"styleMedia":false,"StyleSheet":false,"StyleSheetList":false,"SubtleCrypto":false,"SVGAElement":false,"SVGAngle":false,"SVGAnimatedAngle":false,"SVGAnimatedBoolean":false,"SVGAnimatedEnumeration":false,"SVGAnimatedInteger":false,"SVGAnimatedLength":false,"SVGAnimatedLengthList":false,"SVGAnimatedNumber":false,"SVGAnimatedNumberList":false,"SVGAnimatedPreserveAspectRatio":false,"SVGAnimatedRect":false,"SVGAnimatedString":false,"SVGAnimatedTransformList":false,"SVGAnimateElement":false,"SVGAnimateMotionElement":false,"SVGAnimateTransformElement":false,"SVGAnimationElement":false,"SVGCircleElement":false,"SVGClipPathElement":false,"SVGComponentTransferFunctionElement":false,"SVGDefsElement":false,"SVGDescElement":false,"SVGDiscardElement":false,"SVGElement":false,"SVGEllipseElement":false,"SVGFEBlendElement":false,"SVGFEColorMatrixElement":false,"SVGFEComponentTransferElement":false,"SVGFECompositeElement":false,"SVGFEConvolveMatrixElement":false,"SVGFEDiffuseLightingElement":false,"SVGFEDisplacementMapElement":false,"SVGFEDistantLightElement":false,"SVGFEDropShadowElement":false,"SVGFEFloodElement":false,"SVGFEFuncAElement":false,"SVGFEFuncBElement":false,"SVGFEFuncGElement":false,"SVGFEFuncRElement":false,"SVGFEGaussianBlurElement":false,"SVGFEImageElement":false,"SVGFEMergeElement":false,"SVGFEMergeNodeElement":false,"SVGFEMorphologyElement":false,"SVGFEOffsetElement":false,"SVGFEPointLightElement":false,"SVGFESpecularLightingElement":false,"SVGFESpotLightElement":false,"SVGFETileElement":false,"SVGFETurbulenceElement":false,"SVGFilterElement":false,"SVGForeignObjectElement":false,"SVGGElement":false,"SVGGeometryElement":false,"SVGGradientElement":false,"SVGGraphicsElement":false,"SVGImageElement":false,"SVGLength":false,"SVGLengthList":false,"SVGLinearGradientElement":false,"SVGLineElement":false,"SVGMarkerElement":false,"SVGMaskElement":false,"SVGMatrix":false,"SVGMetadataElement":false,"SVGMPathElement":false,"SVGNumber":false,"SVGNumberList":false,"SVGPathElement":false,"SVGPatternElement":false,"SVGPoint":false,"SVGPointList":false,"SVGPolygonElement":false,"SVGPolylineElement":false,"SVGPreserveAspectRatio":false,"SVGRadialGradientElement":false,"SVGRect":false,"SVGRectElement":false,"SVGScriptElement":false,"SVGSetElement":false,"SVGStopElement":false,"SVGStringList":false,"SVGStyleElement":false,"SVGSVGElement":false,"SVGSwitchElement":false,"SVGSymbolElement":false,"SVGTextContentElement":false,"SVGTextElement":false,"SVGTextPathElement":false,"SVGTextPositioningElement":false,"SVGTitleElement":false,"SVGTransform":false,"SVGTransformList":false,"SVGTSpanElement":false,"SVGUnitTypes":false,"SVGUseElement":false,"SVGViewElement":false,"TaskAttributionTiming":false,"Text":false,"TextDecoder":false,"TextEncoder":false,"TextEvent":false,"TextMetrics":false,"TextTrack":false,"TextTrackCue":false,"TextTrackCueList":false,"TextTrackList":false,"TimeRanges":false,"toolbar":false,"top":false,"Touch":false,"TouchEvent":false,"TouchList":false,"TrackEvent":false,"TransitionEvent":false,"TreeWalker":false,"UIEvent":false,"URL":false,"URLSearchParams":false,"ValidityState":false,"visualViewport":false,"VisualViewport":false,"VTTCue":false,"WaveShaperNode":false,"WebAssembly":false,"WebGL2RenderingContext":false,"WebGLActiveInfo":false,"WebGLBuffer":false,"WebGLContextEvent":false,"WebGLFramebuffer":false,"WebGLProgram":false,"WebGLQuery":false,"WebGLRenderbuffer":false,"WebGLRenderingContext":false,"WebGLSampler":false,"WebGLShader":false,"WebGLShaderPrecisionFormat":false,"WebGLSync":false,"WebGLTexture":false,"WebGLTransformFeedback":false,"WebGLUniformLocation":false,"WebGLVertexArrayObject":false,"WebSocket":false,"WheelEvent":false,"window":false,"Window":false,"Worker":false,"WritableStream":false,"XMLDocument":false,"XMLHttpRequest":false,"XMLHttpRequestEventTarget":false,"XMLHttpRequestUpload":false,"XMLSerializer":false,"XPathEvaluator":false,"XPathExpression":false,"XPathResult":false,"XSLTProcessor":false},"worker":{"addEventListener":false,"applicationCache":false,"atob":false,"Blob":false,"BroadcastChannel":false,"btoa":false,"Cache":false,"caches":false,"clearInterval":false,"clearTimeout":false,"close":true,"console":false,"fetch":false,"FileReaderSync":false,"FormData":false,"Headers":false,"IDBCursor":false,"IDBCursorWithValue":false,"IDBDatabase":false,"IDBFactory":false,"IDBIndex":false,"IDBKeyRange":false,"IDBObjectStore":false,"IDBOpenDBRequest":false,"IDBRequest":false,"IDBTransaction":false,"IDBVersionChangeEvent":false,"ImageData":false,"importScripts":true,"indexedDB":false,"location":false,"MessageChannel":false,"MessagePort":false,"name":false,"navigator":false,"Notification":false,"onclose":true,"onconnect":true,"onerror":true,"onlanguagechange":true,"onmessage":true,"onoffline":true,"ononline":true,"onrejectionhandled":true,"onunhandledrejection":true,"performance":false,"Performance":false,"PerformanceEntry":false,"PerformanceMark":false,"PerformanceMeasure":false,"PerformanceNavigation":false,"PerformanceResourceTiming":false,"PerformanceTiming":false,"postMessage":true,"Promise":false,"queueMicrotask":false,"removeEventListener":false,"Request":false,"Response":false,"self":true,"ServiceWorkerRegistration":false,"setInterval":false,"setTimeout":false,"TextDecoder":false,"TextEncoder":false,"URL":false,"URLSearchParams":false,"WebSocket":false,"Worker":false,"WorkerGlobalScope":false,"XMLHttpRequest":false},"node":{"__dirname":false,"__filename":false,"Buffer":false,"clearImmediate":false,"clearInterval":false,"clearTimeout":false,"console":false,"exports":true,"global":false,"Intl":false,"module":false,"process":false,"queueMicrotask":false,"require":false,"setImmediate":false,"setInterval":false,"setTimeout":false,"TextDecoder":false,"TextEncoder":false,"URL":false,"URLSearchParams":false},"commonjs":{"exports":true,"global":false,"module":false,"require":false},"amd":{"define":false,"require":false},"mocha":{"after":false,"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"it":false,"mocha":false,"run":false,"setup":false,"specify":false,"suite":false,"suiteSetup":false,"suiteTeardown":false,"teardown":false,"test":false,"xcontext":false,"xdescribe":false,"xit":false,"xspecify":false},"jasmine":{"afterAll":false,"afterEach":false,"beforeAll":false,"beforeEach":false,"describe":false,"expect":false,"fail":false,"fdescribe":false,"fit":false,"it":false,"jasmine":false,"pending":false,"runs":false,"spyOn":false,"spyOnProperty":false,"waits":false,"waitsFor":false,"xdescribe":false,"xit":false},"jest":{"afterAll":false,"afterEach":false,"beforeAll":false,"beforeEach":false,"describe":false,"expect":false,"fdescribe":false,"fit":false,"it":false,"jest":false,"pit":false,"require":false,"test":false,"xdescribe":false,"xit":false,"xtest":false},"qunit":{"asyncTest":false,"deepEqual":false,"equal":false,"expect":false,"module":false,"notDeepEqual":false,"notEqual":false,"notOk":false,"notPropEqual":false,"notStrictEqual":false,"ok":false,"propEqual":false,"QUnit":false,"raises":false,"start":false,"stop":false,"strictEqual":false,"test":false,"throws":false},"phantomjs":{"console":true,"exports":true,"phantom":true,"require":true,"WebPage":true},"couch":{"emit":false,"exports":false,"getRow":false,"log":false,"module":false,"provides":false,"require":false,"respond":false,"send":false,"start":false,"sum":false},"rhino":{"defineClass":false,"deserialize":false,"gc":false,"help":false,"importClass":false,"importPackage":false,"java":false,"load":false,"loadClass":false,"Packages":false,"print":false,"quit":false,"readFile":false,"readUrl":false,"runCommand":false,"seal":false,"serialize":false,"spawn":false,"sync":false,"toint32":false,"version":false},"nashorn":{"__DIR__":false,"__FILE__":false,"__LINE__":false,"com":false,"edu":false,"exit":false,"java":false,"Java":false,"javafx":false,"JavaImporter":false,"javax":false,"JSAdapter":false,"load":false,"loadWithNewGlobal":false,"org":false,"Packages":false,"print":false,"quit":false},"wsh":{"ActiveXObject":true,"Enumerator":true,"GetObject":true,"ScriptEngine":true,"ScriptEngineBuildVersion":true,"ScriptEngineMajorVersion":true,"ScriptEngineMinorVersion":true,"VBArray":true,"WScript":true,"WSH":true,"XDomainRequest":true},"jquery":{"$":false,"jQuery":false},"yui":{"YAHOO":false,"YAHOO_config":false,"YUI":false,"YUI_config":false},"shelljs":{"cat":false,"cd":false,"chmod":false,"config":false,"cp":false,"dirs":false,"echo":false,"env":false,"error":false,"exec":false,"exit":false,"find":false,"grep":false,"ln":false,"ls":false,"mkdir":false,"mv":false,"popd":false,"pushd":false,"pwd":false,"rm":false,"sed":false,"set":false,"target":false,"tempdir":false,"test":false,"touch":false,"which":false},"prototypejs":{"$":false,"$$":false,"$A":false,"$break":false,"$continue":false,"$F":false,"$H":false,"$R":false,"$w":false,"Abstract":false,"Ajax":false,"Autocompleter":false,"Builder":false,"Class":false,"Control":false,"Draggable":false,"Draggables":false,"Droppables":false,"Effect":false,"Element":false,"Enumerable":false,"Event":false,"Field":false,"Form":false,"Hash":false,"Insertion":false,"ObjectRange":false,"PeriodicalExecuter":false,"Position":false,"Prototype":false,"Scriptaculous":false,"Selector":false,"Sortable":false,"SortableObserver":false,"Sound":false,"Template":false,"Toggle":false,"Try":false},"meteor":{"_":false,"$":false,"Accounts":false,"AccountsClient":false,"AccountsCommon":false,"AccountsServer":false,"App":false,"Assets":false,"Blaze":false,"check":false,"Cordova":false,"DDP":false,"DDPRateLimiter":false,"DDPServer":false,"Deps":false,"EJSON":false,"Email":false,"HTTP":false,"Log":false,"Match":false,"Meteor":false,"Mongo":false,"MongoInternals":false,"Npm":false,"Package":false,"Plugin":false,"process":false,"Random":false,"ReactiveDict":false,"ReactiveVar":false,"Router":false,"ServiceConfiguration":false,"Session":false,"share":false,"Spacebars":false,"Template":false,"Tinytest":false,"Tracker":false,"UI":false,"Utils":false,"WebApp":false,"WebAppInternals":false},"mongo":{"_isWindows":false,"_rand":false,"BulkWriteResult":false,"cat":false,"cd":false,"connect":false,"db":false,"getHostName":false,"getMemInfo":false,"hostname":false,"ISODate":false,"listFiles":false,"load":false,"ls":false,"md5sumFile":false,"mkdir":false,"Mongo":false,"NumberInt":false,"NumberLong":false,"ObjectId":false,"PlanCache":false,"print":false,"printjson":false,"pwd":false,"quit":false,"removeFile":false,"rs":false,"sh":false,"UUID":false,"version":false,"WriteResult":false},"applescript":{"$":false,"Application":false,"Automation":false,"console":false,"delay":false,"Library":false,"ObjC":false,"ObjectSpecifier":false,"Path":false,"Progress":false,"Ref":false},"serviceworker":{"addEventListener":false,"applicationCache":false,"atob":false,"Blob":false,"BroadcastChannel":false,"btoa":false,"Cache":false,"caches":false,"CacheStorage":false,"clearInterval":false,"clearTimeout":false,"Client":false,"clients":false,"Clients":false,"close":true,"console":false,"ExtendableEvent":false,"ExtendableMessageEvent":false,"fetch":false,"FetchEvent":false,"FileReaderSync":false,"FormData":false,"Headers":false,"IDBCursor":false,"IDBCursorWithValue":false,"IDBDatabase":false,"IDBFactory":false,"IDBIndex":false,"IDBKeyRange":false,"IDBObjectStore":false,"IDBOpenDBRequest":false,"IDBRequest":false,"IDBTransaction":false,"IDBVersionChangeEvent":false,"ImageData":false,"importScripts":false,"indexedDB":false,"location":false,"MessageChannel":false,"MessagePort":false,"name":false,"navigator":false,"Notification":false,"onclose":true,"onconnect":true,"onerror":true,"onfetch":true,"oninstall":true,"onlanguagechange":true,"onmessage":true,"onmessageerror":true,"onnotificationclick":true,"onnotificationclose":true,"onoffline":true,"ononline":true,"onpush":true,"onpushsubscriptionchange":true,"onrejectionhandled":true,"onsync":true,"onunhandledrejection":true,"performance":false,"Performance":false,"PerformanceEntry":false,"PerformanceMark":false,"PerformanceMeasure":false,"PerformanceNavigation":false,"PerformanceResourceTiming":false,"PerformanceTiming":false,"postMessage":true,"Promise":false,"queueMicrotask":false,"registration":false,"removeEventListener":false,"Request":false,"Response":false,"self":false,"ServiceWorker":false,"ServiceWorkerContainer":false,"ServiceWorkerGlobalScope":false,"ServiceWorkerMessageEvent":false,"ServiceWorkerRegistration":false,"setInterval":false,"setTimeout":false,"skipWaiting":false,"TextDecoder":false,"TextEncoder":false,"URL":false,"URLSearchParams":false,"WebSocket":false,"WindowClient":false,"Worker":false,"WorkerGlobalScope":false,"XMLHttpRequest":false},"atomtest":{"advanceClock":false,"fakeClearInterval":false,"fakeClearTimeout":false,"fakeSetInterval":false,"fakeSetTimeout":false,"resetTimeouts":false,"waitsForPromise":false},"embertest":{"andThen":false,"click":false,"currentPath":false,"currentRouteName":false,"currentURL":false,"fillIn":false,"find":false,"findAll":false,"findWithAssert":false,"keyEvent":false,"pauseTest":false,"resumeTest":false,"triggerEvent":false,"visit":false,"wait":false},"protractor":{"$":false,"$$":false,"browser":false,"by":false,"By":false,"DartObject":false,"element":false,"protractor":false},"shared-node-browser":{"clearInterval":false,"clearTimeout":false,"console":false,"setInterval":false,"setTimeout":false,"URL":false,"URLSearchParams":false},"webextensions":{"browser":false,"chrome":false,"opr":false},"greasemonkey":{"cloneInto":false,"createObjectIn":false,"exportFunction":false,"GM":false,"GM_addStyle":false,"GM_deleteValue":false,"GM_getResourceText":false,"GM_getResourceURL":false,"GM_getValue":false,"GM_info":false,"GM_listValues":false,"GM_log":false,"GM_openInTab":false,"GM_registerMenuCommand":false,"GM_setClipboard":false,"GM_setValue":false,"GM_xmlhttpRequest":false,"unsafeWindow":false},"devtools":{"$":false,"$_":false,"$$":false,"$0":false,"$1":false,"$2":false,"$3":false,"$4":false,"$x":false,"chrome":false,"clear":false,"copy":false,"debug":false,"dir":false,"dirxml":false,"getEventListeners":false,"inspect":false,"keys":false,"monitor":false,"monitorEvents":false,"profile":false,"profileEnd":false,"queryObjects":false,"table":false,"undebug":false,"unmonitor":false,"unmonitorEvents":false,"values":false}}\')}},t={};function s(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,s),i.loaded=!0,i.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};(()=>{"use strict";s.d(r,{parseSourceAndMetadata:()=>W,purgeCachedMetadata:()=>H});var e=s(7493),t=s(3018),n=s.n(t);const i=!1,a="undefined"!=typeof performance&&"function"==typeof performance.mark&&"function"==typeof performance.clearMarks,o="undefined"!=typeof performance&&"function"==typeof performance.now;function l(e){a&&performance.mark(e+"-start")}function c(e){a&&(performance.mark(e+"-end"),performance.measure(e,e+"-start",e+"-end"),performance.clearMarks(e+"-start"),performance.clearMarks(e+"-end"))}function p(){return o?performance.now():Date.now()}function u(e,t,s){const r=p();i&&l(e);const n=t();return i&&c(e),null!=s&&s(p()-r),n}var h=s(1910);const d=Object.freeze({PROGRAM:"Program",CALL_EXPRESSION:"CallExpression",MEMBER_EXPRESSION:"MemberExpression",ARRAY_PATTERN:"ArrayPattern",IDENTIFIER:"Identifier",NUMERIC_LITERAL:"NumericLiteral",VARIABLE_DECLARATOR:"VariableDeclarator"});function f(e,t,s=null){const{start:r,end:n}=e.node.loc;return t===r.line&&!(null!==s&&(s-=1,t===r.line&&sn.column))}function m(e,t,s){let r=[];return function(e){const t=e.node.id;return t.type===d.ARRAY_PATTERN||t.type===d.IDENTIFIER&&!function(e){const t=e.node.init.callee;return x(t,"useState")||x(t,"useReducer")||x(t,"useTransition")}(e)}(e)?r.unshift(e):r=t.filter((t=>function(e,t){const s=e.node.id.name;return null!=s&&(s===(t.node.init.object&&t.node.init.object.name)||s===t.node.init.name)}(e,t))),r}function y(e,t,s,r,n){const i=u("getPotentialHookDeclarationsFromAST(originalSourceAST)",(()=>function(e){const t=[];return u("traverse(sourceAST)",(()=>(0,h.default)(e,{enter(e){e.isVariableDeclarator()&&function(e){const t=e.node.init;if(null!=t){if(t.type===d.CALL_EXPRESSION)return T(t.callee);if(t.type===d.MEMBER_EXPRESSION||t.type===d.IDENTIFIER)return!0}return!1}(e)&&t.push(e)}}))),t}(t)));let a=null;if(0===n){const e=i.filter((e=>{const t=f(e,r),s=b(e);return t&&s}));1===e.length&&(a=e[0])}else a=i.find((e=>{const t=f(e,r,n),s=b(e);return t&&s}));if(!a)return null;try{const t=u("getFilteredHookASTNodes()",(()=>m(a,i))),s=u("getHookNameFromNode()",(()=>function(e,t,s){let r;const n=null===e.id;switch(t.length){case 1:if(n&&t[0]===s){r=g(s,n);break}r=g(t[0]);break;case 2:if(1!==(t=t.filter((e=>function(e){return e.node.init.property.type===d.NUMERIC_LITERAL&&0===e.node.init.property.value}(e)))).length)throw new Error("Couldn\'t isolate AST Node containing hook variable.");r=g(t[0]);break;default:r=g(s)}return r}(e,t,a)));return s}catch(e){return console.error(e),null}}function g(e,t=!1){switch(e.node.id.type){case d.ARRAY_PATTERN:return t?null:e.node.id.elements[0]?.name??null;case d.IDENTIFIER:return e.node.id.name;default:return null}}function b(e){const t=e.node.init;return null!=t&&t.type===d.CALL_EXPRESSION&&T(t.callee)}function T(e){if(e.type===d.IDENTIFIER)return t=e.name,/^use[A-Z0-9].*$/.test(t);if(e.type===d.MEMBER_EXPRESSION&&!e.computed&&T(e.property)){const t=e.object,s=/^[A-Z].*/;return t.type===d.IDENTIFIER&&s.test(t.name)}return!1;var t}function x(e,t){return e.name===t||"MemberExpression"===e.type&&"React"===e.object.name&&e.property.name===t}var P=s(8715),S=s.n(P),E=s(4468);let A=null;function v({fileName:e,lineNumber:t,columnNumber:s}){if(null==e||null==t||null==s)throw Error("Hook source code location not found.");return`${e}:${t}:${s}`}new WeakMap;for(var w=s(6651),C={},I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",O=0;O<65;O++)C[I.charCodeAt(O)]=O;function N(e){for(var t=[],s=[],r=[0,0,0,0,0],n=0,i=0,a=0,o=0;i>>=1,u&&(o=0===o?-2147483648:-o),r[n]+=o,n++,o=a=0}}}return k(s,r,n),t.push(s),t}function k(e,t,s){4===s?e.push([t[0],t[1],t[2],t[3]]):5===s?e.push([t[0],t[1],t[2],t[3],t[4]]):1===s&&e.push([t[0]])}function L(e,t,s){let r,n=t.length,i=0,a=0;for(;n>0;){i=a,r=Math.floor(n/2),i+=r;const o=s(e,t,i);if(0===o.direction){if(null==o.index)throw new Error("Expected an index when matching element is found.");a=o.index;break}o.direction>0?(i++,a=i,n-=r+1):n=r}return null!=a?t[a]:null}function D(e,t,s){const r=s,n=t[r];if(null==n)throw new Error(`Unexpected line missing in HookMap at index ${s}.`);const i=_(n);let a,o=s+1;const l=t[o];return null!=l?a=_(l):(o=r,a=i),i===e.line?{index:r,direction:0}:a===e.line||e.line>a&&null==l?{index:o,direction:0}:ia&&null==l?{index:o,direction:0}:i"===o?null:o}({line:e,column:t},r)}hasHookMap(e){return null!=e&&null!=this._getHookMapForSource(e)}_getMetadataBySource(){return null==this._metadataBySource&&(this._metadataBySource=this._getMetadataObjectsBySourceNames(this._sourceMap)),this._metadataBySource}_getMetadataObjectsBySourceNames(e){if(void 0===e.mappings){const t=e,s=new Map;return t.sections.forEach((e=>{this._getMetadataObjectsBySourceNames(e.map).forEach(((e,t)=>{s.set(t,e)}))})),s}const t=new Map,s=e,r=(e,r)=>{let n=s.sources[r];null!=n&&(n=F(n,s),t.set(n,e))};if(e.hasOwnProperty(R)&&null!=e[R])e[R].filter(Boolean).forEach(r);else if(e.hasOwnProperty(B)&&null!=e[B]){const t=e[B];null!=t&&t.forEach(((e,t)=>{const s=null!=e?e[1]:null;null!=s&&r(s,t)}))}return t}_getHookMapForSource(e){if(this._decodedHookMapCache.has(e))return this._decodedHookMapCache.get(e);let t=null;const s=this._getMetadataBySource(),r=F(e,this._sourceMap),n=s.get(r);if(null!=n){const e=n[0];t=null!=e?function(e){return{names:e.names,mappings:N(e.mappings)}}(e):null}return null!=t&&this._decodedHookMapCache.set(e,t),t}}function V(e){return null!=e.sections?function(e){let t={line:-1,column:0};const s=e.sections.map((e=>{const s=e.offset,r=s.line,n=s.column;if(rr){if(!(a-o>0)){o=a;break}a=o}else{if(!(o-i>0)){o=i;break}i=o}}else if(e>t){if(!(a-o>0)){o=a;break}a=o}else{if(!(o-i>0)){o=i;break}i=o}}if(null==n)throw Error(`Could not find matching section for line:${t} and column:${e}`);return null===n.sourceMapConsumer&&(n.sourceMapConsumer=new V(n.map)),n.sourceMapConsumer.originalPositionFor({columnNumber:e,lineNumber:t})}}}(e):function(e){const t=u("Decoding source map mappings with sourcemap-codec",(()=>N(e.mappings)));return{originalPositionFor:function({columnNumber:s,lineNumber:r}){const n=s-1,i=t[r-1];let a=null,o=0,l=i.length-1,c=-1;for(;o<=l;){c=Math.floor((l+o)/2),a=i[c];const e=a[0];if(e===n)break;if(e>n){if(!(l-c>0)){c=l;break}l=c}else{if(!(c-o>0)){c=o;break}o=c}}for(;c>0&&i[c-1][0]===n;)c--;if(null==a)throw Error(`Could not find runtime location for line:${r} and column:${s}`);const p=a[1],u=null!=e.sourcesContent?e.sourcesContent[p]:null,h=e.sources[p]??null,d=a[2]+1;return{column:a[3],line:d,sourceContent:u,sourceURL:h}}}}(e)}const q=new(n())({max:50}),K=new(n())({max:50,dispose:(e,t)=>{}}),W=async function(t,s){return async function(r,n,a){p();i&&l(r);const o=await(async()=>{const r=u("initializeHookParsedMetadata",(()=>function(e){const t=new Map;return e.forEach(((e,s)=>{const r={metadataConsumer:null,originalSourceAST:null,originalSourceCode:null,originalSourceURL:null,originalSourceLineNumber:null,originalSourceColumnNumber:null,sourceMapConsumer:null};t.set(s,r)})),t}(s)));return u("parseSourceMaps",(()=>function(e,t){e.forEach(((e,s)=>{const r=t.get(s);if(null==r)throw Error(`Expected to find HookParsedMetadata for "${s}"`);const{runtimeSourceURL:n,sourceMapJSON:i}=e,a=q.get(n);if(null!=a)r.metadataConsumer=a.metadataConsumer,r.sourceMapConsumer=a.sourceMapConsumer;else if(null!=i){const e=u("new SourceMapConsumer(sourceMapJSON)",(()=>V(i))),t=u("new SourceMapMetadataConsumer(sourceMapJSON)",(()=>new U(i)));r.metadataConsumer=t,r.sourceMapConsumer=e,q.set(n,{metadataConsumer:t,sourceMapConsumer:e})}}))}(s,r))),u("parseSourceAST()",(()=>function(t,s){t.forEach(((t,r)=>{const n=s.get(r);if(null==n)throw Error(`Expected to find HookParsedMetadata for "${r}"`);if(null!==n.originalSourceAST)return;if(null!=n.originalSourceURL&&null!=n.originalSourceCode&&null!=n.originalSourceColumnNumber&&null!=n.originalSourceLineNumber)return;const{lineNumber:i,columnNumber:a}=t.hookSource;if(null==i||null==a)throw Error("Hook source code location not found.");const{metadataConsumer:o,sourceMapConsumer:l}=n,c=t.runtimeSourceCode;let p,h,d,f,m=!1;if(function(){if(null===A)try{(0,E.ZP)(),A=!1}catch(e){S().parse(e)[0].lineNumber===E.U1&&(A=!0)}return!0===A}()||null===l)d=a,f=i,h=c,p=t.runtimeSourceURL;else{const{column:e,line:t,sourceContent:s,sourceURL:r}=l.originalPositionFor({columnNumber:a,lineNumber:i});if(null===s||null===r)throw Error(`Could not find original source for line:${i} and column:${a}`);d=e,f=t,h=s,p=r}if(n.originalSourceCode=h,n.originalSourceURL=p,n.originalSourceLineNumber=f,n.originalSourceColumnNumber=d,null!=o&&o.hasHookMap(p)&&(m=!0),m)return;const y=K.get(p);if(null!=y)n.originalSourceAST=y.originalSourceAST,n.originalSourceCode=y.originalSourceCode;else try{const t=h.indexOf("@flow")>0?"flow":"typescript",s=u("[@babel/parser] parse(originalSourceCode)",(()=>(0,e.parse)(h,{sourceType:"unambiguous",plugins:["jsx",t]})));n.originalSourceAST=s,K.set(p,{originalSourceAST:s,originalSourceCode:h})}catch(e){throw new Error(`Failed to parse source file: ${p}\\n\\nOriginal error: ${e}`)}}))}(s,r))),u("findHookNames()",(()=>function(e,t){const s=new Map;return e.map((e=>{const r=e.hookSource;if(!r.fileName)return null;const n=v(r),i=t.get(n);if(!i)return null;const{lineNumber:a,columnNumber:o}=r;if(!a||!o)return null;const{originalSourceURL:l,originalSourceColumnNumber:c,originalSourceLineNumber:p}=i;if(null==p||null==c||null==l)return null;let h;const{metadataConsumer:d}=i;null!=d&&(h=u("metadataConsumer.hookNameFor()",(()=>d.hookNameFor({line:p,column:c,source:l})))),null==h&&(h=u("getHookName()",(()=>y(e,i.originalSourceAST,i.originalSourceCode,p,c))));const f=v(r);s.set(f,h)})),s}(t,r)))})();return i&&c(r),o}("parseSourceAndMetadata()")},H=function(){K.reset(),q.reset()};addEventListener("message",(function(e){var t,s=e.data,n=s.type,i=s.method,a=s.id,o=s.params;"RPC"===n&&i&&((t=r[i])?Promise.resolve().then((function(){return t.apply(r,o)})):Promise.reject("No such method")).then((function(e){postMessage({type:"RPC",id:a,result:e})})).catch((function(e){var t={message:e};e.stack&&(t.message=e.message,t.stack=e.stack,t.name=e.name),postMessage({type:"RPC",id:a,error:t})}))})),postMessage({type:"RPC",method:"ready"})})()})();\n//# sourceMappingURL=parseSourceAndMetadata.worker.worker.js.map']))),r(e,n),e}}}; //# sourceMappingURL=parseHookNames.chunk.js.map