diff --git a/.gitignore b/.gitignore index 1fdac1a6a402..c880f50930b4 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ /.vscode/**/* !/.vscode/extensions.json !/.vscode/settings.example.json -/dist* /website/build /website/i18n /website/static/playground @@ -23,7 +22,6 @@ .DS_Store /coverage .idea -package-lock.json **/.yarn/* !.yarn/releases !.yarn/plugins diff --git a/.prettierignore b/.prettierignore index 112dc9763689..6102b009e6ca 100644 --- a/.prettierignore +++ b/.prettierignore @@ -20,3 +20,5 @@ !/tests/integration/plugins/options/plugin.cjs !/tests/integration/plugins/preprocess/plugin.cjs /tests/integration/custom-parsers/ +/dist +!/dist/index.js \ No newline at end of file diff --git a/bin/prettier.cjs b/bin/prettier.cjs index ea9a01c01074..4729ee70d1fc 100755 --- a/bin/prettier.cjs +++ b/bin/prettier.cjs @@ -8,10 +8,10 @@ if (typeof nodeModule.enableCompileCache === "function") { nodeModule.enableCompileCache(); } -var pleaseUpgradeNode = require("please-upgrade-node"); +/*var pleaseUpgradeNode = require("please-upgrade-node"); var packageJson = require("../package.json"); -pleaseUpgradeNode(packageJson); +pleaseUpgradeNode(packageJson);*/ var dynamicImport = new Function("module", "return import(module)"); diff --git a/dist/plugin-hermes/LICENSE b/dist/plugin-hermes/LICENSE new file mode 100644 index 000000000000..5767e34d30ab --- /dev/null +++ b/dist/plugin-hermes/LICENSE @@ -0,0 +1,7 @@ +Copyright © James Long and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dist/plugin-hermes/README.md b/dist/plugin-hermes/README.md new file mode 100644 index 000000000000..21cb4f87a363 --- /dev/null +++ b/dist/plugin-hermes/README.md @@ -0,0 +1,35 @@ +# @prettier/plugin-hermes + +[![Npm Version](https://img.shields.io/npm/v/@prettier/plugin-hermes.svg?style=flat-square)](https://www.npmjs.com/package/@prettier/plugin-hermes) +[![MIT License](https://img.shields.io/npm/l/@prettier/plugin-hermes.svg?style=flat-square)](https://github.com/prettier/prettier/blob/main/license) + +> Prettier [Hermes](https://github.com/facebook/hermes/blob/main/README.md) plugin. + +## Install + +```bash +yarn add --dev prettier @prettier/plugin-hermes +``` + +## Usage + +Create or modify your [prettier configuration file](https://prettier.io/docs/en/configuration) to use the plugin: + +```yaml +plugins: + - "@prettier/plugin-hermes" +``` + +**Requires prettier >= 3.6** + +Or config explicitly + +```yaml +overrides: + - files: + - "**/*.{js.flow,js,mjs,cjs}" + options: + plugins: + - "@prettier/plugin-hermes" + parser: hermes +``` diff --git a/dist/plugin-hermes/THIRD-PARTY-NOTICES.md b/dist/plugin-hermes/THIRD-PARTY-NOTICES.md new file mode 100644 index 000000000000..c52d5d85c29b --- /dev/null +++ b/dist/plugin-hermes/THIRD-PARTY-NOTICES.md @@ -0,0 +1,347 @@ +# Licenses of bundled dependencies + +The published @prettier/plugin-hermes artifact additionally contains code with the following licenses: +MIT and BSD-3-Clause. + +## base64-js@v1.5.1 + +> Base64 encoding/decoding in pure JS + +License: MIT +Homepage: +Repository: +Author: T. Jameson Little + +> The MIT License (MIT) +> +> Copyright (c) 2014 Jameson Little +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## buffer@v6.0.3 + +> Node.js Buffer API, for the browser + +License: MIT +Homepage: +Repository: +Author: Feross Aboukhadijeh (https://feross.org) +Contributors: + - Romain Beauxis + - James Halliday + +> The MIT License (MIT) +> +> Copyright (c) Feross Aboukhadijeh, and other contributors. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## emoji-regex@v10.5.0 + +> A regular expression to match all Emoji-only symbols as per the Unicode Standard. + +License: MIT +Homepage: +Repository: +Author: Mathias Bynens (https://mathiasbynens.be/) + +> Copyright Mathias Bynens +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## escape-string-regexp@v5.0.0 + +> Escape RegExp special characters + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## get-east-asian-width@v1.4.0 + +> Determine the East Asian Width of a Unicode character + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## hermes-estree@v0.32.1 + +> Flow types for the Flow-ESTree spec produced by the hermes parser + +License: MIT +Repository: + +> MIT License +> +> Copyright (c) Meta Platforms, Inc. and affiliates. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## hermes-parser@v0.32.1 + +> A JavaScript parser built from the Hermes engine + +License: MIT +Repository: + +> MIT License +> +> Copyright (c) Meta Platforms, Inc. and affiliates. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## ieee754@v1.2.1 + +> Read/write IEEE754 floating point numbers from/to a Buffer or array-like object + +License: BSD-3-Clause +Repository: +Author: Feross Aboukhadijeh (https://feross.org) +Contributors: + - Romain Beauxis + +> Copyright 2008 Fair Oaks Labs, Inc. +> +> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +> +> 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +> +> 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +> +> 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------- + +## is-es5-identifier-name@v1.0.0 + +> Check if provided string is an `IdentifierName` as specified in ECMA262 edition 5.1 section 7.6. + +License: MIT +Author: fisker Cheung + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## jest-docblock@v30.0.1 + +License: MIT +Repository: + +> MIT License +> +> Copyright (c) Meta Platforms, Inc. and affiliates. +> Copyright Contributors to the Jest project. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## prettier@v3.7.0-82e57b781 + +> Prettier is an opinionated code formatter + +License: MIT +Homepage: +Author: James Long + +> Copyright © James Long and contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## to-fast-properties@v4.0.0 + +> Force V8 to use fast properties for an object + +License: MIT +Author: Sindre Sorhus (https:/sindresorhus.com) + +> MIT License +> +> Copyright (c) Petka Antonov +> Benjamin Gruenbaum +> John-David Dalton +> Sindre Sorhus +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## trim-newlines@v5.0.0 + +> Trim newlines from the start and/or end of a string + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dist/plugin-hermes/index.d.ts b/dist/plugin-hermes/index.d.ts new file mode 100644 index 000000000000..c02706b81861 --- /dev/null +++ b/dist/plugin-hermes/index.d.ts @@ -0,0 +1,5 @@ +import { Parser } from "prettier"; + +export declare const parsers: { + hermes: Parser; +}; diff --git a/dist/plugin-hermes/index.mjs b/dist/plugin-hermes/index.mjs new file mode 100644 index 000000000000..43b695dae966 --- /dev/null +++ b/dist/plugin-hermes/index.mjs @@ -0,0 +1,44 @@ +var JD=Object.create;var hQ=Object.defineProperty;var dD=Object.getOwnPropertyDescriptor;var LD=Object.getOwnPropertyNames;var mD=Object.getPrototypeOf,HD=Object.prototype.hasOwnProperty;var fD=(A,g)=>()=>(A&&(g=A(A=0)),g);var V=(A,g)=>()=>(g||A((g={exports:{}}).exports,g),g.exports),jC=(A,g)=>{for(var I in g)hQ(A,I,{get:g[I],enumerable:!0})},TD=(A,g,I,C)=>{if(g&&typeof g=="object"||typeof g=="function")for(let B of LD(g))!HD.call(A,B)&&B!==I&&hQ(A,B,{get:()=>g[B],enumerable:!(C=dD(g,B))||C.enumerable});return A};var xD=(A,g,I)=>(I=A!=null?JD(mD(A)):{},TD(g||!A||!A.__esModule?hQ(I,"default",{value:A,enumerable:!0}):I,A));var ei=V(ZC=>{"use strict";ZC.byteLength=bD;ZC.toByteArray=OD;ZC.fromByteArray=ZD;var Rg=[],ig=[],qD=typeof Uint8Array<"u"?Uint8Array:Array,YQ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(yI=0,Qi=YQ.length;yI0)throw new Error("Invalid string. Length must be a multiple of 4");var I=A.indexOf("=");I===-1&&(I=g);var C=I===g?0:4-I%4;return[I,C]}function bD(A){var g=Ei(A),I=g[0],C=g[1];return(I+C)*3/4-C}function PD(A,g,I){return(g+I)*3/4-I}function OD(A){var g,I=Ei(A),C=I[0],B=I[1],Q=new qD(PD(A,C,B)),E=0,e=B>0?C-4:C,i;for(i=0;i>16&255,Q[E++]=g>>8&255,Q[E++]=g&255;return B===2&&(g=ig[A.charCodeAt(i)]<<2|ig[A.charCodeAt(i+1)]>>4,Q[E++]=g&255),B===1&&(g=ig[A.charCodeAt(i)]<<10|ig[A.charCodeAt(i+1)]<<4|ig[A.charCodeAt(i+2)]>>2,Q[E++]=g>>8&255,Q[E++]=g&255),Q}function zD(A){return Rg[A>>18&63]+Rg[A>>12&63]+Rg[A>>6&63]+Rg[A&63]}function jD(A,g,I){for(var C,B=[],Q=g;Qe?e:E+Q));return C===1?(g=A[I-1],B.push(Rg[g>>2]+Rg[g<<4&63]+"==")):C===2&&(g=(A[I-2]<<8)+A[I-1],B.push(Rg[g>>10]+Rg[g>>4&63]+Rg[g<<2&63]+"=")),B.join("")}});var ii=V(SQ=>{SQ.read=function(A,g,I,C,B){var Q,E,e=B*8-C-1,i=(1<>1,r=-7,a=I?B-1:0,D=I?-1:1,y=A[g+a];for(a+=D,Q=y&(1<<-r)-1,y>>=-r,r+=e;r>0;Q=Q*256+A[g+a],a+=D,r-=8);for(E=Q&(1<<-r)-1,Q>>=-r,r+=C;r>0;E=E*256+A[g+a],a+=D,r-=8);if(Q===0)Q=1-o;else{if(Q===i)return E?NaN:(y?-1:1)*(1/0);E=E+Math.pow(2,C),Q=Q-o}return(y?-1:1)*E*Math.pow(2,Q-C)};SQ.write=function(A,g,I,C,B,Q){var E,e,i,o=Q*8-B-1,r=(1<>1,D=B===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=C?0:Q-1,n=C?1:-1,M=g<0||g===0&&1/g<0?1:0;for(g=Math.abs(g),isNaN(g)||g===1/0?(e=isNaN(g)?1:0,E=r):(E=Math.floor(Math.log(g)/Math.LN2),g*(i=Math.pow(2,-E))<1&&(E--,i*=2),E+a>=1?g+=D/i:g+=D*Math.pow(2,1-a),g*i>=2&&(E++,i/=2),E+a>=r?(e=0,E=r):E+a>=1?(e=(g*i-1)*Math.pow(2,B),E=E+a):(e=g*Math.pow(2,a-1)*Math.pow(2,B),E=0));B>=8;A[I+y]=e&255,y+=n,e/=256,B-=8);for(E=E<0;A[I+y]=E&255,y+=n,E/=256,o-=8);A[I+y-n]|=M*128}});var mQ=V(fI=>{"use strict";var MQ=ei(),mI=ii(),oi=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;fI.Buffer=G;fI.SlowBuffer=$D;fI.INSPECT_MAX_BYTES=50;var WC=2147483647;fI.kMaxLength=WC;G.TYPED_ARRAY_SUPPORT=WD();!G.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function WD(){try{let A=new Uint8Array(1),g={foo:function(){return 42}};return Object.setPrototypeOf(g,Uint8Array.prototype),Object.setPrototypeOf(A,g),A.foo()===42}catch{return!1}}Object.defineProperty(G.prototype,"parent",{enumerable:!0,get:function(){if(G.isBuffer(this))return this.buffer}});Object.defineProperty(G.prototype,"offset",{enumerable:!0,get:function(){if(G.isBuffer(this))return this.byteOffset}});function Pg(A){if(A>WC)throw new RangeError('The value "'+A+'" is invalid for option "size"');let g=new Uint8Array(A);return Object.setPrototypeOf(g,G.prototype),g}function G(A,g,I){if(typeof A=="number"){if(typeof g=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return UQ(A)}return Di(A,g,I)}G.poolSize=8192;function Di(A,g,I){if(typeof A=="string")return XD(A,g);if(ArrayBuffer.isView(A))return vD(A);if(A==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof A);if(Kg(A,ArrayBuffer)||A&&Kg(A.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Kg(A,SharedArrayBuffer)||A&&Kg(A.buffer,SharedArrayBuffer)))return RQ(A,g,I);if(typeof A=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let C=A.valueOf&&A.valueOf();if(C!=null&&C!==A)return G.from(C,g,I);let B=_D(A);if(B)return B;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof A[Symbol.toPrimitive]=="function")return G.from(A[Symbol.toPrimitive]("string"),g,I);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof A)}G.from=function(A,g,I){return Di(A,g,I)};Object.setPrototypeOf(G.prototype,Uint8Array.prototype);Object.setPrototypeOf(G,Uint8Array);function ai(A){if(typeof A!="number")throw new TypeError('"size" argument must be of type number');if(A<0)throw new RangeError('The value "'+A+'" is invalid for option "size"')}function VD(A,g,I){return ai(A),A<=0?Pg(A):g!==void 0?typeof I=="string"?Pg(A).fill(g,I):Pg(A).fill(g):Pg(A)}G.alloc=function(A,g,I){return VD(A,g,I)};function UQ(A){return ai(A),Pg(A<0?0:JQ(A)|0)}G.allocUnsafe=function(A){return UQ(A)};G.allocUnsafeSlow=function(A){return UQ(A)};function XD(A,g){if((typeof g!="string"||g==="")&&(g="utf8"),!G.isEncoding(g))throw new TypeError("Unknown encoding: "+g);let I=ni(A,g)|0,C=Pg(I),B=C.write(A,g);return B!==I&&(C=C.slice(0,B)),C}function kQ(A){let g=A.length<0?0:JQ(A.length)|0,I=Pg(g);for(let C=0;C=WC)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+WC.toString(16)+" bytes");return A|0}function $D(A){return+A!=A&&(A=0),G.alloc(+A)}G.isBuffer=function(g){return g!=null&&g._isBuffer===!0&&g!==G.prototype};G.compare=function(g,I){if(Kg(g,Uint8Array)&&(g=G.from(g,g.offset,g.byteLength)),Kg(I,Uint8Array)&&(I=G.from(I,I.offset,I.byteLength)),!G.isBuffer(g)||!G.isBuffer(I))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(g===I)return 0;let C=g.length,B=I.length;for(let Q=0,E=Math.min(C,B);QB.length?(G.isBuffer(E)||(E=G.from(E)),E.copy(B,Q)):Uint8Array.prototype.set.call(B,E,Q);else if(G.isBuffer(E))E.copy(B,Q);else throw new TypeError('"list" argument must be an Array of Buffers');Q+=E.length}return B};function ni(A,g){if(G.isBuffer(A))return A.length;if(ArrayBuffer.isView(A)||Kg(A,ArrayBuffer))return A.byteLength;if(typeof A!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof A);let I=A.length,C=arguments.length>2&&arguments[2]===!0;if(!C&&I===0)return 0;let B=!1;for(;;)switch(g){case"ascii":case"latin1":case"binary":return I;case"utf8":case"utf-8":return KQ(A).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I*2;case"hex":return I>>>1;case"base64":return li(A).length;default:if(B)return C?-1:KQ(A).length;g=(""+g).toLowerCase(),B=!0}}G.byteLength=ni;function Aa(A,g,I){let C=!1;if((g===void 0||g<0)&&(g=0),g>this.length||((I===void 0||I>this.length)&&(I=this.length),I<=0)||(I>>>=0,g>>>=0,I<=g))return"";for(A||(A="utf8");;)switch(A){case"hex":return ta(this,g,I);case"utf8":case"utf-8":return yi(this,g,I);case"ascii":return ia(this,g,I);case"latin1":case"binary":return oa(this,g,I);case"base64":return Ea(this,g,I);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ra(this,g,I);default:if(C)throw new TypeError("Unknown encoding: "+A);A=(A+"").toLowerCase(),C=!0}}G.prototype._isBuffer=!0;function wI(A,g,I){let C=A[g];A[g]=A[I],A[I]=C}G.prototype.swap16=function(){let g=this.length;if(g%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let I=0;II&&(g+=" ... "),""};oi&&(G.prototype[oi]=G.prototype.inspect);G.prototype.compare=function(g,I,C,B,Q){if(Kg(g,Uint8Array)&&(g=G.from(g,g.offset,g.byteLength)),!G.isBuffer(g))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof g);if(I===void 0&&(I=0),C===void 0&&(C=g?g.length:0),B===void 0&&(B=0),Q===void 0&&(Q=this.length),I<0||C>g.length||B<0||Q>this.length)throw new RangeError("out of range index");if(B>=Q&&I>=C)return 0;if(B>=Q)return-1;if(I>=C)return 1;if(I>>>=0,C>>>=0,B>>>=0,Q>>>=0,this===g)return 0;let E=Q-B,e=C-I,i=Math.min(E,e),o=this.slice(B,Q),r=g.slice(I,C);for(let a=0;a2147483647?I=2147483647:I<-2147483648&&(I=-2147483648),I=+I,LQ(I)&&(I=B?0:A.length-1),I<0&&(I=A.length+I),I>=A.length){if(B)return-1;I=A.length-1}else if(I<0)if(B)I=0;else return-1;if(typeof g=="string"&&(g=G.from(g,C)),G.isBuffer(g))return g.length===0?-1:ti(A,g,I,C,B);if(typeof g=="number")return g=g&255,typeof Uint8Array.prototype.indexOf=="function"?B?Uint8Array.prototype.indexOf.call(A,g,I):Uint8Array.prototype.lastIndexOf.call(A,g,I):ti(A,[g],I,C,B);throw new TypeError("val must be string, number or Buffer")}function ti(A,g,I,C,B){let Q=1,E=A.length,e=g.length;if(C!==void 0&&(C=String(C).toLowerCase(),C==="ucs2"||C==="ucs-2"||C==="utf16le"||C==="utf-16le")){if(A.length<2||g.length<2)return-1;Q=2,E/=2,e/=2,I/=2}function i(r,a){return Q===1?r[a]:r.readUInt16BE(a*Q)}let o;if(B){let r=-1;for(o=I;oE&&(I=E-e),o=I;o>=0;o--){let r=!0;for(let a=0;aB&&(C=B)):C=B;let Q=g.length;C>Q/2&&(C=Q/2);let E;for(E=0;E>>0,isFinite(C)?(C=C>>>0,B===void 0&&(B="utf8")):(B=C,C=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let Q=this.length-I;if((C===void 0||C>Q)&&(C=Q),g.length>0&&(C<0||I<0)||I>this.length)throw new RangeError("Attempt to write outside buffer bounds");B||(B="utf8");let E=!1;for(;;)switch(B){case"hex":return ga(this,g,I,C);case"utf8":case"utf-8":return Ia(this,g,I,C);case"ascii":case"latin1":case"binary":return Ca(this,g,I,C);case"base64":return Ba(this,g,I,C);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Qa(this,g,I,C);default:if(E)throw new TypeError("Unknown encoding: "+B);B=(""+B).toLowerCase(),E=!0}};G.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ea(A,g,I){return g===0&&I===A.length?MQ.fromByteArray(A):MQ.fromByteArray(A.slice(g,I))}function yi(A,g,I){I=Math.min(A.length,I);let C=[],B=g;for(;B239?4:Q>223?3:Q>191?2:1;if(B+e<=I){let i,o,r,a;switch(e){case 1:Q<128&&(E=Q);break;case 2:i=A[B+1],(i&192)===128&&(a=(Q&31)<<6|i&63,a>127&&(E=a));break;case 3:i=A[B+1],o=A[B+2],(i&192)===128&&(o&192)===128&&(a=(Q&15)<<12|(i&63)<<6|o&63,a>2047&&(a<55296||a>57343)&&(E=a));break;case 4:i=A[B+1],o=A[B+2],r=A[B+3],(i&192)===128&&(o&192)===128&&(r&192)===128&&(a=(Q&15)<<18|(i&63)<<12|(o&63)<<6|r&63,a>65535&&a<1114112&&(E=a))}}E===null?(E=65533,e=1):E>65535&&(E-=65536,C.push(E>>>10&1023|55296),E=56320|E&1023),C.push(E),B+=e}return ea(C)}var ri=4096;function ea(A){let g=A.length;if(g<=ri)return String.fromCharCode.apply(String,A);let I="",C=0;for(;CC)&&(I=C);let B="";for(let Q=g;QC&&(g=C),I<0?(I+=C,I<0&&(I=0)):I>C&&(I=C),II)throw new RangeError("Trying to access beyond buffer length")}G.prototype.readUintLE=G.prototype.readUIntLE=function(g,I,C){g=g>>>0,I=I>>>0,C||hA(g,I,this.length);let B=this[g],Q=1,E=0;for(;++E>>0,I=I>>>0,C||hA(g,I,this.length);let B=this[g+--I],Q=1;for(;I>0&&(Q*=256);)B+=this[g+--I]*Q;return B};G.prototype.readUint8=G.prototype.readUInt8=function(g,I){return g=g>>>0,I||hA(g,1,this.length),this[g]};G.prototype.readUint16LE=G.prototype.readUInt16LE=function(g,I){return g=g>>>0,I||hA(g,2,this.length),this[g]|this[g+1]<<8};G.prototype.readUint16BE=G.prototype.readUInt16BE=function(g,I){return g=g>>>0,I||hA(g,2,this.length),this[g]<<8|this[g+1]};G.prototype.readUint32LE=G.prototype.readUInt32LE=function(g,I){return g=g>>>0,I||hA(g,4,this.length),(this[g]|this[g+1]<<8|this[g+2]<<16)+this[g+3]*16777216};G.prototype.readUint32BE=G.prototype.readUInt32BE=function(g,I){return g=g>>>0,I||hA(g,4,this.length),this[g]*16777216+(this[g+1]<<16|this[g+2]<<8|this[g+3])};G.prototype.readBigUInt64LE=BI(function(g){g=g>>>0,HI(g,"offset");let I=this[g],C=this[g+7];(I===void 0||C===void 0)&&wC(g,this.length-8);let B=I+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24,Q=this[++g]+this[++g]*2**8+this[++g]*2**16+C*2**24;return BigInt(B)+(BigInt(Q)<>>0,HI(g,"offset");let I=this[g],C=this[g+7];(I===void 0||C===void 0)&&wC(g,this.length-8);let B=I*2**24+this[++g]*2**16+this[++g]*2**8+this[++g],Q=this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+C;return(BigInt(B)<>>0,I=I>>>0,C||hA(g,I,this.length);let B=this[g],Q=1,E=0;for(;++E=Q&&(B-=Math.pow(2,8*I)),B};G.prototype.readIntBE=function(g,I,C){g=g>>>0,I=I>>>0,C||hA(g,I,this.length);let B=I,Q=1,E=this[g+--B];for(;B>0&&(Q*=256);)E+=this[g+--B]*Q;return Q*=128,E>=Q&&(E-=Math.pow(2,8*I)),E};G.prototype.readInt8=function(g,I){return g=g>>>0,I||hA(g,1,this.length),this[g]&128?(255-this[g]+1)*-1:this[g]};G.prototype.readInt16LE=function(g,I){g=g>>>0,I||hA(g,2,this.length);let C=this[g]|this[g+1]<<8;return C&32768?C|4294901760:C};G.prototype.readInt16BE=function(g,I){g=g>>>0,I||hA(g,2,this.length);let C=this[g+1]|this[g]<<8;return C&32768?C|4294901760:C};G.prototype.readInt32LE=function(g,I){return g=g>>>0,I||hA(g,4,this.length),this[g]|this[g+1]<<8|this[g+2]<<16|this[g+3]<<24};G.prototype.readInt32BE=function(g,I){return g=g>>>0,I||hA(g,4,this.length),this[g]<<24|this[g+1]<<16|this[g+2]<<8|this[g+3]};G.prototype.readBigInt64LE=BI(function(g){g=g>>>0,HI(g,"offset");let I=this[g],C=this[g+7];(I===void 0||C===void 0)&&wC(g,this.length-8);let B=this[g+4]+this[g+5]*2**8+this[g+6]*2**16+(C<<24);return(BigInt(B)<>>0,HI(g,"offset");let I=this[g],C=this[g+7];(I===void 0||C===void 0)&&wC(g,this.length-8);let B=(I<<24)+this[++g]*2**16+this[++g]*2**8+this[++g];return(BigInt(B)<>>0,I||hA(g,4,this.length),mI.read(this,g,!0,23,4)};G.prototype.readFloatBE=function(g,I){return g=g>>>0,I||hA(g,4,this.length),mI.read(this,g,!1,23,4)};G.prototype.readDoubleLE=function(g,I){return g=g>>>0,I||hA(g,8,this.length),mI.read(this,g,!0,52,8)};G.prototype.readDoubleBE=function(g,I){return g=g>>>0,I||hA(g,8,this.length),mI.read(this,g,!1,52,8)};function ZA(A,g,I,C,B,Q){if(!G.isBuffer(A))throw new TypeError('"buffer" argument must be a Buffer instance');if(g>B||gA.length)throw new RangeError("Index out of range")}G.prototype.writeUintLE=G.prototype.writeUIntLE=function(g,I,C,B){if(g=+g,I=I>>>0,C=C>>>0,!B){let e=Math.pow(2,8*C)-1;ZA(this,g,I,C,e,0)}let Q=1,E=0;for(this[I]=g&255;++E>>0,C=C>>>0,!B){let e=Math.pow(2,8*C)-1;ZA(this,g,I,C,e,0)}let Q=C-1,E=1;for(this[I+Q]=g&255;--Q>=0&&(E*=256);)this[I+Q]=g/E&255;return I+C};G.prototype.writeUint8=G.prototype.writeUInt8=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,1,255,0),this[I]=g&255,I+1};G.prototype.writeUint16LE=G.prototype.writeUInt16LE=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,2,65535,0),this[I]=g&255,this[I+1]=g>>>8,I+2};G.prototype.writeUint16BE=G.prototype.writeUInt16BE=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,2,65535,0),this[I]=g>>>8,this[I+1]=g&255,I+2};G.prototype.writeUint32LE=G.prototype.writeUInt32LE=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,4,4294967295,0),this[I+3]=g>>>24,this[I+2]=g>>>16,this[I+1]=g>>>8,this[I]=g&255,I+4};G.prototype.writeUint32BE=G.prototype.writeUInt32BE=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,4,4294967295,0),this[I]=g>>>24,this[I+1]=g>>>16,this[I+2]=g>>>8,this[I+3]=g&255,I+4};function wi(A,g,I,C,B){Fi(g,C,B,A,I,7);let Q=Number(g&BigInt(4294967295));A[I++]=Q,Q=Q>>8,A[I++]=Q,Q=Q>>8,A[I++]=Q,Q=Q>>8,A[I++]=Q;let E=Number(g>>BigInt(32)&BigInt(4294967295));return A[I++]=E,E=E>>8,A[I++]=E,E=E>>8,A[I++]=E,E=E>>8,A[I++]=E,I}function Ni(A,g,I,C,B){Fi(g,C,B,A,I,7);let Q=Number(g&BigInt(4294967295));A[I+7]=Q,Q=Q>>8,A[I+6]=Q,Q=Q>>8,A[I+5]=Q,Q=Q>>8,A[I+4]=Q;let E=Number(g>>BigInt(32)&BigInt(4294967295));return A[I+3]=E,E=E>>8,A[I+2]=E,E=E>>8,A[I+1]=E,E=E>>8,A[I]=E,I+8}G.prototype.writeBigUInt64LE=BI(function(g,I=0){return wi(this,g,I,BigInt(0),BigInt("0xffffffffffffffff"))});G.prototype.writeBigUInt64BE=BI(function(g,I=0){return Ni(this,g,I,BigInt(0),BigInt("0xffffffffffffffff"))});G.prototype.writeIntLE=function(g,I,C,B){if(g=+g,I=I>>>0,!B){let i=Math.pow(2,8*C-1);ZA(this,g,I,C,i-1,-i)}let Q=0,E=1,e=0;for(this[I]=g&255;++Q>0)-e&255;return I+C};G.prototype.writeIntBE=function(g,I,C,B){if(g=+g,I=I>>>0,!B){let i=Math.pow(2,8*C-1);ZA(this,g,I,C,i-1,-i)}let Q=C-1,E=1,e=0;for(this[I+Q]=g&255;--Q>=0&&(E*=256);)g<0&&e===0&&this[I+Q+1]!==0&&(e=1),this[I+Q]=(g/E>>0)-e&255;return I+C};G.prototype.writeInt8=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,1,127,-128),g<0&&(g=255+g+1),this[I]=g&255,I+1};G.prototype.writeInt16LE=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,2,32767,-32768),this[I]=g&255,this[I+1]=g>>>8,I+2};G.prototype.writeInt16BE=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,2,32767,-32768),this[I]=g>>>8,this[I+1]=g&255,I+2};G.prototype.writeInt32LE=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,4,2147483647,-2147483648),this[I]=g&255,this[I+1]=g>>>8,this[I+2]=g>>>16,this[I+3]=g>>>24,I+4};G.prototype.writeInt32BE=function(g,I,C){return g=+g,I=I>>>0,C||ZA(this,g,I,4,2147483647,-2147483648),g<0&&(g=4294967295+g+1),this[I]=g>>>24,this[I+1]=g>>>16,this[I+2]=g>>>8,this[I+3]=g&255,I+4};G.prototype.writeBigInt64LE=BI(function(g,I=0){return wi(this,g,I,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});G.prototype.writeBigInt64BE=BI(function(g,I=0){return Ni(this,g,I,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ui(A,g,I,C,B,Q){if(I+C>A.length)throw new RangeError("Index out of range");if(I<0)throw new RangeError("Index out of range")}function Gi(A,g,I,C,B){return g=+g,I=I>>>0,B||ui(A,g,I,4,34028234663852886e22,-34028234663852886e22),mI.write(A,g,I,C,23,4),I+4}G.prototype.writeFloatLE=function(g,I,C){return Gi(this,g,I,!0,C)};G.prototype.writeFloatBE=function(g,I,C){return Gi(this,g,I,!1,C)};function pi(A,g,I,C,B){return g=+g,I=I>>>0,B||ui(A,g,I,8,17976931348623157e292,-17976931348623157e292),mI.write(A,g,I,C,52,8),I+8}G.prototype.writeDoubleLE=function(g,I,C){return pi(this,g,I,!0,C)};G.prototype.writeDoubleBE=function(g,I,C){return pi(this,g,I,!1,C)};G.prototype.copy=function(g,I,C,B){if(!G.isBuffer(g))throw new TypeError("argument should be a Buffer");if(C||(C=0),!B&&B!==0&&(B=this.length),I>=g.length&&(I=g.length),I||(I=0),B>0&&B=this.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("sourceEnd out of bounds");B>this.length&&(B=this.length),g.length-I>>0,C=C===void 0?this.length:C>>>0,g||(g=0);let Q;if(typeof g=="number")for(Q=I;Q2**32?B=si(String(I)):typeof I=="bigint"&&(B=String(I),(I>BigInt(2)**BigInt(32)||I<-(BigInt(2)**BigInt(32)))&&(B=si(B)),B+="n"),C+=` It must be ${g}. Received ${B}`,C},RangeError);function si(A){let g="",I=A.length,C=A[0]==="-"?1:0;for(;I>=C+4;I-=3)g=`_${A.slice(I-3,I)}${g}`;return`${A.slice(0,I)}${g}`}function sa(A,g,I){HI(g,"offset"),(A[g]===void 0||A[g+I]===void 0)&&wC(g,A.length-(I+1))}function Fi(A,g,I,C,B,Q){if(A>I||A3?g===0||g===BigInt(0)?e=`>= 0${E} and < 2${E} ** ${(Q+1)*8}${E}`:e=`>= -(2${E} ** ${(Q+1)*8-1}${E}) and < 2 ** ${(Q+1)*8-1}${E}`:e=`>= ${g}${E} and <= ${I}${E}`,new LI.ERR_OUT_OF_RANGE("value",e,A)}sa(C,B,Q)}function HI(A,g){if(typeof A!="number")throw new LI.ERR_INVALID_ARG_TYPE(g,"number",A)}function wC(A,g,I){throw Math.floor(A)!==A?(HI(A,I),new LI.ERR_OUT_OF_RANGE(I||"offset","an integer",A)):g<0?new LI.ERR_BUFFER_OUT_OF_BOUNDS:new LI.ERR_OUT_OF_RANGE(I||"offset",`>= ${I?1:0} and <= ${g}`,A)}var Da=/[^+/0-9A-Za-z-_]/g;function aa(A){if(A=A.split("=")[0],A=A.trim().replace(Da,""),A.length<2)return"";for(;A.length%4!==0;)A=A+"=";return A}function KQ(A,g){g=g||1/0;let I,C=A.length,B=null,Q=[];for(let E=0;E55295&&I<57344){if(!B){if(I>56319){(g-=3)>-1&&Q.push(239,191,189);continue}else if(E+1===C){(g-=3)>-1&&Q.push(239,191,189);continue}B=I;continue}if(I<56320){(g-=3)>-1&&Q.push(239,191,189),B=I;continue}I=(B-55296<<10|I-56320)+65536}else B&&(g-=3)>-1&&Q.push(239,191,189);if(B=null,I<128){if((g-=1)<0)break;Q.push(I)}else if(I<2048){if((g-=2)<0)break;Q.push(I>>6|192,I&63|128)}else if(I<65536){if((g-=3)<0)break;Q.push(I>>12|224,I>>6&63|128,I&63|128)}else if(I<1114112){if((g-=4)<0)break;Q.push(I>>18|240,I>>12&63|128,I>>6&63|128,I&63|128)}else throw new Error("Invalid code point")}return Q}function na(A){let g=[];for(let I=0;I>8,B=I%256,Q.push(B),Q.push(C);return Q}function li(A){return MQ.toByteArray(aa(A))}function VC(A,g,I,C){let B;for(B=0;B=g.length||B>=A.length);++B)g[B+I]=A[B];return B}function Kg(A,g){return A instanceof g||A!=null&&A.constructor!=null&&A.constructor.name!=null&&A.constructor.name===g.name}function LQ(A){return A!==A}var ya=(function(){let A="0123456789abcdef",g=new Array(256);for(let I=0;I<16;++I){let C=I*16;for(let B=0;B<16;++B)g[C+B]=A[I]+A[B]}return g})();function BI(A){return typeof BigInt>"u"?wa:A}function wa(){throw new Error("BigInt not supported")}});var hi=V(HQ=>{"use strict";Object.defineProperty(HQ,"__esModule",{value:!0});HQ.default=Na;function Na(A,g,I){let C=A,B=C+g,Q="";for(;C>10,56320|E&1023))}return Q}});var Si=V((FK,Yi)=>{"use strict";function ua(){return{type:"Empty",loc:this.addEmptyLoc()}}function Ga(){return{type:"Metadata",loc:this.addEmptyLoc()}}function pa(){throw new Error("FunctionLike should not appear in program buffer")}function Fa(){return{type:"Program",loc:this.addEmptyLoc(),body:this.deserializeNodeList()}}function la(){return{type:"FunctionExpression",loc:this.addEmptyLoc(),id:this.deserializeNode(),params:this.deserializeNodeList(),body:this.deserializeNode(),typeParameters:this.deserializeNode(),returnType:this.deserializeNode(),predicate:this.deserializeNode(),generator:this.deserializeBoolean(),async:this.deserializeBoolean()}}function ha(){return{type:"ArrowFunctionExpression",loc:this.addEmptyLoc(),id:this.deserializeNode(),params:this.deserializeNodeList(),body:this.deserializeNode(),typeParameters:this.deserializeNode(),returnType:this.deserializeNode(),predicate:this.deserializeNode(),expression:this.deserializeBoolean(),async:this.deserializeBoolean()}}function Ya(){return{type:"FunctionDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),params:this.deserializeNodeList(),body:this.deserializeNode(),typeParameters:this.deserializeNode(),returnType:this.deserializeNode(),predicate:this.deserializeNode(),generator:this.deserializeBoolean(),async:this.deserializeBoolean()}}function Sa(){return{type:"ComponentDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),params:this.deserializeNodeList(),body:this.deserializeNode(),typeParameters:this.deserializeNode(),rendersType:this.deserializeNode()}}function Ma(){return{type:"HookDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),params:this.deserializeNodeList(),body:this.deserializeNode(),typeParameters:this.deserializeNode(),returnType:this.deserializeNode()}}function ka(){throw new Error("FunctionLike should not appear in program buffer")}function Ra(){throw new Error("Statement should not appear in program buffer")}function Ka(){return{type:"MatchStatement",loc:this.addEmptyLoc(),argument:this.deserializeNode(),cases:this.deserializeNodeList()}}function Ua(){throw new Error("LoopStatement should not appear in program buffer")}function Ja(){return{type:"WhileStatement",loc:this.addEmptyLoc(),body:this.deserializeNode(),test:this.deserializeNode()}}function da(){return{type:"DoWhileStatement",loc:this.addEmptyLoc(),body:this.deserializeNode(),test:this.deserializeNode()}}function La(){return{type:"ForInStatement",loc:this.addEmptyLoc(),left:this.deserializeNode(),right:this.deserializeNode(),body:this.deserializeNode()}}function ma(){return{type:"ForOfStatement",loc:this.addEmptyLoc(),left:this.deserializeNode(),right:this.deserializeNode(),body:this.deserializeNode(),await:this.deserializeBoolean()}}function Ha(){return{type:"ForStatement",loc:this.addEmptyLoc(),init:this.deserializeNode(),test:this.deserializeNode(),update:this.deserializeNode(),body:this.deserializeNode()}}function fa(){throw new Error("LoopStatement should not appear in program buffer")}function Ta(){return{type:"DebuggerStatement",loc:this.addEmptyLoc()}}function xa(){return{type:"EmptyStatement",loc:this.addEmptyLoc()}}function qa(){return{type:"BlockStatement",loc:this.addEmptyLoc(),body:this.deserializeNodeList(),implicit:this.deserializeBoolean()}}function ba(){return{type:"StaticBlock",loc:this.addEmptyLoc(),body:this.deserializeNodeList()}}function Pa(){return{type:"BreakStatement",loc:this.addEmptyLoc(),label:this.deserializeNode()}}function Oa(){return{type:"ContinueStatement",loc:this.addEmptyLoc(),label:this.deserializeNode()}}function za(){return{type:"ThrowStatement",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function ja(){return{type:"ReturnStatement",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function Za(){return{type:"WithStatement",loc:this.addEmptyLoc(),object:this.deserializeNode(),body:this.deserializeNode()}}function Wa(){return{type:"SwitchStatement",loc:this.addEmptyLoc(),discriminant:this.deserializeNode(),cases:this.deserializeNodeList()}}function Va(){return{type:"LabeledStatement",loc:this.addEmptyLoc(),label:this.deserializeNode(),body:this.deserializeNode()}}function Xa(){return{type:"ExpressionStatement",loc:this.addEmptyLoc(),expression:this.deserializeNode(),directive:this.deserializeString()}}function va(){return{type:"TryStatement",loc:this.addEmptyLoc(),block:this.deserializeNode(),handler:this.deserializeNode(),finalizer:this.deserializeNode()}}function _a(){return{type:"IfStatement",loc:this.addEmptyLoc(),test:this.deserializeNode(),consequent:this.deserializeNode(),alternate:this.deserializeNode()}}function $a(){throw new Error("Statement should not appear in program buffer")}function An(){return{type:"NullLiteral",loc:this.addEmptyLoc()}}function gn(){return{type:"BooleanLiteral",loc:this.addEmptyLoc(),value:this.deserializeBoolean()}}function In(){return{type:"StringLiteral",loc:this.addEmptyLoc(),value:this.deserializeString()}}function Cn(){return{type:"NumericLiteral",loc:this.addEmptyLoc(),value:this.deserializeNumber()}}function Bn(){return{type:"RegExpLiteral",loc:this.addEmptyLoc(),pattern:this.deserializeString(),flags:this.deserializeString()}}function Qn(){return{type:"BigIntLiteral",loc:this.addEmptyLoc(),bigint:this.deserializeString()}}function En(){return{type:"ThisExpression",loc:this.addEmptyLoc()}}function en(){return{type:"Super",loc:this.addEmptyLoc()}}function on(){return{type:"SequenceExpression",loc:this.addEmptyLoc(),expressions:this.deserializeNodeList()}}function tn(){return{type:"ObjectExpression",loc:this.addEmptyLoc(),properties:this.deserializeNodeList()}}function rn(){return{type:"ArrayExpression",loc:this.addEmptyLoc(),elements:this.deserializeNodeList(),trailingComma:this.deserializeBoolean()}}function sn(){return{type:"SpreadElement",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function Dn(){return{type:"NewExpression",loc:this.addEmptyLoc(),callee:this.deserializeNode(),typeArguments:this.deserializeNode(),arguments:this.deserializeNodeList()}}function an(){return{type:"YieldExpression",loc:this.addEmptyLoc(),argument:this.deserializeNode(),delegate:this.deserializeBoolean()}}function nn(){return{type:"AwaitExpression",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function cn(){return{type:"ImportExpression",loc:this.addEmptyLoc(),source:this.deserializeNode(),options:this.deserializeNode()}}function yn(){throw new Error("CallExpressionLike should not appear in program buffer")}function wn(){return{type:"CallExpression",loc:this.addEmptyLoc(),callee:this.deserializeNode(),typeArguments:this.deserializeNode(),arguments:this.deserializeNodeList()}}function Nn(){return{type:"OptionalCallExpression",loc:this.addEmptyLoc(),callee:this.deserializeNode(),typeArguments:this.deserializeNode(),arguments:this.deserializeNodeList(),optional:this.deserializeBoolean()}}function un(){throw new Error("CallExpressionLike should not appear in program buffer")}function Gn(){return{type:"AssignmentExpression",loc:this.addEmptyLoc(),operator:this.deserializeString(),left:this.deserializeNode(),right:this.deserializeNode()}}function pn(){return{type:"UnaryExpression",loc:this.addEmptyLoc(),operator:this.deserializeString(),argument:this.deserializeNode(),prefix:this.deserializeBoolean()}}function Fn(){return{type:"UpdateExpression",loc:this.addEmptyLoc(),operator:this.deserializeString(),argument:this.deserializeNode(),prefix:this.deserializeBoolean()}}function ln(){throw new Error("MemberExpressionLike should not appear in program buffer")}function hn(){return{type:"MemberExpression",loc:this.addEmptyLoc(),object:this.deserializeNode(),property:this.deserializeNode(),computed:this.deserializeBoolean()}}function Yn(){return{type:"OptionalMemberExpression",loc:this.addEmptyLoc(),object:this.deserializeNode(),property:this.deserializeNode(),computed:this.deserializeBoolean(),optional:this.deserializeBoolean()}}function Sn(){throw new Error("MemberExpressionLike should not appear in program buffer")}function Mn(){return{type:"LogicalExpression",loc:this.addEmptyLoc(),left:this.deserializeNode(),right:this.deserializeNode(),operator:this.deserializeString()}}function kn(){return{type:"ConditionalExpression",loc:this.addEmptyLoc(),test:this.deserializeNode(),alternate:this.deserializeNode(),consequent:this.deserializeNode()}}function Rn(){return{type:"BinaryExpression",loc:this.addEmptyLoc(),left:this.deserializeNode(),right:this.deserializeNode(),operator:this.deserializeString()}}function Kn(){return{type:"Directive",loc:this.addEmptyLoc(),value:this.deserializeNode()}}function Un(){return{type:"DirectiveLiteral",loc:this.addEmptyLoc(),value:this.deserializeString()}}function Jn(){return{type:"Identifier",loc:this.addEmptyLoc(),name:this.deserializeString(),typeAnnotation:this.deserializeNode(),optional:this.deserializeBoolean()}}function dn(){return{type:"PrivateName",loc:this.addEmptyLoc(),id:this.deserializeNode()}}function Ln(){return{type:"MetaProperty",loc:this.addEmptyLoc(),meta:this.deserializeNode(),property:this.deserializeNode()}}function mn(){return{type:"SwitchCase",loc:this.addEmptyLoc(),test:this.deserializeNode(),consequent:this.deserializeNodeList()}}function Hn(){return{type:"CatchClause",loc:this.addEmptyLoc(),param:this.deserializeNode(),body:this.deserializeNode()}}function fn(){return{type:"VariableDeclarator",loc:this.addEmptyLoc(),init:this.deserializeNode(),id:this.deserializeNode()}}function Tn(){return{type:"VariableDeclaration",loc:this.addEmptyLoc(),kind:this.deserializeString(),declarations:this.deserializeNodeList()}}function xn(){return{type:"TemplateLiteral",loc:this.addEmptyLoc(),quasis:this.deserializeNodeList(),expressions:this.deserializeNodeList()}}function qn(){return{type:"TaggedTemplateExpression",loc:this.addEmptyLoc(),tag:this.deserializeNode(),quasi:this.deserializeNode()}}function bn(){return{type:"TemplateElement",loc:this.addEmptyLoc(),tail:this.deserializeBoolean(),cooked:this.deserializeString(),raw:this.deserializeString()}}function Pn(){return{type:"Property",loc:this.addEmptyLoc(),key:this.deserializeNode(),value:this.deserializeNode(),kind:this.deserializeString(),computed:this.deserializeBoolean(),method:this.deserializeBoolean(),shorthand:this.deserializeBoolean()}}function On(){throw new Error("ClassLike should not appear in program buffer")}function zn(){return{type:"ClassDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),superClass:this.deserializeNode(),superTypeParameters:this.deserializeNode(),implements:this.deserializeNodeList(),decorators:this.deserializeNodeList(),body:this.deserializeNode()}}function jn(){return{type:"ClassExpression",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),superClass:this.deserializeNode(),superTypeParameters:this.deserializeNode(),implements:this.deserializeNodeList(),decorators:this.deserializeNodeList(),body:this.deserializeNode()}}function Zn(){throw new Error("ClassLike should not appear in program buffer")}function Wn(){return{type:"ClassBody",loc:this.addEmptyLoc(),body:this.deserializeNodeList()}}function Vn(){return{type:"ClassProperty",loc:this.addEmptyLoc(),key:this.deserializeNode(),value:this.deserializeNode(),computed:this.deserializeBoolean(),static:this.deserializeBoolean(),declare:this.deserializeBoolean(),optional:this.deserializeBoolean(),variance:this.deserializeNode(),typeAnnotation:this.deserializeNode(),tsModifiers:this.deserializeNode()}}function Xn(){return{type:"ClassPrivateProperty",loc:this.addEmptyLoc(),key:this.deserializeNode(),value:this.deserializeNode(),static:this.deserializeBoolean(),declare:this.deserializeBoolean(),optional:this.deserializeBoolean(),variance:this.deserializeNode(),typeAnnotation:this.deserializeNode(),tsModifiers:this.deserializeNode()}}function vn(){return{type:"MethodDefinition",loc:this.addEmptyLoc(),key:this.deserializeNode(),value:this.deserializeNode(),kind:this.deserializeString(),computed:this.deserializeBoolean(),static:this.deserializeBoolean()}}function _n(){return{type:"ImportDeclaration",loc:this.addEmptyLoc(),specifiers:this.deserializeNodeList(),source:this.deserializeNode(),assertions:this.deserializeNodeList(),importKind:this.deserializeString()}}function $n(){return{type:"ImportSpecifier",loc:this.addEmptyLoc(),imported:this.deserializeNode(),local:this.deserializeNode(),importKind:this.deserializeString()}}function Ac(){return{type:"ImportDefaultSpecifier",loc:this.addEmptyLoc(),local:this.deserializeNode()}}function gc(){return{type:"ImportNamespaceSpecifier",loc:this.addEmptyLoc(),local:this.deserializeNode()}}function Ic(){return{type:"ImportAttribute",loc:this.addEmptyLoc(),key:this.deserializeNode(),value:this.deserializeNode()}}function Cc(){return{type:"ExportNamedDeclaration",loc:this.addEmptyLoc(),declaration:this.deserializeNode(),specifiers:this.deserializeNodeList(),source:this.deserializeNode(),exportKind:this.deserializeString()}}function Bc(){return{type:"ExportSpecifier",loc:this.addEmptyLoc(),exported:this.deserializeNode(),local:this.deserializeNode()}}function Qc(){return{type:"ExportNamespaceSpecifier",loc:this.addEmptyLoc(),exported:this.deserializeNode()}}function Ec(){return{type:"ExportDefaultDeclaration",loc:this.addEmptyLoc(),declaration:this.deserializeNode()}}function ec(){return{type:"ExportAllDeclaration",loc:this.addEmptyLoc(),source:this.deserializeNode(),exportKind:this.deserializeString()}}function ic(){throw new Error("Pattern should not appear in program buffer")}function oc(){return{type:"ObjectPattern",loc:this.addEmptyLoc(),properties:this.deserializeNodeList(),typeAnnotation:this.deserializeNode()}}function tc(){return{type:"ArrayPattern",loc:this.addEmptyLoc(),elements:this.deserializeNodeList(),typeAnnotation:this.deserializeNode()}}function rc(){return{type:"RestElement",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function sc(){return{type:"AssignmentPattern",loc:this.addEmptyLoc(),left:this.deserializeNode(),right:this.deserializeNode()}}function Dc(){throw new Error("Pattern should not appear in program buffer")}function ac(){return{type:"MatchStatementCase",loc:this.addEmptyLoc(),pattern:this.deserializeNode(),body:this.deserializeNode(),guard:this.deserializeNode()}}function nc(){return{type:"MatchExpression",loc:this.addEmptyLoc(),argument:this.deserializeNode(),cases:this.deserializeNodeList()}}function cc(){return{type:"MatchExpressionCase",loc:this.addEmptyLoc(),pattern:this.deserializeNode(),body:this.deserializeNode(),guard:this.deserializeNode()}}function yc(){throw new Error("MatchPattern should not appear in program buffer")}function wc(){return{type:"MatchWildcardPattern",loc:this.addEmptyLoc()}}function Nc(){return{type:"MatchLiteralPattern",loc:this.addEmptyLoc(),literal:this.deserializeNode()}}function uc(){return{type:"MatchUnaryPattern",loc:this.addEmptyLoc(),argument:this.deserializeNode(),operator:this.deserializeString()}}function Gc(){return{type:"MatchIdentifierPattern",loc:this.addEmptyLoc(),id:this.deserializeNode()}}function pc(){return{type:"MatchBindingPattern",loc:this.addEmptyLoc(),id:this.deserializeNode(),kind:this.deserializeString()}}function Fc(){return{type:"MatchObjectPattern",loc:this.addEmptyLoc(),properties:this.deserializeNodeList(),rest:this.deserializeNode()}}function lc(){return{type:"MatchArrayPattern",loc:this.addEmptyLoc(),elements:this.deserializeNodeList(),rest:this.deserializeNode()}}function hc(){return{type:"MatchOrPattern",loc:this.addEmptyLoc(),patterns:this.deserializeNodeList()}}function Yc(){return{type:"MatchAsPattern",loc:this.addEmptyLoc(),pattern:this.deserializeNode(),target:this.deserializeNode()}}function Sc(){return{type:"MatchMemberPattern",loc:this.addEmptyLoc(),base:this.deserializeNode(),property:this.deserializeNode()}}function Mc(){throw new Error("MatchPattern should not appear in program buffer")}function kc(){return{type:"MatchObjectPatternProperty",loc:this.addEmptyLoc(),key:this.deserializeNode(),pattern:this.deserializeNode(),shorthand:this.deserializeBoolean()}}function Rc(){return{type:"MatchRestPattern",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function Kc(){throw new Error("JSX should not appear in program buffer")}function Uc(){return{type:"JSXIdentifier",loc:this.addEmptyLoc(),name:this.deserializeString()}}function Jc(){return{type:"JSXMemberExpression",loc:this.addEmptyLoc(),object:this.deserializeNode(),property:this.deserializeNode()}}function dc(){return{type:"JSXNamespacedName",loc:this.addEmptyLoc(),namespace:this.deserializeNode(),name:this.deserializeNode()}}function Lc(){return{type:"JSXEmptyExpression",loc:this.addEmptyLoc()}}function mc(){return{type:"JSXExpressionContainer",loc:this.addEmptyLoc(),expression:this.deserializeNode()}}function Hc(){return{type:"JSXSpreadChild",loc:this.addEmptyLoc(),expression:this.deserializeNode()}}function fc(){return{type:"JSXOpeningElement",loc:this.addEmptyLoc(),name:this.deserializeNode(),attributes:this.deserializeNodeList(),selfClosing:this.deserializeBoolean(),typeArguments:this.deserializeNode()}}function Tc(){return{type:"JSXClosingElement",loc:this.addEmptyLoc(),name:this.deserializeNode()}}function xc(){return{type:"JSXAttribute",loc:this.addEmptyLoc(),name:this.deserializeNode(),value:this.deserializeNode()}}function qc(){return{type:"JSXSpreadAttribute",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function bc(){return{type:"JSXStringLiteral",loc:this.addEmptyLoc(),value:this.deserializeString(),raw:this.deserializeString()}}function Pc(){return{type:"JSXText",loc:this.addEmptyLoc(),value:this.deserializeString(),raw:this.deserializeString()}}function Oc(){return{type:"JSXElement",loc:this.addEmptyLoc(),openingElement:this.deserializeNode(),children:this.deserializeNodeList(),closingElement:this.deserializeNode()}}function zc(){return{type:"JSXFragment",loc:this.addEmptyLoc(),openingFragment:this.deserializeNode(),children:this.deserializeNodeList(),closingFragment:this.deserializeNode()}}function jc(){return{type:"JSXOpeningFragment",loc:this.addEmptyLoc()}}function Zc(){return{type:"JSXClosingFragment",loc:this.addEmptyLoc()}}function Wc(){throw new Error("JSX should not appear in program buffer")}function Vc(){throw new Error("Flow should not appear in program buffer")}function Xc(){return{type:"ExistsTypeAnnotation",loc:this.addEmptyLoc()}}function vc(){return{type:"EmptyTypeAnnotation",loc:this.addEmptyLoc()}}function _c(){return{type:"StringTypeAnnotation",loc:this.addEmptyLoc()}}function $c(){return{type:"NumberTypeAnnotation",loc:this.addEmptyLoc()}}function Ay(){return{type:"StringLiteralTypeAnnotation",loc:this.addEmptyLoc(),value:this.deserializeString(),raw:this.deserializeString()}}function gy(){return{type:"NumberLiteralTypeAnnotation",loc:this.addEmptyLoc(),value:this.deserializeNumber(),raw:this.deserializeString()}}function Iy(){return{type:"BigIntLiteralTypeAnnotation",loc:this.addEmptyLoc(),raw:this.deserializeString()}}function Cy(){return{type:"BooleanTypeAnnotation",loc:this.addEmptyLoc()}}function By(){return{type:"BooleanLiteralTypeAnnotation",loc:this.addEmptyLoc(),value:this.deserializeBoolean(),raw:this.deserializeString()}}function Qy(){return{type:"NullLiteralTypeAnnotation",loc:this.addEmptyLoc()}}function Ey(){return{type:"SymbolTypeAnnotation",loc:this.addEmptyLoc()}}function ey(){return{type:"AnyTypeAnnotation",loc:this.addEmptyLoc()}}function iy(){return{type:"MixedTypeAnnotation",loc:this.addEmptyLoc()}}function oy(){return{type:"BigIntTypeAnnotation",loc:this.addEmptyLoc()}}function ty(){return{type:"VoidTypeAnnotation",loc:this.addEmptyLoc()}}function ry(){return{type:"FunctionTypeAnnotation",loc:this.addEmptyLoc(),params:this.deserializeNodeList(),this:this.deserializeNode(),returnType:this.deserializeNode(),rest:this.deserializeNode(),typeParameters:this.deserializeNode()}}function sy(){return{type:"HookTypeAnnotation",loc:this.addEmptyLoc(),params:this.deserializeNodeList(),returnType:this.deserializeNode(),rest:this.deserializeNode(),typeParameters:this.deserializeNode()}}function Dy(){return{type:"FunctionTypeParam",loc:this.addEmptyLoc(),name:this.deserializeNode(),typeAnnotation:this.deserializeNode(),optional:this.deserializeBoolean()}}function ay(){return{type:"ComponentTypeAnnotation",loc:this.addEmptyLoc(),params:this.deserializeNodeList(),rest:this.deserializeNode(),typeParameters:this.deserializeNode(),rendersType:this.deserializeNode()}}function ny(){return{type:"ComponentTypeParameter",loc:this.addEmptyLoc(),name:this.deserializeNode(),typeAnnotation:this.deserializeNode(),optional:this.deserializeBoolean()}}function cy(){return{type:"NullableTypeAnnotation",loc:this.addEmptyLoc(),typeAnnotation:this.deserializeNode()}}function yy(){return{type:"QualifiedTypeIdentifier",loc:this.addEmptyLoc(),qualification:this.deserializeNode(),id:this.deserializeNode()}}function wy(){return{type:"TypeofTypeAnnotation",loc:this.addEmptyLoc(),argument:this.deserializeNode(),typeArguments:this.deserializeNode()}}function Ny(){return{type:"KeyofTypeAnnotation",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function uy(){return{type:"TypeOperator",loc:this.addEmptyLoc(),operator:this.deserializeString(),typeAnnotation:this.deserializeNode()}}function Gy(){return{type:"QualifiedTypeofIdentifier",loc:this.addEmptyLoc(),qualification:this.deserializeNode(),id:this.deserializeNode()}}function py(){return{type:"TupleTypeAnnotation",loc:this.addEmptyLoc(),types:this.deserializeNodeList(),inexact:this.deserializeBoolean()}}function Fy(){return{type:"TupleTypeSpreadElement",loc:this.addEmptyLoc(),label:this.deserializeNode(),typeAnnotation:this.deserializeNode()}}function ly(){return{type:"TupleTypeLabeledElement",loc:this.addEmptyLoc(),label:this.deserializeNode(),elementType:this.deserializeNode(),optional:this.deserializeBoolean(),variance:this.deserializeNode()}}function hy(){return{type:"ArrayTypeAnnotation",loc:this.addEmptyLoc(),elementType:this.deserializeNode()}}function Yy(){return{type:"InferTypeAnnotation",loc:this.addEmptyLoc(),typeParameter:this.deserializeNode()}}function Sy(){return{type:"UnionTypeAnnotation",loc:this.addEmptyLoc(),types:this.deserializeNodeList()}}function My(){return{type:"IntersectionTypeAnnotation",loc:this.addEmptyLoc(),types:this.deserializeNodeList()}}function ky(){return{type:"GenericTypeAnnotation",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode()}}function Ry(){return{type:"IndexedAccessType",loc:this.addEmptyLoc(),objectType:this.deserializeNode(),indexType:this.deserializeNode()}}function Ky(){return{type:"OptionalIndexedAccessType",loc:this.addEmptyLoc(),objectType:this.deserializeNode(),indexType:this.deserializeNode(),optional:this.deserializeBoolean()}}function Uy(){return{type:"ConditionalTypeAnnotation",loc:this.addEmptyLoc(),checkType:this.deserializeNode(),extendsType:this.deserializeNode(),trueType:this.deserializeNode(),falseType:this.deserializeNode()}}function Jy(){return{type:"TypePredicate",loc:this.addEmptyLoc(),parameterName:this.deserializeNode(),typeAnnotation:this.deserializeNode(),kind:this.deserializeString()}}function dy(){return{type:"InterfaceTypeAnnotation",loc:this.addEmptyLoc(),extends:this.deserializeNodeList(),body:this.deserializeNode()}}function Ly(){return{type:"TypeAlias",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),right:this.deserializeNode()}}function my(){return{type:"OpaqueType",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),impltype:this.deserializeNode(),lowerBound:this.deserializeNode(),upperBound:this.deserializeNode(),supertype:this.deserializeNode()}}function Hy(){return{type:"InterfaceDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),extends:this.deserializeNodeList(),body:this.deserializeNode()}}function fy(){return{type:"DeclareTypeAlias",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),right:this.deserializeNode()}}function Ty(){return{type:"DeclareOpaqueType",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),impltype:this.deserializeNode(),lowerBound:this.deserializeNode(),upperBound:this.deserializeNode(),supertype:this.deserializeNode()}}function xy(){return{type:"DeclareInterface",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),extends:this.deserializeNodeList(),body:this.deserializeNode()}}function qy(){return{type:"DeclareClass",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),extends:this.deserializeNodeList(),implements:this.deserializeNodeList(),mixins:this.deserializeNodeList(),body:this.deserializeNode()}}function by(){return{type:"DeclareFunction",loc:this.addEmptyLoc(),id:this.deserializeNode(),predicate:this.deserializeNode()}}function Py(){return{type:"DeclareHook",loc:this.addEmptyLoc(),id:this.deserializeNode()}}function Oy(){return{type:"DeclareComponent",loc:this.addEmptyLoc(),id:this.deserializeNode(),params:this.deserializeNodeList(),rest:this.deserializeNode(),typeParameters:this.deserializeNode(),rendersType:this.deserializeNode()}}function zy(){return{type:"DeclareVariable",loc:this.addEmptyLoc(),id:this.deserializeNode(),kind:this.deserializeString()}}function jy(){return{type:"DeclareEnum",loc:this.addEmptyLoc(),id:this.deserializeNode(),body:this.deserializeNode()}}function Zy(){return{type:"DeclareExportDeclaration",loc:this.addEmptyLoc(),declaration:this.deserializeNode(),specifiers:this.deserializeNodeList(),source:this.deserializeNode(),default:this.deserializeBoolean()}}function Wy(){return{type:"DeclareExportAllDeclaration",loc:this.addEmptyLoc(),source:this.deserializeNode()}}function Vy(){return{type:"DeclareModule",loc:this.addEmptyLoc(),id:this.deserializeNode(),body:this.deserializeNode()}}function Xy(){return{type:"DeclareNamespace",loc:this.addEmptyLoc(),id:this.deserializeNode(),body:this.deserializeNode()}}function vy(){return{type:"DeclareModuleExports",loc:this.addEmptyLoc(),typeAnnotation:this.deserializeNode()}}function _y(){return{type:"InterfaceExtends",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode()}}function $y(){return{type:"ClassImplements",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode()}}function Aw(){return{type:"TypeAnnotation",loc:this.addEmptyLoc(),typeAnnotation:this.deserializeNode()}}function gw(){return{type:"ObjectTypeAnnotation",loc:this.addEmptyLoc(),properties:this.deserializeNodeList(),indexers:this.deserializeNodeList(),callProperties:this.deserializeNodeList(),internalSlots:this.deserializeNodeList(),inexact:this.deserializeBoolean(),exact:this.deserializeBoolean()}}function Iw(){return{type:"ObjectTypeProperty",loc:this.addEmptyLoc(),key:this.deserializeNode(),value:this.deserializeNode(),method:this.deserializeBoolean(),optional:this.deserializeBoolean(),static:this.deserializeBoolean(),proto:this.deserializeBoolean(),variance:this.deserializeNode(),kind:this.deserializeString()}}function Cw(){return{type:"ObjectTypeSpreadProperty",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}function Bw(){return{type:"ObjectTypeInternalSlot",loc:this.addEmptyLoc(),id:this.deserializeNode(),value:this.deserializeNode(),optional:this.deserializeBoolean(),static:this.deserializeBoolean(),method:this.deserializeBoolean()}}function Qw(){return{type:"ObjectTypeCallProperty",loc:this.addEmptyLoc(),value:this.deserializeNode(),static:this.deserializeBoolean()}}function Ew(){return{type:"ObjectTypeIndexer",loc:this.addEmptyLoc(),id:this.deserializeNode(),key:this.deserializeNode(),value:this.deserializeNode(),static:this.deserializeBoolean(),variance:this.deserializeNode()}}function ew(){return{type:"ObjectTypeMappedTypeProperty",loc:this.addEmptyLoc(),keyTparam:this.deserializeNode(),propType:this.deserializeNode(),sourceType:this.deserializeNode(),variance:this.deserializeNode(),optional:this.deserializeString()}}function iw(){return{type:"Variance",loc:this.addEmptyLoc(),kind:this.deserializeString()}}function ow(){return{type:"TypeParameterDeclaration",loc:this.addEmptyLoc(),params:this.deserializeNodeList()}}function tw(){return{type:"TypeParameter",loc:this.addEmptyLoc(),name:this.deserializeString(),const:this.deserializeBoolean(),bound:this.deserializeNode(),variance:this.deserializeNode(),default:this.deserializeNode(),usesExtendsBound:this.deserializeBoolean()}}function rw(){return{type:"TypeParameterInstantiation",loc:this.addEmptyLoc(),params:this.deserializeNodeList()}}function sw(){return{type:"TypeCastExpression",loc:this.addEmptyLoc(),expression:this.deserializeNode(),typeAnnotation:this.deserializeNode()}}function Dw(){return{type:"AsExpression",loc:this.addEmptyLoc(),expression:this.deserializeNode(),typeAnnotation:this.deserializeNode()}}function aw(){return{type:"AsConstExpression",loc:this.addEmptyLoc(),expression:this.deserializeNode()}}function nw(){return{type:"InferredPredicate",loc:this.addEmptyLoc()}}function cw(){return{type:"DeclaredPredicate",loc:this.addEmptyLoc(),value:this.deserializeNode()}}function yw(){return{type:"EnumDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),body:this.deserializeNode()}}function ww(){return{type:"EnumStringBody",loc:this.addEmptyLoc(),members:this.deserializeNodeList(),explicitType:this.deserializeBoolean(),hasUnknownMembers:this.deserializeBoolean()}}function Nw(){return{type:"EnumNumberBody",loc:this.addEmptyLoc(),members:this.deserializeNodeList(),explicitType:this.deserializeBoolean(),hasUnknownMembers:this.deserializeBoolean()}}function uw(){return{type:"EnumBigIntBody",loc:this.addEmptyLoc(),members:this.deserializeNodeList(),explicitType:this.deserializeBoolean(),hasUnknownMembers:this.deserializeBoolean()}}function Gw(){return{type:"EnumBooleanBody",loc:this.addEmptyLoc(),members:this.deserializeNodeList(),explicitType:this.deserializeBoolean(),hasUnknownMembers:this.deserializeBoolean()}}function pw(){return{type:"EnumSymbolBody",loc:this.addEmptyLoc(),members:this.deserializeNodeList(),hasUnknownMembers:this.deserializeBoolean()}}function Fw(){return{type:"EnumDefaultedMember",loc:this.addEmptyLoc(),id:this.deserializeNode()}}function lw(){return{type:"EnumStringMember",loc:this.addEmptyLoc(),id:this.deserializeNode(),init:this.deserializeNode()}}function hw(){return{type:"EnumNumberMember",loc:this.addEmptyLoc(),id:this.deserializeNode(),init:this.deserializeNode()}}function Yw(){return{type:"EnumBigIntMember",loc:this.addEmptyLoc(),id:this.deserializeNode(),init:this.deserializeNode()}}function Sw(){return{type:"EnumBooleanMember",loc:this.addEmptyLoc(),id:this.deserializeNode(),init:this.deserializeNode()}}function Mw(){return{type:"ComponentParameter",loc:this.addEmptyLoc(),name:this.deserializeNode(),local:this.deserializeNode(),shorthand:this.deserializeBoolean()}}function kw(){throw new Error("Flow should not appear in program buffer")}function Rw(){throw new Error("TS should not appear in program buffer")}function Kw(){return{type:"TSTypeAnnotation",loc:this.addEmptyLoc(),typeAnnotation:this.deserializeNode()}}function Uw(){return{type:"TSAnyKeyword",loc:this.addEmptyLoc()}}function Jw(){return{type:"TSNumberKeyword",loc:this.addEmptyLoc()}}function dw(){return{type:"TSBooleanKeyword",loc:this.addEmptyLoc()}}function Lw(){return{type:"TSStringKeyword",loc:this.addEmptyLoc()}}function mw(){return{type:"TSSymbolKeyword",loc:this.addEmptyLoc()}}function Hw(){return{type:"TSVoidKeyword",loc:this.addEmptyLoc()}}function fw(){return{type:"TSUndefinedKeyword",loc:this.addEmptyLoc()}}function Tw(){return{type:"TSUnknownKeyword",loc:this.addEmptyLoc()}}function xw(){return{type:"TSNeverKeyword",loc:this.addEmptyLoc()}}function qw(){return{type:"TSBigIntKeyword",loc:this.addEmptyLoc()}}function bw(){return{type:"TSThisType",loc:this.addEmptyLoc()}}function Pw(){return{type:"TSLiteralType",loc:this.addEmptyLoc(),literal:this.deserializeNode()}}function Ow(){return{type:"TSIndexedAccessType",loc:this.addEmptyLoc(),objectType:this.deserializeNode(),indexType:this.deserializeNode()}}function zw(){return{type:"TSArrayType",loc:this.addEmptyLoc(),elementType:this.deserializeNode()}}function jw(){return{type:"TSTypeReference",loc:this.addEmptyLoc(),typeName:this.deserializeNode(),typeParameters:this.deserializeNode()}}function Zw(){return{type:"TSQualifiedName",loc:this.addEmptyLoc(),left:this.deserializeNode(),right:this.deserializeNode()}}function Ww(){return{type:"TSFunctionType",loc:this.addEmptyLoc(),params:this.deserializeNodeList(),returnType:this.deserializeNode(),typeParameters:this.deserializeNode()}}function Vw(){return{type:"TSConstructorType",loc:this.addEmptyLoc(),params:this.deserializeNodeList(),returnType:this.deserializeNode(),typeParameters:this.deserializeNode()}}function Xw(){return{type:"TSTypePredicate",loc:this.addEmptyLoc(),parameterName:this.deserializeNode(),typeAnnotation:this.deserializeNode()}}function vw(){return{type:"TSTupleType",loc:this.addEmptyLoc(),elementTypes:this.deserializeNodeList()}}function _w(){return{type:"TSTypeAssertion",loc:this.addEmptyLoc(),typeAnnotation:this.deserializeNode(),expression:this.deserializeNode()}}function $w(){return{type:"TSAsExpression",loc:this.addEmptyLoc(),expression:this.deserializeNode(),typeAnnotation:this.deserializeNode()}}function AN(){return{type:"TSParameterProperty",loc:this.addEmptyLoc(),parameter:this.deserializeNode(),accessibility:this.deserializeString(),readonly:this.deserializeBoolean(),static:this.deserializeBoolean(),export:this.deserializeBoolean()}}function gN(){return{type:"TSTypeAliasDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),typeParameters:this.deserializeNode(),typeAnnotation:this.deserializeNode()}}function IN(){return{type:"TSInterfaceDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),body:this.deserializeNode(),extends:this.deserializeNodeList(),typeParameters:this.deserializeNode()}}function CN(){return{type:"TSInterfaceHeritage",loc:this.addEmptyLoc(),expression:this.deserializeNode(),typeParameters:this.deserializeNode()}}function BN(){return{type:"TSInterfaceBody",loc:this.addEmptyLoc(),body:this.deserializeNodeList()}}function QN(){return{type:"TSEnumDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),members:this.deserializeNodeList()}}function EN(){return{type:"TSEnumMember",loc:this.addEmptyLoc(),id:this.deserializeNode(),initializer:this.deserializeNode()}}function eN(){return{type:"TSModuleDeclaration",loc:this.addEmptyLoc(),id:this.deserializeNode(),body:this.deserializeNode()}}function iN(){return{type:"TSModuleBlock",loc:this.addEmptyLoc(),body:this.deserializeNodeList()}}function oN(){return{type:"TSModuleMember",loc:this.addEmptyLoc(),id:this.deserializeNode(),initializer:this.deserializeNode()}}function tN(){return{type:"TSTypeParameterDeclaration",loc:this.addEmptyLoc(),params:this.deserializeNodeList()}}function rN(){return{type:"TSTypeParameter",loc:this.addEmptyLoc(),name:this.deserializeNode(),constraint:this.deserializeNode(),default:this.deserializeNode()}}function sN(){return{type:"TSTypeParameterInstantiation",loc:this.addEmptyLoc(),params:this.deserializeNodeList()}}function DN(){return{type:"TSUnionType",loc:this.addEmptyLoc(),types:this.deserializeNodeList()}}function aN(){return{type:"TSIntersectionType",loc:this.addEmptyLoc(),types:this.deserializeNodeList()}}function nN(){return{type:"TSTypeQuery",loc:this.addEmptyLoc(),exprName:this.deserializeNode()}}function cN(){return{type:"TSConditionalType",loc:this.addEmptyLoc(),checkType:this.deserializeNode(),extendsType:this.deserializeNode(),trueType:this.deserializeNode(),falseType:this.deserializeNode()}}function yN(){return{type:"TSTypeLiteral",loc:this.addEmptyLoc(),members:this.deserializeNodeList()}}function wN(){return{type:"TSPropertySignature",loc:this.addEmptyLoc(),key:this.deserializeNode(),typeAnnotation:this.deserializeNode(),initializer:this.deserializeNode(),optional:this.deserializeBoolean(),computed:this.deserializeBoolean(),readonly:this.deserializeBoolean(),static:this.deserializeBoolean(),export:this.deserializeBoolean()}}function NN(){return{type:"TSMethodSignature",loc:this.addEmptyLoc(),key:this.deserializeNode(),params:this.deserializeNodeList(),returnType:this.deserializeNode(),computed:this.deserializeBoolean()}}function uN(){return{type:"TSIndexSignature",loc:this.addEmptyLoc(),parameters:this.deserializeNodeList(),typeAnnotation:this.deserializeNode()}}function GN(){return{type:"TSCallSignatureDeclaration",loc:this.addEmptyLoc(),params:this.deserializeNodeList(),returnType:this.deserializeNode()}}function pN(){return{type:"TSModifiers",loc:this.addEmptyLoc(),accessibility:this.deserializeString(),readonly:this.deserializeBoolean()}}function FN(){throw new Error("TS should not appear in program buffer")}function lN(){throw new Error("Cover should not appear in program buffer")}function hN(){return{type:"CoverEmptyArgs",loc:this.addEmptyLoc()}}function YN(){return{type:"CoverTrailingComma",loc:this.addEmptyLoc()}}function SN(){return{type:"CoverInitializer",loc:this.addEmptyLoc(),init:this.deserializeNode()}}function MN(){return{type:"CoverRestElement",loc:this.addEmptyLoc(),rest:this.deserializeNode()}}function kN(){return{type:"CoverTypedIdentifier",loc:this.addEmptyLoc(),left:this.deserializeNode(),right:this.deserializeNode(),optional:this.deserializeBoolean()}}function RN(){throw new Error("Cover should not appear in program buffer")}function KN(){return{type:"SHBuiltin",loc:this.addEmptyLoc()}}function UN(){return{type:"ImplicitCheckedCast",loc:this.addEmptyLoc(),argument:this.deserializeNode()}}Yi.exports=[ua,Ga,pa,Fa,la,ha,Ya,Sa,Ma,ka,Ra,Ka,Ua,Ja,da,La,ma,Ha,fa,Ta,xa,qa,ba,Pa,Oa,za,ja,Za,Wa,Va,Xa,va,_a,$a,An,gn,In,Cn,Bn,Qn,En,en,on,tn,rn,sn,Dn,an,nn,cn,yn,wn,Nn,un,Gn,pn,Fn,ln,hn,Yn,Sn,Mn,kn,Rn,Kn,Un,Jn,dn,Ln,mn,Hn,fn,Tn,xn,qn,bn,Pn,On,zn,jn,Zn,Wn,Vn,Xn,vn,_n,$n,Ac,gc,Ic,Cc,Bc,Qc,Ec,ec,ic,oc,tc,rc,sc,Dc,ac,nc,cc,yc,wc,Nc,uc,Gc,pc,Fc,lc,hc,Yc,Sc,Mc,kc,Rc,Kc,Uc,Jc,dc,Lc,mc,Hc,fc,Tc,xc,qc,bc,Pc,Oc,zc,jc,Zc,Wc,Vc,Xc,vc,_c,$c,Ay,gy,Iy,Cy,By,Qy,Ey,ey,iy,oy,ty,ry,sy,Dy,ay,ny,cy,yy,wy,Ny,uy,Gy,py,Fy,ly,hy,Yy,Sy,My,ky,Ry,Ky,Uy,Jy,dy,Ly,my,Hy,fy,Ty,xy,qy,by,Py,Oy,zy,jy,Zy,Wy,Vy,Xy,vy,_y,$y,Aw,gw,Iw,Cw,Bw,Qw,Ew,ew,iw,ow,tw,rw,sw,Dw,aw,nw,cw,yw,ww,Nw,uw,Gw,pw,Fw,lw,hw,Yw,Sw,Mw,kw,Rw,Kw,Uw,Jw,dw,Lw,mw,Hw,fw,Tw,xw,qw,bw,Pw,Ow,zw,jw,Zw,Ww,Vw,Xw,vw,_w,$w,AN,gN,IN,CN,BN,QN,EN,eN,iN,oN,tN,rN,sN,DN,aN,nN,cN,yN,wN,NN,uN,GN,pN,FN,lN,hN,YN,SN,MN,kN,RN,KN,UN]});var ki=V(XC=>{"use strict";Object.defineProperty(XC,"__esModule",{value:!0});XC.default=void 0;var JN=Mi(hi()),dN=Mi(Si());function Mi(A){return A&&A.__esModule?A:{default:A}}var fQ=class{constructor(g,I,C,B,Q){this.programBufferIdx=void 0,this.positionBufferIdx=void 0,this.positionBufferSize=void 0,this.locMap=void 0,this.HEAPU8=void 0,this.HEAPU32=void 0,this.HEAPF64=void 0,this.options=void 0,this.commentTypes=["CommentLine","CommentBlock","InterpreterDirective"],this.tokenTypes=["Boolean","Identifier","Keyword","Null","Numeric","BigInt","Punctuator","String","RegularExpression","Template","JSXText"],this.programBufferIdx=g/4,this.positionBufferIdx=I/4,this.positionBufferSize=C,this.locMap={},this.HEAPU8=B.HEAPU8,this.HEAPU32=B.HEAPU32,this.HEAPF64=B.HEAPF64,this.options=Q}next(){return this.HEAPU32[this.programBufferIdx++]}deserialize(){let g={type:"Program",loc:this.addEmptyLoc(),body:this.deserializeNodeList(),comments:this.deserializeComments()};return this.options.tokens===!0&&(g.tokens=this.deserializeTokens()),this.fillLocs(),g}deserializeBoolean(){return!!this.next()}deserializeNumber(){let g;return this.programBufferIdx%2===0?(g=this.programBufferIdx/2,this.programBufferIdx+=2):(g=(this.programBufferIdx+1)/2,this.programBufferIdx+=3),this.HEAPF64[g]}deserializeString(){let g=this.next();if(g===0)return null;let I=this.next();return(0,JN.default)(g,I,this.HEAPU8)}deserializeNode(){let g=this.next();return g===0?null:dN.default[g-1].bind(this)()}deserializeNodeList(){let g=this.next(),I=[];for(let C=0;C{var LN=globalThis.Buffer??mQ().Buffer,Ri=(()=>{var A=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return A=A||"/prettier-security-filename-placeholder.js",function(g={}){var I=g,C,B;I.ready=new Promise((c,N)=>{C=c,B=N});var Q=Object.assign({},I),E=[],e="./this.program",i=(c,N)=>{throw N},o=!1,r=!0,a="";function D(c){return I.locateFile?I.locateFile(c,a):a+c}var y,n,M;if(r){var R=void 0,d=void 0;o?a=d.dirname(a)+"/":a="/prettier-security-dirname-placeholder/",y=(c,N)=>(c=Oe(c)?new URL(c):d.normalize(c),R.readFileSync(c,N?void 0:"utf8")),M=c=>{var N=y(c,!0);return N.buffer||(N=new Uint8Array(N)),N},n=(c,N,h,T=!0)=>{c=Oe(c)?new URL(c):d.normalize(c),R.readFile(c,T?void 0:"utf8",(j,W)=>{j?h(j):N(T?W.buffer:W)})},!I.thisProgram&&[].length>1&&(e=[][1].replace(/\\/g,"/")),E=[].slice(2),i=(c,N)=>{throw(void 0).exitCode=c,N},I.inspect=()=>"[Emscripten Module object]"}var k=I.print||console.log.bind(console),S=I.printErr||console.error.bind(console);Object.assign(I,Q),Q=null,I.arguments&&(E=I.arguments),I.thisProgram&&(e=I.thisProgram),I.quit&&(i=I.quit);var f;I.wasmBinary&&(f=I.wasmBinary);var J=I.noExitRuntime||!0;typeof WebAssembly!="object"&&qe("no native wasm support detected");var Z,uA,UA=!1,yA,lA,AA,jA,q,rA,v,bg,aI;function oC(){var c=Z.buffer;I.HEAP8=lA=new Int8Array(c),I.HEAP16=jA=new Int16Array(c),I.HEAP32=rA=new Int32Array(c),I.HEAPU8=AA=new Uint8Array(c),I.HEAPU16=q=new Uint16Array(c),I.HEAPU32=v=new Uint32Array(c),I.HEAPF32=bg=new Float32Array(c),I.HEAPF64=aI=new Float64Array(c)}var tC,II=[],rC=[],PC=[],KI=!1,NQ=0;function sC(){return J||NQ>0}function uQ(){if(I.preRun)for(typeof I.preRun=="function"&&(I.preRun=[I.preRun]);I.preRun.length;)DC(I.preRun.shift());pQ(II)}function UI(){KI=!0,pQ(rC)}function GQ(){if(I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;)nI(I.postRun.shift());pQ(PC)}function DC(c){II.unshift(c)}function OC(c){rC.unshift(c)}function nI(c){PC.unshift(c)}var CI=0,TA=null,aC=null;function Ps(c){CI++,I.monitorRunDependencies&&I.monitorRunDependencies(CI)}function Os(c){if(CI--,I.monitorRunDependencies&&I.monitorRunDependencies(CI),CI==0&&(TA!==null&&(clearInterval(TA),TA=null),aC)){var N=aC;aC=null,N()}}function qe(c){I.onAbort&&I.onAbort(c),c="Aborted("+c+")",S(c),UA=!0,yA=1,c+=". Build with -sASSERTIONS for more info.";var N=new WebAssembly.RuntimeError(c);throw B(N),N}var be="data:application/octet-stream;base64,";function Pe(c){return c.startsWith(be)}function Oe(c){return c.startsWith("file://")}var JI;JI="data:application/octet-stream;base64,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ACgCGDYCGCAFIAApAhA3AhAgAEIANwIQIABBADYCGCAAIAFHDQALIAMgBjYCFCADKAIQIQEgAyACNgIQIAMoAgwhACADIAU2AgwgACABRg0EA0AgAUEBaywAAEEASARAIAFBDGsoAgAQDQsgAUEcayIBIABHDQALDAQLIABBgAFqIAFBAnRqIgMgAygCAEEBajYCACAHIAo3AxAgByAKNwMgIAAgASACIAdBEGogBBC/ASABDQQgACgCgAEgACgCkAFHDQQgAEEBOgCUASAHQgA3AxggB0IANwMIIAdBwNIBNgIsIAdBgwI7ATQgAEEAQQAgB0EIaiAHQSxqEL8BDAQLECIACxApAAsgAyAGNgIUIAMgAjYCECADIAU2AgwLIABFDQAgABANCyAHQUBrJAALiSYBCH8CQCABKAIAIgRFDQAgACgCACICRQ0AIAAgAkEBayICNgIAIAJFBEAjAEEQayIBJAAgACgCBCEJIAEgBDYCDCAJKAIQIgBFBEBBBBCVASIAQajCAjYCACAAQdDCAkGEARAAAAsgACABQQxqIAAoAgAoAhgRAAAgAUEQaiQADwsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQoAghBAWsOmQICAAP9Af0BBAUGAAAHAAgJCgsMAA0ODxAREhMUFRYXGBkaABscHR4fICEiIyQlJicoKSoAKywA/QEtLgAvMAAxMv0BMzQ1Njc4OTo7PD0+PwBA/QEAQUJDREVGR0hJSktMTU4AT1BRUgBTVFUAVldYWVpbXF1eXwBgYQBiY2RlZmdoaWprbG1ub3BxAAByc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAf0BmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccBAADIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAf0B4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AQAA9QH2AfcB+AH5AQD6AfsBAQsACyAAIAEoAgAQFgz6AQsgACABKAIAEBYM+QELIAAgASgCABAWDPgBCyAAIAEoAgAiBRBxAkAgACgCMEECSQ0AIAAoAiQiASAAKAIoIgNJBEAgASAFNgIAIAAgAUEEajYCJAwBCwJAIAEgACgCICIEa0ECdSIHQQFqIgJBgICAgARJBEBB/////wMgAyAEayIDQQF1IgYgAiACIAZJGyADQfz///8HTxsiAwR/IANBgICAgARPDQIgA0ECdBAaBUEACyIGIAdBAnRqIgIgBTYCACACQQRqIQUgASAERwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIARHDQALIAAoAiAhAQsgACAGIANBAnRqNgIoIAAgBTYCJCAAIAI2AiAgAUUNAiABEA0MAgsQIgALECkACwz3AQsgACABKAIAEBYM9gELIAAgASgCABAWDPUBCyAAIAEoAgAQFgz0AQsgACABKAIAEBYM8wELIAAgASgCABAWDPIBCyAAIAEQngEM8QELIAAgARCeAQzwAQsgACABEJ4BDO8BCyAAIAEoAgAQFgzuAQsgACABKAIAEBYM7QELIAAgARCeAQzsAQsgACABKAIAEBYM6wELIAAgASgCABAWDOoBCyAAIAEoAgAQFgzpAQsgACABKAIAEBYM6AELIAAgASgCABAWDOcBCyAAIAEoAgAQFgzmAQsgACABEJ4BDOUBCyAAIAEoAgAQFgzkAQsgACABKAIAEBYM4wELIAAgASgCABAWDOIBCyAAIAEoAgAQFgzhAQsgACABKAIAEBYM4AELIAAgASgCABAWDN8BCyAAIAEoAgAQFgzeAQsgACABKAIAEBYM3QELIAAgASgCABAWDNwBCyAAIAEoAgAQFgzbAQsgACABKAIAEBYM2gELIAAgASgCABAWDNkBCyAAIAEoAgAQFgzYAQsgACABKAIAEBYM1wELIAAgASgCABAWDNYBCyAAIAEoAgAQFgzVAQsgACABKAIAEBYM1AELIAAgASgCABAWDNMBCyAAIAEoAgAQFgzSAQsgACABKAIAEBYM0QELIAAgASgCABAWDNABCyAAIAEoAgAQFgzPAQsgACABKAIAEBYMzgELIAAgASgCABAWDM0BCyAAIAEoAgAQFgzMAQsgACABKAIAEBYMywELIAAgASgCABAWDMoBCyAAIAEoAgAQFgzJAQsgACABKAIAEBYMyAELIAAgASgCABAWDMcBCyAAIAEoAgAQFgzGAQsgACABKAIAEBYMxQELIAAgASgCABAWDMQBCyAAIAEoAgAQFgzDAQsgASgCACEBIAAoAjAiAiAAKAI0TwRAIABBLGoQhAEgACgCMCECCyAAKAIsIAJBDGxqIgJCADcCACACQQA2AgggACAAKAIwQQFqNgIwIAEoAiAEQCAAIAEQcSAAIAFBIGoQEQsgACABQSRqEBEgACABEIgCDMIBCyAAIAEoAgAQFgzBAQsCQAJAAkAgASgCACIEKAIcIAAoAgwoAihGBEAgACgCLCICKAIEIgEgAigCCEcEQCABIAQ2AgAgAiABQQRqNgIEDAQLIAEgAigCACIHayIDQQJ1IgZBAWoiBUGAgICABE8NAUH/////AyADQQF1IgggBSAFIAhJGyADQfz///8HTxsiBQR/IAVBgICAgARPDQMgBUECdBAaBUEACyIIIAZBAnRqIgMgBDYCACADQQRqIQYgASAHRwRAA0AgA0EEayIDIAFBBGsiASgCADYCACABIAdHDQALIAIoAgAhAQsgAiAIIAVBAnRqNgIIIAIgBjYCBCACIAM2AgAgAUUNAyABEA0MAwsgACAEEHEMAgsQIgALECkACyAAIAQQFgzAAQsgACABKAIAEBYMvwELIAAgASgCABAWDL4BCyAAIAEoAgAQFgy9AQsgACABKAIAEBYMvAELIAAgASgCABBxDLsBCyAAIAEoAgAQFgy6AQsgACABKAIAEBYMuQELIAAgASgCABAWDLgBCyAAIAEoAgAQFgy3AQsgACABKAIAIgEQcSAAIAEQFgy2AQsgACABKAIAEBYMtQELIAAgASgCABAWDLQBCyAAIAEoAgAQFgyzAQsgACABKAIAEBYMsgELIAAgASgCABAWDLEBCyAAIAEoAgAQFgywAQsgACABKAIAEBYMrwELIAAgASgCABAWDK4BCyAAIAEoAgAQFgytAQsgACABKAIAEBYMrAELIAAgASgCABAWDKsBCyAAIAEoAgAQFgyqAQsgACABKAIAEBYMqQELIAAgASgCABAWDKgBCyAAIAEoAgAQFgynAQsgACABKAIAEBYMpgELIAAgASgCABAWDKUBCyAAIAEoAgAQFgykAQsgACABKAIAEBYMowELIAAgASgCABAWDKIBCyAAIAEoAgAQFgyhAQsgACABKAIAEBYMoAELIAAgASgCABAWDJ8BCyAAIAEoAgAQFgyeAQsgACABKAIAEBYMnQELIAAgASgCABAWDJwBCyAAIAEoAgAQFgybAQsgACABKAIAEBYMmgELIAAgASgCABAWDJkBCyAAIAEoAgAQFgyYAQsgACABKAIAEBYMlwELIAAgASgCABAWDJYBCyAAIAEoAgAQFgyVAQsgACABKAIAEBYMlAELIAAgASgCABAWDJMBCyAAIAEoAgAQFgySAQsgACABKAIAEBYMkQELIAAgASgCABAWDJABCyAAIAEoAgAQFgyPAQsgACABKAIAEBYMjgELIAAgASgCABAWDI0BCyAAIAEoAgAQFgyMAQsgACABKAIAEBYMiwELIAAgASgCABAWDIoBCyAAIAEoAgAQFgyJAQsgACABKAIAEBYMiAELIAAgASgCABAWDIcBCyAAIAEoAgAQFgyGAQsgACABKAIAEBYMhQELIAAgASgCABAWDIQBCyAAIAEoAgAQFgyDAQsgACABKAIAEBYMggELIAAgASgCABAWDIEBCyAAIAEo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QUBqIgMkAAJAIAAoAgwiBAR/IAAoAgAhCSAEQQFrIQpBACEEIAEpAgAiDaciACAAIA1CIIinahDGASEAQQEhBgN/IAEpAgAiDqchBwJAAkACQAJAIAkgACAKcSILQQxsaiIAKQIAIg2nIgxBAmoOAgEAAgtBASEFIAdBf0cNAgwFC0EBIQUgB0F+Rw0BDAQLIA5CIIinIgggDUIgiKdHDQBBASEFIAhFDQMgByAMIAgQD0UNAwsgA0L/////DzcDMCADIA03AzggAyANNwMYIANC/////w83AxAgA0EYaiADQRBqEOADBH8gBCAAIAQbBSADIAApAgAiDTcDKCADQv7///8PNwMgIAMgDTcDCCADQv7///8PNwMAIAQgACAEGyAEIANBCGogAxDgAxshBCAGIAtqIQAgBkEBaiEGDAELCwVBAAshAEEAIQULIAIgADYCACADQUBrJAAgBQuoAQEDfyMAQRBrIgMkAAJAIAAoAgQiBUECdEEEaiAAKAIMIgRBA2xPBEAgACAEQQF0EN8DIAAgASADQQhqEBQaIAMoAgghAgwBCyAEIAVBf3NqIAAoAghrIARBA3ZLDQAgACAEEN8DIAAgASADQQxqEBQaIAMoAgwhAgsgACAAKAIEQQFqNgIEIAIoAgBBf0cEQCAAIAAoAghBAWs2AggLIANBEGokACACC7Y9AQN/IwBBEGsiAyQAAkAgAUUNACAAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAghBAmsOmAIAAQIDBAUGAAAHAAgJCgsMAM8BzwENDg8QERITFBUWFxgAzwHPAc8BzwHPAc8BzwHPARkaGxwdHh8gACEiACMkJQAmJwAoKSorzwEsLS4vMDEyMzTPATUANjcAODk6Ozw9Pj9AQUJDREUARkdISQBKS0wAzwFNTk9QUVJTVFUAVlcAzwFYWc8BWltcXV5fzwHPAWBhzwHPAQAAzwHPAc8BzwHPAc8BzwHPAc8BzwHPAc8BzwHPAc8BYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBzwGVAZYBlwGYAZkBmgHPAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBAACoAc8BzwHPAc8BzwHPAc8BzwHPAc8BzwGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHPAQAAzwHPAcoBywHMAQDPAc0BzwELAAsgASgCOCICIAFBNGoiAUYNzQEDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDM0BCyAAIAFBLGoQESABKAI0IgIgAUEwaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgACABQThqEBEgACABQTxqEBEgACABQUBrEBEgAUHEAGoMywELIAAgAUEsahARIAEoAjQiAiABQTBqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyAAIAFBOGoQESAAIAFBPGoQESAAIAFBQGsQESABQcQAagzKAQsgACABQSxqEBEgASgCNCICIAFBMGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAAgAUE4ahARIAAgAUE8ahARIAAgAUFAaxARIAFBxABqDMkBCyAAIAFBLGoQESABKAI0IgIgAUEwaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgACABQThqEBEgACABQTxqEBEgAUFAawzIAQsgACABQSxqEBEgASgCNCICIAFBMGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAAgAUE4ahARIAAgAUE8ahARIAFBQGsMxwELIAAgAUEcahARIAEoAiQiAiABQSBqIgFGDccBA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwzHAQsgACABQSBqEBEgAUEkagzFAQsgACABQSBqEBEgAUEkagzEAQsgACABQSRqEBEgACABQShqEBEgAUEsagzDAQsgACABQSRqEBEgACABQShqEBEgAUEsagzCAQsgACABQSRqEBEgACABQShqEBEgACABQSxqEBEgAUEwagzBAQsgASgCMCICIAFBLGoiAUYNwQEDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDMEBCyABKAIoIgIgAUEkaiIBRg3AAQNAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgAUcNAAsMwAELIAFBIGoMvgELIAFBIGoMvQELIAFBHGoMvAELIAFBHGoMuwELIAAgAUEcahARIAFBIGoMugELIAAgAUEkahARIAEoAiwiAiABQShqIgFGDboBA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwy6AQsgACABQSBqEBEgAUEkagy4AQsgAUEcagy3AQsgACABQRxqEBEgACABQSBqEBEgAUEkagy2AQsgACABQRxqEBEgACABQSBqEBEgAUEkagy1AQsgASgCICICIAFBHGoiAUYNtQEDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDLUBCyABKAIgIgIgAUEcaiIBRg20AQNAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgAUcNAAsMtAELIAEoAiAiAiABQRxqIgFGDbMBA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwyzAQsgAUEcagyxAQsgACABQRxqEBEgACABQSBqEBEgASgCKCICIAFBJGoiAUYNsQEDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDLEBCyABQRxqDK8BCyABQRxqDK4BCyAAIAFBHGoQESABQSBqDK0BCyAAIAFBHGoQESAAIAFBIGoQESABKAIoIgIgAUEkaiIBRg2tAQNAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgAUcNAAsMrQELIAAgAUEcahARIAAgAUEgahARIAEoAigiAiABQSRqIgFGDawBA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwysAQsgACABQSBqEBEgAUEkagyqAQsgAUEgagypAQsgAUEgagyoAQsgACABQRxqEBEgAUEgagynAQsgACABQRxqEBEgAUEgagymAQsgACABQRxqEBEgAUEgagylAQsgACABQRxqEBEgACABQSBqEBEgAUEkagykAQsgACABQRxqEBEgAUEgagyjAQsgAUEcagyiAQsgAUEoagyhAQsgAUEcagygAQsgACABQRxqEBEgAUEgagyfAQsgACABQRxqEBEgASgCJCICIAFBIGoiAUYNnwEDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDJ8BCyAAIAFBIGoQESABQSRqDJ0BCyAAIAFBHGoQESABQSBqDJwBCyABKAIkIgIgAUEgaiIBRg2cAQNAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgAUcNAAsMnAELIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABKAIoIgIgAUEkaiIBRg2bAQNAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgAUcNAAsMmwELIAAgAUEcahARIAFBIGoMmQELIAAgAUEcahARIAFBIGoMmAELIAAgAUEsahARIAAgAUEwahARIAAgAUE0ahARIAAgAUE4ahARIAFBQGsoAgAiAiABQTxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABKAJIIgIgAUHEAGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAFBzABqDJcBCyAAIAFBLGoQESAAIAFBMGoQESAAIAFBNGoQESAAIAFBOGoQESABQUBrKAIAIgIgAUE8aiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgASgCSCICIAFBxABqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQcwAagyWAQsgASgCICICIAFBHGoiAUYNlgEDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDJYBCyAAIAFBHGoQESAAIAFBIGoQESAAIAFBKGoQESAAIAFBLGoQESABQTBqDJQBCyAAIAFBHGoQESAAIAFBIGoQESAAIAFBKGoQESAAIAFBLGoQESABQTBqDJMBCyAAIAFBHGoQESABQSBqDJIBCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgACABQSRqEBEgASgCLCICIAFBKGoiAUYNkgEDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDJIBCyAAIAFBHGoQESABQSBqDJABCyABQRxqDI8BCyABQRxqDI4BCyAAIAFBHGoQESABQSBqDI0BCyAAIAFBHGoQESABKAIkIgIgAUEgaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgAUEoagyMAQsgACABQRxqEBEgAUEgagyLAQsgAUEcagyKAQsgAUEcagyJAQsgAUEcagyIAQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAFBJGoMhwELIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQSRqDIYBCyABQRxqDIUBCyAAIAFBHGoQESABQSBqDIQBCyAAIAFBHGoQESAAIAFBIGoQESABQSRqDIMBCyAAIAFBHGoQESABKAIkIgIgAUEgaiIBRg2DAQNAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgAUcNAAsMgwELIAAgAUEcahARIAAgAUEgahARIAFBJGoMgQELIAFBHGoMgAELIAFBHGoMfwsgAUEcagx+CyABQRxqDH0LIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQSRqDHwLIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQSRqDHsLIAEoAiAiAiABQRxqIgFGDXsDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDHsLIAAgAUEcahARIAFBIGoMeQsgACABQRxqEBEgAUEgagx4CyAAIAFBHGoQESABQSBqDHcLIAFBHGoMdgsgACABQRxqEBEgAUEgagx1CyAAIAFBHGoQESABQSBqDHQLIAFBHGoMcwsgAUEcagxyCyAAIAFBHGoQESABKAIkIgIgAUEgaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgAUEsagxxCyABQRxqDHALIAAgAUEcahARIAFBIGoMbwsgAUEcagxuCyAAIAFBHGoQESABKAIkIgIgAUEgaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgAUEoagxtCyAAIAFBHGoQESABKAIkIgIgAUEgaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgAUEoagxsCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgACABQSRqEBEgACABQShqEBEgACABQSxqEBEgAUEwagxrCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgACABQSRqEBEgACABQShqEBEgAUEsagxqCyAAIAFBHGoQESABQSBqDGkLIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyAAIAFBJGoQESAAIAFBKGoQESABQSxqDGgLIAAgAUEcahARIAFBIGoMZwsgAUEcagxmCyAAIAFBHGoQESABQSBqDGULIAAgAUEcahARIAFBIGoMZAsgAUEcagxjCyABQSBqDGILIAAgAUEcahARIAFBIGoMYQsgASgCICICIAFBHGoiAUYNYQNAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgAUcNAAsMYQsgACABQRxqEBEgAUEgagxfCyAAIAFBHGoQESAAIAFBIGoQESABQShqDF4LIAFBHGoMXQsgAUEcagxcCyABKAIgIgIgAUEcaiIBRg1cA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwxcCyABKAIgIgIgAUEcaiIBRg1bA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwxbCyAAIAFBHGoQESABQSBqDFkLIAAgAUEcahARIAFBIGoMWAsgACABQRxqEBEgAUEgagxXCyAAIAFBHGoQESAAIAFBIGoQESAAIAFBJGoQESABQShqDFYLIAAgAUEcahARIAFBIGoMVQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAFBJGoMVAsgACABQRxqEBEgACABQSBqEBEgAUEkagxTCyAAIAFBHGoQESAAIAFBIGoQESAAIAFBJGoQESAAIAFBKGoQESAAIAFBLGoQESABQTBqDFILIAAgAUEcahARIAAgAUEgahARIAEoAigiAiABQSRqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQSxqDFELIAAgAUEcahARIAAgAUEgahARIAFBJGoMUAsgACABQRxqEBEgACABQSBqEBEgACABQSRqEBEgACABQShqEBEgACABQSxqEBEgAUEwagxPCyAAIAFBHGoQESAAIAFBIGoQESABKAIoIgIgAUEkaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgAUEsagxOCyAAIAFBHGoQESAAIAFBIGoQESABKAIoIgIgAUEkaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgASgCMCICIAFBLGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAEoAjgiAiABQTRqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQTxqDE0LIAAgAUEcahARIAFBIGoMTAsgAUEcagxLCyAAIAFBHGoQESABKAIkIgIgAUEgaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgACABQShqEBEgACABQSxqEBEgAUEwagxKCyABQRxqDEkLIAAgAUEcahARIAFBIGoMSAsgACABQRxqEBEgASgCJCICIAFBIGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAFBKGoMRwsgAUEcagxGCyAAIAFBHGoQESABQSBqDEULIAAgAUEcahARIAFBIGoMRAsgAUEcagxDCyAAIAFBHGoQESABQSBqDEILIAAgAUEcahARIAFBIGoMQQsgAUEcagxACyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgASgCKCICIAFBJGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAEoAjAiAiABQSxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABKAI4IgIgAUE0aiIBRg1AA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwxACyAAIAFBHGoQESAAIAFBIGoQESABQShqDD4LIAFBHGoMPQsgACABQRxqEBEgAUEgagw8CyABQRxqDDsLIAAgAUEcahARIAAgAUEgahARIAAgAUEkahARIAFBLGoMOgsgACABQRxqEBEgACABQSBqEBEgACABQSRqEBEgAUEoagw5CyABKAIgIgIgAUEcaiIBRg05A0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACww5CyAAIAFBJGoQESAAIAFBKGoQESABQSxqDDcLIAEoAiAiAiABQRxqIgFGDTcDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDDcLIAAgAUEcahARIAFBIGoMNQsgACABQRxqEBEgAUEgagw0CyABQRxqDDMLIAFBHGoMMgsgACABQRxqEBEgAUEgagwxCyABKAIgIgIgAUEcaiIBRg0xA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwxCyABKAIgIgIgAUEcaiIBRg0wA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwwCyABKAIgIgIgAUEcaiIBRg0vA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwvCyABKAIgIgIgAUEcaiIBRg0uA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwuCyABKAIgIgIgAUEcaiIBRg0tA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwtCyABQRxqDCsLIAAgAUEcahARIAFBIGoMKgsgACABQRxqEBEgAUEgagwpCyAAIAFBHGoQESABQSBqDCgLIAAgAUEcahARIAFBIGoMJwsgACABQRxqEBEgAUEgagwmCyABQRxqDCULIAFBHGoMJAsgACABQRxqEBEgAUEgagwjCyABQRxqDCILIAAgAUEcahARIAFBIGoMIQsgACABQRxqEBEgAUEgagwgCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgACABQSRqEBEgAUEoagwfCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiAERw0ACwsgACABQSRqEBEgAUEoagweCyAAIAFBHGoQESABQSBqDB0LIAEoAiAiAiABQRxqIgFGDR0DQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDB0LIAAgAUEcahARIAFBIGoMGwsgACABQRxqEBEgAUEgagwaCyABQRxqDBkLIAAgAUEcahARIAAgAUEgahARIAFBJGoMGAsgACABQRxqEBEgACABQSBqEBEgASgCKCICIAFBJGoiBEcEQANAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgBEcNAAsLIAFBLGoMFwsgACABQRxqEBEgAUEgagwWCyABKAIgIgIgAUEcaiIBRg0WA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwWCyAAIAFBHGoQESABKAIkIgIgAUEgaiIBRg0VA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwVCyAAIAFBHGoQESABQSBqDBMLIAAgAUEcahARIAFBIGoMEgsgASgCICICIAFBHGoiAUYNEgNAIAMgAjYCDCAAIANBDGoQESACKAIEIgIgAUcNAAsMEgsgACABQRxqEBEgAUEgagwQCyABKAIgIgIgAUEcaiIBRg0QA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwQCyAAIAFBHGoQESAAIAFBIGoQESABQSRqDA4LIAEoAiAiAiABQRxqIgFGDQ4DQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDA4LIAEoAiAiAiABQRxqIgFGDQ0DQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDA0LIAEoAiAiAiABQRxqIgFGDQwDQCADIAI2AgwgACADQQxqEBEgAigCBCICIAFHDQALDAwLIAFBHGoMCgsgACABQRxqEBEgACABQSBqEBEgACABQSRqEBEgAUEoagwJCyABKAIgIgIgAUEcaiIBRg0JA0AgAyACNgIMIAAgA0EMahARIAIoAgQiAiABRw0ACwwJCyAAIAFBHGoQESAAIAFBIGoQESABQSRqDAcLIAAgAUEcahARIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQShqDAYLIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQSRqDAULIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBEgAigCBCICIARHDQALCyABQSRqDAQLIAFBHGoMAwsgAUEcagwCCyAAIAFBHGoQESABQSBqDAELIAFBHGoLEBELIANBEGokAAvFCgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFFDQACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAghBAmsOmAIADA0NDQ4OAAAPABERExMVAAsLARcZGRoaGBsRGhAQAAsLCwsLCwsLHBwcGhYaGhgAFhYAERkZABgYABgQGBoLIhoYDxEYIwIYCxgAJCQAHCUlGAMYGhoYHRgaGhoAJiYaGAAQDxAACxoaGhomJhwYGAAYGgALGBgLGhoEGhgaCwsdHQsLAAALCwsLCwsLCwsLCwsLCwsFEhgSGBoYGBoZGBwYHhoaHBwYGBgfGCYQFCcQFCcGGBoHGhgdGhgYGhgYGggeGhgaCR8LHBMcGBgaCxoYHBwcHBwaGBgYGBgAABoLCwsLCwsLCwsLCxoYGhgYICAYHBgYGhAnGBwPGBgcGBwQHBwcGh8cEB0mJgsAAAsLGhoYAAsKCwsACyAAIAFBLGogARA1DwsgACABQRxqIAEQNQwUCyAAIAFBHGogARA1DBcLIAAgAUEcaiABECAgACABQSBqIAEQNQwjCyAAIAFBHGogARA1DA8LIAAgAUEcaiABECAgACABQSBqIAEQICAAIAFBJGogARA1IAAgAUEsaiABEDUgACABQTRqIAEQNSAAIAFBPGogARAgDwsgACABQRxqIAEQICAAIAFBIGogARA1DCELIAAgAUEcaiABEDUgACABQSRqIAEQNSAAIAFBLGogARA1DAMLIAAgAUEcaiABECAgACABQSBqIAEQICAAIAFBJGogARAgDB4LIAAgAUEcaiABECALDwsgACABQTRqIAEQNQ8LIAAgAUEsaiABECAgACABQTBqIAEQNSAAIAFBOGogARAgIAAgAUE8aiABECAgACABQUBrIAEQICAAIAFBxABqIAEQIA8LIAAgAUEsaiABECAgACABQTBqIAEQNSAAIAFBOGogARAgIAAgAUE8aiABECAgACABQUBrIAEQIA8LIAAgAUEcaiABECAMEwsgACABQRxqIAEQIAsgACABQSBqIAEQIAwYCyAAIAFBHGogARA1CyAAIAFBJGogARAgIAAgAUEoaiABECAMFAsgACABQRxqIAEQICAAIAFBIGogARAgCyAAIAFBJGogARAgDBMLIAAgAUEcaiABECAgACABQSBqIAEQIAsgACABQSRqIAEQNQ8LIAAgAUEcaiABECALIAAgAUEgaiABECAPCyAAIAFBHGogARAgDwsgACABQSRqIAEQICAAIAFBKGogARA1DwsgACABQRxqIAEQNQ8LIAAgAUEcaiABECAgACABQSBqIAEQNQwECyAAIAFBHGogARAgIAAgAUEgaiABECAMAwsgACABQRxqIAEQICAAIAFBIGogARAgDAELIAAgAUEcaiABEDULIAAgAUEkaiABECALIAAgAUEoaiABECAPCyAAIAFBIGogARA1DwsgACABQSxqIAEQICAAIAFBMGogARAgIAAgAUE0aiABECAgACABQThqIAEQICAAIAFBPGogARA1IAAgAUHEAGogARA1IAAgAUHMAGogARAgDwsgACABQRxqIAEQICAAIAFBIGogARAgDAMLIAAgAUEcaiABEDUMAwsgACABQRxqIAEQICAAIAFBIGogARAgIAAgAUEkaiABEDULIAAgAUEsaiABECAPCyAAIAFBKGogARAgIAAgAUEsaiABECAgACABQTBqIAEQIA8LIAAgAUEkaiABECALiwEBAn8CQAJAIAAoAggiBEEBdEEBciIFIAIgAiAFSRsiAiAETSADrSACrX5CIIinckUEQCACIANsIQQCQCABIAAoAgAiBUYEQCAEECsiBEUNAyAEIAEgACgCBCADbBAfGgwBCyAFIAQQkQEiBEUNAwsgACACNgIIIAAgBDYCAA8LEDkACxA5AAsQOQALuQoCC38BfiMAQYABayIFJAAgBUKAgICA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ACgCDCIDIAAoAgAgAygCAEECdGooAgAiBCADKAIEakEHakF4cSAEazYCBCAMpyEHAn8CQCAMQiCIpyIDQQFqIgZBgIAQTQRAIAAoAgwiCSgCBCIKIAZqIgtBgYAQSQ0BCyAAIAYQDgwBCyAJIAs2AgQgBCAKagsgByADEB0iACADakEAOgAAIAEgAzYCBCABIAA2AgAgASkCACEMIAIgATYCECACIAw3AwggBSACQQhqIgAgAkHMAGoQFA0AIAUgACACKAJMEBUiACACKQMINwIAIAAgAigCEDYCCAsgCCACKAIgIgBHBEAgABANCyACQdAAaiQAIAELgCYCCX8BfiMAQRBrIggkAAJAAkACQCABBEADQCABKAIIQQFqIQcCQAJAAkAgACgCBCIEKAIYIgIgBCgCHCIFSQRAIAIgBzYCACAEIAJBBGo2AhgMAQsgAiAEKAIUIgZrQQJ1IgpBAWoiA0GAgICABE8NAUH/////AyAFIAZrIgVBAXUiCSADIAMgCUkbIAVB/P///wdPGyIFBH8gBUGAgICABE8NCCAFQQJ0EBoFQQALIgkgCkECdGoiAyAHNgIAIANBBGohByACIAZHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBkcNAAsgBCgCFCECCyAEIAkgBUECdGo2AhwgBCAHNgIYIAQgAzYCFCACRQ0AIAIQDQsgCCABKQIQIgs3AwAgCCALNwMIIAAgCBDHAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIIQQJrDpgCAN0BAQIDBAUAAAYABwgJCgsA4gHiAQwNDg8QERITFBUWFwDiARgZGhsc4gHiAR0eHyAhIiMkACUmACcoKQAqKwAsLS4vMDEyMzQ1Njc4OTo7ADw9AD4/QEFCQ0RFRkdISUpLAExNTk8AUFFSAOIBU1RVVldYWVpbAFxdAF5fYOIBYWJjZGVmZ2hpauIB4gEAAOIB4gHiAeIBa2xt4gFu4gHiAeIB4gHiAeIBb3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagB4gGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AQAAtgHiAeIB4gHiAeIB4gHiAeIB4gHiAeIBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AEAAOIB4gHZAdoB2wEA4gHcAeIBCwALIAAgARCGAgzgAQsgACABEIYCDN8BCyAAIAEQhgIM3gELIAAgARCPAwzdAQsgACABEI8DDNwBCyAAIAEQwgEM2wELIAAgARDBAQzaAQsgACABEMEBDNkBCyAAIAEoAiQQHCAAIAEoAigQHCAAIAEoAiwQHAzYAQsgACABKAIkEBwgACABKAIoEBwgACABKAIsEBwgACABLQAwECMM1wELIAAgASgCJBAcIAAgASgCKBAcIAAgASgCLBAcIAAgASgCMBAcDNYBCyAAIAFBLGoQJCAAIAEtADQQIwzVAQsgACABQSRqECQM1AELIAFBIGohAgzQAQsgAUEgaiECDM8BCyABQRxqIQIMzgELIAFBHGohAgzNAQsgACABECgMzwELIAAgASgCJBAcIAAgAUEoahAkDM4BCyAAIAEQwQEMzQELIAAgARCYAQzMAQsgACABEFcMywELIAAgARBXDMoBCyAAIAEtABwQIwzJAQsgACABKAIcEDMMyAELIAAgASsDIBDtAgzHAQsgACABELwBDMYBCyAAIAEoAhwQMwzFAQsgACABQRxqECQMxAELIAAgAUEcahAkDMMBCyAAIAEQ8gEMwgELIAFBHGohAgy+AQsgACABEOMCDMABCyAAIAEQ4AIMvwELIAFBHGohAgy7AQsgACABECgMvQELIAAgARDjAgy8AQsgACABKAIcEBwgACABKAIgEBwgACABQSRqECQgACABLQAsECMMuwELIAAgASgCHBAzIAAgASgCIBAcIAAgASgCJBAcDLoBCyAAIAEQ3gIMuQELIAAgARDeAgy4AQsgACABEG4MtwELIAAgASgCHBAcIAAgASgCIBAcIAAgAS0AJBAjIAAgAS0AJRAjDLYBCyAAIAEQuQEMtQELIAAgARBXDLQBCyAAIAEQuQEMswELIAFBHGohAgyvAQsgACABKAIcEDMMsQELIAAgASgCJBAzIAAgASgCKBAcIAAgAS0ALBAjDLABCyABQRxqIQIMrAELIAAgARAoDK4BCyAAIAEQwgEMrQELIAAgARDBAQysAQsgACABECgMqwELIAAgASgCHBAzIAAgAUEgahAkDKoBCyAAIAFBHGoQJCAAIAFBJGoQJAypAQsgACABECgMqAELIAAgAS0AHBAjIAAgASgCIBAzIAAgASgCJBAzDKcBCyAAIAEoAhwQHCAAIAEoAiAQHCAAIAEoAiQQMyAAIAEtACgQIyAAIAEtACkQIyAAIAEtACoQIwymAQsgACABENMCDKUBCyAAIAEQ0wIMpAELIAAgAUEcahAkDKMBCyAAIAEoAhwQHCAAIAEoAiAQHCAAIAEtACQQIyAAIAEtACUQIyAAIAEtACYQIyAAIAEtACcQIyAAIAEoAigQHCAAIAEoAiwQHCAAIAEoAjAQHAyiAQsgACABKAIcEBwgACABKAIgEBwgACABLQAkECMgACABLQAlECMgACABLQAmECMgACABKAIoEBwgACABKAIsEBwgACABKAIwEBwMoQELIAAgASgCHBAcIAAgASgCIBAcIAAgASgCJBAzIAAgAS0AKBAjIAAgAS0AKRAjDKABCyAAIAFBHGoQJCAAIAEoAiQQHCAAIAFBKGoQJCAAIAEoAjAQMwyfAQsgACABELkBDJ4BCyABQRxqIQIMmgELIAFBHGohAgyZAQsgACABECgMmwELIAAgASgCHBAcIAAgAUEgahAkIAAgASgCKBAcIAAgASgCLBAzDJoBCyAAIAEQKAyZAQsgAUEcaiECDJUBCyABQRxqIQIMlAELIAAgARCYAQyWAQsgACABEG0MlQELIAAgARBtDJQBCyABQRxqIQIMkAELIAAgARAoDJIBCyAAIAEQVwyRAQsgACABEMIBDJABCyAAIAEQVwyPAQsgAUEcaiECDIsBCyAAIAEQmAEMjQELIAFBHGohAgyJAQsgACABEJgBDIsBCyAAIAEQbQyKAQsgACABEG0MiQELIAAgAUEcahAkDIgBCyAAIAEQKAyHAQsgACABECgMhgELIAAgARBuDIUBCyABQRxqIQIMgQELIAAgASgCHBAzDIMBCyAAIAEQKAyCAQsgACABECgMgQELIAFBHGohAgx9CyABQRxqIQIMfAsgACABKAIcEBwgACABQSBqECQgACABLQAoECMgACABKAIsEBwMfgsgAUEcaiECDHoLIAAgARAoDHwLIAFBHGohAgx4CyAAIAEQvAEMegsgACABELwBDHkLIAAgARDNAgx4CyAAIAEQzQIMdwsgACABELwBDHYLIAAgASsDIBDtAiAAIAEoAigQMwx1CyAAIAEoAhwQMwx0CyAAIAEtABwQIyAAIAEoAiAQMwxzCyAAIAFBHGoQJCAAIAEoAiQQHCAAIAEoAigQHCAAIAEoAiwQHCAAIAEoAjAQHAxyCyAAIAEQxgIMcQsgACABEG4McAsgACABEMYCDG8LIAAgARBuDG4LIAFBHGohAgxqCyAAIAEQKAxsCyAAIAEQKAxrCyABQRxqIQIMZwsgACABKAIcEDMgACABKAIgEBwMaQsgACABECgMaAsgACABEPIBDGcLIAAgARAoDGYLIAAgASgCHBAcIAAgASgCIBAcIAAgAS0AJBAjIAAgASgCKBAcDGULIAFBHGohAgxhCyABQRxqIQIMYAsgACABQRxqECQMYgsgACABQRxqECQMYQsgACABECgMYAsgACABECgMXwsgACABEG4MXgsgACABEMACDF0LIAAgARC5AQxcCyAAIAEQbQxbCyAAIAEQVwxaCyAAIAEQvAIMWQsgACABEN4BDFgLIAAgARBXDFcLIAAgARC8AgxWCyAAIAEQ3gEMVQsgACABKAIcEBwgACABKAIgEBwgACABQSRqECQgACABQSxqECQgACABQTRqECQgACABKAI8EBwMVAsgACABECgMUwsgAUEcaiECDE8LIAAgASgCHBAcIAAgAUEgahAkIAAgASgCKBAcIAAgASgCLBAcIAAgASgCMBAcDFELIAAgARCYAQxQCyAAIAEQKAxPCyAAIAEQuQIMTgsgAUEcaiECDEoLIAAgARAoDEwLIAAgARAoDEsLIAFBHGohAgxHCyAAIAEQKAxJCyAAIAEQKAxICyABQRxqIQIMRAsgACABQRxqECQgACABQSRqECQgACABQSxqECQgACABQTRqECQgACABLQA8ECMgACABLQA9ECMMRgsgACABKAIcEBwgACABKAIgEBwgACABLQAkECMgACABLQAlECMgACABLQAmECMgACABLQAnECMgACABKAIoEBwgACABKAIsEDMMRQsgAUEcaiECDEELIAAgASgCHBAcIAAgASgCIBAcIAAgAS0AJBAjIAAgAS0AJRAjIAAgAS0AJhAjDEMLIAAgARDgAgxCCyAAIAEoAhwQHCAAIAEoAiAQHCAAIAEoAiQQHCAAIAEtACgQIyAAIAEoAiwQHAxBCyAAIAEoAhwQHCAAIAEoAiAQHCAAIAEoAiQQHCAAIAEoAigQHCAAIAEoAiwQMwxACyAAIAEoAhwQMww/CyAAIAFBHGoQJAw+CyAAIAEoAhwQMyAAIAEtACAQIyAAIAEoAiQQHCAAIAEoAigQHCAAIAEoAiwQHCAAIAEtADAQIww9CyAAIAFBHGoQJAw8CyAAIAEQKAw7CyAAIAEQKAw6CyABQRxqIQIMNgsgAUEcaiECDDULIAAgARAoDDcLIAAgARCzAQw2CyAAIAEQswEMNQsgACABELMBDDQLIAAgARCzAQwzCyAAIAEQ8gEMMgsgAUEcaiECDC4LIAAgARAoDDALIAAgARAoDC8LIAAgARAoDC4LIAAgARAoDC0LIAAgARBuDCwLIAFBHGohAgwoCyABQRxqIQIMJwsgACABECgMKQsgAUEcaiECDCULIAAgARAoDCcLIAAgARAoDCYLIAAgARC1AgwlCyAAIAEQtQIMJAsgACABECgMIwsgACABQRxqECQMIgsgACABECgMIQsgACABECgMIAsgACABKAIcEBwgACABKAIgEDMgACABLQAkECMgACABLQAlECMgACABLQAmECMMHwsgACABEFcMHgsgACABEN4BDB0LIAAgARAoDBwLIAAgAUEcahAkDBsLIAAgARDCAQwaCyAAIAEQKAwZCyAAIAEQKAwYCyAAIAFBHGoQJAwXCyAAIAEQKAwWCyAAIAFBHGoQJAwVCyAAIAEQVwwUCyAAIAFBHGoQJAwTCyAAIAFBHGoQJAwSCyAAIAFBHGoQJAwRCyABQRxqIQIMDQsgACABEMACDA8LIAAgAUEcahAkDA4LIAAgASgCHBAcIAAgASgCIBAcIAAgASgCJBAcIAAgAS0AKBAjIAAgAS0AKRAjIAAgAS0AKhAjIAAgAS0AKxAjIAAgAS0ALBAjDA0LIAAgARC5AgwMCyAAIAEQbQwLCyAAIAEQbQwKCyAAIAEoAhwQMyAAIAEtACAQIwwJCyABQRxqIQIMBQsgAUEcaiECDAQLIAAgARBuDAYLIAFBHGohAgwCCyAAIAFBNGoQJAwECxAiAAsgAigCACIBDQALCyAAKAIEIgAoAhgiAiAAKAIcIgZJBEAgAkEANgIAIAAgAkEEajYCGAwBCyACIAAoAhQiAWtBAnUiBUEBaiIDQYCAgIAETw0BQQAhBEH/////AyAGIAFrIgZBAXUiByADIAMgB0kbIAZB/P///wdPGyIGBEAgBkGAgICABE8NAyAGQQJ0EBohBAsgBCAFQQJ0aiIDQQA2AgAgA0EEaiEFIAEgAkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgASACRw0ACyAAKAIUIQILIAAgBCAGQQJ0ajYCHCAAIAU2AhggACADNgIUIAJFDQAgAhANCyAIQRBqJAAPCxAiAAsQKQALSgEBfyAAIAFJBEAgACABIAIQHw8LIAIEQCAAIAJqIQMgASACaiEBA0AgA0EBayIDIAFBAWsiAS0AADoAACACQQFrIgINAAsLIAAL7zYBA38CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAQRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCCEECaw6YAgABISEhAgMAACIAIyMkJAQAICAFBiUlJiYnByMmKCgAICAgICAgICApKSkmKiYmJwAqKgAjJSUAJycAJygnJiAIJiciIycJCicgJwALDAApDQ4nDycmJicrJyYmJgAsLCYnACgiKAAgJiYmJiwsKScnACcmACAnJyAmJhAmJyYgICsrICAAACAgICAgICAgICAgICAgIBESJxMnJicnJiUnKScUJiYpKScnJy0nLCgVLigWLhcnJhgmJysmJycmJycmGRomJyYbLSApJCknJyYgJicpKSkpKSYnJycnJwAAJiAgICAgICAgICAgJicmJyccHScpJycmKC4nKSInJyknKSgpKSkmLSkoKywsIAAAICAmJicAIB4gCwALIAEgABCOAw8LIAEgABCDAw8LIAEgABCDAw8LAkACQCABIgMoAggiAkEGRwRAIAJBxwBHDQIgAEEEaiECIAAoAgQiBCAAKAIISQRAIAAhAQwCCyAAIABBDGpBAEEEEBggACgCBCEEIAAhAQwBCyAAQSxqIQEgAEEwaiICKAIAIgQgACgCNEkNACABIABBOGpBAEEEEBggACgCMCEECyABKAIAIARBAnRqIAM2AAAgAiACKAIAQQFqNgIAIAMoAgghAgsgAkEHa0F8TQRAIAAgAygCJBAeIAAgAygCKBAeIAAgAygCLBAeIAAgAygCMBAeCw8LAkACQCABIgMoAggiAkEGRwRAIAJBxwBHDQIgAEEEaiECIAAoAgQiBCAAKAIISQRAIAAhAQwCCyAAIABBDGpBAEEEEBggACgCBCEEIAAhAQwBCyAAQSxqIQEgAEEwaiICKAIAIgQgACgCNEkNACABIABBOGpBAEEEEBggACgCMCEECyABKAIAIARBAnRqIAM2AAAgAiACKAIAQQFqNgIAIAMoAgghAgsCQCACQQdrQXxLDQAgAygCMCICIANBLGoiAUYNAANAIAAgAhAeIAIoAgQiAiABRw0ACwsPCwJAAkAgASIDKAIIIgJBBkcEQCACQccARw0CIABBBGohAiAAKAIEIgQgACgCCEkEQCAAIQEMAgsgACAAQQxqQQBBBBAYIAAoAgQhBCAAIQEMAQsgAEEsaiEBIABBMGoiAigCACIEIAAoAjRJDQAgASAAQThqQQBBBBAYIAAoAjAhBAsgASgCACAEQQJ0aiADNgAAIAIgAigCAEEBajYCACADKAIIIQILAkAgAkEHa0F8Sw0AIAMoAigiAiADQSRqIgFGDQADQCAAIAIQHiACKAIEIgIgAUcNAAsLDwsCQAJAIAEiAygCCCICQQZHBEAgAkHHAEcNAiAAQQRq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IQEMAQsgAEEsaiEBIABBMGoiAigCACIEIAAoAjRJDQAgASAAQThqQQBBBBAYIAAoAjAhBAsgASgCACAEQQJ0aiADNgAAIAIgAigCAEEBajYCACADKAIIIQILIAJBB2tBfE0EQCAAIAMoAiAQHiAAIAMoAiQQHgsPCwJAAkAgASIDKAIIIgJBBkcEQCACQccARw0CIABBBGohAiAAKAIEIgQgACgCCEkEQCAAIQEMAgsgACAAQQxqQQBBBBAYIAAoAgQhBCAAIQEMAQsgAEEsaiEBIABBMGoiAigCACIEIAAoAjRJDQAgASAAQThqQQBBBBAYIAAoAjAhBAsgASgCACAEQQJ0aiADNgAAIAIgAigCAEEBajYCACADKAIIIQILIAJBB2tBfE0EQCAAIAMoAiQQHiAAIAMoAigQHiAAIAMoAiwQHgsPCwJAAkAgASIDKAIIIgJBBkcEQCACQccARw0CIABBBGohAiAAKAIEIgQgACgCCEkEQCAAIQEMAgsgACAAQQxqQQBBBBAYIAAoAgQhBCAAIQEMAQsgAEEsaiEBIABBMGoiAigCACIEIAAoAjRJDQAgASAAQThqQQBBBBAYIAAoAjAhBAsgASgCACAEQQJ0aiADNgAAIAIgAigCAEEBajYCACADKAIIIQILIAJBB2tBfE0EQCAAIAMoAiAQHgsPCyABIAAQggMPCwJAAkAgASIDKAIIIgJBBkcEQCACQccARw0CIABBBGohAiAAKAIEIgQgACgCCEkEQCAAIQEMAgsgACAAQQxqQQBBBBAYIAAoAgQhBCAAIQEMAQsgAEEsaiEBIABBMGoiAigCACIEIAAoAjRJDQAgASAAQThqQQBBBBAYIAAoAjAhBAsgASgCACAEQQJ0aiADNgAAIAIgAigCAEEBajYCACADKAIIIQILIAJBB2tBfE0EQCAAIAMoAhwQHiAAIAMoAiAQHgsPCwJAAkAgASIDKAIIIgJBBkcEQCACQccARw0CIABBBGohAiAAKAIEIgQgACgCCEkEQCAAIQEMAgsgACAAQQxqQQBBBBAYIAAoAgQhBCAAIQEMAQsgAEEsaiEBIABBMGoiAigCACIEIAAoAjRJDQAgASAAQThqQQBBBBAYIAAoAjAhBAsgASgCACAEQQJ0aiADNgAAIAIgAigCAEEBajYCACADKAIIIQILIAJBB2tBfE0E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DQMMBgtBECECIANBEHFFDQIMBQtBwAAhAiADQcAAcQ0EDAELQQEhAiADQQFxDQMLIAIgA3IhAyAFQQJqIgUgB0cNAAsLIAYgAzoAlAIgBkEANgJAIAZBjAFqIBIgEiABQQF0aiIUQf//AyADQQhxIhVBA3YgBkFAaxChAyEEQQohAQJAIAYoApgCQf//A0sNACAERSAGLwGWAiIWIAYoAkBJcSECAkAgBi0AlAJBCHFFBEAgAiAGKALYAiIOQQBHIAYtAOQCIhdBAEdxckUNASAGQQA2ApgCIAZBADYCCCAGQQA6ALgCIAZBADsBlgICQCAOIAYoAtwCckUNAAJAIAYoAuACIgMgDkECdE0gA0HBAElyRQRAIAMgDgR/QcAAQQFBISAOQQFrZ2t0IgEgAUHAAEwbBUEACyIBRgRAIAZCADcC2AIgA0EMbCIERQ0DIAYoAtQCIgUhASADQQdxIgcEQEEAIQIDQCABQv////8PNwIAIAFBDGohASACQQFqIgIgB0cNAAsLIANBAWtB/////wNxQQdJDQMgBCAFaiECA0AgAUL/////DzcCACABQv////8PNwJUIAFC/////w83AkggAUL/////DzcCPCABQv////8PNwIwIAFC/////w83AiQgAUL/////DzcCGCABQv////8PNwIMIAFB4ABqIgEgAkcNAAsMAwsgBigC1AIQDSABRQ0BIAYgAUECdEEDbkEBaq0iW0IBiCBbhCJbQgKIIFuEIltCBIggW4QiW0IIiCBbhCJbQhCIIFuEp0EBaiIBNgLgAiABQQxsEBohAyAGQgA3AtgCIAYgAzYC1AIgBigC4AIiBEEMbCIFRQ0CIAMhASAEQQdxIgcEQEEAIQIDQCABQv////8PNwIAIAFBDGohASACQQFqIgIgB0cNAAsLIARBAWtB/////wNxQQdJDQIgAyAFaiECA0AgAUL/////DzcCACABQv////8PNwJUIAFC/////w83AkggAUL/////DzcCPCABQv////8PNwIwIAFC/////w83AiQgAUL/////DzcCGCABQv////8PNwIMIAFB4ABqIgEgAkcNAAsMAgsCQCADQQxsIgRFDQAgBigC1AIiBSEBIANBB3EiBwRAQQAhAgNAIAFC/////w83AgAgAUEMaiEBIAJBAWoiAiAHRw0ACwsgA0EBa0H/////A3FBBk0NACAEIAVqIQIDQCABQv////8PNwIAIAFC/////w83AlQgAUL/////DzcCSCABQv////8PNwI8IAFC/////w83AjAgAUL/////DzcCJCABQv////8PNwIYIAFC/////w83AgwgAUHgAGoiASACRw0ACwsgBkIANwLYAgwBCyAGQgA3AtQCIAZCADcC3AILAkAgBigCxAIiByAGKALAAiICRgRAIAIhBwwBCyACIAYoAswCIgRBqgFuIgFBAnRqIgUoAgAiAyAEIAFBqgFsa0EYbGoiASACIAYoAtACIARqIgRBqgFuIhhBAnRqKAIAIAQgGEGqAWxrQRhsaiIERg0AA0AgASgCACICIAFBDGpHBEAgAhANIAUoAgAhAwsgAUEYaiIBIANrQfAfRgRAIAVBBGoiBSgCACIDIQELIAEgBEcNAAsgBigCwAIhAiAGKALEAiEHCyAGQQA2AtACIAcgAmsiAUEISwRAA0AgAigCABANIAYgBigCwAJBBGoiAjYCwAIgBigCxAIgAmsiAUEISw0ACwsgF0EAIA4bIBVyIQNB1QAhAgJAAkACQCABQQJ2QQFrDgIBAAILQaoBIQILIAYgAjYCzAILIAZBjAFqIBIgFCAWIANBAEcgBkEIahChAyEEDAELQQMhASACDQELIAYgBDYCtAIgBA0CIAYgBi8BlgI7AboDIAYgBigCmAI7AbwDIAYgBi0AlAJB/wBxOgC+AyAGIAYtALgCOgC/AyAGQgA3AEUgBkIANwNAIAZBQGtBACAGQboDaiAGQcADahCLAgJAIAYoAqACIgIgBigCnAIiA2siAUEATA0AIAEQGiEEIAIgA0cEQCABQXxxIQUCQCABQQRrIgdBAnZBAWpBB3EiDkUEQCAEIQEMAQtBACEDIAQhAQNAIAEgAkEEayICKAIANgIAIAFBBGohASADQQFqIgMgDkcNAAsLIAQgBWohAyAHQRxPBEADQCABIAJBBGsoAgA2AgAgASACQQhrKAIANgIEIAEgAkEMaygCADYCCCABIAJBEGsoAgA2AgwgASACQRRrKAIANgIQIAEgAkEYaygCADYCFCABIAJBHGsoAgA2AhggASACQSBrIgIoAgA2AhwgAUEgaiIBIANHDQALCyAGIAM2AhAgBiADNgIMIAYgBDYCCANAAkACQAJAAn8CQAJAAkAgA0EEayICKAIAIgEgBkFAayABKAIAKAIgEQQAIgUEQCAFKAIEIgEgBSgCACIOayIUQQBMBEAgAyECIAYoAgghBAwICyAUQQJ1IhEgBigCECIFIANrQQJ1TARAIBFBAEwNBiADIQQgASICIA5HBEADQCAEIAJBBGsiAigCADYCACAEQQRqIQQgAiAORw0ACwsgBiAENgIMIAQhAiAGKAIIIQQMCAsgESADIARrQQJ1IgdqIgJBgICAgARPDQFB/////wMgBSAEayIFQQF1IhIgAiACIBJJGyAFQfz///8HTxsiEgR/IBJBgICAgARPDQMgEkECdBAaBUEACyIVIAdBAnRqIgUhByABIA5HBEBBACEEIAUhAiAUQQRrIg5BAnZBAWpBB3EiBwRAA0AgAiABQQRrIgEoAgA2AgAgAkEEaiECIARBAWoiBCAHRw0ACwsgEUECdCAFaiEHIA5BHE8EQANAIAIgAUEEaygCADYCACACIAFBCGsoAgA2AgQgAiABQQxrKAIANgIIIAIgAUEQaygCADYCDCACIAFBFGsoAgA2AhAgAiABQRhrKAIANgIUIAIgAUEcaygCADYCGCACIAFBIGsiASgCADYCHCACQSBqIgIgB0cNAAsLIAYoAgghBAsgEkECdCAVaiECIAMgBEYNAyADIQEDQCAFQQRrIgUgAUEEayIBKAIANgIAIAEgBEcNAAsgBigCDCEEIAYoAggMBAsgBiACNgIMDAYLECIACxApAAsgAyIECyEBIAcgAyAEIANrIgMQHSEEIAYgAjYCECAGIAMgBGoiAjYCDCAGIAU2AgggAUUNASABEA0MAQsgAyADIBFBAnQiBGprIgdBAnUhESADIAMiAiAEayIFSwRAA0AgAiAFKAIANgIAIAJBBGohAiAFQQRqIgUgA0kNAAsLIAYgAjYCDCADIBFBAnRrIAMgBxAdGiABIA5GDQADQCADIAFBBGsiASgCADYCACADQQRqIQMgASAORw0ACyAGKAIMIQIgBigCCCEEDAELIAYoAgghBAsgBCACIgNHDQALIARFDQELIAQQDQsgBigCQCEBIAYoAkQhAiAGKAJIIQMCQAJAAkAgCEUEQCAGQQA2AjggBkIANwMwDAELIA1B8P///wdPDQECQCANQQpNBEAgBiANOgA7IAZBMGohBQwBCyANQQ9yQQFqIgQQGiEF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AAJAIAQoAiAEQCAALQCsAiEHIABBAToArAIgAC0AsQIhCCAALQCwAiEJIABBgQI7AbACIAAoApwCIQECfyAELQAkBEAgARCaAQwBCyABEJkBCyEBIARBIGohCiADIAA2AgwgACgCmAIhAiADQgA3AiAgA0IANwIoIANCADcALSADQUBrQgA3AgAgA0IANwJIIANCADcCGCADIAE2AhQgAyACNgIQIANCADcCOCAAIANBDGo2ApgCIABBGGohBiAAKAIYIQsgACgCFCEFA0AgASICLQBQBEAgASgCHCIBDQELCwJAIAItADwEQCACKAI4IQEMAQsgBSALQQ5BESACIAUoAvwBIgEoApwCIAEoAqgCIgFBJ24iBUECdGooAgAgASAFQSdsa0HoAGxqRyIBGyACKAIAKAIAIAEQQyEBIAJBAToAPCACIAE2AjgLIAAoAqQCIQIgA0EANgJcIAMgATYCWCADQdAAaiACIAIoAhAgBiADQdgAahBCIAAgCiAEECAgA0EMahCcASAAIAk6ALACIAAgCDoAsQIgACAHOgCsAgwBCyAALQCuAg0AIAAoApwCIQEgBC0AJARAIAEQmgEaDAELIAEQmQEaCyADQeAAaiQADLMBCyABKAIAIgEtACgEQCAAIAFBHGogARAgCyAAKAIABEACQCABKAIcKAIIQcMARw0AIAEtACkNACAAKAKcAhCZARoLIAAgAUEgaiABECALDLIBCyABKAIAIQMjAEEwayIBJAAgACgCBC0AWkUEQCAAKAIIIVEgAykCECFbIAFBrfQANgIcIAFBgwI7ASQgASBbNwMQIAEgWzcDKCBRQQAgW6cgAUEQaiABQRxqQQBBABAQCwJAIAAtAK0CRQ0AIAMoAiggA0EoakYNACAAKAIIIVIgAykCECFbIAFBr/4ANgIcIAFBgwI7ASQgASBbNwMIIAEgWzcDKCBSQQAgW6cgAUEIaiABQRxqQQBBABAQCyAAKAKYAigCCCICKAIoIgQgAigCLE8EQCACQSRqIAJBMGpBAEEEEBggAigCKCEECyACKAIkIARBAnRqIAM2AAAgAiACKAIoQQFqNgIoIAAgAxAXIAFBMGokAAyxAQsgACABKAIAEBcMsAELIAAgASgCABAXDK8BCyAAIAEoAgAQFwyuAQsgACABKAIAEBcMrQELIAEoAgAhAiMAQSBr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AgAQFwxXCyAAIAEoAgAQFwxWCyAAIAEoAgAQFwxVCyAAIAEoAgAQFwxUCyAAIAEoAgAQFwxTCyAAIAEoAgAQFwxSCyAAIAEoAgAQFwxRCyAAIAEoAgAQFwxQCyAAIAEoAgAQFwxPCyAAIAEoAgAQFwxOCyAAIAEoAgAQFwxNCyAAIAEoAgAQFwxMCyAAIAEoAgAQFwxLCyAAIAEoAgAQFwxKCyAAIAEoAgAQFwxJCyAAIAEoAgAQFwxICyAAIAEoAgAQFwxHCyAAIAEoAgAQFwxGCyAAIAEoAgAQFwxFCyAAIAEoAgAQFwxECyAAIAEoAgAQFwxDCyAAIAEoAgAQFwxCCyAAIAEoAgAiAUEcaiABECAMQQsgACABKAIAIgFBHGogARAgDEALIAAgASgCABAXDD8LIAAgASgCABAXDD4LIAAgASgCABAXDD0LIAAgASgCABAXDDwLIAAgASgCABAXDDsLIAAgASgCABAXDDoLIAAgASgCABAXDDkLIAAgASgCABAXDDgLIAAgASgCABAXDDcLIAAgASgCABAXDDYLIAAgASgCABAXDDULIAAgASgCABAXDDQLIAAgASgCABAXDDMLIAAgASgCABAXDDILIAAgASgCABAXDDELIAAgASgCABAXDDALIAAgASgCABAXDC8LIAAgASgCABAXDC4LIAAgASgCABAXDC0LIAAgASgCABAXDCwLIAAgASgCABAXDCsLIAAgASgCABAXDCoLIAAgASgCABAXDCkLIAAgASgCABAXDCgLIAAgASgCABAXDCcLIAAgASgCABAXDCYLIAAgASgCABAXDCULIAAgASgCABAXDCQLIAAgASgCABAXDCMLIAAgASgCABAXDCILIAAgASgCABAXDCELIAAgASgCABAXDCALIAAgASgCABAXDB8LIAAgASgCABAXDB4LIAAgASgCABAXDB0LIAAgASgCABAXDBwLIAAgASgCABAXDBsLIAAgASgCABAXDBoLIAAgASgCABAXDBkLIAAgASgCABAXDBgLIAAgASgCABAXDBcLIAAgASgCABAXDBYLIAAgASgCABAXDBULIAAgASgCABAXDBQLIAAgASgCABAXDBMLIAAgASgCABAXDBILIAAgASgCABAXDBELIAAgASgCABAXDBALIAAgASgCABAXDA8LIAAgASgCABAXDA4LIAAgASgCABAXDA0LIAAgASgCABAXDAwLIAAgASgCABAXDAsLIAAgASgCABAXDAoLIAAgASgCABAXDAkLIAAgASgCABAXDAgLIAAgASgCABAXDAcLIwBBIGsiAiQAIAAoAgghViABKAIAKQIQIVsgAkHboQE2AgwgAkGDAjsBFCACIFs3AwAgAiBbNwMYIFZBACBbpyACIAJBDGpBAEEAEBAgAkEgaiQADAYLIwBBIGsiAiQAIAAoAgghVyABKAIAKQIQIVsgAkGVoQE2AgwgAkGDAjsBFCACIFs3AwAgAiBbNwMYIFdBACBbpyACIAJBDGpBAEEAEBAgAkEgaiQADAULIwBBIGsiAiQAIAAoAgghWCABKAIAKAIQIQEgAkHsPTYCDCACQYMCOwEUIAJCADcDACACQgA3AxggWEEAIAEgAiACQQxqQQBBABAQIAJBIGokAAwECyMAQSBrIgIkACAAKAIIIVkgASgCACkCECFbIAJBzA82AgwgAkGDAjsBFCACIFs3AwAgAiBbNwMYIFlBACBbpyACIAJBDGpBAEEAEBAgAkEgaiQADAMLIwBBIGsiAiQAIAAoAgghWiABKAIAKQIQIVsgAkGnDzYCDCACQYMCOwEUIAIgWzcDACACIFs3AxggWkEAIFunIAIgAkEMakEAQQAQECACQSBqJAAMAgsgACABKAIAEBcMAQsgACABKAIAEBcLIAAoAgAiA0UNAQsgACADQQFqNgIACwtxAgR/AX4gASgCDCICIAEoAgAgAigCAEECdGooAgAiAyACKAIEaq1CB3wiBiAGQgeDfacgA2s2AgQCQCAAQYCAEE0EQCABKAIMIgIoAgQiBCAAaiIFQYGAEEkNAQsgASAAEA4PCyACIAU2AgQgAyAEagsJAEHnJxCNAgAL+gEBBn8gACgCBCICKAIYIgAgAigCHCIDSQRAIAAgATYCACACIABBBGo2AhgPCwJAIAAgAigCFCIFa0ECdSIHQQFqIgRBgICAgARJBEBB/////wMgAyAFayIDQQF1IgYgBCAEIAZJGyADQfz///8HTxsiAwR/IANBgICAgARPDQIgA0ECdBAaBUEACyIGIAdBAnRqIgQgATYCACAEQQRqIQEgACAFRwRAA0AgBEEEayIEIABBBGsiACgCADYCACAAIAVHDQALIAIoAhQhAAsgAiAGIANBAnRqNgIcIAIgATYCGCACIAQ2AhQgAARAIAAQDQsPCxAiAAsQKQALxwIBCH8gACgCBCEEIAEgASgCBCICRwRAA0AgA0EBaiEDIAIoAgQiAiABRw0ACwsCQAJAAkAgBCgCGCICIAQoAhwiBUkEQCACIAM2AgAgBCACQQRqNgIYDAELIAIgBCgCFCIHa0ECdSIJQQFqIgZBgICAgARPDQFB/////wMgBSAHayIFQQF1IgggBiAGIAhJGyAFQfz///8HTxsiBQR/IAVBgICAgARPDQMgBUECdBAaBUEACyIIIAlBAnRqIgYgAzYCACAGQQRqIQMgAiAHRwRAA0AgBkEEayIGIAJBBGsiAigCADYCACACIAdHDQALIAQoAhQhAgsgBCAIIAVBAnRqNgIcIAQgAzYCGCAEIAY2AhQgAkUNACACEA0LIAEgASgCBCIDRwRAA0AgACADEBwgAygCBCIDIAFHDQALCw8LECIACxApAAvyAgEDfwJAIAAoAgggACgCDCIDayIEIAJPDQADQCAAKAIEIgVFBEAgACgCEEUEQCAAIAEgAiAAKAIAKAIcEQEAIAAPCyAAEDIgACgCCCAAKAIMIgNrIgQgAkkNAQwCCwJAIAMgBUYEQCAAIAEgAiACIARwIgJrIgQgACgCACgCHBEBACAAKAIIIAAoAgwiA2siBSACSQ0BIAAgASAEaiACEOICIAAPCyAAIAEgBBDiAiAAKAIMIQMgACAAKAIEIgU2AgwgACAFIAMgBWsgACgCACgCHBEBACACIARrIQIgACgCCCAAKAIMIgNrIQULIAEgBGohASAFIgQgAkkNAAsLAkACQAJAAkACQAJAIAIOBQUDAgEABAsgAyABLQADOgADIAAoAgwhAwsgAyABLQACOgACIAAoAgwhAwsgAyABLQABOgABIAAoAgwhAwsgAyABLQAAOgAADAELIAMgASACEB8aCyAAIAAoAgwgAmo2AgwgAAuEAwEHfyAAKAIAIQICQCABQf8ATQRAQQEhAwwBCyABQf8PTQRAIAIgAUE/cUGAAXI6AAEgAUEGdkFAciEBQQIhAwwBCyABQf//A00EQCACIAFBP3FBgAFyOgACIAIgAUEGdkE/cUGAAXI6AAEgAUEMdkFgciEBQQMhAwwBCyABQf///wBNBEAgAiABQT9xQYABcjoAAyACIAFBBnZBP3FBgAFyOgACIAIgAUEMdkE/cUGAAXI6AAEgAUESdkFwciEBQQQhAwwBCyABQRh2IQQgAUE/cUGAf3IhBSABQRJ2QT9xQYB/ciEGIAFBDHZBP3FBgH9yIQdBBiEDIAFBBnZBP3FBgH9yIQggAUH///8fTQRAIAIgCDoAAyACIAU6AAQgAiAHOgACIAIgBjoAASAEQXhyIQFBBSEDDAELIAIgCDoABCACIAU6AAUgAiAHOgADIAIgBjoAAiACIARBP3FBgAFyOgABIAFBHnZBAXFBfHIhAQsgAiABOgAAIAAgAiADajYCAAspAQF/IAIEQCAAIQMDQCADIAE6AAAgA0EBaiEDIAJBAWsiAg0ACwsgAAsUACAAIAEoAhwQHCAAIAEoAiAQHAsgAQF/QQQQlQEQugIiAEHkyAI2AgAgAEHUyQJBARAAAAsGACAAEA0LvygBDH8jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB9AFNBEBBpMsCKAIAIgZBECAAQQtqQXhxIABBC0kbIgVBA3YiAHYiAUEDcQRAAkAgAUF/c0EBcSAAaiICQQN0IgFBzMsCaiIAIAFB1MsCaigCACIBKAIIIgRGBEBBpMsCIAZBfiACd3E2AgAMAQsgBCAANgIMIAAgBDYCCAsgAUEIaiEAIAEgAkEDdCICQQNyNgIEIAEgAmoiASABKAIEQQFyNgIEDA8LIAVBrMsCKAIAIgdNDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIBQQN0IgBBzMsCaiICIABB1MsCaigCACIAKAIIIgRGBEBBpMsCIAZBfiABd3EiBjYCAAwBCyAEIAI2AgwgAiAENgIICyAAIAVBA3I2AgQgACAFaiIIIAFBA3QiASAFayIEQQFyNgIEIAAgAWogBDYCACAHBEAgB0F4cUHMywJqIQFBuMsCKAIAIQICfyAGQQEgB0EDdnQiA3FFBEBBpMsCIAMgBnI2AgAgAQwBCyABKAIICyEDIAEgAjYCCCADIAI2AgwgAiABNgIMIAIgAzYCCAsgAEEIaiEAQbjLAiAINgIAQazLAiAENgIADA8LQajLAigCACILRQ0BIAtoQQJ0QdTNAmooAgAiAigCBEF4cSAFayEDIAIhAQNAAkAgASgCECIARQRAIAEoAhQiAEUNAQsgACgCBEF4cSAFayIBIAMgASADSSIBGyEDIAAgAiABGyECIAAhAQwBCwsgAigCGCEJIAIgAigCDCIERwRAQbTLAigCABogAigCCCIAIAQ2AgwgBCAANgIIDA4LIAJBFGoiASgCACIARQRAIAIoAhAiAEUNAyACQRBqIQELA0AgASEIIAAiBEEUaiIBKAIAIgANACAEQRBqIQEgBCgCECIADQALIAhBADYCAAwNC0F/IQUgAEG/f0sNACAAQQtqIgBBeHEhBUGoywIoAgAiCEUNAEEAIAVrIQMCQAJAAkACf0EAIAVBgAJJDQAaQR8gBUH///8HSw0AGiAFQSYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIHQQJ0QdTNAmooAgAiAUUEQEEAIQAMAQtBACEAIAVBGSAHQQF2a0EAIAdBH0cbdCECA0ACQCABKAIEQXhxIAVrIgYgA08NACABIQQgBiIDDQBBACEDIAEhAAwDCyAAIAEoAhQiBiAGIAEgAkEddkEEcWooAhAiAUYbIAAgBhshACACQQF0IQIgAQ0ACwsgACAEckUEQEEAIQRBAiAHdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB1M0CaigCACEACyAARQ0BCwNAIAAoAgRBeHEgBWsiAiADSSEBIAIgAyABGyEDIAAgBCABGyEEIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIARFDQAgA0GsywIoAgAgBWtPDQAgBCgCGCEHIAQgBCgCDCICRwRAQbTLAigCABogBCgCCCIAIAI2AgwgAiAANgIIDAwLIARBFGoiASgCACIARQRAIAQoAhAiAEUNAyAEQRBqIQELA0AgASEGIAAiAkEUaiIBKAIAIgANACACQRBqIQEgAigCECIADQALIAZBADYCAAwLCyAFQazLAigCACIETQRAQbjLAigCACEAAkAgBCAFayIBQRBPBEAgACAFaiICIAFBAXI2AgQgACAEaiABNgIAIAAgBUEDcjYCBAwBCyAAIARBA3I2AgQgACAEaiIBIAEoAgRBAXI2AgRBACECQQAhAQtBrMsCIAE2AgBBuMsCIAI2AgAgAEEIaiEADA0LIAVBsMsCKAIAIgJJBEBBsMsCIAIgBWsiATYCAEG8ywJBvMsCKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAAwNC0EAIQAgBUEvaiIDAn9B/M4CKAIABEBBhM8CKAIADAELQYjPAkJ/NwIAQYDPAkKAoICAgIAENwIAQfzOAiAKQQxqQXBxQdiq1aoFczYCAEGQzwJBADYCAEHgzgJBADYCAEGAIAsiAWoiBkEAIAFrIghxIgEgBU0NDEHczgIoAgAiBARAQdTOAigCACIHIAFqIgkgB00gBCAJSXINDQsCQEHgzgItAABBBHFFBEACQAJAAkACQEG8ywIoAgAiBARAQeTOAiEAA0AgBCAAKAIAIgdPBEAgByAAKAIEaiAESw0DCyAAKAIIIgANAAsLQQAQfCICQX9GDQMgASEGQYDPAigCACIAQQFrIgQgAnEEQCABIAJrIAIgBGpBACAAa3FqIQYLIAUgBk8NA0HczgIoAgAiAARAQdTOAigCACIEIAZqIgggBE0gACAISXINBAsgBhB8IgAgAkcNAQwFCyAGIAJrIAhxIgYQfCICIAAoAgAgACgCBGpGDQEgAiEACyAAQX9GDQEgBUEwaiAGTQRAIAAhAgwEC0GEzwIoAgAiAiADIAZrakEAIAJrcSICEHxBf0YNASACIAZqIQYgACECDAMLIAJBf0cNAgtB4M4CQeDOAigCAEEEcjYCAAsgARB8IgJBf0ZBABB8IgBBf0ZyIAAgAk1yDQUgACACayIGIAVBKGpNDQULQdTOAkHUzgIoAgAgBmoiADYCAEHYzgIoAgAgAEkEQEHYzgIgADYCAAsCQEG8ywIoAgAiAwRAQeTOAiEAA0AgAiAAKAIAIgEgACgCBCIEakYNAiAAKAIIIgANAAsMBAtBtMsCKAIAIgBBACAAIAJNG0UEQEG0ywIgAjYCAAtBACEAQejOAiAGNgIAQeTOAiACNgIAQcTLAkF/NgIAQcjLAkH8zgIoAgA2AgBB8M4CQQA2AgADQCAAQQN0IgFB1MsCaiABQczLAmoiBDYCACABQdjLAmogBDYCACAAQQFqIgBBIEcNAAtBsMsCIAZBKGsiAEF4IAJrQQdxIgFrIgQ2AgBBvMsCIAEgAmoiATYCACABIARBAXI2AgQgACACakEoNgIEQcDLAkGMzwIoAgA2AgAMBAsgAiADTSABIANLcg0CIAAoAgxBCHENAiAAIAQgBmo2AgRBvMsCIANBeCADa0EHcSIAaiIBNgIAQbDLAkGwywIoAgAgBmoiAiAAayIANgIAIAEgAEEBcjYCBCACIANqQSg2AgRBwMsCQYzPAigCADYCAAwDC0EAIQQMCgtBACECDAgLQbTLAigCACACSwRAQbTLAiACNgIACyACIAZqIQFB5M4CIQACQAJAAkADQCABIAAoAgBHBEAgACgCCCIADQEMAgsLIAAtAAxBCHFFDQELQeTOAiEAA0AgAyAAKAIAIgFPBEAgASAAKAIEaiIEIANLDQMLIAAoAgghAAwACwALIAAgAjYCACAAIAAoAgQgBmo2AgQgAkF4IAJrQQdxaiIHIAVBA3I2AgQgAUF4IAFrQQdxaiIGIAUgB2oiBWshACADIAZGBEBBvMsCIAU2AgBBsMsCQbDLAigCACAAaiIANgIAIAUgAEEBcjYCBAwIC0G4ywIoAgAgBkYEQEG4ywIgBTYCAEGsywJBrMsCKAIAIABqIgA2AgAgBSAAQQFyNgIEIAAgBWogADYCAAwICyAGKAIEIgNBA3FBAUcNBiADQXhxIQkgA0H/AU0EQCAGKAIMIgEgBigCCCICRgRAQaTLAkGkywIoAgBBfiADQQN2d3E2AgAMBwsgAiABNgIMIAEgAjYCCAwGCyAGKAIYIQggBiAGKAIMIgJHBEAgBigCCCIBIAI2AgwgAiABNgIIDAULIAZBFGoiASgCACIDRQRAIAYoAhAiA0UNBCAGQRBqIQELA0AgASEEIAMiAkEUaiIBKAIAIgMNACACQRBqIQEgAigCECIDDQALIARBADYCAAwEC0GwywIgBkEoayIAQXggAmtBB3EiAWsiCDYCAEG8ywIgASACaiIBNgIAIAEgCEEBcjYCBCAAIAJqQSg2AgRBwMsCQYzPAigCADYCACADIARBJyAEa0EHcWpBL2siACAAIANBEGpJGyIBQRs2AgQgAUHszgIpAgA3AhAgAUHkzgIpAgA3AghB7M4CIAFBCGo2AgBB6M4CIAY2AgBB5M4CIAI2AgBB8M4CQQA2AgAgAUEYaiEAA0AgAEEHNgIEIABBCGohDCAAQQRqIQAgDCAESQ0ACyABIANGDQAgASABKAIEQX5xNgIEIAMgASADayICQQFyNgIEIAEgAjYCACACQf8BTQRAIAJBeHFBzMsCaiEAAn9BpMsCKAIAIgFBASACQQN2dCICcUUEQEGkywIgASACcjYCACAADAELIAAoAggLIQEgACADNgIIIAEgAzYCDCADIAA2AgwgAyABNgIIDAELQR8hACACQf///wdNBEAgAkEmIAJBCHZnIgBrdkEBcSAAQQF0a0E+aiEACyADIAA2AhwgA0IANwIQIABBAnRB1M0CaiEBAkACQEGoywIoAgAiBEEBIAB0IgZxRQRAQajLAiAEIAZyNgIAIAEgAzYCAAwBCyACQRkgAEEBdmtBACAAQR9HG3QhACABKAIAIQQDQCAEIgEoAgRBeHEgAkYNAiAAQR12IQQgAEEBdCEAIAEgBEEEcWoiBigCECIEDQALIAYgAzYCEAsgAyABNgIYIAMgAzYCDCADIAM2AggMAQsgASgCCCIAIAM2AgwgASADNgIIIANBADYCGCADIAE2AgwgAyAANgIIC0GwywIoAgAiACAFTQ0AQbDLAiAAIAVrIgE2AgBBvMsCQbzLAigCACIAIAVqIgI2AgAgAiABQQFyNgIEIAAgBUEDcjYCBCAAQQhqIQAMCAtBoMsCQTA2AgBBACEADAcLQQAhAgsgCEUNAAJAIAYoAhwiAUECdEHUzQJqIgQoAgAgBkYEQCAEIAI2AgAgAg0BQajLAkGoywIoAgBBfiABd3E2AgAMAgsgCEEQQRQgCCgCECAGRhtqIAI2AgAgAkUNAQsgAiAINgIYIAYoAhAiAQRAIAIgATYCECABIAI2AhgLIAYoAhQiAUUNACACIAE2AhQgASACNgIYCyAAIAlqIQAgBiAJaiIGKAIEIQMLIAYgA0F+cTYCBCAFIABBAXI2AgQgACAFaiAANgIAIABB/wFNBEAgAEF4cUHMywJqIQECf0GkywIoAgAiAkEBIABBA3Z0IgBxRQRAQaTLAiAAIAJyNgIAIAEMAQsgASgCCAshACABIAU2AgggACAFNgIMIAUgATYCDCAFIAA2AggMAQtBHyEDIABB////B00EQCAAQSYgAEEIdmciAWt2QQFxIAFBAXRrQT5qIQMLIAUgAzYCHCAFQgA3AhAgA0ECdEHUzQJqIQECQAJAQajLAigCACICQQEgA3QiBHFFBEBBqMsCIAIgBHI2AgAgASAFNgIADAELIABBGSADQQF2a0EAIANBH0cbdCEDIAEoAgAhAgNAIAIiASgCBEF4cSAARg0CIANBHXYhAiADQQF0IQMgASACQQRxaiIEKAIQIgINAAsgBCAFNgIQCyAFIAE2AhggBSAFNgIMIAUgBTYCCAwBCyABKAIIIgAgBTYCDCABIAU2AgggBUEANgIYIAUgATYCDCAFIAA2AggLIAdBCGohAAwCCwJAIAdFDQACQCAEKAIcIgBBAnRB1M0CaiIBKAIAIARGBEAgASACNgIAIAINAUGoywIgCEF+IAB3cSIINgIADAILIAdBEEEUIAcoAhAgBEYbaiACNgIAIAJFDQELIAIgBzYCGCAEKAIQIgAEQCACIAA2AhAgACACNgIYCyAEKAIUIgBFDQAgAiAANgIUIAAgAjYCGAsCQCADQQ9NBEAgBCADIAVqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMAQsgBCAFQQNyNgIEIAQgBWoiAiADQQFyNgIEIAIgA2ogAzYCACADQf8BTQRAIANBeHFBzMsCaiEAAn9BpMsCKAIAIgFBASADQQN2dCIDcUUEQEGkywIgASADcjYCACAADAELIAAoAggLIQEgACACNgIIIAEgAjYCDCACIAA2AgwgAiABNgIIDAELQR8hACADQf///wdNBEAgA0EmIANBCHZnIgBrdkEBcSAAQQF0a0E+aiEACyACIAA2AhwgAkIANwIQIABBAnRB1M0CaiEBAkACQCAIQQEgAHQiBnFFBEBBqMsCIAYgCHI2AgAgASACNgIADAELIANBGSAAQQF2a0EAIABBH0cbdCEAIAEoAgAhBQNAIAUiASgCBEF4cSADRg0CIABBHXYhBiAAQQF0IQAgASAGQQRxaiIGKAIQIgUNAAsgBiACNgIQCyACIAE2AhggAiACNgIMIAIgAjYCCAwBCyABKAIIIgAgAjYCDCABIAI2AgggAkEANgIYIAIgATYCDCACIAA2AggLIARBCGohAAwBCwJAIAlFDQACQCACKAIcIgBBAnRB1M0CaiIBKAIAIAJGBEAgASAENgIAIAQNAUGoywIgC0F+IAB3cTYCAAwCCyAJQRBBFCAJKAIQIAJGG2ogBDYCACAERQ0BCyAEIAk2AhggAigCECIABEAgBCAANgIQIAAgBDYCGAsgAigCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAIgAyAFaiIAQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDAELIAIgBUEDcjYCBCACIAVqIgQgA0EBcjYCBCADIARqIAM2AgAgBwRAIAdBeHFBzMsCaiEAQbjLAigCACEBAn9BASAHQQN2dCIFIAZxRQRAQaTLAiAFIAZyNgIAIAAMAQsgACgCCAshBiAAIAE2AgggBiABNgIMIAEgADYCDCABIAY2AggLQbjLAiAENgIAQazLAiADNgIACyACQQhqIQALIApBEGokACAAC50DAgh/AX4jAEEQayIDJAAgASgCKCEIIAEoAiQhCSABKAI4IQYgASgCWCEKIAEoAiAhBSABKAIAIgQpAqABIQsgBEEBOgCkASAEQQA2AqABIAMgASgCyAYgASgCxAZrQQxtNgIMIANBAToACCADIAE2AgAgAyADQQxqNgIEIAFBABAMGiABKAIgIQcgAEEBOgAEIAAgBzYCAAJAAkAgAS0AYARAIABBADoABCAAQQA2AgAMAQsgAi0ABEUNACACKAIAIAdGDQELIAEgCDYCKCABIAk2AiQCQAJAIAVB2wBHBEAgBUEBRw0BIAEgBjYCOCABQQE2AiAMAgsgAUHbADYCIAwBCyABIAY2AjggASAFNgIgCyABIAo2AlggAS0AGkUNACABIAEoAtQGQQxrNgLUBgsCQCABLQAZRQ0AIAEoAsQGIAMoAgxBDGxqIgAgASgCyAYiAkYNACABIAAgACACIABrQQxtQQxsaiIAIAIgAGsiABAdIABBDG1BDGxqNgLIBgsgBCALQiCIPACkASAEIAs+AqABIANBEGokAAsKAEHY2AAQjQIAC0oBA38gACgCBCIBBEADQCABKAIQIQMgARANIAMiAQ0ACwsCQCAAKAIIIgFFDQAgASABKAIQQQFrIgI2AhAgAg0AIAEQLhANCyAAC/gEAQl/IwBBMGsiAiQAIAEtAJUHIQcgASgC6AYoAgQhAyABQQE6AJUHIAJBGGogARDTAQJAIAItABxFBEAgAEEAOgAEDAELIAEoAugGKAIAQSZGBEAgASABQQhqIgVBAxAMNgLoBiABLQCVByEEIAFBADoAlQcgAkEgaiABENMBIAItACQhCiACKAIgIQggASAEOgCVByAKRQRAIABBADoABAwCCyABKALoBigCAEHbAEcEQCACQQE2AiQgAkHbADYCLCACIAJBLGo2AiAgAiACKQIgNwMQIAEgAkEQakGv5wBB6+cAIAMQGSAAQQA6AAQMAgsgASAFQQMQDDYC6AYgAS0AlAchBCABQQE6AJQHIAJBIGogARAvIAItACRF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QCAAKAIEIgMoAhgiASADKAIcIgRJBEAgAUEANgIAIAMgAUEEajYCGA8LIAEgAygCFCIFa0ECdSIHQQFqIgJBgICAgARPDQJBACEAQf////8DIAQgBWsiBEEBdSIGIAIgAiAGSRsgBEH8////B08bIgQEQCAEQYCAgIAETw0EIARBAnQQGiEACyAAIAdBAnRqIgJBADYCACACQQRqIQcgASAFRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAVHDQALIAMoAhQhAQsgAyAAIARBAnRqNgIcIAMgBzYCGCADIAI2AhQgAUUNASABEA0PCyABKAIEIQcgASgCACEGAkAgACgCBCIDKAIYIgEgAygCHCIESQRAIAEgBjYCACADIAFBBGo2AhgMAQsgASADKAIUIgVrQQJ1IglBAWoiAkGAgICABE8NBEH/////AyAEIAVrIgRBAXUiCCACIAIgCEkbIARB/P///wdPGyIEBH8gBEGAgICABE8NBCAEQQJ0EBoFQQALIgggCUECdGoiAiAGNgIAIAJBBGohBiABIAVHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgBUcNAAsgAygCFCEBCyADIAggBEECdGo2AhwgAyAGNgIYIAMgAjYCFCABRQ0AIAEQDQsgACgCBCIAKAIYIgEgACgCHCIFSQRAIAEgBzYCACAAIAFBBGo2AhgPCyABIAAoAhQiA2tBAnUiBEEBaiICQYCAgIAETw0EQf////8DIAUgA2siBUEBdSIGIAIgAiAGSRsgBUH8////B08bIgUEfyAFQYCAgIAETw0DIAVBAnQQGgVBAAsiBiAEQQJ0aiICIAc2AgAgAkEEaiEEIAEgA0cEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgASADRw0ACyAAKAIUIQELIAAgBiAFQQJ0ajYCHCAAIAQ2AhggACACNgIUIAFFDQAgARANCw8LECIACxApAAsQIgALECIAC/gEAQh/IAEgACgCCCIGIAAoAgQiBGtNBEACQCABRQ0AIAQhAyABQQdxIgcEQANAIAMgAi0AADoAACADQQFqIQMgBUEBaiIFIAdHDQALCyABIARqIQQgAUEISQ0AA0AgAyACLQAAOgAAIAMgAi0AADoAASADIAItAAA6AAIgAyACLQAAOgADIAMgAi0AADoABCADIAItAAA6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QQBBARAQIAAoAgAtAJQBBEAgACAAKAJcNgJYCyACQRBqJAALKwEBfwJAIABBCGoiASgCAARAIAEQ1AJBf0cNAQsgACAAKAIAKAIQEQMACwucBgEHfyMAQbACayICJAACQAJAAkACQCABLQAIIgVBBEcgAS0ACSIDQQFHckUEQCABKAIAIgEsAAtBAE4EQCAAIAEpAgA3AgAgACABKAIINgIIDAULIAEoAgAhBgJAIAEoAgQiA0EKTQRAIAAgAzoACwwBCyADQfD///8HTw0CIANBD3JBAWoiBRAaIQEgACAFQYCAgIB4cjYCCCAAIAE2AgAgACADNgIEIAEhAAsgACAGIANBAWoQHRoMBAsgBUEHRyADQQFHckUEQCABKAIAIQggAEEANgIIIABCADcCACACQoCAgIAQNwKkAiACQgA3ApwCIAIgADYCrAIgAkHUqgI2ApgCIAJCgICAgIAQNwIQIAIgAkEYaiIANgIMIAggAkGYAmoQ4QIgACACKAIMIgFHBEAgARANCwJAIAIoAqQCIgEgAigCnAIiAEYNACACIAA2AqQCIAJBmAJqIAAgASAAayACKAKYAigCHBEBACACQdSqAjYCmAIgAigCpAIiASACKAKcAiIARg0AIAIgADYCpAIgAigCrAIgACABIABrEDcaCyACQeipAjYCmAIgAigCqAJBAUcNBCACKAKcAiIARQ0EIAAQDQwECyACQoCAgICAIDcCECACIAJBGGoiBjYCDAJAAkACQAJAIANBAUcNACAGIQMCQAJAAkACQCAFQQFrDgYGBAABAgMECyABKAIAIgRFDQUgBBA7IQEMBgsgASgCACIELQALIgHAQQBODQcgBCgCBCEBIAQoAgAhBAwDCyABKAIAIgEoAgAhBCABKAIEIQEMAgsgASgCACIDKAIEIQEgAygCACEEIAYhAwwBCyABIAJBDGoQ8QEgAigCECEBIAIoAgwiAyEECyAEDQELIABCADcCACAAQQA2AggMAwsgAUHw////B0kNAQsQLQALAkAgAUEKTQRAIAAgAToACwwBCyABQQ9yQQFqIgcQGiEFIAAgB0GAgICAeHI2AgggACAFNgIAIAAgATYCBCAFIQALIAAgBCABEB0gAWpBADoAAAsgAyAGRg0AIAMQDQsgAkGwAmokAAvJBAEJfyMAQRBrIgckACAHIAE2Agwg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FCABLQAbIgUgBcAiBUEASCIIG0EXRw0AIAEoAhAiBiABQRBqIAgbQcDSAUEXEA9FDQEMBAtBACEEIAYgB08NAyABLQAbIQUgASgCECEGCyADIAEpAgg3AxggAyABKQIANwMQIAMgASgAFzYACyADIAEoAhQ2AgggAUEANgIYIAFCADcCECABIAIpAgg3AgggASACKQIANwIAIAEgAigCGDYCGCABIAIpAhA3AhAgASkCHCEKIAJBADoAECACQQA6ABsgASACKQIcNwIcIAIgAykDGDcCCCACIAMpAxA3AgAgAiwAG0EASARAIAIoAhAQDQsgAUEQaiEHIAIgBjYCECACIAMoAgg2AhQgAiADKAALNgAXIAIgCjcCHCACIAU6ABsCQCABKAIEIgIgASgCAHINACABKAIUIAEtABsiBCAEwEEASCIEG0EXRw0AIAEoAhAgByAEG0HA0gFBFxAPDQBBASEEDAMLAkACQCAAKAIEIgYgACgCAHINACAAKAIUIAAtABsiBCAEwCIFQQBIIggbQRdHDQBBASEEIAAoAhAiAiAAQRBqIAgbQcDSAUEXEA9FDQEMBAtBASEEIAIgBk8NAyAALQAbIQUgACgCECECCyADIAApAgg3AxggAyAAKQIANwMQIAMgACgAFzYACyADIAAoAhQ2AgggAEIANwIQIABBADYCGCAAIAEpAgg3AgggACABKQIANwIAIAAgBygCCDYCGCAAIAcpAgA3AhAgACkCHCEKIAFBADoAECABQQA6ABsgACABKQIcNwIcIAEgAykDGDcCCCABIAMpAxA3AgAgASwAG0EASARAIAcoAgAQDQsgASACNgIQIAEgAygACzYAFyABIAMoAgg2AhQgASAKNwIcIAEgBToAGwwBCwJAAkAgAigCBCIEIAIoAgByDQAgAigCFCACLQAbIgYgBsBBAEgiBhtBF0cNACACKAIQIAJBEGogBhtBwNIBQRcQD0UNAQsCQAJAIAUNACABKAIUIAEtABsiBSAFwEEASCIFG0EXRw0AIAEoAhAgAUEQaiAFG0HA0gFBFxAPRQ0BDAILIAQgB08NAQsgAyAAKQIINwMYIAMgACkCADcDECAAKAIQIQEgAyAAKAAXNgALIAMgACgCFDYCCCAAQgA3AhAgAC0AGyEEIABBADYCGCAAIAIpAgg3AgggACACKQIANwIAIAAgAigCGDYCGCAAIAIpAhA3AhAgACkCHCEKIAJBADoAECACQQA6ABsgACACKQIcNwIcIAIgAykDGDcCCCACIAMpAxA3AgAgAiwAG0EASARAIAIoAhAQDQsgAiABNgIQIAIgAygCCDYCFCACIAMoAAs2ABcgAiAKNwIcIAIgBDoAG0EBIQQMAgsgAyAAKQIINwMYIAMgACkCADcDECAAKAIQIQcgAyAAKAAXNgALIAMgACgCFDYCCCAAQgA3AhAgACwAGyEFIABBADYCGCAAIAEpAgg3AgggACABKQIANwIAIAAgASgCGDYCGCAAIAEpAhA3AhAgACkCHCEKIAFBADoAECABQQA6ABsgACABKQIcNwIcIAEgAykDGDcCCCABIAMpAxA3AgAgAUEQaiEAIAEsABtBAEgEQCAAKAIAEA0LIAEgBzYCECABIAMoAgg2AhQgASADKAALNgAXIAEgCjcCHCABIAU6ABsCQCACKAIEIgYgAigCAHINACACKAIUIAItABsiBCAEwEEASCIEG0EXRw0AIAIoAhAgAkEQaiAEG0HA0gFBFxAPDQBBASEEDAILAkACQCABKAIEIgggASgCAHINACABKAIUIAVB/wFxIAVBAEgiCRtBF0cNAEEBIQQgByAAIAkbQcDSAUEXEA9FDQEMAwtBASEEIAYgCE8NAgsgAyABKQIINwMYIAMgASkCADcDECADIAEoAhQ2AgggAyABKAAXNgALIABBADYCCCAAQgA3AgAgASACKQIINwIIIAEgAikCADcCACAAIAIoAhg2AgggACACKQIQNwIAIAJBADoAGyACQQA6ABAgASACKQIcNwIcIAIgAykDGDcCCCACIAMpAxA3AgAgAiwAG0EASARAIAIoAhAQDQsgAiAHNgIQIAIgAygCCDYCFCACIAMoAAs2ABcgAiAKNwIcIAIgBToAGwtBAiEECyADQSBqJAAgBAurFwISfwF+IwBB0AFrIgYkAAJ/QQAgBUUNABpBACAFKAIIQdQARw0AGkEAIAUoAiQgACgCrAFHDQAaIAAoApwCQQE6AABBAkEBIAAoApwCKAIMKAI0GwshByAAKAKYAigCCCIFLQBEIQkgBiAFKQJIIhg3AyAgBiAYNwMoIAZBMGogACABIAUgCSAHIAZBIGoQkQMhFyAALQCsAiERIAAgAEGsAmogAUEoaiABKAIIQQVGIgUbLQAAOgCsAiAAIAUgAC0AsgIiEkEAR3E6ALICAkAgAC0ArQJFDQAgASgCCCIFQQRrQQJLDQAgAS0ASUUNAAJAIAVBBGsOAwABAAELIAEtAEhFDQAgACgCBC0AZQ0AIAAoAgghFCABKQIQIRggBkHN/QA2AqQBIAZBgwI7AawBIAYgGDcDGCAGIBg3A5ABIBRBACAYpyAGQRhqIAZBpAFqQQBBABAQC0EAIQkCfyADKAIAIgVBACAFKAIIQRVGGyIMRQRAQQAhBUEBDAELIAZBpAFqIAAgDEEsahCQAyAGLQCtAUEBcSEKIAYtAKwBQQFxIQggBigCqAEhBUEBIAYoAqQBIgdFDQAaIAAoApgCKAIIQQE6AEQgByEJQQALIQ4gAUECQQEgACgCmAIoAggtAEQbNgIkIAAoApgCKAIIIgcoAkggBUgEfyAHIAU2AkggACgCmAIoAggFIAcLIAg6AEwgACgCmAIoAgggCjoATQJAIAJFDQAgACgCFCIHIAICfyACLQAdIgVBAnEEfyACQSBqBUEAIAVBBHFFDQEaIAcoAuACIQUCQAJAIAcoAuwCIgdFDQAgBSAHQQFrIg8gAkEEdiACQQl2c3EiC0EDdGoiCigCACINIAJGDQFBASEIA0AgDUF8Rg0BIAggC2ohCiAIQQFqIQggBSAKIA9xIgtBA3RqIgooAgAiDSACRw0ACwwBCyAFIAdBA3RqIQoLIApBBGoLKAIACxBSIAAoApgCKAIILQBERQ0AIAIoAiQiBSAAKAIYRwRAIAUgACgCHEcNAQsgACgCCCEVIAIpAhAhGCAGQYIGOwGsASAGQfTzADYCqAEgBiAFNgKUASAGQcSiATYCkAEgBkGDCjsBmAEgBiAYNwMQIAYgBkGQAWo2AqQBIAYgGDcDgAEgFUEAIBinIAZBEGogBkGkAWpBAEEAEBALAkACQCAMRQ0AIAwtACRFDQAgACgCpAIoAhAhAgJAIAEoAiAiBCgCYCIDRQ0AIAMgAygCEEEBayIFNgIQIAUNACADEC4QDQsgBCACNgJgIAIEQCACIAIoAhBBAWo2AhALIAEoAiAgDC0AJzoAWyABKAIgIAwtACg6AFwMAQsgBkKAgICAwAA3AqgBIAYgBkGwAWoiDTYCpAFBACEFAkAgBCAEKAIEIgJGBEBBASEHDAELQQEhBwNAIAIoAgghCCAAIAIgBkGkAWoQTCAFciEFIAcgCEF8cUHgAEdxIQcgAigCBCICIARHDQALCyAAKAKYAigCCCAHOgBYIAAoApgCKAIIIAVBAXE6AFkgByAOckUEQCAAKAIIIRYgCSkCECEYIAZBoxM2ApABIAZBgwI7AZgBIAYgGDcDCCAGIBg3A4ABIBZBACAYpyAGQQhqIAZBkAFqQQBBABAQCyAGAn8gB0UEQCABKAIIIQdBAQwBCyABKAIIIgdBBUYgACgCmAIoAggtAERBAEdyCzoAowEgBkEAOgCiASAGIAA2ApABIAYgBkGiAWo2ApwBIAYgBkGjAWo2ApgBIAYgBkGkAWo2ApQBQQAhAiAALQCwAiEOIAAgB0EEa0ECTQR/IAEtAElBAEcFQQALQQFzOgCwAiAAIAEoAghBBUYgAC0AsQIiD0EAR3E6ALECAkAgBUEBcQRAIAZBgAFqIABBAEEAEEkhCiAGQZABahCNAwJAAkAgASgCCEEFRg0AIAYtAKIBDQAgAEEYaiEIIAZB9ABqIABBAEEAEEkhCSAAKAIYIQUgACgCFCEEIAAoApgCKAIIIQcDQCAHIgItAFAEQCACKAIcIgcNAQsLAkAgAi0APARAIAIoAjghBQwBCyAEIAVBDkERIAIgBCgC/AEiBCgCnAIgBCgCqAIiBEEnbiIFQQJ0aigCACAEIAVBJ2xrQegAbGpHIgQbIAIoAgAoAgAgBBBDIQUgAkEBOgA8IAIgBTYCOAsgACgCpAIhAiAGQQA2AswBIAYgBTYCyAEgBkHAAWogAiACKAIQIAggBkHIAWoQQiAAKAKYAiILLQAoIRMgC0EBOgAoIAAtAK8CIQggAAJ/QQAgASgCCEEFRw0AGgJAIAhB/wFxDQAgAS0ASQ0AQQAhCEEADAELQQELOgCvAgJ/AkACQAJAAkACQAJAIAEoAghBBGsOBQECAwQFAAsgAUEsagwFCyABQTBqDAQLIAFBMGoMAwsgAUEwagwCCyABQTBqDAELIAFBMGoLIgcoAgQiAiAHRwRAIAchBQNAIAUhBCACIgUoAgQhAiAGIAU2AsgBIAAgBkHIAWogARAgAkAgBSAGKALIAUYNACACIAQ2AgAgBCACNgIEIAQhBSAGKALIASIERQ0AIAQgAigCACIFNgIAIAQgAjYCBCAFIAQ2AgQgAiAENgIAIAQhBQsgAiAHRw0ACwsgACAIOgCvAiALIBM6ACggCSgCACAJKAIENgKgAiAJKAIIKAIAEEogCSgCCCICRQ0BIAIgAigCEEEBayIENgIQIAQNASACEC4QDQwBCyAAKAKYAiIILQAoIQsgCEEBOgAoIAAtAK8CIQkCQCABKAIIQQVHDQACQCAJDQAgAS0ASQ0AQQAhCQwBC0EBIQILIAAgAjoArwICfwJAAkACQAJAAkACQCABKAIIQQRrDgUBAgMEBQALIAFBLGoMBQsgAUEwagwECyABQTBqDAMLIAFBMGoMAgsgAUEwagwBCyABQTBqCyIHKAIEIgIgB0cEQCAHIQUDQCAFIQQgAiIFKAIEIQIgBiAFNgJ0IAAgBkH0AGogARAgAkAgBSAGKAJ0Rg0AIAIgBDYCACAEIAI2AgQgBCEFIAYoAnQiBEUNACAEIAIoAgAiBTYCACAEIAI2AgQgBSAENgIEIAIgBDYCACAEIQULIAIgB0cNAAsLIAAgCToArwIgCCALOgAoCyAGQfQAaiAAQQBBARBJIQIgACABIAMgDCAGLQCiARCMAyACKAIAIAIoAgQ2AqACIAIoAggoAgAQSgJAIAIoAggiAUUNACABIAEoAhBBAWsiAjYCECACDQAgARAuEA0LIAooAgAgCigCBDYCoAIgCigCCCgCABBKIAooAggiAUUNASABIAEoAhBBAWsiAjYCECACDQEgARAuEA0MAQsgBkGAAWogAEEAQQEQSSEIIAZBkAFqEI0DIAAoApgCIgotACghCyAKQQE6ACggAC0ArwIhCSAAAn9BACABKAIIQQVHDQAaAkAgCQ0AIAEtAEkNAEEAIQlBAAwBC0EBCzoArwICfwJAAkACQAJAAkACQCABKAIIQQRrDgUBAgMEBQALIAFBLGoMBQsgAUEwagwECyABQTBqDAMLIAFBMGoMAgsgAUEwagwBCyABQTBqCyIHKAIEIgIgB0cEQCAHIQUDQCAFIQQgAiIFKAIEIQIgBiAFNgJ0IAAgBkH0AGogARAgAkAgBSAGKAJ0Rg0AIAIgBDYCACAEIAI2AgQgBCEFIAYoAnQiBEUNACAEIAIoAgAiBTYCACAEIAI2AgQgBSAENgIEIAIgBDYCACAEIQULIAIgB0cNAAsLIAAgCToArwIgCiALOgAoIAAgASADIAwgBi0AogEQjAMgCCgCACAIKAIENgKgAiAIKAIIKAIAEEogCCgCCCIBRQ0AIAEgASgCEEEBayICNgIQIAINACABEC4QDQsgACAOOgCwAiAAIA86ALECIAYoAqQBIgEgDUYNACABEA0LIAAgEToArAIgACASOgCyAiAXEJwBIAZB0AFqJAALkwMBCn8gACACEGJBASEGIABBCGoiDCAAKAIIIgQgACgCAEEBcSICGyEFAkACQEECIAAoAgwiCCACGyIHRQ0AIAEoAgAiCSAFIAdBAWsiDSAJQSVscSIKQQJ0aiIBKAIAIgtGDQEDQCALQX9GDQEgBiAKaiEBIAZBAWohBiAJIAUgASANcSIKQQJ0aiIBKAIAIgtHDQALDAELIAUgB0ECdGohAQsCQAJAIAUgB0ECdGogAUcEQCABQX42AgAgACAAKAIAIgFBAms2AgAgACAAKAIEQQFqNgIEIAFBAXEhAiAAKAIMIQggACgCCCEEDAELIAMNAQsCQEECIAggAhsiAUUEQEEAIQIMAQsgDCAEIAIbIgYgAUEBayIHQZF/cSIFQQJ0aiIBKAIAIgJBfUYNAUEAIQRBASEDA0AgAkF/RgRAIAQgASAEGyECDAILIAQgASAEGyAEIAJBfkYbIQQgAyAFaiEBIANBAWohAyAGIAEgB3EiBUECdGoiASgCACICQX1HDQALDAELIAAgAkHUywEQTQsLtQMCB38BfgJAIAAoAggiAUECaq0iCEIBiCAIhCIIQgKIIAiEIghCBIggCIQiCEIIiCAIhCIIQhCIIAiEp0EBaiIFIAFNIAVB1qrVqgFPckUEQCAFQQxsECsiBkUNAQJ/IAAoAgAiAyAAKAIEIgdBDGwiBEUNABogBiEBIAMhAiAHQQFxBEAgASACKAIANgIAIAEgAigCBDYCBCABIAIoAgg2AgggAkEANgIIIAJCADcCACACQQxqIQIgAUEMaiEBCyAHQQFrQf////8DcQRAIAMgBGohAwNAIAEgAigCADYCACABIAIoAgQ2AgQgASACKAIINgIIIAJBADYCCCACQgA3AgAgASACKAIMNgIMIAEgAigCEDYCECABIAIoAhQ2AhQgAkEANgIUIAJCADcCDCABQRhqIQEgAkEYaiICIANHDQALCyAAKAIAIgQgACgCBEEMbCIBRQ0AGiABIARqIQEDQCABQQxrIgMoAgAiAgRAIAFBCGsgAjYCACACEA0LIAMiASAERw0ACyAAKAIACyIBIABBDGpHBEAgARANCyAAIAU2AgggACAGNgIADwsQOQALEDkAC40DAgp/An4jAEFAaiIDJAACQCAAKAIMIgQEfyAAKAIAIQogBEEBayELIAEpAgAiDaciACAAIA1CIIinQQF0ahDGASEGQQEhCQN/IAEpAgAiDqchAAJAAkACQAJAIAogBiALcSIMQQxsaiIEKQIAIg2nIgZBAmoOAgIAAQtBASEHIABBf0cNAgwFCyAOQiCIpyIIIA1CIIinRw0BQQEhByAIQf////8HcUUNBCAAIAhBAXRqIQgDQCAALwEAIAYvAQBHDQIgBkECaiEGIABBAmoiACAIRw0ACwwEC0EBIQcgAEF+Rg0DCyADQv////8PNwMwIAMgDTcDOCADIA03AxggA0L/////DzcDECADQRhqIANBEGoQoAMEfyAFIAQgBRsFIAMgBCkCACINNwMoIANC/v///w83AyAgAyANNwMIIANC/v///w83AwAgBSAEIAUbIAUgA0EIaiADEKADGyEFIAkgDGohBiAJQQFqIQkMAQsLBUEACyEEQQAhBwsgAiAENgIAIANBQGskACAHC7kCAQN/IwBBEGsiAyQAAkAgACABRg0AIAEoAhAhAiAAIAAoAhAiBEYEQCABIAJGBEAgACADIAAoAgAoAgwRAAAgACgCECICIAIoAgAoAhARAwAgAEEANgIQIAEoAhAiAiAAIAIoAgAoAgwRAAAgASgCECICIAIoAgAoAhARAwAgAUEANgIQIAAgADYCECADIAEgAygCACgCDBEAACADIAMoAgAoAhARAwAgASABNgIQDAILIAAgASAAKAIAKAIMEQAAIAAoAhAiAiACKAIAKAIQEQMAIAAgASgCEDYCECABIAE2AhAMAQsgASACRgRAIAEgACABKAIAKAIMEQAAIAEoAhAiAiACKAIAKAIQEQMAIAEgACgCEDYCECAAIAA2AhAMAQsgACACNgIQIAEgBDYCEAsgA0EQaiQAC+oBAQZ/IAEoAgghBiABKAIEIgchBAJAA0AgBCAGRg0BIANBBHQCfwJAIAQvAQAiA0Ewa0H//wNxQQpPBEAgA0HBAGsOJgEBAQEBAQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQEBAQEBBAsgASAEQQJqIgQ2AgQgA0EwawwBCyABIARBAmoiBDYCBCADQdcAayADQeEAa0H//wNxQQVNDQAaIANBN2sgCCADQcEAa0H//wNxQQZJGwsiCGohAyAFQQFqIgUgAkcNAAsgACADNgIAIABBAToABA8LIAEgBzYCBCAAQQA6AAQL+A0BCn8jAEFAaiIDJAAgASgC6AYiAigCBCEGAkACQAJAAkACQAJAIAIoAgAiBEEBaw5aAwQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEBBAQEBAQAAAQEBAIEBAQEBAQEBAQEBAQEBAAABAsgASAEQQJ0akHQCWooAgAhByABIAFBCGpBABAMNgLoBiABIAEoAvQGQQFqIgI2AvQGAkAgAkGACE8EQCABEDYaIABBADoABAwBCyADQTBqIAEQiAEgAy0ANEUEQCAAQQA6AAQMAQsgASgC6AYiAigCAEHBAEYEQCACKAIIIQIgA0Gc3gA2AiQgA0GDAjsBLCABKAIEIQsgAyACNgI8IAMgBjYCOCADIAMpAzg3AwggC0EAIAYgA0EIaiADQSRqQQBBAhAQCyABKAJYIQggASgCACICKAIMIgQgAigCACAEKAIAQQJ0aigCACIFIAQoAgRqQQdqQXhxIAVrNgIEAn8gAigCDCIEKAIEIglBKGoiCkGBgBBPBEAgAkEoEA4MAQsgBCAKNgIEIAUgCWoLIQIgAygCMCEEIAJBAToAJCACIAQ2AiAgAiAHNgIcIAJCNzcCCCACQgA3AgAgAiAGNgIYIAIgBjYCECACIAg2AhQgACACNgIAIABBAToABAsgASABKAL0BkEBazYC9AYMBAsgASAEQQJ0akHQCWooAgAhByABIAFBCGpBABAMNgLoBiABIAEoAvQGQQFqIgI2AvQGAkAgAkGACE8EQCABEDYaIABBADoABAwBCyADQSRqIAEQiAEgAy0AKEUEQCAAQQA6AAQMAQsgASgCWCEIIAEoAgAiAigCDCIEIAIoAgAgBCgCAEECdGooAgAiBSAEKAIEakEHakF4cSAFazYCBAJ/IAIoAgwiBCgCBCIJQShqIgpBgYAQTwRAIAJBKBAODAELIAQgCjYCBCAFIAlqCyECIAMoAiQhBCACQQE6ACQgAiAENgIgIAIgBzYCHCACQjg3AgggAkIANwIAIAIgBjYCGCACIAY2AhAgAiAINgIUIAAgAjYCACAAQQE6AAQLIAEgASgC9AZBAWs2AvQGDAMLIAEoAgAiAi0AZEUNASACLQBbDQEgASABQQhqQQMQDDYC6AYgA0EAOgAgIAMgAykCHDcDECADQSRqIAEgA0EQahAwIAMtAChFBEAgAEEAOgAEDAMLIAFBywBBAEHMOUG5OSAGEGdFBEAgAEEAOgAEDAMLIAEgASgC9AZBAWoiAjYC9AYCQCACQYAITwRAIAEQNhogAEEAOgAEDAELIANBOGogARCIASADLQA8RQRAIABBADoABAwBCyABKAJYIQRBJCABKAIAECEhAiADKAIkIQUgAiADKAI4NgIgIAIgBTYCHCACQvcBNwIIIAJCADcCACACIAY2AhggAiAENgIUIAIgBjYCECAAIAI2AgAgAEEBOgAECyABIAEoAvQGQQFrNgL0BgwCCyACKAIYIAEoApQIRw0AIAEtAPoGRQ0AIAEgAUEIakEAEAw2AugGIAEgASgC9AZBAWoiAjYC9AYCQCACQYAITwRAIAEQNhogAEEAOgAEDAELIANBJGogARCIASADLQAoRQRAIABBADoABAwBCyABKAJYIQcgASgCACICKAIMIgQgAigCACAEKAIAQQJ0aigCACIFIAQoAgRqQQdqQXhxIAVrNgIEAn8gAigCDCIEKAIEIghBIGoiCUGBgBBPBEAgAkEgEA4MAQsgBCAJNgIEIAUgCGoLIgIgAygCJDYCHCACQjA3AgggAkIANwIAIAIgBjYCGCACIAY2AhAgAiAHNgIUIAAgAjYCACAAQQE6AAQLIAEgASgC9AZBAWs2AvQGDAELIANBJGogAUEAEM0BAkAgAy0AKARAIANBOGogASAGIAMoAiQQzAEgAy0APA0BCyAAQQA6AAQMAQsCQCABKALoBiIEKAIAQX5xQT5HDQAgAS0AaA0AIAFBCGohCCABKAIAIgIoAgwiBSACKAIAIAUoAgBBAnRqKAIAIgcgBSgCBGpBB2pBeHEgB2s2AgQCfyACKAIMIgUoAgQiCUEoaiIKQYGAEE8EQCACQSgQDgwBCyAFIAo2AgQgByAJagshAiABIAEoAugGKAIAQQJ0akHQCWooAgAhBSADKAI4IQcgAkIANwIMIAJBODYCCCACQgA3AgAgAkEUakIANwIAIAJBADoAJCACIAc2AiAgAiAFNgIcIAIgBjYCECACIAQoAgg2AhQgAiAEKAIENgIYIAEgCEEBEAw2AugGIAAgAjYCACAAQQE6AAQMAQsgAEEBOgAEIAAgAygCODYCAAsgA0FAayQAC9oEAQd/IwBBIGsiBSQAIAEoAugGKAIEIQkgASABQQhqIgpBABAMIgY2AugGIAUgBUEMaiIINgIQIAUgCDYCDAJAIARFDQAgBigCAEHwAEcNAANAIAEQwwMiBEUNASAEIAUoAgwiBjYCACAEIAVBDGo2AgQgBiAENgIEIAUgBDYCDCABKALoBigCAEHwAEYNAAsLAkACQANAIAEoAugGIgsoAgAiBEEzRiAEQfgARnINASABIAJBACAFQQxqEHYNAAsgAEEAOgAEDAELIAEoAgAiAigCDCIEIAIoAgAgBCgCAEECdGooAgAiBiAEKAIEakEHakF4cSAGazYCBAJ/IAIoAgwiBCgCBCIIQThqIgdBgYAQTwRAIAJBOBAODAELIAQgBzYCBCAGIAhqCyIEQQA2AiQgBEEVNgIIIARCADcCACAEQgA3AgwgBEEAOgAoIARBFGpCADcCACAEQQA2AhwgBCAEQSxqIgI2AjAgBCACNgIsAkAgAiAFQQxqIgdGDQAgByAFKAIQIgZGDQAgBSgCDCEIIAYoAgAgBzYCBCAFIAYoAgA2AgwgAigCACEHIAggAjYCBCAGIAc2AgAgByAGNgIEIAIgCDYCAAsgBCAJNgIQIARBADoANCALKAIIIQIgBCAJNgIYIAQgAjYCFCABKALoBigCAEEzRwRAIAVBATYCGCAFQTM2AhwgBSAFQRxqNgIUIAUgBSkCFDcDACABIAVBi9YAQaHiACAJEBkgAEEAOgAEDAELIAEgCiADEAw2AugGIAAgBDYCACAAQQE6AAQLIAVBIGokAAuAEQEQfyMAQfAAayIEJAAgASgC6AYiBSgCAEEBRgRAIAUoAhggASgCjAhGIQYLIAUoAgQhCiABIAFBCGoiC0EAEAwiBTYC6AYgBgRAIAEgC0EAEAwiBTYC6AYLIAUoAgAiCEHCAEYEQCABIAtBABAMNgLoBgsgASABLQD5BiIRIAhBwgBGIgwgAxs6APkGIAEgAS0A+gYiEiAGIAMbOgD6BiAEQegAaiABEEUCQCAELQBsIg0gA0UgAkEEcXJyRQRAIARBATYCRCAEQQE2AmAgBCAEQeAAajYCQCAEIAQpAkA3AyggASAEQShqQdyZAUHtmQEgChAZIABBADoABAwBCyABKALoBiEFAkACQAJAAkACQAJAIAEoAgAiBygCYEUNACAFKAIAQcoARw0AIARBQGsgARA9IAQtAERFDQEgBCgCQCEJIAEoAugGIQUgASgCACEHCwJAIActAGQEfyAFKAIAIgVBygBHDQEgBEFAayABEGggBC0AREUNAyAEKAJAIQkgASgC6AYFIAULKAIAIQULIAVBNUcEQCAEQQE2AkQgBEE1NgJgIAQgBEHgAGo2AkAgBCAEKQJANwMgIAEgBEEgakGwEUG84QBB+uEAIAMbIAoQGSAAQQA6AAQMBgsgBCAEQeAAaiIFNgJkIAQgBTYCYCABLQD5BiEOIAEgDDoA+QYgAS0A+gYhDyABIAY6APoGIAEgAiAFEM4BRQRAIABBADoABAwFCyABKALoBiECQQAhDAJAIAEoAgAoAmBFBEBBACEFDAELIAIoAgBB3ABHBEBBACEFDAELIAIoAgQhBSABIAtBAxAMIgI2AugGAkACQCACKAIAQQFHDQAgAigCGCABKAKICUcNAEEAIQUMAQsgBEEBOgBcIAQgBTYCWCAEIAQpAlg3AxggBEFAayABIARBGGpBARBWIAQtAERFBEAgAEEAOgAEDAcLIAQoAkAhBSABKALoBiICKAIAQQFHDQEgAigCGCABKAKICUcNAQsgBEFAayABENEBIAQtAERFDQMgBCgCQCEMIAEoAugGIQILAkACQCABKAIALQBkRQ0AIAIoAgAiB0HcAEcNASACKAIEIQcgASALQQMQDCICNgLoBiACKAIAQQFGBEAgAigCGCABKAKICUYNAQsgBEEBOgBUIAQgBzYCUCAEIAQpAlA3AxAgBEFAayABIARBEGoQMCAELQBERQ0FIAQoAkAhBSABKALoBiECCyACKAIAIQcLIAdBMUcEQCAEQQE2AkQgBEExNgI4IAQgBEE4ajYCQCAEIAQpAkA3AwggASAEQQhqQaTEAEHQygAgAxtBvMQAQefKACADGyAKEBkgAEEAOgAEDAULIANBAXMhByAEIAE2AkAgBCABLQAgIgs6AEQgBCABKAKAByICNgJIIAQgAS0AjAc6AEwgBCABLQCNBzoATSAEIAEtAI4HOgBOIAFBADoAjgcgAUEAOwGMBwJ/IAEoAuwGRQRAIAEoAgAhAgJ/IAMEQEHMACACECEgBCgCaEEAIA0bIARB4ABqQQAgCSAFIAwgCEHCAEYgBhDCAwwBC0HMACACECEgBCgCaEEAIA0bIARB4ABqQQAgCSAFIAwgCEHCAEYgBhCpAQshBUE4IAEoAgAQISECIAQgBEE4aiIDNgI8IAQgAzYCOCACQQA2AiQgAkEVNgIIIAJCADcCACACQgA3AgwgAkEAOgAoIAJCADcCFCACQQA2AhwgAiACQSxqIgY2AjAgAiAGNgIsAkAgAyAGRg0AIAMoAgQiCCADRg0AIAMoAgAhCSAIKAIAIAM2AgQgAyAIKAIANgIAIAYoAgAhAyAJIAY2AgQgCCADNgIAIAMgCDYCBCAGIAk2AgALIAJBADoANCAFIAI2AjggBCABKAIAIgM2AjRBGBAaIgIgAygCDCIGKAIANgIAIAYoAgQhCCACIAY2AhQgAkIANwIMIAIgAkEUajYCCCACIAg2AgQgAyACNgIMIARBOGogAUEAIA5BAEcgD0EARyAHEFkgACAELQA8BH8gBCgCOCETIAUgCjYCECATKAIUIQIgBSAKNgIYIAUgAjYCFCAAIAU2AgBBAQVBAAs6AAQgAyADKAIMIgMoAhQ2AgwgAygCCCECIAMoAgwiAEH/////AXEEQCACIABBA3RqIQYDQCAGQQhrIgAoAgAhBSAAQQA2AgAgBQRAIAUgBkEEaygCABEDAAsgACIGIAJHDQALIAMoAgghAgsgA0EUaiACRwRAIAIQDQsgAxANIAQoAkghAiAELQBEIQsgBCgCQAwBCyAEQThqIAFBACAOQQBHIA9BAEcgBxBZAkAgBC0APEUEQCAAQQA6AAQMAQsgASgCACEQIAQoAjghBwJ/IAMEQEHMACAQECEgBCgCaEEAIA0bIARB4ABqIAcgCSAFIAwgCEHCAEYgBhDCAwwBC0HMACAQECEgBCgCaEEAIA0bIARB4ABqIAcgCSAFIAwgCEHCAEYgBhCpAQsiAyAKNgIQIAcoAhQhBiADIAo2AhggAyAGNgIUIAAgAzYCACAAQQE6AAQLIAELIgAgCzoAIAJAAn8gACIGIAYoAoAHIgUgAksNABogAiAFTQ0BIAZB/AZqIQMgAiAGKAKEB0sEQCADIAZBiAdqIAJBBBAYIAYoAoAHIQULIAYgBUECdCIGIAJBAnRGDQAaIAMoAgAgBmpBACACIAVrQQJ0ECcaIAQoAkALIQYgACACNgKABwsgBi0AjAdFBEAgBiAELQBNOgCNByAGIAQtAE46AI4HCyAGIAQtAEw6AIwHDAQLIABBADoABAwECyAAQQA6AAQMAwsgAEEAOgAEDAELIABBADoABAsgASAOOgD5BiABIA86APoGCyABIBE6APkGIAEgEjoA+gYgBEHwAGokAAuYXAMWfwF+AnwjAEHwAWsiAyQAIAEoAugGIgQoAgQhCQJAIAQoAgAiAkHbAEYEQCABIAFBCGpBAxAMNgLoBiADQaABaiABEIsBIAMtAKQBRQRAIABBADoABAwCCyABKAJYIQYgASgCACIBKAIMIgIgASgCACACKAIAQQJ0aigCACIEIAIoAgRqQQdqQXhxIARrNgIEAn8gASgCDCICKAIEIgVBIGoiB0GBgBBPBEAgAUEgEA4MAQsgAiAHNgIEIAQgBWoLIgEgAygCoAE2AhwgAUKdATcCCCABQgA3AgAgASAJNgIYIAEgCTYCECABIAY2AhQgACABNgIAIABBAToABAwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEBaw5zBw8PDw8PDw8PDw8PBw4OCA8PDw8PDw8PDw8PDw8FCQ8PDw8PBw8PDw8EDw8PDw8PAwMPDwIPBg8PDw8PDw8PDw8ADw8PDQ8PDwEPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8LCg8PDA8LIAQoAgghBSABIAFBCGpBAxAMNgLoBiABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiB0EcaiIIQYGAEE8EQCACQRwQDgwBCyAEIAg2AgQgBiAHagsiAiAJNgIYIAIgCTYCECACQokBNwIIIAJCADcCACACIAU2AhQgAyACNgKYASADQQE6AJwBDBULIANBmAFqIAFBABDRAwwUCyABIAFBCGoiBUEDEAwiAjYC6AYgAyADQeABaiIENgLkASADIAQ2AuABQQAhBCACKAIAIgJBDUYEQCADQQA6ANQBIANBADYC0AEgAyADKQLQATcDMCADQdgBaiAFIANBMGoQLAJAIAMtANwBRQ0AAkACQCADKALYAUHbAGsOAgEAAgsgASgC6AYoAgQhBiABIAVBAxAMNgLoBiABIAVBAxAMNgLoBiABLQCUByECIAFBAToAlAcgA0GgAWogARAvIAMtAKQBRQ0QIAMoAqABIQggASACOgCUByABKAJYIQogASgCACICKAIMIgQgAigCACAEKAIAQQJ0aigCACIHIAQoAgRqQQdqQXhxIAdrNgIEAn8gAigCDCIEKAIEIgtBKGoiDEGBgBBPBEAgAkEoEA4MAQsgBCAMNgIEIAcgC2oLIgRCADcCDCAEQgA3AhQgBEGaATYCCCAEQgA3AgAgBEEAOgAkIAQgCDYCICAEIAY2AhAgBEEANgIcIAQgBjYCGCAEIAo2AhQgASgC6AYoAgBBPUcNASABIAVBAxAMNgLoBgwBCyABKALoBikCBCEYIANBrdUANgKgASADQYMCOwGoASABKAIEIRAgAyAYNwMoIAMgGDcD6AEgEEEAIBinIANBKGogA0GgAWpBAEECEBALIAEoAugGKAIAIQILAkACQAJAAkACQCABLQCUB0UgAkE7R3JFBEAgASAFQQMQDDYC6AYgA0GgAWogARB3IAMtAKQBBEAgAygCoAEhBkEAIQhBASEHDAILIANBADoAnAEMGQtBACEGQQEhByACQTZGBEBBACEIDAELIANBoAFqIAEQdwJ/AkAgAy0ApAEEQCADKAKgASICKAIcDQEgAi0AJA0BQQAMAgsgA0EAOgCcAQwaC0EBCyEHIAIoAiAhCCACIAMoAuABIgo2AgAgAiADQeABajYCBCAKIAI2AgQgAyACNgLgASAHDQAgAS0AlAdFDQELAkAgASgC6AYoAgBBPUcNACABIAVBAxAMIgI2AugGQQEhByACKAIAIgJBNkYNAAJAIAZFBEADQCACQTtGBEAgASAFQQMQDDYC6AYLIANBoAFqIAEQdyADLQCkAUUNGiADKAKgASEGIAJBO0YNAiAGIAMoAuABIgI2AgAgBiADQeABajYCBCACIAY2AgQgAyAGNgLgASABKALoBigCAEE9RwRAQQAhBgwECyABIAVBAxAMIgI2AugGQQAhBiACKAIAIgJBNkcNAAwDCwALA0AgA0GgAWogARB3IAMtAKQBRQ0ZIAMoAqABIgIgAygC4AEiCjYCACACIANB4AFqNgIEIAogAjYCBCADIAI2AuABIAEoAugGKAIAQT1HDQIgASAFQQMQDCICNgLoBiACKAIAQTZHDQALDAELIAEoAugGKAIAQT1HDQAgASAFQQMQDDYC6AYLIAFBNkEDQd0gQYkhIAkQZ0UNASAHRQ0CIAFB7QBBA0GVwABBxTwgCRBnDQMgA0EAOgCcAQwXCyABQTZBA0HdIEGJISAJEGcNAQsgA0EAOgCcAQwVCyABLQCUB0UNDyABKALoBigCAEHtAEcNDyABIAVBAxAMNgLoBgsgA0EAOgDMASABLQCUByECIAMgAykCyAE3AyAgA0GgAWogASADQSBqIAIQViADLQCkAUUEQCADQQA6AJwBDBQLIAEoAlghCyABKAIAIgIoAgwiBSACKAIAIAUoAgBBAnRqKAIAIgcgBSgCBGpBB2pBeHEgB2s2AgQCfyACKAIMIgUoAgQiCEE0aiIKQYGAEE8EQCACQTQQDgwBCyAFIAo2AgQgByAIagshAiADKAKgASEMIAJCADcCDCACQZgBNgIIIAJCADcCACACQgA3AhQgAiACQRxqIgU2AiAgAiAFNgIcAkAgBSADQeABaiIIRg0AIAggAygC5AEiB0YNACADKALgASEKIAcoAgAgCDYCBCAFKAIAIQggCiAFNgIEIAcgCDYCACAIIAc2AgQgBSAKNgIACyACQQA2AjAgAiAGNgIsIAIgDDYCKCACIAQ2AiQgAiAJNgIYIAIgCTYCECACIAs2AhQgAyACNgKYASADQQE6AJwBDBMLIANBmAFqIAFBAEEAQQEQowIMEgsgASABQQhqQQMQDDYC6AYgAyADQaABaiICNgKkASADIAI2AqABIANB6AFqIAEgCSACEKUCIAMtAOwBRQRAIANBADoAnAEMEgsgAygC6AEhBSABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiB0EoaiIIQYGAEE8EQCACQSgQDgwBCyAEIAg2AgQgBiAHagsiAkIANwIMIAJBrwE2AgggAkIANwIAIAJCADcCFCACIAJBHGoiBDYCICACIAQ2AhwCQCAEIANBoAFqIgdGDQAgByADKAKkASIGRg0AIAMoAqABIQggBigCACAHNgIEIAQoAgAhByAIIAQ2AgQgBiAHNgIAIAcgBjYCBCAEIAg2AgALIAIgCTYCECACIAU2AiQgBSgCFCEEIAIgCTYCGCACIAQ2AhQgAyACNgKYASADQQE6AJwBDBELIAEgAUEIaiIHQQAQDCIFNgLoBiAFKAIAIgJBNUYEQANAIAEgB0EAEAwiBTYC6AYgBkEBaiEGIAUoAgAiAkE1Rg0ACwsgAkEBRwRAIANBATYCpAEgA0EBNgLoASADIANB6AFqNgKgASADIAMpAqABNwNIIAEgA0HIAGpBw+cAQevnACAJEBkgA0EAOgCcAQwRCyABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgggBCgCBGpBB2pBeHEgCGs2AgQCfyACKAIMIgQoAgQiCkEwaiILQYGAEE8EQCACQTAQDgwBCyAEIAs2AgQgCCAKagshBCABKALoBigCGCECIARBADYCICAEQcIANgIIIARCADcCACAEQgA3AgwgBEIANwIUIARBADsBHCAEQQA6ACwgBEEANgIoIAQgAjYCJCAEIAUoAgQ2AhAgBCAFKAIINgIUIAQgBSgCBDYCGCABIAdBAxAMIgI2AugGIAIoAgAiBUE5RwRAIAQhAgwPCwNAIAEgB0EAEAwiAjYC6AYgAigCACIFQQFGIAVBBGtBLElyRQRAIANBATYCpAEgA0EBNgLoASADIANB6AFqNgKgASADIAMpAqABNwNAIAEgA0FAa0HS5wBB6+cAIAkQGSADQQA6AJwBDBILIAEoAgAiBSgCDCIIIAUoAgAgCCgCAEECdGooAgAiCiAIKAIEakEHakF4cSAKazYCBAJ/IAUoAgwiCCgCBCILQTBqIgxBgYAQTwRAIAVBMBAODAELIAggDDYCBCAKIAtqCyEFIAEoAugGKAIYIQggBUEANgIgIAVBwgA2AgggBUIANwIAIAVCADcCDCAFQgA3AhQgBUEAOwEcIAVBADoALCAFQQA2AiggBSAINgIkIAUgAigCBDYCECAFIAIoAgg2AhQgBSACKAIENgIYIAEgB0EDEAw2AugGIAEoAgAiAigCDCIIIAIoAgAgCCgCAEECdGooAgAiCiAIKAIEakEHakF4cSAKazYCBAJ/IAIoAgwiCCgCBCILQSRqIgxBgYAQTwRAIAJBJBAODAELIAggDDYCBCAKIAtqCyICQgA3AgwgAkGiATYCCCACQgA3AgAgAiAFNgIgIAIgBDYCHCACQgA3AhQgAiAEKAIQNgIQIAIgBSgCFDYCFCACIAQoAhA2AhggAiEEIAEoAugGKAIAIgVBOUYNAAsMDgsgASABQQhqIghBAxAMIgU2AugGIAMgA0HYAWoiBDYC3AEgAyAENgLYAQJAIAUoAgAiBEE4Rg0AA0AgBSgCBCEKAkACQAJAIARBO0YEQCABIAhBAxAMIgU2AugGQQEhBgJAIAUoAgBBOGsOBgYAAAAAAwALIANB6AFqIAEQrAEgAy0A7AFFBEBBACEHDAILIAEoAugGKAIAQdwARgRAIAEgCEEDEAw2AugGIANB4AFqIAEgAygC6AEQeEEAIQcgAy0A5AFFDQIgAS0AlAchBCADKALgASEFIAFBAToAlAcgA0GgAWogARAvIAMtAKQBRQRAIAEgBDoAlAcMAwsgAygCoAEhByABIAQ6AJQHIAEoAlghCyABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiDEEkaiINQYGAEE8EQCACQSQQDgwBCyAEIA02AgQgBiAMagsiAiAHNgIgIAIgBTYCHCACQqQBNwIIIAJCADcCACACIAo2AhggAiAKNgIQIAIgCzYCFEEBIQcMAgsgASgCWCEFIAEoAgAiAigCDCIEIAIoAgAgBCgCAEECdGooAgAiBiAEKAIEakEHakF4cSAGazYCBAJ/IAIoAgwiBCgCBCIHQSRqIgtBgYAQTwRAIAJBJBAODAELIAQgCzYCBCAGIAdqCyECIAMoAugBIQQgAkIANwIMIAJCADcCFCACQaQBNgIIIAJCADcCACACIAQ2AiAgAiAKNgIQIAJBADYCHCACIAo2AhggAiAFNgIUQQEhBwwBC0EAIQdBACEGIARBxQBrQQFNBEAgASgCACIEKAIMIgYgBCgCACAGKAIAQQJ0aigCACILIAYoAgRqQQdqQXhxIAtrNgIEAn8gBCgCDCIGKAIEIgxBIGoiDUGBgBBPBEAgBEEgEA4MAQsgBiANNgIEIAsgDGoLIQYgAUGwCEG0CCABKALoBigCAEHFAEYbaigCACEEIAZCADcCDCAGQcsBNgIIIAZCADcCACAGQgA3AhQgBiAENgIcIAYgBSgCBDYCECAGIAUoAgg2AhQgBiAFKAIENgIYIAEgCEEDEAw2AugGCyADQeABaiABEKwBIAMtAOQBRQ0AIAEoAugGKAIAIgRB2wBrQQFNBEACQCAEQdsARw0AIAEgCEEDEAwiBTYC6AYgBSgCAEHcAEYNACADQQE2AqQBIANB3AA2AugBIAMgA0HoAWo2AqABIAMgAykCoAE3A2AgASADQeAAakGBGkGJ8QAgChAZDAILIAEgCEEDEAw2AugGIANB6AFqIAEgAygC4AEQeCADLQDsAUUNASABLQCUByEFIAMoAugBIQsgAUEBOgCUByADQaABaiABEC8gAy0ApAFFBEAgASAFOgCUBwwCCyADKAKgASEMIAEgBToAlAcgASgCWCENIAEoAgAiAigCDCIFIAIoAgAgBSgCAEECdGooAgAiByAFKAIEakEHakF4cSAHazYCBAJ/IAIoAgwiBSgCBCIOQSxqIg9BgYAQTwRAIAJBLBAODAELIAUgDzYCBCAHIA5qCyICIAY2AiggAiAMNgIgIAIgCzYCHCACQqUBNwIIIAJCADcCACACIAo2AhggAiAKNgIQIAIgBEHbAEY6ACQgAiANNgIUQQEhBwwBCyAGBEAgBikCECEYIANB6h02AqABIANBgwI7AagBIAEoAgQhESADIBg3A2ggAyAYNwPoASARQQAgGKcgA0HoAGogA0GgAWpBAEECEBALQQEhByADKALgASECCyAHRQRAIANBADoAnAEMFAsgAiADKALYASIENgIAIAIgA0HYAWo2AgQgBCACNgIEIAMgAjYC2AEgASgC6AYiBSgCACIEQT1GDQFBACEGIARBOEYNAyADQQE2AqQBIANBODYC6AEgAyADQegBajYCoAEgAyADKQKgATcDUCABIANB0ABqQdXAAEH68AAgCRAZIANBADoAnAEMEwsgBSkCBCEYIANB7PwANgKgASADQYMCOwGoASABKAIEIRIgAyAYNwNYIAMgGDcD6AEgEkEAIBinIANB2ABqIANBoAFqQQBBAhAQCyABIAhBAxAMIgU2AugGIAUoAgAiBEE4Rw0AC0EAIQYLIAUoAgghCiABIAhBAxAMNgLoBiABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgUgBCgCBGpBB2pBeHEgBWs2AgQCfyACKAIMIgQoAgQiB0EoaiIIQYGAEE8EQCACQSgQDgwBCyAEIAg2AgQgBSAHagsiAkIANwIMIAJBowE2AgggAkIANwIAIAJCADcCFCACIAJBHGoiBDYCICACIAQ2AhwCQCAEIANB2AFqIgdGDQAgByADKALcASIFRg0AIAMoAtgBIQggBSgCACAHNgIEIAQoAgAhByAIIAQ2AgQgBSAHNgIAIAcgBTYCBCAEIAg2AgALIAIgCTYCGCACIAk2AhAgAiAGOgAkIAIgCjYCFCADIAI2ApgBIANBAToAnAEMDwsgBCgCGCICIAEoAtAIRgRAIAQoAgghBSABIAFBCGpBAxAMNgLoBiABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiB0EcaiIIQYGAEE8EQCACQRwQDgwBCyAEIAg2AgQgBiAHagsiAiAJNgIYIAIgCTYCECACQpQBNwIIIAJCADcCACACIAU2AhQgAyACNgKYASADQQE6AJwBDA8LIAEoAtQIIAJGBEAgBCgCCCEFIAEgAUEIakEDEAw2AugGIAEoAgAiAigCDCIEIAIoAgAgBCgCAEECdGooAgAiBiAEKAIEakEHakF4cSAGazYCBAJ/IAIoAgwiBCgCBCIHQRxqIghBgYAQTwRAIAJBHBAODAELIAQgCDYCBCAGIAdqCyICIAk2AhggAiAJNgIQIAJClQE3AgggAkIANwIAIAIgBTYCFCADIAI2ApgBIANBAToAnAEMDwsgASgC2AggAkYEQCAEKAIIIQUgASABQQhqQQMQDDYC6AYgASgCACICKAIMIgQgAigCACAEKAIAQQJ0aigCACIGIAQoAgRqQQdqQXhxIAZrNgIEAn8gAigCDCIEKAIEIgdBHGoiCEGBgBBPBEAgAkEcEA4MAQsgBCAINgIEIAYgB2oLIgIgCTYCGCACIAk2AhAgAkKKATcCCCACQgA3AgAgAiAFNgIUIAMgAjYCmAEgA0EBOgCcAQwPCwJAIAEoAtwIIAJHBEAgAiABKALgCEcNAQsgBCgCCCEFIAEgAUEIakEDEAw2AugGIAEoAgAiAigCDCIEIAIoAgAgBCgCAEECdGooAgAiBiAEKAIEakEHakF4cSAGazYCBAJ/IAIoAgwiBCgCBCIHQRxqIghBgYAQTwRAIAJBHBAODAELIAQgCDYCBCAGIAdqCyICIAk2AhggAiAJNgIQIAJCkAE3AgggAkIANwIAIAIgBTYCFCADIAI2ApgBIANBAToAnAEMDwsgASgC5AggAkYEQCAEKAIIIQQgASABQQhqQQMQDDYC6AZBHCABKAIAECEiAiAJNgIYIAIgCTYCECACQowBNwIIIAJCADcCACACIAQ2AhQgAyACNgKYASADQQE6AJwBDA8LIAEoAvQIIAJGBEAgBCgCCCEEIAEgAUEIakEDEAw2AugGQRwgASgCABAhIgIgCTYCGCACIAk2AhAgAkKTATcCCCACQgA3AgAgAiAENgIUIAMgAjYCmAEgA0EBOgCcAQwPCyABKALoCCACRgRAIAQoAgghBCABIAFBCGpBAxAMNgLoBkEcIAEoAgAQISICIAk2AhggAiAJNgIQIAJCiwE3AgggAkIANwIAIAIgBDYCFCADIAI2ApgBIANBAToAnAEMDwsgASgC+AggAkYEQCAEKAIIIQQgASABQQhqQQMQDDYC6AZBHCABKAIAECEiAiAJNgIYIAIgCTYCECACQpYBNwIIIAJCADcCACACIAQ2AhQgAyACNgKYASADQQE6AJwBDA8LIAEoAqAIIAJGBEAgASABQQhqQQMQDDYC6AYgA0GgAWogARCLASADLQCkAUUEQCADQQA6AJwBDBALIAEoAlghBEEgIAEoAgAQISICIAMoAqABNgIcIAJCoAE3AgggAkIANwIAIAIgCTYCGCACIAQ2AhQgAiAJNgIQIAMgAjYCmAEgA0EBOgCcAQwPCwJAIAEoAgAtAFxFDQAgASgCnAkgAkYEQCADQaABaiABENIDIANB6AFqIAEQiwECQCADLQDsAUUNACADLQCkAUUNACABKAJYIQRBJCABKAIAECEhAiADKAKgASEGIAIgAygC6AE2AiAgAiAGNgIcIAJCoQE3AgggAkIANwIAIAIgCTYCGCACIAQ2AhQgAiAJNgIQIAMgAjYCmAFBASEFCyADIAU6AJwBDBALIAEoApQJIAJGBEAjAEEwayICJAAgASgC6AYoAgQhBSABIAFBCGoiB0EDEAwiBjYC6AYgBigCACIEQQFGBEAgBikCBCEYIAJB4e8ANgIcIAJBgwI7ASQgASgCBCETIAIgGDcDCCACIBg3AyggE0EAIBinIAJBCGogAkEcakEAQQIQECABIAdBAxAMIgQ2AugGIAQoAgAhBAsCQAJAAkAgBEHKAEYEfyACQRxqIAEQPSACLQAgRQ0BIAIoAhwhCiABKALoBigCAAUgBAtBNUcEQCACQQE2AiAgAkE1NgIoIAIgAkEoajYCHCACIAIpAhw3AwAgASACQYMQQfTgACAFEBkgA0EAOgCkAQwDCyACIAJBHGoiBDYCICACIAQ2AhwgAkEoaiABIAQQ1gMgAi0ALEUEQCADQQA6AKQBDAMLIAIoAighDQJAIAEoAugGIgQoAgBBAUcNACAEKAIYIAEoApwJRw0AIAJBFGogAUEBENUDIAItABhFDQIgAigCFCEICyABKAJYIQ4gASgCACIEKAIMIgYgBCgCACAGKAIAQQJ0aigCACIHIAYoAgRqQQdqQXhxIAdrNgIEAn8gBCgCDCIGKAIEIgtBMGoiDEGBgBBPBEAgBEEwEA4MAQsgBiAMNgIEIAcgC2oLIgRCADcCDCAEQZsBNgIIIARCADcCACAEQgA3AhQgBCAEQRxqIgY2AiAgBCAGNgIcAkAgBiACQRxqIgtGDQAgCyACKAIgIgdGDQAgAigCHCEMIAcoAgAgCzYCBCAGKAIAIQsgDCAGNgIEIAcgCzYCACALIAc2AgQgBiAMNgIACyAEIAg2AiwgBCAKNgIoIAQgDTYCJCAEIAU2AhggBCAFNgIQIAQgDjYCFCADIAQ2AqABIANBAToApAEMAgsgA0EAOgCkAQwBCyADQQA6AKQBCyACQTBqJAAgAy0ApAFFBEAgA0EAOgCcAQwRCyADIAMoAqABNgKYASADQQE6AJwBDBALIAIgASgCmAlHDQAgASABQQhqQQMQDDYC6AYgA0GgAWogAUEBENEDIAMtAKQBRQRAIANBADoAnAEMEAsgAyADKAKgATYCmAEgA0EBOgCcAQwPCyABKALMByACRgRAIAEgAUEIakEDEAw2AugGIAMgA0GgAWoiAjYCpAEgAyACNgKgASADQegBaiABIAkgAhClAiADLQDsAUUEQCADQQA6AJwBDBALIAMoAugBIQhBKCABKAIAECEiAkIANwIMIAJBrwE2AgggAkIANwIAIAJCADcCFCACIAJBHGoiBDYCICACIAQ2AhwCQCAEIANBoAFqIgZGDQAgBigCBCIFIAZGDQAgBigCACEHIAUoAgAgBjYCBCAGIAUoAgA2AgAgBCgCACEGIAcgBDYCBCAFIAY2AgAgBiAFNgIEIAQgBzYCAAsgAiAINgIkIAIgCTYCECAIKAIUIQQgAiAJNgIYIAIgBDYCFCADIAI2ApgBIANBAToAnAEMDwsgASgCyAkgAkYEQCABIAFBCGoiAkEDEAw2AugGIAFBAUHGK0EAQQAQ0AFFBEAgA0EAOgCcAQwQCyABKALoBigCGCEFIAEgAkEDEAwiBDYC6AYgBCgCAEEmRw0MIAMgAjYCoAEgAyABKAIoIgQ2AqQBIAMgAUFAaygCAEEAIARBAUYbNgKoASADIAEoAmA2AqwBIAMgASkCLDcCsAEgAyABKAJYNgK4ASADIAEoAtAGIAEoAswGa0EMbTYCvAEgAyABKALcBiABKALYBmtBDG02AsABIAEgAkEDEAw2AugGIANB6AFqIAEQ0wECQCABLQCVBwRAIAEoAugGKAIAQdsARg0BIAMtAOwBRQ0BDA0LIAMtAOwBDQwLIANBoAFqEJQCDAwLIANBoAFqIAEQrQEgAy0ApAFFBEAgA0EAOgCcAQwPCyADIAMoAqABNgKYASADQQE6AJwBDA4LIAQoAgghBSABIAFBCGpBAxAMNgLoBiABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiB0EcaiIIQYGAEE8EQCACQRwQDgwBCyAEIAg2AgQgBiAHagsiAiAJNgIYIAIgCTYCECACQpIBNwIIIAJCADcCACACIAU2AhQgAyACNgKYASADQQE6AJwBDA0LIAQoAgghBSABIAFBCGpBAxAMNgLoBiABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiB0EcaiIIQYGAEE8EQCACQRwQDgwBCyAEIAg2AgQgBiAHagsiAiAJNgIYIAIgCTYCECACQpcBNwIIIAJCADcCACACIAU2AhQgAyACNgKYASADQQE6AJwBDAwLIAQoAgghAiAEKAIcIQUgAyAJNgLoASADIAIgCWs2AuwBIAFBCGohAgJ/IAEtACMEQCADIAMpA+gBIhg3A6ABIAMgGDcDcCACIANB8ABqEEYMAQsgASgCGCEUIANBhQI7AagBIAMgA0HoAWo2AqABIBQgA0GgAWoQGwshByABKALoBigCCCEIIAEgAkEDEAw2AugGIAEoAgAiAigCDCIEIAIoAgAgBCgCAEECdGooAgAiBiAEKAIEakEHakF4cSAGazYCBAJ/IAIoAgwiBCgCBCIKQSRqIgtBgYAQTwRAIAJBJBAODAELIAQgCzYCBCAGIApqCyICIAc2AiAgAiAFNgIcIAJCjQE3AgggAkIANwIAIAIgCTYCGCACIAk2AhAgAiAINgIUIAMgAjYCmAEgA0EBOgCcAQwLCyAEKAIIIQIgBCsDECEZIAMgCTYC6AEgAyACIAlrNgLsASABQQhqIQICfyABLQAjBEAgAyADKQPoASIYNwOgASADIBg3A3ggAiADQfgAahBGDAELIAEoAhghFSADQYUCOwGoASADIANB6AFqNgKgASAVIANBoAFqEBsLIQUgASgC6AYoAgghByABIAJBAxAMNgLoBiABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiCEEwaiIKQYGAEE8EQCACQTAQDgwBCyAEIAo2AgQgBiAIagsiAiAFNgIoIAIgGTkDICACQo4BNwMIIAJCADcDACACIAk2AhggAiAJNgIQIAIgBzYCFCADIAI2ApgBIANBAToAnAEMCgsgBCgCCCEFIAQoAiQhByABIAFBCGpBAxAMNgLoBiABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiCEEgaiIKQYGAEE8EQCACQSAQDgwBCyAEIAo2AgQgBiAIagsiAiAHNgIcIAJCjwE3AgggAkIANwIAIAIgCTYCGCACIAk2AhAgAiAFNgIUIAMgAjYCmAEgA0EBOgCcAQwJCyABIAFBCGoiAkEDEAwiBDYC6AYCQAJAAkAgBCgCAEHvAGsOBQACAgIBAgsgBCgCCCEGIAQrAxAhGiADIAk2AugBIAMgBiAJazYC7AECfyABLQAjBEAgAyADKQPoASIYNwOgASADIBg3A4gBIAIgA0GIAWoQRgwBCyABKAIYIRYgA0GFAjsBqAEgAyADQegBajYCoAEgFiADQaABahAbCyEFIBqaIRkgASgC6AYoAgghByABIAJBAxAMNgLoBiABKAIAIgIoAgwiBCACKAIAIAQoAgBBAnRqKAIAIgYgBCgCBGpBB2pBeHEgBms2AgQCfyACKAIMIgQoAgQiCEEwaiIKQYGAEE8EQCACQTAQDgwBCyAEIAo2AgQgBiAIagsiAiAFNgIoIAIgGTkDICACQo4BNwMIIAJCADcDACACIAk2AhggAiAJNgIQIAIgBzYCFCADIAI2ApgBIANBAToAnAEMCgsgBCgCCCEEIAMgCTYCoAEgAyAEIAlrNgKkASADIAMpAqABNwOQASACIANBkAFqELACIQQgASgC6AYoAgghBiABIAJBAxAMNgLoBkEgIAEoAgAQISICIAQ2AhwgAkKPATcCCCACQgA3AgAgAiAJNgIYIAIgCTYCECACIAY2AhQgAyACNgKYASADQQE6AJwBDAkLIANBATYCpAEgA0HvADYC6AEgAyADQegBajYCoAEgAyADKQKgATcDgAEgASADQYABakHCwABBtT4gCRAZIANBADoAnAEMCAsgBCgCCCEHIAQoAhghCCABIAFBCGpBAxAMNgLoBiABKAIAIgQoAgwiBiAEKAIAIAYoAgBBAnRqKAIAIgUgBigCBGpBB2pBeHEgBWs2AgQCfyAEKAIMIgYoAgQiCkEkaiILQYGAEE8EQCAEQSQQDgwBCyAGIAs2AgQgBSAKagsiBCAINgIgIARCkQE3AgggBEIANwIAIAQgCTYCGCAEIAk2AhAgBCACQQ5GOgAcIAQgBzYCFCADIAQ2ApgBIANBAToAnAEMBwsgAkEEa0ErTQRAIANBoAFqIAEQrQEgAy0ApAFFBEAgA0EAOgCcAQwICyADIAMoAqABNgKYASADQQE6AJwBDAcLIANBscAANgKgASADQYMCOwGoASABKAIEIRcgA0IANwMYIANCADcD6AEgF0EAIAkgA0EYaiADQaABakEAQQIQECADQQA6AJwBDAYLIAEgAjoAlAcgA0EAOgCcAQwFCyAIQQIgCCgCDCICQQFqIAJBAk8bNgIMIAMgCDYCmAEgA0EBOgCcAQwECyADKALoASEGCyABKAJYIQdBICABKAIAECEhBCABKAJYIQhBNCABKAIAECEiAkEBOgAwIAJCADcCKCACIAY2AiQgAkEAOgAgIAIgBTYCHCACQs0BNwIIIAJCADcCACACIAk2AhggAiAJNgIQIAIgCDYCFCAEIAI2AhwgBEKnATcCCCAEQgA3AgAgBCAJNgIYIAQgBzYCFCAEIAk2AhAgAyAENgKYASADQQE6AJwBDAILIAYEQANAIAEoAugGKAIAQTZHBEAgA0EBNgKkASADQTY2AugBIAMgA0HoAWo2AqABIAMgAykCoAE3AzggASADQThqQcPnAEHr5wAgCRAZIANBADoAnAEMBAsgASAHQQMQDDYC6AYgAkECIAIoAgwiBEEBaiAEQQJPGzYCDCAGQQFrIgYNAAsgASgC6AYoAgAhBQtBACEEAkACQCAFQcoARw0AIAEtAGgNACADQaABaiABQQMQWiADLQCkAUUNASADKAKgASEECyABKAJYIQggASgCACIGKAIMIgUgBigCACAFKAIAQQJ0aigCACIHIAUoAgRqQQdqQXhxIAdrNgIEAn8gBigCDCIFKAIEIgpBJGoiC0GBgBBPBEAgBkEkEA4MAQsgBSALNgIEIAcgCmoLIgYgBDYCICAGIAI2AhwgBkKfATcCCCAGQgA3AgAgBiAJNgIYIAYgCTYCECAGIAg2AhQgAyAGNgKYASADQQE6AJwBDAILIANBADoAnAEMAQsgA0EAOgCcAQsgAy0AnAFFBEAgAEEAOgAEDAELIAFBCGohBCADKAKYASEFQQAhBgNAAkACQCABKALoBigCACICQTdrDgQAAQEAAQsgAS0AaA0AIAJBOkYEfyABIARBABAMIgc2AugGIAcoAgAFIAILQTdHBEAgA0EBNgKkASADQTc2AugBIAMgA0HoAWo2AqABIAMgAykCoAE3AxAgASADQRBqQZ8NQa7oACAJEBkgAEEAOgAEDAMLIAYgAkE6RiIKciEGIAEgBEEDEAwiAjYC6AYCfwJAIAoNACACKAIAQThHDQAgASAEQQMQDDYC6AYgASgCWCELIAEoAgAiAigCDCIHIAIoAgAgBygCAEECdGooAgAiCCAHKAIEakEHakF4cSAIazYCBAJ/IAIoAgwiBygCBCIKQSBqIgxBgYAQTwRAIAJBIBAODAELIAcgDDYCBCAIIApqCyICIAU2AhwgAkKmATcCCCACQgA3AgAgAgwBCyABLQCUByECIAFBAToAlAcgA0GgAWogARAvAkACQCADLQCkAUUEQCABIAI6AJQHDAELIAMoAqABIQwgASACOgCUByABKALoBiICKAIAQThGDQEgA0EBNgKkASADQTg2AugBIAMgA0HoAWo2AqABIAMgAykCoAE3AwggASADQQhqQcXmAEHr5wAgCRAZCyAAQQA6AAQMBAsgAigCCCELIAEgBEEDEAw2AugGIAEoAgAiAigCDCIHIAIoAgAgBygCAEECdGooAgAiCCAHKAIEakEHakF4cSAIazYCBCACKAIMIg0oAgQhByAGQQFxBEACfyAHQShqIg5BgYAQTwRAIAJBKBAODAELIA0gDjYCBCAHIAhqCyICIAw2AiAgAiAFNgIcIAJCrAE3AgggAkIANwIAIAIgCjoAJCACDAELAn8gB0EkaiIKQYGAEE8EQCACQSQQDgwBCyANIAo2AgQgByAIagsiAiAMNgIgIAIgBTYCHCACQqsBNwIIIAJCADcCACACCyIFIAk2AhggBSAJNgIQIAUgCzYCFAwBCwsgACAFNgIAIABBAToABAsgA0HwAWokAAvEDAEQfyMAQfAAayIEJAAgASABQQhqIgZBAxAMIgg2AugGAkAgCCgCAEEBRwRAIARBATYCYCAEQQE2AmggBCAEQegAajYCXCAEIAQpAlw3AyggASAEQShqQZbnAEHZ5AAgAhAZIABBADoABAwBCyAIKAIEIQ0gCCgCGCEQIAEgBkEDEAwiCDYC6AYgCCgCBCELAkACQAJAAkAgCCgCACIIQcoARgR/IARB3ABqIAEQPSAELQBgRQ0BIAQoAlwhCSABKALoBigCAAUgCAtBNUcEQCAEQQE2AmAgBEE1NgJoIAQgBEHoAGo2AlwgBCAEKQJcNwMgIAEgBEEgakGW5wBB2eQAIAIQGSAAQQA6AAQMBQsgBCAEQdAAaiIINgJUIAQgCDYCUCAEQQA2AkwgBEHEAGogASAIIARBzABqIAMQogIgBC0ASEUEQCAAQQA6AAQMBQsgASgC6AYoAgBB3ABHBEAgBEEBNgJgIARB3AA2AmggBCAEQegAajYCXCAEIAQpAlw3AxggASAEQRhqQZbnAEHZ5AAgAhAZIABBADoABAwFCyABIAZBAxAMNgLoBiAEQQA6ADggBCAEKQI0NwMQIARBPGogASAEQRBqQQEQViAELQBARQRAIABBADoABAwFCyABKAJYIQ4gBCgCPCEIIAEoAugGIgcoAgAiBUEBRgRAIAcoAhggASgCiAlHIANyDQMgBEHcAGogARDRASAELQBgRQ0CIAQoAlwhDyABKALoBiIHKAIAIQULAkACQCAFQTNrDgoFBAQEBAQEBAQAAQsgASAGQQAQDDYC6AYMBAsgBUH4AEcNAgwDCyAAQQA6AAQMAwsgAEEAOgAEDAILIAEtAGgNACAHKAIEIQIgBEGu/wA2AlwgBEGDAjsBZCABKAIEIRMgBEIANwMIIARCADcDaCATQQAgAiAEQQhqIARB3ABqQQBBAhAQIABBADoABAwBC0EgIAEoAgAQISEGIAEoAgAhByADRQRAQTQgBxAhIQMgBCgCTCERIAQoAkQhEiADQgA3AgwgA0GYATYCCCADQgA3AgAgA0IANwIUIAMgA0EcaiIHNgIgIAMgBzYCHAJAIAcgBEHQAGoiBUYNACAFKAIEIgogBUYNACAFKAIAIQwgCigCACAFNgIEIAUgCigCADYCACAHKAIAIQUgDCAHNgIEIAogBTYCACAFIAo2AgQgByAMNgIACyADIAk2AjAgAyASNgIsIAMgCDYCKCADIBE2AiQgAyALNgIYIAMgCzYCECADIA42AhQgBiADNgIcIAZCwwE3AgggBkIANwIAIAYgCzYCGCAGIA42AhQgBiALNgIQQTAgASgCABAhIgNCADcCDCADQQA2AiAgA0HCADYCCCADQgA3AgAgA0EAOgAsIAMgBjYCKCADIBA2AiQgAyANNgIQIANCADcCFCADQQA7ARwgBigCFCEJIAMgDTYCGCADIAk2AhQgASgCWCEJQSQgASgCABAhIgEgDzYCICABIAM2AhwgAUK3ATcCCCABQgA3AgAgASACNgIYIAEgAjYCECABIAk2AhQgACABNgIAIABBAToABAwBC0EwIAcQISEDIAQoAkQhDyADQgA3AgwgA0GZATYCCCADQgA3AgAgA0IANwIUIAMgA0EcaiIHNgIgIAMgBzYCHAJAIAcgBEHQAGoiBUYNACAFKAIEIgogBUYNACAFKAIAIQwgCigCACAFNgIEIAUgCigCADYCACAHKAIAIQUgDCAHNgIEIAogBTYCACAFIAo2AgQgByAMNgIACyADIAk2AiwgAyAPNgIoIAMgCDYCJCADIAs2AhggAyALNgIQIAMgDjYCFCAGIAM2AhwgBkLDATcCCCAGQgA3AgAgBiALNgIYIAYgDjYCFCAGIAs2AhBBMCABKAIAECEiA0IANwIMIANBADYCICADQcIANgIIIANCADcCACADQQA6ACwgAyAGNgIoIAMgEDYCJCADIA02AhAgA0IANwIUIANBADsBHCAGKAIUIQkgAyANNgIYIAMg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QCADLQAAIgLAIgRBAEgEQCABIAM2AjQgASAANgIwIAEgASkCMDcDCCAAIAYgAUEIahBIIgMQVCADIAUQ4wMgBigCACEDDAELAkAgAkElTQRAIAINASADIAAoAlxHDQEMBQsgAkEmRwRAIAJBPEYgAkH7AEZyDQUMAQsgAUEoaiAAEOIDIAEtACxFDQAgASgCKCECIAEgAUEwajYCJCABQSRqIgQgAkGAgARPBH8gBCACQYCAPGpBCnZB/wdxQYCwA3IQJiACQf8HcUGAuANyBSACCxAmIAEoAiQiByABQTBqayIEIAAoAmwgACgCaCICa0sEQCAKIAkgAiAEakEBEBggACgCaCECCyAAIAcgAUEwaiILRwR/IAAoAmQgAmogCyAEEB8aIAAoAmgFIAILIARqNgJoAkACQCAAKAJYIgcgA2siBCAAKAL4AiAAKAL0AiICa0sEQCAFIAggAiAEakEBEBggACgC9AIhAgwBCyADIAdGDQELIAAoAvACIAJqIAMgBBAfGiAAKAL0AiECCyAAIAIgBGo2AvQCIAYoAgAhAwwBCyAAKAJoIgMgACgCbE8EfyAKIAlBAEEBEBggACgCaAUgAwsgACgCZGogBDoAACAAIAAoAmhBAWo2AmggACgC9AIiAyAAKAL4Ak8EfyAFIAhBAEEBEBggACgC9AIFIAMLIAAoAvACaiAEOgAAIAAgACgC9AJBAWo2AvQCIAAgACgCWEEBajYCWCAGKAIAIQMMAAsACyACQcoANgIACyAMIANBAWoiAzYCAAwBCyABIAApAmQ3AygCfyAALQAbBEAgASABKQMoIg83AzAgASAPNwMYIAAgAUEYahBGDAELIAAoAhAhDSABQYUCOwE4IAEgAUEoajYCMCANIAFBMGoQGwshAyABIAApA/ACNwMoIAACfyAALQAbBEAgASABKQMoIg83AzAgASAPNwMQIAAgAUEQahBGDAELIAAoAhAhDiABQYUCOwE4IAEgAUEoajYCMCAOIAFBMGoQGws2AkQgACADNgI8IABB8gA2AiAgACgCWCEDCyAAIAAoAig2AlAgACADNgIoIAAtABoEQCAAEKsCCyABQUBrJAALiggBC38gAEUEQCABECsPCyABQUBPBEBBoMsCQTA2AgBBAA8LAn9BECABQQtqQXhxIAFBC0kbIQUgAEEIayIEKAIEIghB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AgA3AgAgAiAEKAIINgIIIAIgBCkDADcCAEEBDAILIAQgACgCCDYCCCAEIAApAgA3AwAgACABKAIINgIIIAAgASkCADcCACABIAQoAgg2AgggASAEKQMANwIAQQEgAigCBCABKAIETw0BGiAEIAEoAgg2AgggBCABKQIANwMAIAEgAigCCDYCCCABIAIpAgA3AgAgAiAEKAIINgIIIAIgBCkDADcCAAtBAgshBSADKAIEIAIoAgRJBH8gBCACKAIINgIIIAQgAikCADcDACACIAMoAgg2AgggAiADKQIANwIAIAMgBCgCCDYCCCADIAQpAwA3AgAgAigCBCABKAIETwRAIAVBAWoPCyAEIAEoAgg2AgggBCABKQIANwMAIAEgAigCCDYCCCABIAIpAgA3AgAgAiAEKAIINgIIIAIgBCkDADcCACABKAIEIAAoAgRPBEAgBUECag8LIAQgACgCCDYCCCAEIAApAgA3AwAgACABKAIINgIIIAAgASkCADcCACABIAQoAgg2AgggASAEKQMANwIAIAVBA2oFIAULCw4AIABB0ABqECtB0ABqCwoAIABBMGtBCkkLgAcCAX4FfyMAQaABayIFJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQANAIAJB/wFxIgJBAkcEQAJAIAJBA2sODQADBAUGBwgJCgsMDQ4PCwUgBSABKAIAIgQoAgAiAjYCECAELQAIIQYgBSACNgIMIAAgBUEMaiAGEJcBIAQtAAkhAiABIAQoAgQ2AgAMAQsLIAEoAgAiAkUNDCACEDsiASAAKAIIIAAoAgwiBGtLBEAgACACIAEQJRoMDQsgAUUNDCAEIAIgARAfGiAAIAAoAgwgAWo2AgwMDAsgACABKAIAIgAoAgAgACAALQALIgHAQQBIIgIbIAAoAgQgASACGxAlGgwLCyABKAIAKQIAIgOnIQIgA0IgiKciASAAKAIIIAAoAgwiBGtLBEAgACACIAEQJRoMCwsgAUUNCiAEIAIgARAfGiAAIAAoAgwgAWo2AgwMCgsgACABKAIAIgAoAgAgACgCBBAlGgwJCyABKAIAIQcgBUKAgICAgBA3AhQgBSAFQRxqIgI2AhAgByAAEOECIAUoAhAiACACRg0IIAAQDQwICyABLQAAIQIgACgCDCIBIAAoAghPBEADQAJAIAAoAgQiBARA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RhshASAIIApqIQMgCEEBaiEIIAQgCyADIAxxIgpBA3RqIgMoAgAiB0cNAAsLIAMgBDYCACACKAIEIQEgAkEANgIEIAMgATYCBCAFIAUoAgRBAWo2AgQgAigCBCEBIAJBADYCBCABRQ0AIAEQmgMQDQsgAkEIaiICIAlHDQALCyAGEA0gBSgCACECIAUoAgwhBgsgBkUEQEEAIQEMAQsgACgCDCIDIAIgBkEBayIJIANBBHYgA0EJdnNxIgZBA3RqIgEoAgAiB0YNAEEAIQRBASEIA0AgB0F8RgRAIAQgASAEGyEBDAILIAQgASAEGyAEIAdBeEYbIQQgBiAIaiEBIAhBAWohCCADIAIgASAJcSIGQQN0aiIBKAIAIgdHDQALCyAFIAUoAgRBAWo2AgQgASgCAEF8RwRAIAUgBSgCCEEBazYCCAsgASAAKAIMNgIAIAAoAiwhAiAAQQA2AiwgASACNgIEIAAoAgAhAQsgASAAKAIENgKYAiAAKAIwEA0gACgCLCECIABBADYCLCACBEAgAhCaAxANCyAAKAIQEA0Ltj0BA38jAEEQayIDJAACQCABRQ0AIAACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCCEECaw6YAgABAgMEBQYAAAcACAkKCwwAzwHPAQ0ODxAREhMUFRYXGADP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IGoQEyABQSRqDKoBCyABQSBqDKkBCyABQSBqDKgBCyAAIAFBHGoQEyABQSBqDKcBCyAAIAFBHGoQEyABQSBqDKYBCyAAIAFBHGoQEyABQSBqDKUBCyAAIAFBHGoQEyAAIAFBIGoQEyABQSRqDKQBCyAAIAFBHGoQEyABQSBqDKMBCyABQRxqDKIBCyABQShqDKEBCyABQRxqDKABCyAAIAFBHGoQEyABQSBqDJ8BCyAAIAFBHGoQEyABKAIkIgIgAUEgaiIBRg2fAQNAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMnwELIAAgAUEgahATIAFBJGoMnQELIAAgAUEcahATIAFBIGoMnAELIAEoAiQiAiABQSBqIgFGDZwBA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiABRw0ACwycAQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAEoAigiAiABQSRqIgFGDZsBA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiABRw0ACwybAQsgACABQRxqEBMgAUEgagyZAQsgACABQRxqEBMgAUEgagyYAQsgACABQSxqEBMgACABQTBqEBMgACABQTRqEBMgACABQThqEBMgAUFAaygCACICIAFBPGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAEoAkgiAiABQcQAaiIERwRAA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiAERw0ACwsgAUHMAGoMlwELIAAgAUEsahATIAAgAUEwahATIAAgAUE0ahATIAAgAUE4ahATIAFBQGsoAgAiAiABQTxqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyABKAJIIgIgAUHEAGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAFBzABqDJYBCyABKAIgIgIgAUEcaiIBRg2WAQNAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMlgELIAAgAUEcahATIAAgAUEgahATIAAgAUEoahATIAAgAUEsahATIAFBMGoMlAELIAAgAUEcahATIAAgAUEgahATIAAgAUEoahATIAAgAUEsahATIAFBMGoMkwELIAAgAUEcahATIAFBIGoMkgELIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyAAIAFBJGoQEyABKAIsIgIgAUEoaiIBRg2SAQNAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMkgELIAAgAUEcahATIAFBIGoMkAELIAFBHGoMjwELIAFBHGoMjgELIAAgAUEcahATIAFBIGoMjQELIAAgAUEcahATIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyABQShqDIwBCyAAIAFBHGoQEyABQSBqDIsBCyABQRxqDIoBCyABQRxqDIkBCyABQRxqDIgBCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiAERw0ACwsgAUEkagyHAQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAFBJGoMhgELIAFBHGoMhQELIAAgAUEcahATIAFBIGoMhAELIAAgAUEcahATIAAgAUEgahATIAFBJGoMgwELIAAgAUEcahATIAEoAiQiAiABQSBqIgFGDYMBA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiABRw0ACwyDAQsgACABQRxqEBMgACABQSBqEBMgAUEkagyBAQsgAUEcagyAAQsgAUEcagx/CyABQRxqDH4LIAFBHGoMfQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAFBJGoMfAsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAFBJGoMewsgASgCICICIAFBHGoiAUYNewNAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMewsgACABQRxqEBMgAUEgagx5CyAAIAFBHGoQEyABQSBqDHgLIAAgAUEcahATIAFBIGoMdwsgAUEcagx2CyAAIAFBHGoQEyABQSBqDHULIAAgAUEcahATIAFBIGoMdAsgAUEcagxzCyABQRxqDHILIAAgAUEcahATIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyABQSxqDHELIAFBHGoMcAsgACABQRxqEBMgAUEgagxvCyABQRxqDG4LIAAgAUEcahATIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyABQShqDG0LIAAgAUEcahATIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyABQShqDGwLIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyAAIAFBJGoQEyAAIAFBKGoQEyAAIAFBLGoQEyABQTBqDGsLIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyAAIAFBJGoQEyAAIAFBKGoQEyABQSxqDGoLIAAgAUEcahATIAFBIGoMaQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAAgAUEkahATIAAgAUEoahATIAFBLGoMaAsgACABQRxqEBMgAUEgagxnCyABQRxqDGYLIAAgAUEcahATIAFBIGoMZQsgACABQRxqEBMgAUEgagxkCyABQRxqDGMLIAFBIGoMYgsgACABQRxqEBMgAUEgagxhCyABKAIgIgIgAUEcaiIBRg1hA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiABRw0ACwxhCyAAIAFBHGoQEyABQSBqDF8LIAAgAUEcahATIAAgAUEgahATIAFBKGoMXgsgAUEcagxdCyABQRxqDFwLIAEoAiAiAiABQRxqIgFGDVwDQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDFwLIAEoAiAiAiABQRxqIgFGDVsDQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDFsLIAAgAUEcahATIAFBIGoMWQsgACABQRxqEBMgAUEgagxYCyAAIAFBHGoQEyABQSBqDFcLIAAgAUEcahATIAAgAUEgahATIAAgAUEkahATIAFBKGoMVgsgACABQRxqEBMgAUEgagxVCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiAERw0ACwsgAUEkagxUCyAAIAFBHGoQEyAAIAFBIGoQEyABQSRqDFMLIAAgAUEcahATIAAgAUEgahATIAAgAUEkahATIAAgAUEoahATIAAgAUEsahATIAFBMGoMUgsgACABQRxqEBMgACABQSBqEBMgASgCKCICIAFBJGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAFBLGoMUQsgACABQRxqEBMgACABQSBqEBMgAUEkagxQCyAAIAFBHGoQEyAAIAFBIGoQEyAAIAFBJGoQEyAAIAFBKGoQEyAAIAFBLGoQEyABQTBqDE8LIAAgAUEcahATIAAgAUEgahATIAEoAigiAiABQSRqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyABQSxqDE4LIAAgAUEcahATIAAgAUEgahATIAEoAigiAiABQSRqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyABKAIwIgIgAUEsaiIERwRAA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiAERw0ACwsgASgCOCICIAFBNGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAFBPGoMTQsgACABQRxqEBMgAUEgagxMCyABQRxqDEsLIAAgAUEcahATIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyAAIAFBKGoQEyAAIAFBLGoQEyABQTBqDEoLIAFBHGoMSQsgACABQRxqEBMgAUEgagxICyAAIAFBHGoQEyABKAIkIgIgAUEgaiIERwRAA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiAERw0ACwsgAUEoagxHCyABQRxqDEYLIAAgAUEcahATIAFBIGoMRQsgACABQRxqEBMgAUEgagxECyABQRxqDEMLIAAgAUEcahATIAFBIGoMQgsgACABQRxqEBMgAUEgagxBCyABQRxqDEALIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyABKAIoIgIgAUEkaiIERwRAA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiAERw0ACwsgASgCMCICIAFBLGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgBEcNAAsLIAEoAjgiAiABQTRqIgFGDUADQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDEALIAAgAUEcahATIAAgAUEgahATIAFBKGoMPgsgAUEcagw9CyAAIAFBHGoQEyABQSBqDDwLIAFBHGoMOwsgACABQRxqEBMgACABQSBqEBMgACABQSRqEBMgAUEsagw6CyAAIAFBHGoQEyAAIAFBIGoQEyAAIAFBJGoQEyABQShqDDkLIAEoAiAiAiABQRxqIgFGDTkDQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDDkLIAAgAUEkahATIAAgAUEoahATIAFBLGoMNwsgASgCICICIAFBHGoiAUYNNwNAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMNwsgACABQRxqEBMgAUEgagw1CyAAIAFBHGoQEyABQSBqDDQLIAFBHGoMMwsgAUEcagwyCyAAIAFBHGoQEyABQSBqDDELIAEoAiAiAiABQRxqIgFGDTEDQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDDELIAEoAiAiAiABQRxqIgFGDTADQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDDALIAEoAiAiAiABQRxqIgFGDS8DQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDC8LIAEoAiAiAiABQRxqIgFGDS4DQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDC4LIAEoAiAiAiABQRxqIgFGDS0DQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDC0LIAFBHGoMKwsgACABQRxqEBMgAUEgagwqCyAAIAFBHGoQEyABQSBqDCkLIAAgAUEcahATIAFBIGoMKAsgACABQRxqEBMgAUEgagwnCyAAIAFBHGoQEyABQSBqDCYLIAFBHGoMJQsgAUEcagwkCyAAIAFBHGoQEyABQSBqDCMLIAFBHGoMIgsgACABQRxqEBMgAUEgagwhCyAAIAFBHGoQEyABQSBqDCALIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyAAIAFBJGoQEyABQShqDB8LIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBMgAigCBCICIARHDQALCyAAIAFBJGoQEyABQShqDB4LIAAgAUEcahATIAFBIGoMHQsgASgCICICIAFBHGoiAUYNHQNAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMHQsgACABQRxqEBMgAUEgagwbCyAAIAFBHGoQEyABQSBqDBoLIAFBHGoMGQsgACABQRxqEBMgACABQSBqEBMgAUEkagwYCyAAIAFBHGoQEyAAIAFBIGoQEyABKAIoIgIgAUEkaiIERwRAA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiAERw0ACwsgAUEsagwXCyAAIAFBHGoQEyABQSBqDBYLIAEoAiAiAiABQRxqIgFGDRYDQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDBYLIAAgAUEcahATIAEoAiQiAiABQSBqIgFGDRUDQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDBULIAAgAUEcahATIAFBIGoMEwsgACABQRxqEBMgAUEgagwSCyABKAIgIgIgAUEcaiIBRg0SA0AgAyACNgIMIAAgA0EMahATIAIoAgQiAiABRw0ACwwSCyAAIAFBHGoQEyABQSBqDBALIAEoAiAiAiABQRxqIgFGDRADQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDBALIAAgAUEcahATIAAgAUEgahATIAFBJGoMDgsgASgCICICIAFBHGoiAUYNDgNAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMDgsgASgCICICIAFBHGoiAUYNDQNAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMDQsgASgCICICIAFBHGoiAUYNDANAIAMgAjYCDCAAIANBDGoQEyACKAIEIgIgAUcNAAsMDAsgAUEcagwKCyAAIAFBHGoQEyAAIAFBIGoQEyAAIAFBJGoQEyABQShqDAkLIAEoAiAiAiABQRxqIgFGDQkDQCADIAI2AgwgACADQQxqEBMgAigCBCICIAFHDQALDAkLIAAgAUEcahATIAAgAUEgahATIAFBJGoMBwsgACABQRxqEBMgASgCJCICIAFBIGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEyACKAIE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KAIMIgBFIABB////H3FFcgR/IAEFIAEgAEEGdGohBANAAkAgASgCAEECSQ0AIAEoAgwhAyABKAIQQSRsIgAEQCAAIANqIQADQCAAQRhrIABBJGsiACgCACIFRwRAIAUQDQsgACADRw0ACyABKAIMIQMLIAMgAUEYakYNACADEA0LIAFBQGsiASAERw0ACyACKAIACxANIAIQDQsLHQAgACABQRxqECQgACABLQAkECMgACABLQAlECMLSQECfyAAKAIEIgZBCHUhBSAGQQFxBEAgAigCACAFEOIBIQULIAAoAgAiACABIAIgBWogA0ECIAZBAnEbIAQgACgCACgCGBEIAAsJACAAIAE2AgQLGAEBfyABEBohAiAAIAE2AgQgACACNgIACxgAIAAQfQRAIAAgARC1AQ8LIAAgARDmAQsKACAAIAEgAhAdCx0AIAAgASgCHBAcIAAgASgCIBAcIAAgASgCJBAzCz8BAX8jAEEQayIDJAAgACABpyABQiCIpyACQf8BcSADQQhqEAoQ7QEhACADKQMIIQEgA0EQaiQAQn8gASAAGwuBCgIHfwF+IwBB8ABrIgMkACAAIAEQUSAAQgA3AhwgAEIANwIUIABCADcCDCADQoCAgIDAADcCKCADIANBMGoiBzYCJCADIAAoAgAgACAALQALIgHAQQBIIgIbNgJoIAMgACgCBCABIAIbNgJsIANB6ABqIANBJGpBAxDnAgJAAkAgAygCKEUNACADIAMoAiQpAgAiCTcDGCADIAk3AxAgACADQRBqEPYBNgIMIAMoAiQiASkCACIJpyEEAkACQCAJQiCIpyIFQQRJDQAgBCgAAEHt0sGbB0cNAEEaIQIgBCAFaiIGQQRrKAAAQfLslOMGRg0BIAZBAmsvAABB8uwARg0BCyADIAk3A1AgAyAJNwMIIANB2ABqIANBCGoQbwJAIAMoAlxFBEBBACECIAVBCEkNASAEIAVqQQhrIgEpAABC68Kxy9bN2LAzUQRAQRchAgwCCyABKQAAQuvCscvWzdiwNFEEQEEYIQIMAgsgASkAAELrwrHL1s3YsDVSDQFBGSECDAELIAMgAykDWCIJNwMAIAMgCTcDYCADQegAaiIBIAMQbyABIAMpA2gQ9wFBACECIAMpA2giCUIgiKciBEUNAEEAIARrIQUgCachBkHgmwIhAQNAAkAg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GzYCECAGQgA3AiggAC0AMCEDIAYgBikCEDcDCCAGQgA3AwAgACACIAEgBCAGQQhqIAYgAxD7AQwICxAiAAsQKQALIAAgATYC6AEgACACNgLkASAAIAU2AuABDAMLECIACyAAIAE2AtwBIAAgAjYC2AEgACAFNgLUAQsgBARAIAQQDQsgBiwAG0EATg0CIAYoAhAQDQwCCyAERQ0AIAQQDQsgCEEIayIBKAIAIgJFBEAgCEEEayAAKALkASAAKALgAWtBHG1BAWs2AgALIAEgAkEBajYCACAGLAAbQQBODQAgBigCEBANCyAGQTBqJAALtj0BA38jAEEQayIDJAACQCABRQ0AIAACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCCEECaw6YAgABAgMEBQYAAAcACAkKCwwAzwHPAQ0ODxAREhMUFRYXGADPAc8BzwHPAc8BzwHPAc8BGRobHB0eHyAAISIAIyQlACYnACgpKivPASwtLi8wMTIzNM8BNQA2NwA4OTo7PD0+P0BBQkNERQBGR0hJAEpLTADPAU1OT1BRUlNUVQBWVwDPAVhZzwFaW1xdXl/PAc8BYGHPAc8BAADPAc8BzwHPAc8BzwHPAc8BzwHPAc8BzwHPAc8BzwFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9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IAFBHGoQEiABKAIkIgIgAUEgaiIBRg2fAQNAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMnwELIAAgAUEgahASIAFBJGoMnQELIAAgAUEcahASIAFBIGoMnAELIAEoAiQiAiABQSBqIgFGDZwBA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiABRw0ACwycAQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAEoAigiAiABQSRqIgFGDZsBA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiABRw0ACwybAQsgACABQRxqEBIgAUEgagyZAQsgACABQRxqEBIgAUEgagyYAQsgACABQSxqEBIgACABQTBqEBIgACABQTRqEBIgACABQThqEBIgAUFAaygCACICIAFBPGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAEoAkgiAiABQcQAaiIERwRAA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiAERw0ACwsgAUHMAGoMlwELIAAgAUEsahASIAAgAUEwahASIAAgAUE0ahASIAAgAUE4ahASIAFBQGsoAgAiAiABQTxqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyABKAJIIgIgAUHEAGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBzABqDJYBCyABKAIgIgIgAUEcaiIBRg2WAQNAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMlgELIAAgAUEcahASIAAgAUEgahASIAAgAUEoahASIAAgAUEsahASIAFBMGoMlAELIAAgAUEcahASIAAgAUEgahASIAAgAUEoahASIAAgAUEsahASIAFBMGoMkwELIAAgAUEcahASIAFBIGoMkgELIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyAAIAFBJGoQEiABKAIsIgIgAUEoaiIBRg2SAQNAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMkgELIAAgAUEcahASIAFBIGoMkAELIAFBHGoMjwELIAFBHGoMjgELIAAgAUEcahASIAFBIGoMjQELIAAgAUEcahASIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyABQShqDIwBCyAAIAFBHGoQEiABQSBqDIsBCyABQRxqDIoBCyABQRxqDIkBCyABQRxqDIgBCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiAERw0ACwsgAUEkagyHAQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBJGoMhgELIAFBHGoMhQELIAAgAUEcahASIAFBIGoMhAELIAAgAUEcahASIAAgAUEgahASIAFBJGoMgwELIAAgAUEcahASIAEoAiQiAiABQSBqIgFGDYMBA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiABRw0ACwyDAQsgACABQRxqEBIgACABQSBqEBIgAUEkagyBAQsgAUEcagyAAQsgAUEcagx/CyABQRxqDH4LIAFBHGoMfQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBJGoMfAsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBJGoMewsgASgCICICIAFBHGoiAUYNewNAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMewsgACABQRxqEBIgAUEgagx5CyAAIAFBHGoQEiABQSBqDHgLIAAgAUEcahASIAFBIGoMdwsgAUEcagx2CyAAIAFBHGoQEiABQSBqDHULIAAgAUEcahASIAFBIGoMdAsgAUEcagxzCyABQRxqDHILIAAgAUEcahASIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyABQSxqDHELIAFBHGoMcAsgACABQRxqEBIgAUEgagxvCyABQRxqDG4LIAAgAUEcahASIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyABQShqDG0LIAAgAUEcahASIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyABQShqDGwLIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyAAIAFBJGoQEiAAIAFBKGoQEiAAIAFBLGoQEiABQTBqDGsLIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyAAIAFBJGoQEiAAIAFBKGoQEiABQSxqDGoLIAAgAUEcahASIAFBIGoMaQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAAgAUEkahASIAAgAUEoahASIAFBLGoMaAsgACABQRxqEBIgAUEgagxnCyABQRxqDGYLIAAgAUEcahASIAFBIGoMZQsgACABQRxqEBIgAUEgagxkCyABQRxqDGMLIAFBIGoMYgsgACABQRxqEBIgAUEgagxhCyABKAIgIgIgAUEcaiIBRg1hA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiABRw0ACwxhCyAAIAFBHGoQEiABQSBqDF8LIAAgAUEcahASIAAgAUEgahASIAFBKGoMXgsgAUEcagxdCyABQRxqDFwLIAEoAiAiAiABQRxqIgFGDVwDQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDFwLIAEoAiAiAiABQRxqIgFGDVsDQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDFsLIAAgAUEcahASIAFBIGoMWQsgACABQRxqEBIgAUEgagxYCyAAIAFBHGoQEiABQSBqDFcLIAAgAUEcahASIAAgAUEgahASIAAgAUEkahASIAFBKGoMVgsgACABQRxqEBIgAUEgagxVCyABKAIgIgIgAUEcaiIERwRAA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiAERw0ACwsgAUEkagxUCyAAIAFBHGoQEiAAIAFBIGoQEiABQSRqDFMLIAAgAUEcahASIAAgAUEgahASIAAgAUEkahASIAAgAUEoahASIAAgAUEsahASIAFBMGoMUgsgACABQRxqEBIgACABQSBqEBIgASgCKCICIAFBJGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBLGoMUQsgACABQRxqEBIgACABQSBqEBIgAUEkagxQCyAAIAFBHGoQEiAAIAFBIGoQEiAAIAFBJGoQEiAAIAFBKGoQEiAAIAFBLGoQEiABQTBqDE8LIAAgAUEcahASIAAgAUEgahASIAEoAigiAiABQSRqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyABQSxqDE4LIAAgAUEcahASIAAgAUEgahASIAEoAigiAiABQSRqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyABKAIwIgIgAUEsaiIERwRAA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiAERw0ACwsgASgCOCICIAFBNGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBPGoMTQsgACABQRxqEBIgAUEgagxMCyABQRxqDEsLIAAgAUEcahASIAEoAiQiAiABQSBqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyAAIAFBKGoQEiAAIAFBLGoQEiABQTBqDEoLIAFBHGoMSQsgACABQRxqEBIgAUEgagxICyAAIAFBHGoQEiABKAIkIgIgAUEgaiIERwRAA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiAERw0ACwsgAUEoagxHCyABQRxqDEYLIAAgAUEcahASIAFBIGoMRQsgACABQRxqEBIgAUEgagxECyABQRxqDEMLIAAgAUEcahASIAFBIGoMQgsgACABQRxqEBIgAUEgagxBCyABQRxqDEALIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyABKAIoIgIgAUEkaiIERwRAA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiAERw0ACwsgASgCMCICIAFBLGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAEoAjgiAiABQTRqIgFGDUADQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDEALIAAgAUEcahASIAAgAUEgahASIAFBKGoMPgsgAUEcagw9CyAAIAFBHGoQEiABQSBqDDwLIAFBHGoMOwsgACABQRxqEBIgACABQSBqEBIgACABQSRqEBIgAUEsagw6CyAAIAFBHGoQEiAAIAFBIGoQEiAAIAFBJGoQEiABQShqDDkLIAEoAiAiAiABQRxqIgFGDTkDQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDDkLIAAgAUEkahASIAAgAUEoahASIAFBLGoMNwsgASgCICICIAFBHGoiAUYNNwNAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMNwsgACABQRxqEBIgAUEgagw1CyAAIAFBHGoQEiABQSBqDDQLIAFBHGoMMwsgAUEcagwyCyAAIAFBHGoQEiABQSBqDDELIAEoAiAiAiABQRxqIgFGDTEDQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDDELIAEoAiAiAiABQRxqIgFGDTADQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDDALIAEoAiAiAiABQRxqIgFGDS8DQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDC8LIAEoAiAiAiABQRxqIgFGDS4DQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDC4LIAEoAiAiAiABQRxqIgFGDS0DQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDC0LIAFBHGoMKwsgACABQRxqEBIgAUEgagwqCyAAIAFBHGoQEiABQSBqDCkLIAAgAUEcahASIAFBIGoMKAsgACABQRxqEBIgAUEgagwnCyAAIAFBHGoQEiABQSBqDCYLIAFBHGoMJQsgAUEcagwkCyAAIAFBHGoQEiABQSBqDCMLIAFBHGoMIgsgACABQRxqEBIgAUEgagwhCyAAIAFBHGoQEiABQSBqDCALIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyAAIAFBJGoQEiABQShqDB8LIAEoAiAiAiABQRxqIgRHBEADQCADIAI2AgwgACADQQxqEBIgAigCBCICIARHDQALCyAAIAFBJGoQEiABQShqDB4LIAAgAUEcahASIAFBIGoMHQsgASgCICICIAFBHGoiAUYNHQNAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMHQsgACABQRxqEBIgAUEgagwbCyAAIAFBHGoQEiABQSBqDBoLIAFBHGoMGQsgACABQRxqEBIgACABQSBqEBIgAUEkagwYCyAAIAFBHGoQEiAAIAFBIGoQEiABKAIoIgIgAUEkaiIERwRAA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiAERw0ACwsgAUEsagwXCyAAIAFBHGoQEiABQSBqDBYLIAEoAiAiAiABQRxqIgFGDRYDQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDBYLIAAgAUEcahASIAEoAiQiAiABQSBqIgFGDRUDQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDBULIAAgAUEcahASIAFBIGoMEwsgACABQRxqEBIgAUEgagwSCyABKAIgIgIgAUEcaiIBRg0SA0AgAyACNgIMIAAgA0EMahASIAIoAgQiAiABRw0ACwwSCyAAIAFBHGoQEiABQSBqDBALIAEoAiAiAiABQRxqIgFGDRADQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDBALIAAgAUEcahASIAAgAUEgahASIAFBJGoMDgsgASgCICICIAFBHGoiAUYNDgNAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMDgsgASgCICICIAFBHGoiAUYNDQNAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMDQsgASgCICICIAFBHGoiAUYNDANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgAUcNAAsMDAsgAUEcagwKCyAAIAFBHGoQEiAAIAFBIGoQEiAAIAFBJGoQEiABQShqDAkLIAEoAiAiAiABQRxqIgFGDQkDQCADIAI2AgwgACADQQxqEBIgAigCBCICIAFHDQALDAkLIAAgAUEcahASIAAgAUEgahASIAFBJGoMBwsgACABQRxqEBIgASgCJCICIAFBIGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBKGoMBgsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBJGoMBQsgASgCICICIAFBHGoiBEcEQANAIAMgAjYCDCAAIANBDGoQEiACKAIEIgIgBEcNAAsLIAFBJGoMBAsgAUEcagwDCyABQRxqDAILIAAgAUEcahASIAFBIGoMAQsgAUEcagsQEgsgA0EQ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ACgCHBEBACABKAIMIQMMAQsgASgCEEUEQCAHQQo6APQBIAEgB0H0AWpBASABKAIAKAIcEQEADAQLIAEQMiABKAIMIgMgASgCCE8NAQsLIAEgA0EBajYCDCADQQo6AAAMAQsgASADQQFqNgIMIANBCjoAAAtBkOICQZDiAigCACgCDBECABoMAQtBkOICIAcoAkggB0HIAGogBy0AUyIBwEEASCIAGyAHKAJMIAEgABsQJSIBKAIMIgMgASgCCE8EQANAAkAgASgCBCIABEAgASAANgIMIAEgACADIABrIAEoAgAoAhwRAQAgASgCDCEDDAELIAEoAhBFBEAgB0EKOgD0ASABIAdB9AFqQQEgASgCACgCHBEBAAwECyABEDIgASgCDCIDIAEoAghPDQELCyABIANBAWo2AgwgA0EKOgAADAELIAEgA0EBajYCDCADQQo6AAALIAcoAjxBf0YNACAHKAJAQX9GDQAgBygCVCAHQdQAaiIRIActAF8iAsBBAEgiARsiACAHKAJYIAIgARsiCmohASAAIQQCQAJAIApFDQADQCAELAAAQQBIDQEgBEEBaiIEIAFHDQALDAELIAEgBEYNACAAIAoQ6gIMAQsCQAJAIApBAWoiAUHw////B0kEQAJAAkAgAUELTwRAIAFBD3JBAWoiABAaIQMgByAAQYCAgIB4cjYCuAIgByADNgKwAiAHIAE2ArQCDAELIAcgAToAuwIgB0GwAmohAyABRQ0BCyADQSAgARAnGgsgASADakEAOgAAIAcoAmQiASAHKAJgIgBHBEAgASAAa0EDdSEFQQAhBANAIAcoArACIAdBsAJqIActALsCIgHAQQBIIgAbIgMgBygCtAIgASAAGyICIAcoAmAgBEEDdGoiASgCBCIAIAAgAksbIgJqIAMgASgCACIBaiIAa0EASgRAIABB/gAgAiABaxAnGgsgBEEBaiIEIAVHDQALCyAHQQA2AqgCIAdCADcDoAIgBygCQCEEAkAgBygCcCIARQ0AIABBFGwiAUUNACAHKAIsIARrIg0gBygCWCAHLABfIgBB/wFxIABBAEgbIgZqIRQgBygCbCIJIAFqIQVBACEPA0AgCSgCDCECIAkoAgghEiAJLQATIQMgB0EANgKQAiAHQgA3AogCIAdCADcCgAIgB0IANwL4ASAHQYDMADYC9AEgCUEI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AikCADcDECAFIAIoABc2AAsgBSACKAIUNgIIIAJCADcCECACQQA2AhggAiADKQIINwIIIAIgAykCADcCACACIAgoAgg2AhggAiAIKQIANwIQIAIpAhwhDCADQQA6ABAgA0EAOgAbIAIgAykCHDcCHCADIAUpAxg3AgggAyAFKQMQNwIAIAMsABtBAEgEQCAIKAIAEA0LIAJBEGohCCADIAc2AhAgAyAFKAALNgAXIAMgBSgCCDYCFCADIAw3AhwgAyAGOgAbIAlBAmohBAJAIAIoAgQiAyACKAIAcg0AIAIoAhQgAi0AGyIGIAbAQQBIIgYbQRdHDQAgAigCECAIIAYbQcDSAUEXEA9FDQELAkACQCABKAIEIgcgASgCAHINACABKAIUIAEtABsiBiAGwCIGQQBIIgobQRdHDQAgASgCECIDIAFBEGogChtBwNIBQRcQD0UNAQwCCyADIAdPDQEgAS0AGyEGIAEoAhAhAwsgBSABKQIINwMYIAUgASkCADcDECAFIAEoABc2AAsgBSABKAIUNgIIIAFCADcCECABQQA2AhggASACKQIINwIIIAEgAikCADcCACABIAgoAgg2AhggASAIKQIANwIQIAEpAhwhDCACQQA6ABAgAkEAOgAbIAEgAikCHDcCHCACIAUpAxg3AgggAiAFKQMQNwIAIAIsABtBAEgEQCAIKAIAEA0LIAFBEGohByACIAM2AhAgAiAFKAALNgAXIAIgBSgCCDYCFCACIAw3AhwgAiAGOgAbIAlBA2ohBAJAIAEoAgQiAyABKAIAcg0AIAEoAhQgAS0AGyICIALAQQBIIgIbQRdHDQAgASgCECAHIAIbQcDSAUEXEA9FDQELAkACQCAAKAIEIgYgACgCAHINACAAKAIUIAAtABsiAiACwCICQQBIIggbQRdHDQAgACgCECIDIABBEGogCBtBwNIBQRcQD0UNAQwCCyADIAZPDQEgAC0AGyECIAAoAhAhAwsgBSAAKQIINwMYIAUgACkCADcDECAFIAAoABc2AAsgBSAAKAIUNgIIIABCADcCECAAQQA2AhggACABKQIINwIIIAAgASkCADcCACAAIAcoAgg2AhggACAHKQIANwIQIAApAhwhDCABQQA6ABAgAUEAOgAbIAAgASkCHDcCHCABIAUpAxg3AgggASAFKQMQNwIAIAEsABtB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IAQoAhAiAiAEKAIETwRAIAEgAk8NBiADIAAoAgg2AgggAyAAKQIANwMAIAAgBygCCDYCCCAAIAcpAgA3AgAgByADKAIINgIIIAcgAykDADcCACAEKAIQIAQoAgRPDQYgAyAEQQhqKAIANgIIIAMgBCkCADcDACAEIAAoAgg2AgggBCAAKQIANwIAIAAgAygCCDYCCCAAIAMpAwA3AgAMBgsgASACSQRAIAMgBEEIaigCADYCCCADIAQpAgA3AwAgBCAHKAIINgIIIAQgBykCADcCACAHIAMoAgg2AgggByADKQMANwIADAYLIAMgBEEIaigCADYCCCADIAQpAgA3AwAgBCAAKAIINgIIIAQgACkCADcCACAAIAMoAgg2AgggACADKQMANwIAIAsoAgAgBCgCEE8NBSADIAAoAgg2AgggAyAAKQIANwMAIAAgBygCCDYCCCAAIAcpAgA3AgAgByADKAIINgIIIAcgAykDADcCAAwFCyAEIARBDGoiACAEQRhqIgEgBEEkaiICEJQBGiALKAIAIARBKGooAgBPDQQgAyACKAIINgIIIAMgAikCADcDACACIAcoAgg2AgggAiAHKQIANwIAIAcgAygCCDYCCCAHIAMpAwA3AgAgBCgCKCAEQRxqKAIATw0EIAMgASgCCDYCCCADIAEpAgA3AwAgASACKAIINgIIIAEgAikCADcCACACIAMoAgg2AgggAiADKQMANwIAIAQoAhwgBEEQaigCAE8NBCADIAAoAgg2AgggAyAAKQIANwMAIAAgASgCCDYCCCAAIAEpAgA3AgAgASADKAIINgIIIAEgAykDADcCACAEKAIQIAQoAgRPDQQgAyAEQQhqKAIANgIIIAMgBCkCADcDACAEIAAoAgg2AgggBCAAKQIANwIAIAAgAygCCDYCCCAAIAMpAwA3AgAMBAsgCkHzAkwEQCAEQQxqIQAgBEEYaiEFIAQoAhwhAgJAIAQoAhAiBiAEKAIEIgdPBEAgAiAGTw0BIAMgACgCCDYCCCADIAApAgA3AwAgACAFQQhqKAIANgIIIAAgBSkCADcCACAFIAMoAgg2AgggBSADKQMANwIAIAQoAhAgB08NASADIARBCGooAgA2AgggAyAEKQIANwMAIAQgACgCCDYCCCAEIAApAgA3AgAgACADKAIINgIIIAAgAykDADcCAAwB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GyIEBH8gBBAaBUEACyIHaiIFIQogAiADRwRAIAUgAiAIEB8gCGohCgsgBCAHaiEIAn8gASAJRgRAIAUhByABDAELIAUhBCABIQMgC0EDcSICBEBBACEGA0AgBEEBayIEIANBAWsiAy0AADoAACAGQQFqIgYgAkcNAAsLIAlBf3MgAWpBA08EQANAIARBAWsgA0EBay0AADoAACAEQQJrIANBAmstAAA6AAAgBEEDayADQQNrLQAAOgAAIARBBGsiBCADQQRrIgMtAAA6AAAgAyAJRw0ACwsgACgCBCEGIAAoAgALIQIgCiABIAYgAWsiARAdIQMgACAINgIIIAAgASADajYCBCAAIAc2AgAgAgRAIAIQDQsLDwsQIgALIABBCBCVASAAENECIgBBzMoCNgIAIABB7MoCQQIQAAALIABBCBCVASAAENECIgBBmMoCNgIAIABBuMoCQQIQAAALhQUBBH8jAEEQayIDJAAgASABKAIEIgRBAmoiBTYCBAJAAkAgAg0AIAEtABBBCHENACADQQhqIAFBBBCHASADLQAMBEAgAEEBOgAEIAAgAygCCDYCAAwCCyABIAQ2AgQgAEEAOgAEDAELAkAgBSABKAIIRg0AIAUvAQBB+wBHDQAgASAEQQRqNgIEIANBCGogAUEBEIcBQQAhAgJAIAMtAAxFBEBBACEEDAELQQAhBANAIAMoAgggBEEEdGoiBEGAgMQATwRAIAEoAgxFBEAgAUEBNgIMIAEgASgCCDYCBAsgAEEANgIAIABBAToABAwECyADQQhqIAFBARCHASACQQFqIQIgAy0ADA0ACwsCQCABKAIEIgUgASgCCCIGRwRAIAUvAQBB/QBGDQELIAEoAgxFBEAgASAGNgIEIAFBAzYCDAsgAEEANgIAIABBAToABAwCCyABIAVBAmo2AgQgAkUEQCABKAIMRQRAIAEgBjYCBCABQQM2AgwLIABBADYCACAAQQE6AAQMAgsgACAENgIAIABBAToABAwBCyADQQhqIAFBBBCHASADLQAMBEAgAygCCCIEQYB4cUGAsANGBEACQCABKAIEIgIgASgCCCIFRg0AIAJBAmogBUYgAi8BAEHcAEdyDQAgAi8BAkH1AEcNACABIAJBBGo2AgQgAyABQQQQhwEgAy0ABEUNACADKAIAIgVBgHhxQYC4A0cNACAAQQE6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KAIEakEHakF4cSAGazYCBAJ/IAEoAgwiAygCBCINQTBqIglBgYAQTwRAIAFBMBAODAELIAMgCTYCBCAGIA1qCyIBQgA3AgwgAUE0NgIIIAFCADcCACABIAU2AiAgASAENgIcIAFBFGpCADcCACABIAFBJGoiAzYCKCABIAM2AiQCQCADIAdBLGoiBkYNACAGIAcoAjAiBEYNACAHKAIsIQUgBCgCACAGNgIEIAMoAgAhBiAFIAM2AgQgBCAGNgIAIAYgBDYCBCADIAU2AgALIAEgCzYCGCABIAI2AhAgAUEBOgAsIAEgCDYCFCAAIAE2AgAgAEEBOgAECyAHQUBrJAALXgIBfwF+IwBBIGsiAyQAIAIpAgAhBAJAIAEoAgAoAmAEQCADIAQ3AwggAyAENwMYIAAgASADQQhqQQEQVgwBCyADIAQ3AwAgAyAENwMQIAAgASADEDALIANBIGokAAueBwIHfwF+IwBB0ABrIgMkACADIAI2AkAgASgC6AYiAigCBCEHIAMgA0E4aiIGNgI8IAMgBjYCOCADIANBMGoiBDYCNCADIAQ2AjAgAyABNgIsIAFBCGohBCADIANBQGs2AiggAyAGNgIkAkADQAJAIAIoAgAiBkH1AGtBAk8EQAJAIAZB9ABrDgQCAAACAAsgAikCBCEKIANB1NQANgIYIANBgwI7ASAgASgCBCEJIAMgCjcDCCADIAo3A0ggCUEAIAqnIANBCGogA0EYakEAQQIQECAAQQA6AAQMAwsgA0EkakEAELgDRQRAIABBADoABAwDCyABKALoBigCBCEGIAEgBEEAEAw2AugGIANByABqIAFBAUEBEDwCQCADLQBMBEAgAygCSCICIAMoAjAiBTYCACACIANBMGo2AgQgBSACNgIEIAMgAjYCMCABKALoBigCAEEzRg0BIANBATYCHCADQTM2AkQgAyADQcQAajYCGCADIAMpAhg3AxAgASADQRBqQavUAEGPOSAGEBkLIABBADoABAwDCyABIAEoAmBBAWsiAjYCYCABLQAiBEAgASABKALcBkEMazYC3AYLIAEgAjYCLCAEEOgDIAEgASgCMDYCWCABIAEoAmA2AjAgAS0AIgRAIAQQqwILIAEoAugGIQIMAQsLIANBJGpBARC4A0UEQCAAQQA6AAQMAQsgASgC6AYoAgghCCABIARBABAM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KAIINgIUIAMgBygCBDYCGCABIAlBAxAMIgc2AugGAkAgBygCAEHKAEYEQCAFQRhqIAEQPSAFLQAcRQ0BIAUoAhghBgsgBSAFQRhqIgQ2AhwgBSAENgIYIAVBEGogASAIIAQQpQIgBS0AFEUEQCAAQQA6AAQMAgsgAi0ABARAIAIoAgAhCCAFKAIQIQcgASgCACIBKAIMIgIgASgCACACKAIAQQJ0aigCACIEIAIoAgRqQQdqQXhxIARrNgIEAn8gASgCDCICKAIEIglBMGoiCkGBgBBPBEAgAUEwEA4MAQsgAiAKNgIEIAQgCWoLIgFCADcCDCABQbUBNgIIIAFCADcCACABIAY2AiAgASADNgIcIAFBFGpCADcCACABIAFBJGoiAjYCKCABIAI2AiQCQCACIAVBGGoiBEYNACAEIAUoAhwiA0YNACAFKAIYIQYgAygCACAENgIEIAIoAgAhBCAGIAI2AgQgAyAENgIAIAQgAzYCBCACIAY2AgALIAEgCDYCECABIAc2AiwgBygCFCECIAEgCDYCGCABIAI2AhQgACABNgIAIABBAToABAwCCyAFKAIQIQcgASgCACIBKAIMIgIgASgCACACKAIAQQJ0aigCACIEIAIoAgRqQQdqQXhxIARrNgIEAn8gASgCDCICKAIEIglBMGoiCkGBgBBPBEAgAUEwEA4MAQsgAiAKNgIEIAQgCWoLIgFCADcCDCABQbIBNgIIIAFCADcCACABIAY2AiAgASADNgIcIAFBFGpCADcCACABIAFBJGoiAjYCKCABIAI2AiQCQCACIAVBGGoiBEYNACAEIAUoAhwiA0YNACAFKAIYIQYgAygCACAENgIEIAIoAgAhBCAGIAI2AgQgAyAENgIAIAQgAzYCBCACIAY2AgALIAEgCDYCECABIAc2AiwgBygCFCECIAEgCDYCGCABIAI2AhQgACABNgIAIABBAToABAwBCyAAQQA6AAQLIAVBIGokAAuiAgEJfyMAQRBrIgIkACABKALoBigCBCEEIAJBCGogARDaAwJAIAItAAxFBEAgAEEAOgAEDAELIAIoAgghBgJAIAEoAugGKAIAQcoARwR/QQAFIAIgARCOASACLQAERQ0BIAIoAgALIQcgASgCWCEIIAEoAgAiASgCDCIDIAEoAgAgAygCAEECdGooAgAiBSADKAIEakEH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QAJAIAEgAGtBDG0OBgUFAAECAwQLIAFBCGsoAgAgACgCBE8NBCACIAAoAgg2AgggAiAAKQIANwMAIAAgAUEMayIBQQhqKAIANgIIIAAgASkCADcCACABIAIoAgg2AgggASACKQMANwIADAQLIABBDGohBCABQQxrIgFBBGooAgAhBSAAKAIQIgYgACgCBE8EQCAFIAZPDQQgAiAEKAIINgIIIAIgBCkCADcDACAEIAEoAgg2AgggBCABKQIANwIAIAEgAigCCDYCCCABIAIpAwA3AgAgACgCECAAKAIETw0EIAIgACgCCDYCCCACIAApAgA3AwAgACAEKAIINgIIIAAgBCkCADcCACAEIAIoAgg2AgggBCACKQMANwIADAQLIAUgBkkEQCACIAAoAgg2AgggAiAAKQIANwMAIAAgASgCCDYCCCAAIAEpAgA3AgAgASACKAIINgIIIAEgAikDADcCAAwECyACIAAoAgg2AgggAiAAKQIANwMAIAAgBCgCCDYCCCAAIAQpAgA3AgAgBCACKAIINgIIIAQgAikDADcCACABKAIEIAAoAhBPDQMgAiAEKAIINgIIIAIgBCkCADcDACAEIAEoAgg2AgggBCABKQIANwIAIAEgAigCCDYCCCABIAIpAwA3AgAMAwsgACAAQQxqIABBGGogAUEMaxCUARoMAgsgACAAQQxqIgQgAEEYaiIFIABBJGoiBhCUARogAUEIaygCACAAKAIoTw0BIAIgBigCCDYCCCACIAYpAgA3AwAgBiABQQxrIgFBCGooAgA2AgggBiABKQIANwIAIAEgAigCCDYCCCABIAIpAwA3AgAgACgCKCAAKAIcTw0BIAIgBSgCCDYCCCACIAUpAgA3AwAgBSAGKAIINgIIIAUgBikCADcCACAGIAIoAgg2AgggBiACKQMANwIAIAAoAhwgACgCEE8NASACIAQoAgg2AgggAiAEKQIANwMAIAQgBSgCCDYCCCAEIAUpAgA3AgAgBSACKAIINgIIIAUgAikDADcCACAAKAIQIAAoAgRPDQEgAiAAKAIINgIIIAIgACkCADcDACAAIAQoAgg2AgggACAEKQIANwIAIAQgAigCCDYCCCAEIAIpAwA3AgAMAQsgAEEMaiEDIABBGGohBCAAKAIcIQUCQCAAKAIQIgYgACgCBCIHTwRAIAUgBk8NASAC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ACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgAiACKAIAQQdqQXhxIgFBEGo2AgAgACEJIAEpAwAhBCABKQMIIQcjAEEgayICJAACQCAHQv///////////wCDIgVCgICAgICAwIA8fSAFQoCAgICAgMD/wwB9VARAIAdCBIYgBEI8iIQhBSAEQv//////////D4MiBEKBgICAgICAgAhaBEAgBUKBgICAgICAgMAAfCEDDAILIAVCgICAgICAgIBAfSEDIARCgICAgICAgIAIUg0BIAMgBUIBg3whAwwBCyAEUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAdCBIYgBEI8iIRC/////////wODQoCAgICAgID8/wCEIQMMAQtCgICAgICAgPj/ACEDIAVC////////v//DAFYNAEIAIQMgBUIwiKciAEGR9wBJDQAgBCEDIAdC////////P4NCgICAgICAwACEIgYhCAJAIABBgfcAayIBQcAAcQRAIAQgAUFAaq2GIQhCACEDDAELIAFFDQAgCCABrSIFhiADQcAAIAFrrYiEIQggAyAFhiEDCyACIAM3AxAgAiAINwMYAkBBgfgAIABrIgBBwABxBEAgBiAAQUBqrYghBEIAIQYMAQsgAEUNACAGQcAAIABrrYYgBCAArSIDiIQhBCAGIAOIIQYLIAIgBDcDACACIAY3AwggAikDCEIEhiACKQMAIgRCPIiEIQMgAikDECACKQMYhEIAUq0gBEL//////////w+DhCIEQoGAgICAgICACFoEQCADQgF8IQMMAQsgBEKAgICAgICAgAhSDQAgA0IBgyADfCEDCyACQSBqJAAgCSADIAdCgICAgICAgICAf4OEvzkDAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALbQEEfyAAKAIALAAAEJYBRQRAQQAPCwNAIAAoAgAhA0F/IQEgAkHMmbPmAE0EQEF/IAMsAABBMGsiBCACQQpsIgFqIAQgAUH/////B3NKGyEBCyAAIANBAWo2AgAgASECIAMsAAEQlgENAAsgAQuMKwMhfwJ8An5Bv4EB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QCACQRRrIggoAgwgAkEBay0AACIFIAXAQQBIIgkbIg4gBigCFCAGLQAbIgUgBcBBAEgiBRsiCiAKIA5LGyIHBEAgBigCECALIAUbIAhBCGoiBSgCACAFIAkbIAcQDyIFDQELIAogDkkNAQwDCyAFQQBODQILIAIgAykCADcCACADQQhqIgwpAgAhDyADQQA6AAggAiAPNwIIIAMoAhAhBSACQQFrQQA6AAAgAiAFNgIQIAAgA0cNAAsgACECCyAGKQMIIQ8LIAIgDzcCACAMIAsoAgg2AgggDCALKQIANwIAIA1BAWoiDUEIRw0AIARBFGogAUYhAkEADAMLIAQiA0EUaiICIAFHDQALC0EBCyACciEDCyAGQSBqJAAgA0EBcQubBwECfyMAQRBrIgskACAAIAI2AgQgACABNgIAIABBCGohAgJAAkACQAJAAkAgAygCACIMRQRAIAJCADcCACACQQA2AggMAQsgAygCBCIBQfD///8HTw0BAkAgAUEKTQRAIAAgAToAEwwBCyABQQ9yQQFqIgMQGiECIAAgA0GAgICAeHI2AhAgACACNgIIIAAgATYCDAsgAiAMIAEQHSABakEAOgAACyAAIAY2AhwgACAFNgIYIAAgBDYCFCAAQSBqIQICQCAHKAIAIgNFBEAgAkIANwIAIAJBADYCCAwBCyAHKAIEIgFB8P///wdPDQICQCABQQpNBEAgACABOgArDAELIAFBD3JBAWoiBBAaIQIgACAEQYCAgIB4cjYCKCAAIAI2AiAgACABNgIkCyACIAMgARAdIAFqQQA6AAALIABBLGohAgJAIAgoAgAiA0UEQCACQgA3AgAgAkEANgIIDAELIAgoAgQiAUHw////B08NAwJAIAFBCk0EQCAAIAE6ADcMAQsgAUEPckEBaiIEEBohAiAAIARBgICAgHhyNgI0IAAgAjYCLCAAIAE2AjALIAIgAyABEB0gAWpBADoAAAsgCSgCACEEIAkoAgQhAkEAIQEgAEFAa0EANgIAIABCADcCOCACQf////8BcQRAIAJBA3QiBUEASA0EIAAgBRAaIgM2AjwgACADNgI4IAAgAyAFQXhxajYCQAJAIAVBCGsiBkEDdkEBakEHcSIHRQRAIAQhAgwBC0EAIQkgBCECA0AgAyACKQIANwIAIANBCGohAyACQQhqIQIgCUEBaiIJ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QEEBIAEgCGsiACAAQQFNGyEJA0ACQCAFIAhqLQAAQQpHDQAgAigCBCIAIAIoAggiA0kEQCAAIAU6AAAgAiAAQQFqNgIEDAELIAAgAigCACIGayIHQQFqIgFBAEgNAyAHQf////8HIAMgBmsiA0EBdCIEIAEgASAESRsgA0H/////A08bIgQEfyAEEBoFQQALIgNqIgEgBToAACADIARqIQogAUEBaiELAkAgACAGRgRAIAEhAwwBCyAGQX9zIABqIQ1BACEEIAdBA3EiBwRAA0AgAUEBayIBIABBAWsiAC0AADoAACAEQQFqIgQgB0cNAAsLIA1BA08EQANAIAFBAWsgAEEBay0AADoAACABQQJrIABBAmstAAA6AAAgAUEDayAAQQNrLQAAOgAAIAFBBGsiASAAQQRrIgAtAAA6AAAgACAGRw0ACwsgAigCACEACyACIAo2AgggAiALNgIEIAIgAzYCACAARQ0AIAAQDQsgBUEBaiIFIAlHDQALCyACDwsQIgALpQIBBX8jAEGAAWsiASQAIAFCgICAgIAINwIwIAEgAUE4aiIENgIsIAFCADcCICABQcisAjYCFCABQgA3AhggASABQSxqNgIoIAFBFGpB36YBQQwQJSECIAEgACgCACIDNgJ8IAAtAAghBSABIAM2AhAgAiABQRBqIAUQlwEgASAAKAIEIgM2AnggAC0ACSEAIAEgAzYCDCACIAFBDGogABCXAQJAIAIoAgwiACACKAIIRgRAIAJB86YBQQEQJRoMAQsgAEEKOgAAIAIgAigCDEEBajYCDAtBAiABKAIoIgAoAgAgACgCBBDsARogAUHoqQI2AhQCQCABKAIkQQFHDQAgASgCGCIARQ0AIAAQDQsgBCABKAIsIgBHBEAgABANC0EBEAkAC/ACAQh/IABBFGoiByAAKAIQQQJ0aiIIQQRrIgQoAgAiBkGAgARJIgJBBHQiAEEIciAAIAZBEHQgBiACGyIDQYCAgAhJIgIbIgBBBHIgACADQQh0IAMgAhsiA0GAgICAAUkiAhsiAEECciAAIANBBHQgAyACGyIDQYCAgIAESSICGyEAAkACQAJAIANBAnQgAyACGyICQQBOBEAgAkGAgICABHFFDQEgAEEBaiEACyABQSAgAGs2AgAgAEEKSw0BQQAhASAEIAdLBEAgCEEIaygCACEBCyAG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KAIEIglB/////wFxRQRAIAkgACgCCE8NAQwCCyAaQgF8IRwgGkKAgICAEIQhICAJQQN0IgFBA3UhAyABIAhqIhIhBCAIIQECQANAAkAgASADQQF2IgJBA3QiEWoiBikCACIbQiCIIBt8Qv////8PgyEdIBogG0L/////D4MiG1QiFkUgGiAdVHENACAbIBxSIBogHVJxIhhFIBogG1hyRQRAIAZBCGohASADIAJBf3NqIgMNAgwDCyAWIBhxRQ0AIAYhBCACIgMNAQwCCwsgBiECIANB/v///wNxBEAgEUEDdSEDIAEhAgNAIAIgA0EBdiIBQQN0aiIRKQIAIhtCIIggG3xC/////w+DIR0CfyABIBogG0L/////D4MiG1QgGiAdWnJFDQAaIAEgGiAbWA0AGiABIBsgHFENABogASAaIB1RDQAaIBFBCGohAiADIAFBf3NqCyIDDQALCwJAIAZBCGoiASAERgRAIAQhAQwBCyAEIAFrQQN1IQMDQCABIANBAXYiBEEDdGoiBikCACIbQiCIIBt8Qv////8PgyEdAn8gGiAdVCAbQv////8PgyIbIBpYcSAbIBxRIBogG1pyciAaIB1RckUEQCAEDAELIAZBCGohASADIARBf3NqCyIDDQALCyABIAJHDQQgAiEBCyAAKAIIIQIgASASRw0CIAIgCUsNAQsgACANQQBBCBAYIAAoAgAhCCAAKAIEIQkLIAggCUEDdGogGkKAgICAEIQ3AAAgACAAKAIEQQFqNgIEDAILIAIgCU0EQCAAIA1BAEEIEBggACgCBCEJIAEgCGsgACgCACIIaiEBCyAIIAlBA3RqIgIgAkEIaykCADcCACAAKAIAIAAoAgRBA3RqIgIgAiABa0EIayICayABIAIQHRogACAAKAIEQQFqNgIEIAEgIDcCAAwBCyABQQhrIgMoAgAhBCADKAIEIQMgAiACKAIAIgYgGqciCCAGIAhJGyIGNgIAIAIgHKciCCADIARqIgMgAyAISRsgBms2AgQgACACQQhqIAEgACgCACAAKAIEQQN0aiABayIBEB0gAWogACgCAGtBA3U2AgQLIAdBAWohByAaQgF8IhogHlQNAAsLIApBCGoiCiAXRw0ACwsgDEEIaiIMIAtHDQALIAUoAgQhDAsgDCAURwRAIAwQDQsgBUEwaiQAC7YJAgp/AX4jAEEwayIFJABBASEDAkACQAJAAkACQAJAIAEgAGtBJG0OBgUFAAECAwQLAkAgAUEkayICIgQoAgQiByAEKAIAcg0AIAIoAhQgAUEJay0AACIDIAPAQQBIIgYbQRdHDQBBASEDIAJBEGoiAigCACACIAYbQcDSAUEXEA9FDQULAkACQCAAKAIEIgIgACgCAHINACAAKAIUIAAtABsiAyADwCIGQQBIIggbQRdHDQBBASEDIAAoAhAiByAAQRBqIAgbQcDSAUEXEA9FDQEMBgtBASEDIAIgB00NBSAALQAbIQYgACgCECEHCyAFIAApAgg3AwggBSAAKQIANwMAIAUgACgAFzYAKyAFIAAoAhQ2AiggAEEANgIYIABCADcCECAAIAQpAgg3AgggACAEKQIANwIAIAAgAUEkayICKAIYNgIYIAAgAikCEDcCECAAKQIcIQwgAkEAOgAQIAFBCWsiAUEAOgAAIAAgAikCHDcCHCAEIAUpAwg3AgggBCAFKQMANwIAIAEsAABBAEgEQCACKAIQEA0LIAIgBzYCECACIAUoACs2ABcgAiAFKAIoNgIUIAEgBjoAACACIAw3AhwMBAsgACAAQSRqIAFBJGsQgQEaDAMLIAAgAEEkaiAAQcgAaiABQSRrEIACGgwCCyAAIABBJGogAEHIAGogAEHsAGogAUEkaxD/ARoMAQsgACAAQSRqIABByABqIgYQgQEaAn8gASAAQewAaiIDRwRAIAVBEGohBwNAAkACQCADKAIEIgQgAygCAHINACADKAIUIAMtABsiAiACwEEASCICG0EXRw0AIAMoAhAgA0EQaiACG0HA0gFBFxAPRQ0BCwJAAkAgBigCBCICIAYoAgByDQAgBigCFCAGLQAbIgggCMBBAEgiCBtBF0cNACAGKAIQIAZBEGogCBtBwNIBQRcQD0UNAQwCCyACIARNDQELIAUgAykCCDcDCCAFIAMpAgA3AwAgByADKAIYNgIIIAcgAykCEDcCACADQgA3AhAgA0EANgIYIAUgAykCHDcCHCADIQICfwNAIAIgBiIEKQIANwIAIAIgBCkCCDcCCCACLAAbQQBIBEAgAigCEBANCyACIAQpAhA3AhAgAiAEKAIYNgIYIARBADoAGyAEQQA6ABAgAiAEKQIcNwIcIAAgACAERg0BGgJAAkAgBSgCBCIIIAUoAgByDQAgBSgCFCAFLQAbIgIgAsBBAEgiAhtBF0cNACAFKAIQIAcgAhtBwNIBQRcQD0UNAQsCQCAEQSBrKAIAIgkgBEEkayIGKAIAcg0AIAYoAhQgBEEJay0AACICIALAQQBIIgobQRdHDQAgBCECIAZBEGoiCCgCACAIIAobQcDSAUEXEA9FDQIMAQsgBCECIAggCUkNAQsLIAQLIgIgBSkDADcCACACIAUpAwg3AgggAiwAG0EASARAIAQoAhAQDQsgBCAHKQIANwIQIAQgBygCCDYCGCAFQQA6ABAgBUEAOgAbIAIgBSkCHDcCHCALQQFqIgtBCEcNACADQSRqIAFGIQJBAAwDCyADIgZBJGoiAyABRw0ACwtBAQsgAnIhAwsgBUEwaiQAIANBAXEL+icBDX8jAEHgAGsiAyQAIANBADYCUCADQgA3AkggA0FAa0EANgIAIANCADcDOAJAAkACQAJAAkACQAJAAn8CQCABKAIsIAFBLGogAS0ANyIEwEEASCIFGyIHRQRAIANBADYCMCADQgA3AyggAyADQShqNgIkDAELIAEoAjAgBCAFGyIFQfD///8HSQRAAkAgBUEKTQRAIAMgBToAMyADQShqIQQMAQsgBUEPckEBaiIKEBohBCADIApBgICAgHhyNgIwIAMgBDYCKCADIAU2AiwLIAQgByAFEB0gBWpBADoAACADKAIoIANBKGogAy0AM8BBAEgbIgQtAAAhBiADIAQ2AiQgBkUNASADQThqQQRyIQ9BACEFA0AgBCEJAn8gBsBBAE4EQCADIARBAWo2AiQgBkH/AXEMAQsjAEEwayIGJAACQAJAIAMoAiQiBCwAACIHQeABcUHAAUYEQCAEQQFqIgotAAAiCEHAAXFBgAFHBEAgAyAKNgIkDAILIAMgBEECajYCJCAIQT9xIAdBBnRBwA9xciIEQf8ATQ0BDAILIAdB8AFxQeABRgRAAkAgBEEBaiIKLAAAIghBwAFxQYABRw0AIARBAmoiCi0AACILQcABcUGAAUcNACADIARBA2o2AiQgC0E/cSAIQQZ0QcAfcSAHQQx0QYDgA3FyciIEQYAQSQ0CDAMLIAMgCjYCJAwBCyAEQQFqIQogB0H4AXFB8AFGBEAgBCwAASIIQcABcUGAAUcEQCADIAo2AiQMAgsgBEECaiIKLAAAIgtBwAFxQYABRwRAIAMgCjYCJAwCCyAEQQNqIgotAAAiDEHAAXFBgAFHBEAgAyAKNgIkDAILIAMgBEEEajYCJEH9/wMhBCAMQT9xIAtBBnRBwB9xIAhBDHRBgOAPcSAHQRJ0QYCA8ABxcnJyIgdBgIAESQ0CIAdBgIDEAEkEQCAHIQQMAwsgBkH2DTYCGCAGQYMCOwEgIAZBjwI7ARQgBkEANgIQIAYgB603AwAgBiAGNgIMIAZBJGogBkEYaiAGQQxqEFsMAgsgAyAKNgIkIAZBkg42AhggBkGDAjsBICAGQY8COwEUIAZBADYCECAGIAetQv8BgzcDACAGIAY2AgwgBkEkaiAGQRhqIAZBDGoQWwtB/f8DIQQLIAZBMGokACAECyELAkACQAJAAkAgAy0AQyIKwCIIQQBOBEBBASEEIANBOGoiBiEHIAhBAUYNASADIAhBAWo6AEMgCiEEDAQLIAMoAjwiByADKAJAQf////8HcSIKQQFrIgRHBEAgAygCOCEGIAchBAwDCyAKQfD///8DRg0IQe////8DIQggAygCOCEHIARB5v///wFLDQELQQIgBEEBaiIKIARBAXQiBiAGIApJGyIKQQNyQQFqIApBAkkbIghBgICAgARPDQgLIAhBAnQQGiEGAkAgBARAIAYgByAEQQJ0EB0aIARBAUYNAQsgBxANCyADIAY2AjggAyAIQYCAgIB4cjYCQAsgAyAEQQFqNgI8CyAGIARBAnRqIgQgCzYCACAEQQA2AgQCQCAJIAMoAiQiBE8NAANAAkAgAygCPCADLQBDIgQgBMBBAEgbQQFrIQcCQCADKAJQIgYgBUsEQCAFIAc2AgAgAyAFQQRqIgU2AkwMAQsgBSADKAJIIgprQQJ1IghBAWoiBEGAgICABE8NAUH/////AyAGIAprIgZBAXUiCyAEIAQgC0kbIAZB/P///wdPGyIGBH8gBkGAgICABE8NCiAGQQJ0EBoFQQALIgsgCEECdGoiBCAHNgIAIARBBGohByAFIApHBEADQCAEQQRrIgQgBUEEayIFKAIANgIAIAUgCkcNAAsgAygCSCEFCyADIAsgBkECdGo2AlAgAyAHNgJMIAMgBDYCSCAFBEAgBRANCyAHIQULIAlBAWoiCSADKAIkIgRJDQEMAgsLECIACyAELQAAIgYNAAsgAygCPCADLQBDIgQgBMBBAEgbIQcgAygCSAwCCxAtAAsgA0E4akEEciEPQQAhBUEAIQdBAAshBCAHIQogASgCGCIGIAUgBGtBAnVJBEAgBCAGQQJ0aigCACEKC0EAIQUgA0EANgIgIANCADcCGAJAIAEoAjwiCyABKAI4IglGDQADQCAHIQEgAygCTCADKAJIIgRrQQJ1IgYgCSgCACIISwRAIAQgCEECdGooAgAhAQsgByEIIAYgCSgCBCIMSwRAIAQgDEECdGooAgAhCAsCQAJAIAMoAiAiDCAFSwRAIAUgCDYCBCAFIAE2AgAgAyAFQQhqIgU2AhwMAQsgBSADKAIYIgZrQQN1Ig1BAWoiBEGAgICAAk8NAUH/////ASAMIAZrIgxBAnUiDiAEIAQgDkkbIAxB+P///wdPGyIEQYCAgIACTw0FIARBA3QiDBAaIg4gDUEDdGoiBCABNgIAIAQgCDYCBCAEQQhqIQEgBSAGRwRAA0AgBEEIayIEIAVBCGsiBSkCADcCACAFIAZHDQALCyADIAwgDmo2AiAgAyABNgIcIAMgBDYCGCAGBEAgBhANCyABIQULIAlBCGoiCSALRw0BDAILCxAiAAsgB0EBaiIBQfD///8HTw0CAkACQCABQQtPBEAgAUEPckEBaiIFEBohBCADIAVBgICAgHhyNgIUIAMgBDYCDCADIAE2AhAMAQsgAyABOgAXIANBDGohBCABRQ0BCyAEQSAgARAnGgsgASAEakEAOgAAIAMoAhgiBSADKAIcIgZHBEADQAJAIAUoAgAiASADKAIQIAMtABciBCAEwEEASCIJGyIETw0AIAMoAgwgA0EMaiAJGyIJIAQgBSgCBCIIIAQgCEkbIgRqIAEgCWoiCWtBAEwNACAJQf4AIAQgAWsQJxoLIAVBCGoiBSAGRw0ACwsgAygCDCADQQxqIgEgAywAF0EASBsgByAKIAcgCkkbakHeADoAACADKAIMIgYgASADLQAXIgTAIgdBAEgiBRsiASADKAIQIAQgBRsiCGohBUF/IQkCQANAIAEgBUYNASAFQQFrIgUtAABBIEYNAAsgBSABayEJCyAIIAlBAWoiBEkNAwJAIAdBAEgEQCADIAQ2AhAMAQsgAyAEOgAXIANBDGohBgtBACEBIAQgBmpBADoAACADKAI8IgcgAy0AQyIEIATAIglBAEgiBRsiBkUNBCAGIQQgAygCOCIIIANBOGogBRsiASEFAkADQCAFKAIAQQlGDQEgBUEEaiEFIARBAWsiBA0AC0EAIQULIAYgBSABa0ECdUF/IAUbIgVNBEAgBiEBDAULA0AgByAJQf8BcSAJwEEASCIJGyIBIAVJDQYCQEEIIAVBB3EiB2siBCADKAJAQf////8HcUEBa0EBIAkbIgsgASAFRyIGIAFrak0EQCAIIANBOGogCRshCSAEIAZGIAEgBWsiCEECSXINASAJIAVBAnRqIgsgBEECdGogCyAGQQJ0aiAIIAZrQQJ0EB0aDAELQe////8DIAtrIAEgBGogBmsiDSALa0kNAkHv////AyEMIAtB5v///wFNBEBBAiANIAtBAXQiDCAMIA1JGyIMQQNyQQFqIAxBAkkbIgxBgICAgARPDQQLIAggA0E4aiAJGyEIIAxBAnQQGiEJIAUEQCAJIAggBUECdBAdGgsgBSAGaiINIAFHBEAgCSAFQQJ0Ig5qIARBAnRqIAggDmogBkECdGogASANa0ECdBAdGgsgC0EBRwRAIAgQDQsgAyAJNgI4IAMgDEGAgICAeHI2AkALIAkgBUECdGoiCEEgNgIAAkAgB0EHRg0AIAhBIDYCBCAHQQZGDQAgCEEgNgIIIAdBBUYNACAIQSA2AgwgB0EERg0AIAhBIDYCECAHQQNGDQAgCEEgNgIUIAdBAkYNACAIQSA2AhggB0EBRg0AIAhBIDYCHAsgBCAGayABaiEBAkAgAywAQ0EASARAIAMgATYCPAwBCyADIAE6AEMLIAkgAUECdGpBADYCACADKAIQIAMtABciASABwEEASCIBGyAFSwRAAkAgAygCDCADQQxqIgcgARsgBWosAAAhDCMAQRBrIgEkACABQQE2AgwgBSAHEF0iBk0EQCABIAYgBWsiCzYCCCMAQRBrIgkkACABQQhqIgggAUEMaiINEMgCIQ4gCUEQaiQAIAEgCCANIA4bKAIANgIMAkAgBCAHEFwiCSAGayABKAIMIghqTQRAIAcQVSEJIAEoAgwiCCAERiAIIAtGcg0BIAUgCWoiDSAEaiAIIA1qIAsgCGsQuAEaDAELIAcgCSAEIAZqIAggCWprIAYgBSAIIAQQ5QEgBygCACEJCyAFIAlqIAQgDBDMAiAHIAkgBCAGaiABKAIMaxDOAiABQRBqJAAMAQsQyAEACwsgAygCPCIHIAMtAEMiASABwCIJQQBIIgYbIgEgBCAFaiIFTQ0FIAMoAjgiCCADQThqIAYbIQtBACEGAkAgASAFayIERQ0AIAsgBUECdGohBQNAIAUoAgBBCUYEQCAFIQYMAgsgBUEEaiEFIARBAWsiBA0ACwsgASAGIAtrQQJ1QX8gBhsiBUsNAAsMBAtB2NgAEI0CAAsQKQALEC0ACxDIAQALQQEhCAJAIAMoAhgiBSADKAIcIgZHBEADQAJAIAUoAgAiBCAKSw0AIAogBSgCBCILTw0AIAsgBGshCAwDCyAFQQhqIgUgBkcNAAsLIAohBAsCQCABIAIoAgQiAiAIQRBqIgUgAiAFSxsiAk0NACAEIAhBAm1qIAJBAXZrIgFBAEoEfyADKAIQIAMtABciBCAEwCIKQQBIIgcbIgUgBSABIAEgBUsbIgZrIQQgAygCDCADQQxqIAcbIQcCQCABIAVJBH8gByAGIAdqIAQQHRogAy0AFwUgCgvAQQBIBEAgAyAENgIQDAELIAMgBDoAFwsgBCAHakEAOgAAIAMoAjwgAy0AQyIEIATAIgpBAEgiBxsiBSAFIAEgASAFSxsiBmshBCADKAI4IANBOGogBxshBwJAIAEgBUkEfyAHIAcgBkECdGogBEECdBAdGiADLQBDBSAKC8BBAEgEQCADIAQ2AjwMAQsgAyAEOgBDCyAHIARBAnRqQQA2AgAgAygCOCIBIANBOGogAywAQ0EASCIEG0EuNgIAIAFBBGogDyAEG0EuNgIAIAFBCGogA0FAayAEG0EuNgIAIAMtAEMhCSADKAI8BSAHCyAJQf8BcSAJwEEASBsgAk0NACACIAMoAhAgAy0AFyIBIAHAIgRBAEgbIgEgASACSxshAQJ/IARBAEgEQCADIAE2AhAgAygCDAwBCyADIAE6ABcgA0EMagsgAWpBADoAACADKAI8IAMtAEMiASABwCIBQQBIGyACSQ0BAn8gAUEASARAIAMgAjYCPCADKAI4DAELIAMgAjoAQyADQThqCyACQQJ0akEANgIAIAMoAjggA0E4aiADLQBDIgHAQQBIIgIbIAMoAjwgASACG0ECdGoiASABQQxrIgJrQQBMDQAgAkEuNgIAIAFBCGtCroCAgOAFNwIACwJAIAMsADNBAEgEQCADKAIoQQA6AAAgA0EANgIsDAELIANBADoAMyADQQA6ACgLIAMoAjwgAy0AQyIBIAHAQQBIIgEbIgJB/////wNxRQ0BIAMoAjggA0E4aiABGyIHIAJBAnRqIQsgA0EEakF/cyEMA0AgBygCACEBIANBADsBCCADQQA2AgQgAyADQQRqIgU2AgAgAyABECYCQCAFIAMoAgAiCUYNACADKAIwIQQgAygCLCADLQAzIgEgAcBBAEgiCBshCiAJIAVrIQIgBSADKAIoIgEgA0EoaiAIGyIGTyAFIAYgCmpNcUUEQCACIARB/////wdxQQFrQQogCBsiBSAKa0sEQEHv////ByAFayACIApqIgEgBWtJBEAQLQALQe////8HIQQgBUHm////A00EQEELIAEgBUEBdCIEIAEgBEsbIgFBD3JBAWogAUELSRshBAsgBBAaIQEgCgRAIAEgBiAKEB0aCyAFQQpHBEAgBhANCyADIAE2AiggAyAEQYCAgIB4ciIENgIwC0EAIQYgASADQShqIARBAEgbIApqIQUgA0EEaiEEIAJBB3EiAQRAA0AgBSAELQAAOgAAIARBAWohBCAFQQFqIQUgBkEBaiIGIAFHDQALCyAJIAxqQQdPBEADQCAFIAQtAAA6AAAgBSAELQABOgABIAUgBC0AAjoAAiAFIAQtAAM6AAMgBSAELQAEOgAEIAUgBC0ABToABSAFIAQtAAY6AAYgBSAELQAHOgAHIAVBCGohBSAEQQhqIgQgCUcNAAsLIAVBADoAACACIApqIQEgAywAM0EASARAIAMgATYCLAwCCyADIAE6ADMMAQsgAkHv////B0sEQBAtAAsCQCACQQpNBEAgAyACOgBfIANB1ABqIQUMAQsgAkEPckEBaiIBEBohBSADIAFBgICAgHhyNgJcIAMgBTYCVCADIAI2AlgLIAUgA0EEaiACEB8gAmpBADoAACADQShqIAMoAlQgA0HUAGogAy0AXyIBwEEASCICGyADKAJYIAEgAhsQNxogAywAX0EATg0AIAMoAlQQDQsgB0EEaiIHIAtHDQALDAELQdjYABCMAgALIAAgAykDKDcCACAAIAMoAjA2AgggA0EANgIwIANCADcDKCAAIAMoAhQ2AhQgACADKQIMNwIMAkAgAygCGCIARQ0AIAMgADYCHCAAEA0gAywAM0EATg0AIAMoAigQDQsgAywAQ0EASARAIAMoAjgQDQsgAygCSCIABEAgABANCyADQeAAaiQAC94FAQZ/IwBBEGsiBiQAAn8CQCABRQ0AIAAoAkAiBQRAAkAgACgCSCIDIAFLDQAgAyAAKAJMaiABTQ0AAkAgAS0AACIEQQ1HIARBwAFxQYABR3ENAANAIAEgA0YEQCADIQEMAgsgAUEBayIBLQAAIgRBDUYgBEHAAXFBgAFGcg0ACwsgAiAFNgIAIAIgACgCRDYCBCACIAEgACgCSGtBAWo2AghBAQwDCwJAIAAoAlAiAyABSw0AIAMgACgCVGogAU0NACAAIAApAlA3AkggACAAKAJEIgNBAWo2AkQgBiAAIANBAmogBRDsAiAAIAYpAwA3AlAgACgCSCEDAkAgAS0AACIFQQ1HIAVBwAFxQYABR3ENAANAIAEgA0YEQCADIQEMAgsgAUEBayIBLQAAIgVBDUYgBUHAAXFBgAFGcg0ACwsgAiAAKAJANgIAIAIgACgCRDYCBCACIAEgACgCSGtBAWo2AghBAQwDCyAAQQA2AkALAkACQCAAKAIYIgRFDQAgACgCACAEQQxsakEMaygCACIDKAIEIAFLDQAgAygCCCABTw0BCyAAQRBqIgUoAgAiBEUNASAFIQMDQCADIAQgBCgCECABSSIHGyEDIARBBGogBCAHGygCACIEDQALIAMgBUYNASAAKAIAIAMoAhQiBEEMbGpBDGsoAgAoAgQgAUsNASAAIAQ2AhggBEUNAQsgBiAAIAEgBBD8ASAGKAIIIQMgACAGKQMANwJIIAAgAzYCRCAAIAQ2AkAgBiAAIANBAWogBBDsAiAAIAYpAwA3AlAgACgCSCEDAkAgAS0AACIFQQ1HIAVBwAFxQYABR3ENAANAIAEgA0YEQCADIQEMAgsgAUEBayIBLQAAIgVBDUYgBUHAAXFBgAFGcg0ACwsgAiAAKAJANgIAIAIgACgCRDYCBCACIAEgACgCSGtBAWo2AghBAQwBCyACQQA2AgBBAAshCCAGQRBqJAAgCAvMBAIIfwF+IwBB0ABrIgEkACAAIAAoAswBQQFrIgI2AswBIAJFBEAgACgC1AEiAiAAKALYASIDQT4gAyACa0EkbWdBAXRrQQAgAiADRxsQgQICQCAAKALUASICIAAoAtgBIgdGDQADQCACKAIEIQMgAigCACEFIAIpAgghCSABIAJBEGo2AiwgAUGEAjsBNCABIAk3AzggASAJpyIEQQBHNgJMIAEgAUE4akEAIAQbNgJIIAFCADcCQCAALQAwIQQgASABKQJINwMgIAFCADcDGCAAIAMgBSABQSxqIAFBIGogAUEYaiAEEPsBIAAoAuABIAIoAiBBHGxqIgRBACACKAIcIgUbIgMgBCAFQRxsakEAIAUbIgVHBEADQCADKAIEIQQgAygCACEIIAMpAgghCSABIANBEGo2AiwgAUGEAjsBNCABIAk3AzggASAJpyIGQQBHNgJMIAEgAUE4akEAIAYbNgJIIAFCADcCQCAALQAwIQYgASABKQJINwMQIAFCADcDCCAAIAQgCCABQSxqIAFBEGogAUEIaiAGEPsBIANBHGoiAyAFRw0ACwsgAkEkaiICIAdHDQALIAAoAtgBIgIgACgC1AEiA0YNAANAIAJBCWssAABBAEgEQCACQRRrKAIAEA0LIAJBJGsiAiADRw0ACyADIQILIAAgAjYC2AEgACgC5AEiAyAAKALgASICRwRAA0AgA0EBaywAAEEASARAIANBDGsoAgAQDQsgA0EcayIDIAJHDQALCyAAIAI2AuQBCyABQdAAaiQACzoBAX8jAEEQayIAJAAgAEEBOgANIABBxOAALQAABH8gAEHE4AA2AgRBAwVBAQs6AAwgAEEEahDxAgAL9AMCCX8BfgJAIAAoAggiAUECaq0iCkIBiCAKhCIKQgKIIAqEIgpCBIggCoQiCkIIiCAKhCIKQhCIIAqEp0EBaiIFIAFNIAVBgICAgAJPckUEQCAFQQN0ECsiB0UNAQJ/IAAoAgAiAyAAKAIEIgZB/////wFxRQ0AGiAHIQEgAyECIAZBA3EiCARAA0AgAigCACEJIAJBADYCACABIAk2AgAgASACKAIENgIEIAFBCGohASACQQhqIQIgBEEBaiIEIAhHDQALCyAGQQFrQf////8BcUEDTwRAIAMgBkEDdGohBANAIAIoAgAhAyACQQA2AgAgASADNgIAIAEgAigCBDYCBCACKAIIIQMgAkEANgIIIAEgAzYCCCABIAIoAgw2AgwgAigCECEDIAJBADYCECABIAM2AhAgASACKAIUNgIUIAIoAhghAyACQQA2AhggASADNgIYIAEgAigCHDYCHCABQSBqIQEgAkEgaiICIARHDQALCyAAKAIAIgQgACgCBCIBQf////8BcUUNABogBCABQQN0aiEBA0AgAUEIayIDKAIAIQIgA0EANgIAIAIEQCACIAFBBGsoAgARAwALIAMiASAERw0ACyAAKAIACyIBIABBDGpHBEAgARANCyAAIAU2AgggACAHNgIADwsQOQALEDkAC2cBA38jAEEgayICJAAgASgCACEDIAAoAgRBADYCACADKAIUIQEgACgCBCgCCCEEIAJBgiQ2AgwgAkGDAjsBFCACQgA3AwAgAkIANwMYIARBACABIAIgAkEMakEAQQAQECACQSBqJAAL7QEBA38CQAJAIAAoAggiAkEGRwRAIAJBxwBHDQIgAUEEaiECIAEoAgQiBCABKAIISQRAIAEhAwwCCyABIAFBDGpBAEEEEBggASgCBCEEIAEhAwwBCyABQSxqIQMgAUEwaiICKAIAIgQgASgCNEkNACADIAFBOGpBAEEEEBggASgCMCEECyADKAIAIARBAnRqIAA2AAAgAiACKAIAQQFqNgIAIAAoAgghAgsgAkEHa0F8TQRAIAAoAiAiAiAAQRxqIgNHBEADQCABIAIQHiACKAIEIgIgA0cNAAsLIAEgACgCJBAeIAEgACgCKBAeCwvqAQEDfwJAAkAgACgCCCICQQZHBEAgAkHHAEcNAiABQQRqIQIgASgCBCIDIAEoAghJBEAgASEEDAILIAEgAUEMakEAQQQQGCABKAIEIQMgASEEDAELIAFBLGohBCABQTBqIgIoAgAiAyABKAI0SQ0AIAQgAUE4akEAQQQQGCABKAIwIQMLIAQoAgAgA0ECdGogADYAACACIAIoAgBBAWo2AgAgACgCCCECCyACQQdrQXxNBEAgASAAKAIcEB4gASAAKAIgEB4gASAAKAIkEB4gASAAKAIoEB4gASAAKAIsEB4gASAAKAIwEB4LC88BAQN/AkACQCAAKAIIIgJBBkcEQCACQccARw0CIAFBBGohAiABKAIEIgMgASgCCEkEQCABIQQMAgsgASABQQxqQQBBBBAYIAEoAgQhAyABIQQMAQsgAUEsaiEEIAFBMGoiAigCACIDIAEoAjRJDQAgBCABQThqQQBBBBAYIAEoAjAhAwsgBCgCACADQQJ0aiAANgAAIAIgAigCAEEBajYCACAAKAIIIQILIAJBB2tBfE0EQCABIAAoAhwQHiABIAAoAiAQHiABIAAoAigQHgsL9gEBA38CQAJA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Sw0AIAEgAhCtAyABIAZBuAJqIAZBhAJqEIUBGgsgBigChAIhASALIAsoAswBQQFqNgLMASABKAIAQX9HBEAgCyALKALQAUEBazYC0AELIAEgBikDuAI3AgAgASAVNgIIIApBAToAHCAGKAIgIgIgBigCJE8EQCAGQRxqEKIBIAYoAiAhAgsgBigCHCACQSxsaiIBIAYpAtgBNwIAIAEgBigC8AE2AhggASAGKQLoATcCECABIAYpAuABNwIIIAEgBigC9AE2AhwgASAGKAL4ATYCICABIAYoAvwBNgIkIAZCADcC9AEgASAGLwGAAjsBKCAGIAYoAiBBAWo2AiAMAQsgCigCDA0AIApBDTYCDCAKIAooAgg2AgQLIBAgBigClAIiAUcEQCABEA0LIAYoAvQBIgNFDQIgAyAGKAL4ASIBRwR/A0AgAUEMayICKAIAIgQEQCABQQhrIAQ2AgAgBBANCyACIgEgA0cNAAsgBigC9AEFIAMLEA0MAgsgCiADNgIEIApBCjYCDAwBCyAKIAE2AgQgBkEENgLYASAGQQA2AvwBIAZCADcC9AEgCigCACICLwGKASEBIAYgBDoAgQIgBiABNgLgASAGIAk6AIACIAYgAigClAFBBGsiAigCADYC8AEgBiABOwHuASAGQQE6AOwBIAZCgICAgHA3AuQBIAYgAigCADYC3AEgBigCICICIAYoAiRPBEAgBkEcahCiASAGKAIgIQILIAYoAhwgAkEsbGoiASAGKQLYATcCACABIAYoAvABNgIYIAEgBikC6AE3AhAgASAGKQLgATcCCCABIAYoAvQBNgIcIAEgBigC+AE2AiAgASAGKAL8ATYCJCAGQgA3AvQBIAEgBi8BgAI7ASggBiAGKAIgQQFqNgIgIAYoAvQBIgNFDQAgAyAGKAL4ASIBRwR/A0AgAUEMayICKAIAIgQEQCABQQhrIAQ2AgAgBBANCyACIgEgA0cNAAsgBigC9AEFIAMLEA0LIAooAgQiASAKKAIIIgNGDQQDQCAGQQE6AIwCIAZCgICAgHA3AoQCIAYgCigCACICLwGKATsBjgIgBiACKAKUAUEEaygCADYCkAICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLwEAIglBJGsOWgEICAgTEwUFCAgDCAgICAgICAgICAgICAgICAUICAgICAgICAgICAgICAgICAgICAgICAgICAgEAgcACAgICAgICAgICAgICAgICAgICAgICAgICAgICAYTBwgLIAItAIgBIQFBCBAaIgNB9MQBNgIAIAMgAUECdkEBcToABCAGIAM2AtgBAkAgAigCoAEiASACKAKkAUkEQCAGQQA2AtgBIAEgAzYCACACIAFBBGo2AqABDAELIAJBnAFqIAZB2AFqEEQLIAYoAtgBIQEgBkEANgLYASABBEAgASABKAIAKAIEEQMACwJAIAIoApQBIgEgAigCmAEiCUkEQCABIAM2AgAgAiABQQRqNgKUAQwBCyABIAIoApABIgRrQQJ1IghBAWoiB0GAgICABE8NGUH/////AyAJIARrIglBAXUiDCAHIAcgDEkbIAlB/P///wdPGyIJBH8gCUGAgICABE8NEiAJQQJ0EBoFQQALIgwgCEECdGoiByADNgIAIAdBBGohAyABIARHBEADQCAHQQRrIgcgAUEEayIBKAIANgIAIAEgBEcNAAsgAigCkAEhAQsgAiAMIAlBAnRqNgKYASACIAM2ApQBIAIgBzYCkAEgAUUNACABEA0LIAogCigCBEECajYCBEEAIQcMDgtBBBAaIgNBzMUBNgIAIAYgAzYC2AECQCACKAKgASIBIAIoAqQBSQRAIAZBADYC2AEgASADNgIAIAIgAUEEajYCoAEMAQsgAkGcAWogBkHYAWoQRAsgBigC2AEhASAGQQA2AtgBIAEEQCABIAEoAgAoAgQRAwALAkAgAigClAEiASACKAKYASIJSQRAIAEgAzYCACACIAFBBGo2ApQBDAELIAEgAigCkAEiBGtBAnUiCEEBaiIHQf////8DSw0YQf////8DIAkgBGsiCUEBdSIMIAcgByAMSRsgCUH8////B08bIgkEfyAJQf////8DSw0RIAlBAnQQGgVBAAsiDCAIQQJ0aiIHIAM2AgAgB0EEaiEDIAEgBEcEQANAIAdBBGsiByABQQRrIgEoAgA2AgAgASAERw0ACyACKAKQASEBCyACIAwgCUECdGo2ApgBIAIgAzYClAEgAiAHNgKQASABRQ0AIAEQDQsgCiAKKAIEQQJqNgIEQQAhBwwNCyAKIAFBAmoiBDYCBCADIARGBEAgCigCDA0TQQIhAgwQCwJAAkACQAJAAkACQAJAIAQvAQAiCUExaw5HBAQEBAQEBAQEBgYGBgYGBgYABgEGBgYGBgYGBgYGBgYGBgIGBgYDBgYGBgYGBgYGBgAGAQYGBgYGBgUGBgYGBgYGAgYGBgMGC0EIEBoiAyAJQcIARjoABCADQajGATYCACAGIAM2AtgBAkAgAigCoAEiASACKAKkAUkEQCAGQQA2AtgBIAEgAzYCACACIAFBBGo2AqABDAELIAJBnAFqIAZB2AFqEEQLIAYoAtgBIQEgBkEANgLYASABBEAgASABKAIAKAIEEQMACwJAIAIoApQBIgEgAigCmAEiCUkEQCABIAM2AgAgAiABQQRqNgKUAQwBCyABIAIoApABIgRrQQJ1IghBAWoiB0H/////A0sNHUH/////AyAJIARrIglBAXUiDCAHIAcgDEkbIAlB/P///wdPGyIJBH8gCUH/////A0sNFiAJQQJ0EBoFQQALIgwgCEECdGoiByADNgIAIAdBBGohAyABIARHBEADQCAHQQRrIgcgAUEEayIBKAIANgIAIAEgBEcNAAsgAigCkAEhAQsgAiAMIAlBAnRqNgKYASACIAM2ApQBIAIgBzYCkAEgAUUNACABEA0LIAogCigCBEECajYCBEEAIQcMEgsgCiABQQRqNgIEIAZBADoAlAJBASEHIAIgAiAGQZQCaiACQYgBahDJASEYIAZBgQJBASAJQcQARhsiAjsB2AEgBiACOwEOIBggBkEOahB0DBELIAogAUEEajYCBCAGQQA6AJQCIAIgAiAGQZQCaiACQYgBahDJASEZIAZBggJBAiAJQdMARhsiAjsB2AEgBiACOwEQIBkgBkEQahB0DA4LIAogAUEEajYCBCAGQQA6AJQCIAIgAiAGQZQCaiACQYgBahDJASEaIAZBhAJBBCAJQdcARhsiAjsB2AEgBiACOwESIBogBkESahB0DA0LQgAhHSAEIQcDQCAHLwEAIghBMGtB//8DcUEJTQRAIAogB0ECaiIHNgIEQv////8PIB1CCn4gCK1C//8Dg3xCMH0iHSAdQv////8PWhshHSADIAdHDQELCyAdpyEHAkAgCi0AEEEIcUUEQCAKKAIUIAdJDQELIAogCigCGCIBIAcgASAHSxs2AhhBCBAaIgMgB0EBazsBBCADQfTHATYCACAGIAM2AtgBAkAgAigCoAEiASACKAKkAUkEQCAGQQA2AtgB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ACAGIAM2ApQCAkAgCCgCoAEiASAIKAKkAUkEQCAGQQA2ApQCIAEgAzYCACAIIAFBBGo2AqABDAELIAhBnAFqIAZBlAJqEEQLIAYoApQCIQEgBkEANgKUAiABBEAgASABKAIAKAIEEQMACyAIKAKUASICIAgoApgBIgdJBEAgAiADNgIAIAggAkEEajYClAEMAQsgAiAIKAKQASIEa0ECdSIJQQFqIgFB/////wNLDRlB/////wMgByAEayIHQQF1IgwgASABIAxJGyAHQfz///8HTxsiBwR/IAdB/////wNLDRIgB0ECdBAaBUEACyIMIAlBAnRqIgEgAzYCACABQQRqIQMgAiAERwRAA0AgAUEEayIBIAJBBGsiAigCADYCACACIARHDQALIAgoApABIQILIAggDCAHQQJ0ajYCmAEgCCADNgKUASAIIAE2ApABIAJFDQAgAhANCyAGKALYASIBIBRGDQwgARANDAwLIAJBAToA2AEgCigCACECCyAKEKwDIQkMBwsgCiABQQJqNgIEIAItAIgBIQFBCBAaIgNBzMgBNgIAIAMgAUEEdkEBcToABSADIAFBA3ZBAXE6AAQgBiADNgLYAQJAIAIoAqABIgEgAigCpAFJBEAgBkEANgLYASABIAM2AgAgAiABQQRqNgKgAQwBCyACQZwBaiAGQdgBahBECyAGKALYASEBIAZBADYC2AEgAQRAIAEgASgCACgCBBEDAAsgAigClAEiASACKAKYASIJSQRAIAEgAzYCACACIAFBBGo2ApQBDAoLIAEgAigCkAEiBGtBAnUiCEEBaiIHQf////8DSw0VQf////8DIAkgBGsiCUEBdSIMIAcgByAMSRsgCUH8////B08bIgkEfyAJQf////8DSw0OIAlBAnQQGgVBAAsiDCAIQQJ0aiIHIAM2AgAgB0EEaiEDIAEgBEcEQANAIAdBBGsiByABQQRrIgEoAgA2AgAgASAERw0ACyACKAKQASEBCyACIAwgCUECdGo2ApgBIAIgAzYClAEgAiAHNgKQAUEBIQcgAUUNCyABEA0MCwsgCiABQQJqIgQ2AgRBACEIAkAgAyAERg0AIAQvAQBB3gBHDQAgCiABQQRqNgIEQQEhCAsgCi0AECEbIAYgCDoA2AEgAiACIAZB2AFqIAJBiAFqEMkBIQEgCigCBCICIAooAghGDQkgG0EIcSEIIAFBCGohAwNAIAIvAQBB3QBGBEAgCiACQQJqNgIEDAoLIAZB2AFqIAoQqwMCQCAGLQDwAUUNAAJAIAooAgQiAiAKKAIIRwRAIAIvAQBBLUYNAQsgBi0A3gEEQCAGIAYvAdwBIgI7AZQCIAYgAjsBFCABIAZBFGoQdAwCCyAGLQDsAQ0BIAMgBigC2AEQcwwBCyAKIAJBAmo2AgQgBkGUAmogChCrAyAGLQCsAkUEQCAGLQDeAQRAIAYgBi8B3AEiAjsBuAIgBiACOwEWIAEgBkEWahB0IANBLRBzDAILIAYtAOwBRQRAIAMgBigC2AEQcwsgA0EtEHMMAQsgBi0AmgIhAiAGLQDeASEEAkAgCARAAkAgBi0A7AENACAGLQCoAiAEcg0AIAJFDQILIAooAgwNDAwLCyACIARyRQ0AAkAgBARAIAYgBi8B3AEiBDsBuAIgBiAEOwEaIAEgBkEaahB0DAELIAYtAOwBDQAgAyAGKALYARBzCyADQS0QcyACBEAgBiAGLwGYAiICOwG4AiAGIAI7ARggASAGQRhqEHQMAgsgBi0AqAINASADIAYoApQCEHMMAQsgBigClAIiCSAGKALYASIESQRAIAooAgxFDQoMCwsgBiAENgKwAiAGIAkgBGtBAWoiAjYCtAIgAkUNACAGQbgCaiABKAIIIgIgAiABKAIMQQN0aiAGQbACaiIMEKoDIAYoArgCIgIgBigCvAIiB0YEQCADIAIgDBCoAwwBCyAHQQhrIgwoAgAhCyAMKAIEIQwgAiACKAIAIg8gBCAEIA9LGyIENgIAIAIgCUEBaiIJIAsgDGoiDCAJIAxLGyAEazYCBCABIAJBCGogByABKAIIIAEoAgxBA3RqIAdrIgIQHSACaiABKAIIa0EDdTYCDAsgCigCBCICIAooAghHDQALDAkLIAooAgwNDUEJIQIMDAsCQAJAIAogBkHYAWoQkAIEQAJAIAooAgQiASAKKAIIIgNGDQAgAS8BAEE/Rw0AIAogAUECaiIBNgIECyAKKAIMDQ8gCkEJNgIMDAELIAotABBBCHFFDQEgCigCDARAIAooAgghAyAKKAIEIQEMDwsgCkEINgIMIAooAgghAwsgCiADNgIEIAMhAQwNCyAKIAooAgRBAmo2AgQgCigCAEH7ABCnAwwGCyAKLQAQQQhxRQ0BIAooAgwNC0EIQQQgCUH9AEYbIQIMCgsgCi0AEEEIcUUNAEGAyIBlIQggASEHIAlBgPgDcUGAsANHIgRFBEAgCiABQQJqIgc2AgQgCUEKdEGAuP8aayEICyADIAdGDQAgBy8BACIDQYD4A3FBgLgDRw0AIAogB0ECajYCBCAEDQAgAyAIaiEJDAELIAogAUECajYCBAsgAiAJEKcDDAILECIACyAKQQc2AgwgCiAKKAIINgIEC0EBIQcMAQtBASEHIAooAgwNACAKIAI2AgQgCkEENgIMCyAKIAZBhAJqEJACBEBBASECAkAgCigCBCIBIAooAggiA0YNACABLwEAQT9HDQAgCiABQQJqIgE2AgRBACECCyAGIAI6AIwCIAdFBEAgCigCDA0FQQkhAgwECyAKIAZBhAJqEK4DCyAKKAIEIgEgCigCCCIDRw0ACwwECxApAAsgCiADNgIEIAogAjYCDAwCCyABIANHDQALCyAKIAZBHGoQrwMgBigCICIBRQ0AIAooAgxFBEAgCkEFNgIMIAogCigCCDYCBAsgBigCHCIHIAFBLGwiAUUNARogASAHaiEBA0AgAUEsayIEKAIcIgMEQCABQQxrIggoAgAiAiADIgFHBEADQCACQQxrIgEoAgAiCQRAIAJBCGsgCTYCACAJEA0LIAEiAiADRw0ACyAEKAIcIQELIAggAzYCACABEA0LIAQiASAHRw0ACwsgBigCHAsiAUcEQCABEA0LIAZB0AJqJAAgDSgCLCEGIAUgDSgCODYCAAJAAkAgBg0AQQQQGiIBQfDJATYCACANIAE2AiACQCAAKAKgASICIAAoAqQBSQRAIA1BADYCICACIAE2AgAgACACQQRqNgKgAQwBCyAAQZwBaiANQSBqEEQLIA0oAiAhAiANQQA2AiAgAgRAIAIgAigCACgCBBEDAAsCQCAAKAKUASIHIAAoApgBIgRJBEAgByABNgIAIAAgB0EEajYClAEMAQsgByAAKAKQASICa0ECdSIFQQFqIgNBgICAgARPDQRB/////wMgBCACayIEQQF1IgkgAyADIAlJGyAEQfz///8HTxsiAwR/IANBgICAgARPDQQgA0ECdBAaBUEACyIEIAVBAnRqIgggATYCACAIQQRqIQEgAiAHRwRAA0AgCEEEayIIIAdBBGsiBygCADYCACACIAdHDQAL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IAMgA0E8ajYCSCADIANByABqNgJYIAMgA0HYAGo2AhggA0HkAGogA0EYahBRIAMsADtBAEgEQCADKAIwEA0LIANBADYCYCADQgA3A1ggA0EANgJQIANCADcDSCADIAEoAgApAjAiDDcDCCADIAw3AxAgA0EYaiACIANBCGoQ9gIgAywAY0EASARAIAMoAlgQDQsgAyADKAIgNgJgIAMgAygCLDYCUCADIAMpAhgiDDcDWCADIAMpAiQ3A0ggDKciBiADQdgAaiIIIgcgAywAYyIFQQBIIgEbIQIgAygCXCAFQf8BcSABGyIEQQRJDQIgAkEDcQRAIAItAAAhAQJ/IARBAWsgBiAHIAVBAEgiBRsiB0EBaiICQQNxRQ0AGiACLQAAIAFyIQEgBEECayAHQQJqIgJBA3FFDQAaIAItAAAgAXIhASAEQQNrIAYgCCAFGyIFQQNqIgJBA3FFDQAaIAItAAAgAXIhASAFQQRqIQIgBEEEawshBCABwEEASA0ECwNAIARBBEkNAyAEQQRrIQQgAigCACELIAJBBGohAiALQYCBgoR4cUUNAAsMAwsQLQALEC0ACyAERQ0BIARBB3EhBkEAIQECQCAEQQhJBEBBACEEDAELIARBeHEhB0EAIQRBACEFA0AgAi0AByACLQAGIAItAAUgAi0ABCACLQADIAItAAIgAi0AASACLQAAIARycnJycnJyciEEIAJBCGohAiAFQQhqIgUgB0cNAAsLIAYEQANAIAItAAAgBHIhBCACQQFqIQIgAUEBaiIBIAZHDQALCyAEwEEATg0BCyADQYQIOwEgIAMgA0HYAGo2AhwgAyADQeQAajYCGAwBCyADQYIIOwEgIANBggY7AUQgA0HzpgE2AkAgA0GECDsBOCADIANByABqNgIcIAMgA0E8ajYCGCADIANBMGo2AjwgAyADQdgAajYCNCADIANB5ABqNgIwCyAAIANBGGoQUSADLABTQQBIBEAgAygCSBANCyADLABjQQBIBEAgAygCWBANCyADLABvQQBIBEAgAygCZBANCyADLAB7QQBODQAgAygCcBANCyADQYABaiQAC48GAgh/AX4jAEEwayIEJAACQCAALQCIASIGQQFxIglFDQAgBkEIcSECIAFB/wBNBEAgAUFfcSIDIAJBAnRyIAEgA0HBAGtBGkkbIQEMAQsCQEG4igJBuJUCIAJBAEciAhsiBUHw/QFBwIoCIAIbIgJGDQAgBSACa0EDdSEDA0AgAiACIANBAXYiCEEDdGoiAkEIaiACKAIAIgJB////B3EgAkEYdmogAUsiBxshAiAIIAMgCEF/c2ogBxsiAw0ACyACIAVGDQAgASACKQIAIgqnIgNB////B3EiAkkgAiADQRh2aiABTXINAEEAIApCCIZCKIenIAEgAmsgCkI4iKdwGyABaiEBCwsgBCABNgIUIARBBTYCECAEIARBFGoiCDYCCEEoEBohAiAEQQA2AgwgAkEQaiIDIAE2AAAgAiADNgIEIAJBxMoBNgIAIAIgBkEDdkEBcToAJSACIAk6ACQgAkKBgICA0AA3AgggBEEANgIsIAQgAjYCKAJAIAAoAqABIgEgACgCpAFJBEAgBEEANgIoIAEgAjYCACAAIAFBBGo2AqABDAELIABBnAFqIARBKGoQRAsgBCgCKCEBIARBADYCKCABBEAgASABKAIAKAIEEQMACwJAAkACQCAAKAKUASIBIAAoApgBIgVJBEAgASACNgIAIAAgAUEEajYClAEMAQsgASAAKAKQASIGa0ECdSIJQQFqIgNBgICAgARPDQFB/////wMgBSAGayIFQQF1IgcgAyADIAdJGyAFQfz///8HTxsiBQR/IAVBgICAgARPDQMgBUECdBAaBUEACyIHIAlBAnRqIgMgAjYCACADQQRqIQIgASAGRwRAA0AgA0EEayIDIAFBBGsiASgCADYCACABIAZHDQALIAAoApABIQELIAAgByAFQQJ0ajYCmAEgACACNgKUASAAIAM2ApABIAFFDQAgARANCyAEKAIsIgAEQCAAKAIEIgEgAEEQakcEQCABEA0LIAAQDQsgCCAEKAIIIgBHBEAgABANCyAEQTBqJAAPCxAiAAsQKQAL9gEBA38gACgCCCEFIAEgACgCACIEIAAoAgQiA0EDdGpGBEAgAyAFTwR/IAAgAEEMakEAQQgQGCAAKAIAIQQgACgCBAUgAwtBA3QgBGogAikCADcAACAAIAAoAgRBAWo2AgQPCyADIAVPBEAgACAAQQxqQQBBCBAYIAAoAgQhAyABIARrIAAoAgAiBGohAQsgBCADQQN0aiIDIANBCGspAgA3AgAgACgCACAAKAIEQQN0aiIDIAMgAWtBCGsiA2sgASADEB0a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QhCIIAKEp0EBaiIBIAFBwABNGyIBNgIMIAAoAgAhBCAAIAFBDGwQGiIDNgIAAkAgBEUEQCAAQgA3AgQgACgCDCIEQQxsIgVFDQEgAyEBIARBB3EiBwRAQQAhAANAIAFC/////w83AgAgAUEMaiEBIABBAWoiACAHRw0ACwsgBEEBa0H/////A3FBB0kNASADIAVqIQADQCABQv////8PNwIAIAFC/////w83AlQgAUL/////DzcCSCABQv////8PNwI8IAFC/////w83AjAgAUL/////DzcCJCABQv////8PNwIYIAFC/////w83AgwgAUHgAGoiASAARw0ACwwBCyAAQgA3AgQCQCAAKAIMIgVBDGwiCEUNACADIQEgBUEHcSIJBEADQCABQv////8PNwIAIAFBDGohASAKQQFqIgogCUcNAAsLIAVBAWtB/////wNxQQdJDQAgAyAIaiEDA0AgAUL/////DzcCACABQv////8PNwJUIAFC/////w83AkggAUL/////DzcCPCABQv////8PNwIwIAFC/////w83AiQgAUL/////DzcCGCABQv////8PNwIMIAFB4ABqIgEgA0cNAAsLIAdBDGwiAQRAIAEgBGohAyAEIQEDQCABKQIAQv7///8Pg0L+////D1IEQCAAIAEgBkEMahCFARogBigCDCIFIAEpAgA3AgAgBSABKAIINgIIIAAgACgCBEEBajYCBAsgAUEMaiIBIANHDQALCyAEEA0LIAZBEGokAAu2BwIIfwF+IwBBIGsiBCQAAkACQAJAIAEoAgAgASgCBEsEQCAAKAIMDQEgAEEGNgIMIAAgACgCCDYCBAwBCyAAKAIAIgcoApQBIgMgBygCkAEiCWtBAnUhAiABKAIMIQgDQAJAIAJFBEBBfyECDAELIAkgAkEBayICQQJ0aigCACAIRw0BCwsgBEEANgIUIARCADcCDCAEIARBDGo2AhwgAyAJIAJBAnRqQQRqIghHBEAgCCECA0AgBEEcaiACEMoBIAJBBGoiAiADRw0ACyAHKAKUASEDCyADIAhHBEAgByAIIANBABAdNgKUAQsgASkCACEKIAAoAgAhBSAEKAIUIQkgBEEANgIUIAQoAhAhByAEQQA2AhAgBCgCDCECIARBADYCDCABLwEKIQMgAS0ACCEIIAUgBSgCjAEiAUEBajYC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AhB7RQ0GAkACQCACQYCABE0EQCABKAIEIgMgASgCCE8NAQwCCyABKAIEIgMgASgCCE8EQCABIAhBAEECEBggASgCBCEDCyACQYCAPGpBCnZB/wdxQYCwf3IhBCACQf8HcUGAuH9yIQIgASgCACADQQF0aiAEOwAAIAEgASgCBEEBaiIDNgIEIAMgASgCCEkNAQsgASAIQQBBAhAYIAEoAgQhAwsgASgCACADQQF0aiACOwAADAILIAAoAgghBSAAKAIEIQMLIAMgBUYNASADIgIvAQAiBEGA+ANxQYCwA0ciB0UEQCAAIAJBAmoiAjYCBAsgAiAFRg0DIAIvAQAiBUGA+ANxQYC4A0cNAyAAIAJBAmo2AgQgBw0DIARBCnQgBWpBgLj/GmsQe0UNAyABKAIEIgIgASgCCE8EQCABIAhBAEECEBggASgCBCECCyABKAIAIAJBAXRqIAQ7AAAgASABKAIEQQFqIgI2AgQgASgCCCACTQRAIAEgCEEAQQIQGCABKAIEIQILIAEoAgAgAkEBdGogBTsAAAsgASABKAIEQQFqNgIEQQAhAyAAKAIEIgQgACgCCCIHRw0BDAcLCyAFIQMLIAAgAzYCBAtBACEDDAMLIAchBAsgACAENgIEC0EAIQMLIApBEGokACADC/gCAQR/AkACQAJAIAAoAgQgACgCACICa0EMbSIFQQFqIgNB1qrVqgFJBEBB1arVqgEgACgCCCACa0EMbSICQQF0IgQgAyADIARJGyACQarVqtUATxsiA0HWqtWqAU8NASADQQxsIgMQGiIEIAVBDGxqIgIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAFBADYCCCABQgA3AgAgAyAEaiEDIAJBDGohBSAAKAIEIgEgACgCACIERg0CA0AgAkEMayICIAFBDGsiASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAFBADYCCCABQgA3AgAgASAERw0ACyAAIAM2AgggACgCBCEDIAAgBTYCBCAAKAIAIQEgACACNgIAIAEgA0YNAwNAIANBDGsiACgCACICBEAgA0EIayACNgIAIAIQDQsgACIDIAFHDQALDAMLECIACxApAAsgACADNgIIIAAgBTYCBCAAIAI2AgALIAEEQCABEA0LC0YAIAAgAUcEQANAIAJCgICAgIADNwIEIAIg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IAFBCGpBABAMIgQ2AugGAkACQAJAIAQoAgBBAUYEQCADQRxqIAEQRSADLQAgDQEgA0EBNgI8IANBATYCNCADIANBNGo2AjggAyADKQI4NwMIIAEgA0EIakGYwwBBl5gBIAYQGSAAQQA6AAQMAwsgAkEEcQ0BIANBATYCPCADQQE2AhwgAyADQRxqNgI4IAMgAykCODcDECABIANBEGpBiZgBQZeYASAGEBkgAEEAOgAEDAILIAMoAhwhBwtBACEEAkACQAJAIAEoAgAiAigCYEUNACABKALoBigCAEHKAEcNACADQThqIAEQPSADLQA8RQ0BIAMoAjghBCABKAIAIQILAkAgAi0AZEUNACABKALoBigCAEHKAEcNACADQThqIAEQaCADLQA8RQ0CIAMoAjghBAtBACECIANBOGogASAGIAcgBEEAELwDIAAgAy0APAR/IAAgAygCODYCAEEBBUEACzoABAwCCyAAQQA6AAQMAQsgAEEAOgAECyABIAg6ACACQAJ/IAEiACABKAKAByIEIAVLDQAaIAQgBU8NASABQfwGaiECIAUgASgChAdLBEAgAiABQYgHaiAFQQQQGCABKAKAByEECyABIARBAnQiBiAFQQJ0Rg0AGiACKAIAIAZqQQAgBSAEa0ECdBAnGiADKAIkCyEAIAEgBTYCgAcLIAAtAIwHRQRAIAAgAy0AMToAjQcgACADLQAyOgCOBwsgACADLQAwOgCMByADQUBrJAAL4x4CEX8BfiMAQRBrIgokACABIAEoAvQGQQFqIgI2AvQGAkAgAkGACE8EQCABEDYaIABBADoABAwBCwJAAkACQAJAAkACQCABKALoBiICKAIAQQFrDiQABQUBBQUFBQUFBQUFBQUFBQUEBQUFBQUFBQUFBQUFBQUFBQIFCyACKAIYIgUgASgCjAhHDQILIApBCGogAUEAQQEQigEgCi0ADEUEQCAAQQA6AAQMBQsgACAKKAIINgIAIABBAToABAwECyAKQQhqIAFBABC9AyAAIAotAAwEfyAAIAooAgg2AgBBAQVBAAs6AAQMAwsgBSABKAK4B0cNASAFKAIEIAIoAgggAigCBGtHDQELIApBCGogARCaAiAKLQAMRQRAIABBADoABAwCCyAAIAooAgg2AgAgAEEBOgAEDAELIAEoAgAiAigCYARAIApBCGohAyMA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AhwgByAHQRxqNgIUIAcgBykCFDcDCCABIAdBCGpB6glB2AkgAhAZIABBADoABAwBCyABIAFBCGpBAxAMNgLoBiABLQCUByEIIAFBAToAlAcgB0EUaiABEC8gBy0AGEUEQCABIAg6AJQHIABBADoABAwBCyAHKAIUIQsgASAIOgCUByABKAJYIQwgASgCoAchDSABKAIAIgEoAgwiCCABKAIAIAgoAgBBAnRqKAIAIgogCCgCBGpBB2pBeHEgCms2AgQCfyABKAIMIggoAgQiDkEwaiIPQYGAEE8EQCABQTAQDgwBCyAIIA82AgQgCiAOagsiASANNgIsIAEgAzYCKCABIAU6ACcgASAEOgAmIAFBADoAJCABIAs2AiAgASAGNgIcIAFCxQE3AgggAUIANwIAIAEgAjYCGCABIAI2AhAgASAJQdsARjoAJSABIAw2AhQgACABNgIAIABBAToABAsgB0EgaiQAC8QCAQh/IwBBEGsiBSQAAkACQCAFQQhqIAEgAiABKALoBigCAEHKAEYEfyAFQQhqIAEQPSAFLQAMRQ0BIAUoAggFQQALENIBIAUtAAxFBEAgAEEAOgAEDAILIAEoAlghCCABKAKgByEJIAUoAgghCiABKAIAIgEoAgwiBiABKAIAIAYoAgBBAnRqKAIAIgcgBigCBGpBB2pBeHEgB2s2AgQCfyABKAIMIgYoAgQiC0EwaiIMQYGAEE8EQCABQTAQDgwBCyAGIAw2AgQgByALagsiASAJNgIsIAFBADYCKCABQQA6ACcgASADOgAmIAFBATsBJCABIAo2AiAgASAENgIcIAFCxQE3AgggAUIANwIAIAEgAjYCGCABIAI2AhAgASAINgIUIAAgATYCACAAQQE6AAQMAQsgAEEAOgAECyAFQRBqJAALqwQBB38jAEEgayIDJAAgASgC6AYiAigCBCEHIAIoAgBB0gBGBEAgASABQQhqQQMQDDYC6AYLIANBGGogARDIAwJAIAMtABxFBEAgAEEAOgAEDAELIAEoAugGKAIAQdIARwRAIABBAToABCAAIAMoAhg2AgAMAQsgAygCGCICIANBEGoiBDYCACACIAQ2AgQgAyACNgIQIAMgAjYCFCABKALoBigCAEHSAEYEQCABQQhqIQQDQCABIARBAxAMNgLoBiADQQhqIAEQyAMgAy0ADEUEQCAA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AQN/IwBBIGsiASQAIAFBADoAFCABQQA2AhAgASABKQIQNwMIIAFBGGogAEEIaiABQQhqECwgASgCGCEDIAEtABwhAiABQSBqJAAgA0E1RiACQQBHcQvPAgEEfyMAQUBqIgMkACABKALoBiIEKAIEIQUCQAJAIAQoAgAiBEHKAEYEQCADQTRqIAEQPSADLQA4RQ0BIAEoAugGKAIAIQQgAygCNCEGCyAEQTVHBEAgA0EBNgI4IANBNTYCKCADIANBKGo2AjQgAyADKQI0NwMQIAEgA0EQakGVwABBtT4gBRAZIABBADoABAwCCyADIANBKGoiBDYCLCADIAQ2AiggA0EANgIkIANBHGogASAEIANBJGogAhCiAiADLQAgRQRAIABBADoABAwCCyABKALoBigCAEHtAEcEQCADQQE2AjggA0HtADYCPCADIANBPGo2AjQgAyADKQI0NwMIIAEgA0EIakGVwABBtT4gBRAZIABBADoABAwCCyAAIAEgBSADQShqIAMoAiQgAygCHCAGIAIQxwMMAQsgAEEAOgAECyADQUBrJAAL0AIBBH8jAEEgayICJAACQAJAAkAgASgC6AYiAygCCC0AACIEQSpHBEAgBEE/Rw0BIAMoAgQhAyABIAFBCGoiBEEDEAwiBTYC6AYgBSgCAEHbAEYEQCABIARBAxAMNgLoBiABKAKgCSEDDAMLIAJBATYCGCACQdsANgIcIAIgAkEcajYCFCACIAIpAhQ3AwAgASACQfs/QfDmACADEBkgAEEAOgAEDAMLIAMoAgQhAyABIAFBCGoiBEEDEAwiBTYC6AYgBSgCAEHCAEYEQCABIARBAxAMNgLoBiABKAKkCSEDDAILIAJBATYCGCACQcIANgIcIAIgAkEcajYCFCACIAIpAhQ3AwggASACQQhqQfs/QfDmACADEBkgAEEAOgAEDAILIAEoApwJIQMgASABQQhqQQMQDDYC6AYLIAAgAzYCACAAQQE6AAQLIAJBIGokAAviAwEJfyMAQRBrIgYkACABKALoBiIDKAIEIQkgASgCACICKAIMIgQgAigCACAEKAIAQQJ0aigCACIFIAQoAgRqQQdqQXhxIAVrNgIEAn8gAigCDCIEKAIEIgdBMGoiCEGBgBBPBEAgAkEwEA4MAQsgBCAINgIEIAUgB2oLIQIgASgC6AYoAhghBUEA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NwNIIBBBACACIANBGGogA0E4akEAQQIQEAwFCyABIAlBAxAMIgQ2AugGIAQoAgAhBEEBCyEIIARB3ABGDQELIANBATYCPCADQdwANgJIIAMgA0HIAGo2AjggAyADKQI4NwMQIAEgA0EQakGqK0GGKyALEBkMAgsgASAJQQMQDDYC6AYCQCABKAIAKAJgBEAgAS0AlAchBiABQQE6AJQHIANBOGogARAvIAMgAy0APAR/IAMgAygCODYCSEEBBUEACyIEOgBMIAEgBjoAlAcMAQsgA0IANwMIIANCADcDOCADQcgAaiABIANBCGoQMCADLQBMIQQLIARB/wFxRQ0BIAEoAlghDCABKAIAIgQoAgwiBiAEKAIAIAYoAgBBAnRqKAIAIgogBigCBGpBB2pBeHEgCms2AgQgBCgCDCIGKAIEIg1BKGoiD0GBgBBJDQIgBEEoEA4MAwsgA0GH7QA2AjggA0GDAjsBQCABKAIEIREgA0IANwMgIANCADcDSCARQQAgCyADQSBqIANBOGpBAEECEBALIABBADoABAwECyAGIA82AgQgCiANagshBCADKAJIIQYgBCAIOgAkIAQgBjYCICAEIAU2AhwgBEKcATcCCCAEQgA3AgAgBCALNgIYIAQgCzYCECAEIAw2AhQgBCACKAIAIgU2AgAgBCACNgIEIAUgBDYCBCACIAQ2AgAgASgC6AYoAgAiBUE9Rg0DCyAFQTZGDQAgA0EBNgI8IANBNjYCSCADIANByABqNgI4IAMgAykCODcDACABIANB+xJB1BIgDhAZIABBADoABAwBCyABIAlBAxAMNgLoBiAAIAc2AgAgAEEBOgAECyADQdAAaiQADwsgASAJQQMQDCIENgLoBgwACwALcwEDfyMAQSBrIgEkAAJAIAAoAugGIgMoAgBBAUcNACADKAIYIAAoApQJRw0AIAFBADoAFCABQQA2AhAgASABKQIQNwMIIAFBGGogAEEIaiABQQhqECwgASgCGEEBRiABLQAcQQBHcSECCyABQSBqJAAgAgvOCQEMfyMAQeAAayIDJAAgASABQQhqIgZBABAMNgLoBiADQdAAaiABEEUCQCADLQBURQRAIANBATYCNCADQQE2AlggAyADQdgAajYCMCADIAMpAjA3AwggASADQQhqQaSaAUGxmgEgAhAZIABBADoABAwBCwJA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BEAgBEEwEA4MAQsgBiAINgIEIAcgC2oLIQYgASgC6AYoAhghBEEAIQsgBkEANgIgIAZBwgA2AgggBkIANwIAIAZCADcCDCAGQRRqQgA3AgAgBkEAOwEcIAZBADoALCAGQQA2AiggBiAENgIkIAYgAigCBDYCECAGIAIoAgg2AhQgBiACKAIENgIYIAEgBUEDEAwiAjYC6AYCQAJAIAIoAgBBygBGBEAgA0E0aiABEGggAy0AOEUNASADKAI0IQsgASgC6AYhAgsgAyADQShqIgQ2AiwgAyAENgIoAkAgAigCACIEQSZHDQAgASAFQQAQDDYC6AYDQCADQTRqIAEQpwIgAy0AOEUEQCAAQQA6AAQMBQsgAygCNCIEKAIgIgkEQCAEQQA2AiALIAEoAlghDCABKAIAIgIoAgwiByACKAIAIAcoAgBBAnRqKAIAIgggBygCBGpBB2pBeHEgCGs2AgQCfyACKAIMIgcoAgQiDUEkaiIOQYGAEE8EQCACQSQQDgwBCyAHIA42AgQgCCANagsiAiAJNgIgIAIgBDYCHCACQvwBNwIIIAJBADYCACACIAo2AhggAiAKNgIQIAIgDDYCFCACIAMoAigiBDYCACACIANBKGo2AgQgBCACNgIEIAMgAjYCKCABKALoBiICKAIAIgRBPUcNASABIAVBAxAMIgI2AugGIAIoAgBBMUcNAAsMAgsgBEExRg0BIANBATYCOCADQTE2AiAgAyADQSBqNgI0IAMgAykCNDcDECABIANBEGpBgMcAQbT4ACAKEBkgAEEAOgAEDAILIABBADoABAwBCyACKAIEIQcgASAFQQMQDCICNgLoBiADIANBIGoiBDYCJCADIAQ2AiACQCACKAIAQTNGDQADQCADQTRqIAEQ3AMgAy0AOEUEQCAAQQA6AAQMAwsgAygCNCICIAMoAiAiBDYCACACIANBIGo2AgQgBCACNgIEIAMgAjYCICABKALoBigCACICQX5xQTxGBEAgASAFQQMQDCICNgLoBiACKAIAQTNHDQEMAgsLIAJBM0YNACADQQE2AjggA0EzNgI8IAMgA0E8ajYCNCADIAMpAjQ3AwggASADQQhqQa/mAEGa5gAgChAZIABBADoABAwBCyABIAVBAxAMNgLoBiABKAJYIQwgASgCACICKAIMIgQgAigCACAEKAIAQQJ0aigC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AEwMCwsgASgC9AggA0YEQCACKAIIIQMgASABQQhqQQMQDDYC6AZBHCABKAIAECEiAiAINgIYIAIgCDYCECACQucBNwIIIAJCADcCACACIAM2AhQgBCACNgJIIARBAToATAwLCyABKALoCCADRgRAIAIoAgghAyABIAFBCGpBAxAMNgLoBkEcIAEoAgAQISICIAg2AhggAiAINgIQIAJC5gE3AgggAkIANwIAIAIgAzYCFCAEIAI2AkggBEEBOgBMDAsLIAEoAvgIIANGBEAgAigCCCEDIAEgAUEIakEDEAw2AugGQRwgASgCABAhIgIgCDYCGCACIAg2AhAgAkLsATcCCCACQgA3AgAgAiADNgIUIAQgAjYCSCAEQQE6AEwMCwsgASgCtAkgA0YEQCACKAIIIQMgASABQQhqQQMQDDYC6AZBHCABKAIAECEiAiAINgIYIAIgCDYCECACQusBNwIIIAJCADcCACACIAM2AhQgBCACNgJIIARBAToATAwLCyABKAK4CSADRgRAIAIoAgghAyABIAFBCGpBAxAMNgLoBkEcIAEoAgAQISICIAg2AhggAiAINgIQIAJC6QE3AgggAkIANwIAIAIgAzYCFCAEIAI2AkggBEEBOgBMDAsLIAEoArwJIANGBEAgAigCCCEDIAEgAUEIakEDEAw2AugGQRwgASgCABAhIgIgCDYCGCACIAg2AhAgAkLqATcCCCACQgA3AgAgAiADNgIUIAQgAjYCSCAEQQE6AEwMCwsgBEHQAGogARCnAiAELQBURQRAIARBADoATAwLCyAEIAQoAlA2AkggBEEBOgBMDAoLIAIoAgghBSABIAFBCGpBAxAMNgLoBiABKAIAIgIoAgwiAyACKAIAIAMoAgBBAnRqKAIAIgcgAygCBGpBB2pBeHEgB2s2AgQCfyACKAIMIgMoAgQiBkEgaiIJQYGAEE8EQCACQSAQDgwBCyADIAk2AgQgBiAHagshAiABKAIAIgMoAgwiByADKAIAIAcoAgBBAnRqKAIAIgYgBygCBGpBB2pBeHEgBms2AgQCfyADKAIMIgcoAgQiCUEcaiIKQYGAEE8EQCADQRwQDgwBCyAHIAo2AgQgBiAJagsiAyAINgIYIAMgCDYCECADQiI3AgggA0IANwIAIAMgBTYCFCACIAM2AhwgAkLuATcCCCACQgA3AgAg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IAM2AhwgAkLvATcCCAsgAkIANwIAIAIgDDYCGCACIAw2AhAgAiAGNgIUIAIhAyABLQBoRQ0ACwsgACADNgIAIABBAToABAsgBEHwAGokAAurBAEHfyMAQSBrIgMkACABKALoBiICKAIEIQcgAigCAEHSAEYEQCABIAFBCGpBAxAMNgLoBgsgA0EYaiABEN0DAkAgAy0AHEUEQCAAQQA6AAQMAQsgASgC6AYoAgBB0gBHBEAgAEEBOgAEIAAgAygCGDYCAAwBCyADKAIYIgIgA0EQaiIENgIAIAIgBDYCBCADIAI2AhAgAyACNgIUIAEoAugGKAIAQdIARgRAIAFBCGohBANAIAEgBEEDEAw2AugGIANBCGogARDdAyADLQAMRQRAIABBADoABAwDCyADKAIIIgIgAygCECIGNgIAIAIgA0EQajYCBCAGIAI2AgQgAyACNgIQIAEoAugGKAIAQdIARg0ACwsgASgCWCEIIAEoAgAiASgCDCICIAEoAgAgAigCAEECdGooAgAiBCACKAIEakEHakF4cSAEazYCBAJ/IAEoAgwiAigCBCIGQSRqIgVBgYAQTwRAIAFBJBAODAELIAIgBTYCBCAEIAZqCyIBQgA3AgwgAUGHAjYCCCABQgA3AgAgAUEUakIANwIAIAEgAUEcaiICNgIgIAEgAjYCHAJAIAIgA0EQaiIFRg0AIAUgAygCFCIERg0AIAMoAhAhBiAEKAIAIAU2AgQgAigCACEFIAYgAjYCBCAEIAU2AgAgBSAENgIEIAIgBjYCAAsgASAHNgIYIAEgBzYCECABIAg2AhQgACABNgIAIABBAToABAsgA0EgaiQAC4MFAgF+CH8jAEEQayIGJAAgACgCDCEHIABBwAAgAUEBa60iAkIBiCAChCICQgKIIAKEIgJCBIggAoQiAkIIiCAChCICQhCIIAKEp0EBaiIBIAFBwABNGyIBNgIMIAAoAgAhBCAAIAFBDGwQGiIDNgIAAkAgBEUEQCAAQgA3AgQgACgCDCIEQQxsIgVFDQEgAyEBIARBB3EiBwRAQQAhAANAIAFC/////w83AgAgAUEMaiEBIABBAWoiACAHRw0ACwsgBEEBa0H/////A3FBB0kNASADIAVqIQADQCABQv////8PNwIAIAFC/////w83AlQgAUL/////DzcCSCABQv////8PNwI8IAFC/////w83AjAgAUL/////DzcCJCABQv////8PNwIYIAFC/////w83AgwgAUHgAGoiASAARw0ACwwBCyAAQgA3AgQCQCAAKAIMIgVBDGwiCEUNACADIQEgBUEHcSIJBEADQCABQv////8PNwIAIAFBDGohASAKQQFqIgogCUcNAAsLIAVBAWtB/////wNxQQdJDQAgAyAIaiEDA0AgAUL/////DzcCACABQv////8PNwJUIAFC/////w83AkggAUL/////DzcCPCABQv////8PNwIwIAFC/////w83AiQgAUL/////DzcCGCABQv////8PNwIMIAFB4ABqIgEgA0cNAAsLIAdBDGwiAQRAIAEgBGohAyAEIQEDQCABKQIAQv7///8Pg0L+////D1IEQCAAIAEgBkEMahAUGiAGKAIMIgUgASkCADcCACAFIAEoAgg2AgggACAAKAIEQQFqNgIECyABQQxqIgEgA0cNAAsLIAQQDQsgBkEQaiQAC2ECAX8CfgJAAkACQCABKAIAQQJqDgIBAAILIAAoAgBBf0YPCyAAKAIAQX5GDwsgACkCACIDQiCIpyIAIAEpAgAiBEIgiKdGBH8gAEUEQEEBDwsgA6cgBKcgABAPRQVBAAsLggUCBH8BfiMAQRBrIgQkAAJAIAAoAiBB8ABHDQAgACgCWCECA0AgAi0AACEBAkACQAJAAkADQAJAQQEhAwJAAkACQAJAIAFB/ABNBEAgAQ48AQgICAgICAgIBAwDAwwICAgICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgHCAgICAgICAgICAgMCAsCQCABQeIBaw4OAggICAgICAgICAgICAUACyABQf0ARg0LIAFBwgFHDQcgAi0AAUGgAUcNCCACQQJqIQIMCgsgAiAAKAJcRiEDDAoLQQAhAyACLQABQYABRw0JIAItAAJB/gFxQagBRiEDDAkLIAJBAWohAgwHCwNAIAJBAWoiAi0AACIBQQlGIAFBIEZyDQALDAELCyACLQABQbsBRw0CIAItAAJBvwFHDQIgAkEDaiECDAQLIAItAAEiAUEqRwRAIAFBL0YNBQwDCyAEIAAoAsgGIAAoAsQGa0EMbTYCDCAEQQE6AAggBCAANgIAIAQgBEEMajYCBCAAKAIAIgEpAqABIQUgAUEBOgCkASABQQA2AqAB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BEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChoCAgJAcNwIEIAJB/twANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKFgICAoBw3AgQgAkHtgQE2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoaAgICwHDcCBCACQZT1ADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgMAcNwIEIAJB79AANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKFgICA0Bw3AgQgAkH72AA2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoWAgIDgHDcCBCACQfHZADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChoCAgPAcNwIEIAJB09IANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKGgICAgB03AgQgAkHh2wA2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoaAgICQHTcCBCACQffcADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChYCAgKAdNwIEIAJB54EBNgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKEgICAsB03AgQgAkHq0AA2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoaAgIDAHTcCBCACQdrbADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChoCAgNAdNwIEIAJB8NwANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKFgICA4B03AgQgAkHhgQE2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoSAgIDwHTcCBCACQeXQADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJCg4CAgIAeNwIEIAJB1dcANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKGgICAkB43AgQgAkGN9QA2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoaAgICgHjcCBCACQdPbADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChoCAgLAeNwIEIAJB6dwANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKFgICAwB43AgQgAkHbgQE2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoaAgIDQHjcCBCACQYb1ADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgOAeNwIEIAJB4NAANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKGgICA8B43AgQgAkGw9QA2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoaAgICAHzcCBCACQe3XADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChoCAgJAfNwIEIAJBzNsANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKGgICAoB83AgQgAkHi3AA2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoWAgICwHzcCBCACQdWBATYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgMAfNwIEIAJB29AANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKGgICA0B83AgQgAkHb3AA2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoWAgIDgHzcCBCACQcw1NgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKEgICA8B83AgQgAkHW0AA2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoWAgICgKjcCBCACQffZADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChYCAgLAqNwIEIAJB69kANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKGgICAgCw3AgQgAkHoODYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChoCAgJAsNwIEIAJB4Tg2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoSAgICALzcCBCACQfTQADYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgKAyNwIEIAJB/9oANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKEgICA4NgANwIEIAJBjIIBNgIAQaTPAiACIAJBDGoQFEUEQEGk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AgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoWAgICQ9gA3AgQgAkHThAE2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoSAgICg9gA3AgQgAkH7gwE2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoWAgICw9gA3AgQgAkGmhAE2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoWAgIDA9gA3AgQgAkHZgwE2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoeAgIDQ9gA3AgQgAkH3ODYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgOD2ADcCBCACQeWDATYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJCg4CAgPD2ADcCBCACQYaEATYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChYCAgID3ADcCBCACQe+DATYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgJD3ADcCBCACQc+DATYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChYCAgKD3ADcCBCACQZqEATYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChoCAgLD3ADcCBCACQeuEATYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJCgoCAgMD3ADcCBCACQdUONgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKCgICA0PcANwIE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QaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoSAgICwsgg3AgQgAkGSJzYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgMCyCDcCBCACQY0nNgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKFgICA0LYINwIEIAJBgic2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoSAgICAugg3AgQgAkGhJzYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgJC6CDcCBCACQZcnNgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKEgICAoLoINwIEIAJBnCc2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoSAgICwugg3AgQgAkGrJzYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChICAgMC6CDcCBCACQaYnNgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKGgICAgMAINwIEIAJBntEANgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKEgICAoMAINwIEIAJB6BY2AgBBpM8CIAIgAkEMahAURQRAQaTPAiACIAIoAgwQFSIDIAIpAwA3AgAgAyACKAIINgIICyACQoWAgICwwAg3AgQgAkH9DzYCAEGkzwIgAiACQQxqEBRFBEBBpM8CIAIgAigCDBAVIgMgAikDADcCACADIAIoAgg2AggLIAJChYCAgNDACDcCBCACQd0KNgIAQaTPAiACIAJBDGoQFEUEQEGkzwIgAiACKAIMEBUiAyACKQMANwIAIAMgAigCCDYCCAsgAkKFgICA8MAINwIE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Qv7///8Pg0L+////D1IEQCAAKAIIEA0LIABBGGoiACACRw0ACyABKAIAIQALIAAQDSABEA0LIAQoAkQhAiAEQQA2AkQgAgRAIAIoAuABIgMEQCACKALkASIBIAMiAEcEQANAIAFBAWssAABBAEgEQCABQQxrKAIAEA0LIAFBHGsiASADRw0ACyACKALgASEACyACIAM2AuQBIAAQDQsgAigC1AEiAwRAIAIoAtgBIgEgAyIARwRAA0AgAUEJaywAAEEASARAIAFBFGsoAgAQDQsgAUEkayIBIANHDQALIAIoAtQBIQALIAIgAzYC2AEgABANCyACKAK8ASEBIAIoAsgBIgBFIABB/////wBxRXIEfyABBSABIABBBHRqIQADQAJAIAEoAgBBfUsNACABLAAPQQBODQAgASgCBBANCyABQRBqIgEgAEcNAAsgAigCvAELEA0gAigCrAEhASACKAK4ASIARSAAQf////8AcUVyBH8gAQUgASAAQQR0aiEAA0ACQCABKAIAQX1LDQAgASwAD0EATg0AIAEoAgQQDQsgAUEQaiIBIABHDQALIAIoAqwBCxANIAIoApwBIgBFIABBAXFyRQRAIAAoAgAQDSAAEA0LIAIoApgBIgBFIABBAXFyRQRAIAAoAgAQDSAAEA0LIAIoAnAQDSACQdgAahCTAQJAIAIoAjwiAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQMAIAAQUAsgAigCHCIABEAgAigCICIDIAAiAUcEQANAIANBDGshASADQQFrLAAAQQBIBEAgASgCABANCyABIgMgAEcNAAsgAigCHCEBCyACIAA2AiAgARANCyACKAIQENkBIAIoAgAiAwRAIAIoAgQiASADIgBHBEADQCABQQxrEP0BIgEgA0cNAAsgAigCACEACyACIAM2AgQgABANCyACEA0LIAQoAjwQ2gEgBCgCKBANIAQoAiAhASAEQQA2AiAgAQRAIAEoAgAhAiABKAIEIgBB/////wNxBEAgAiAAQQJ0aiEAA0AgAEEEayIAQQAQsgEgACACRw0ACyABKAIAIQILIAFBDGogAkcEQCACEA0LIAEQDQsgBEEQahCxAiAEELECCw8AIABBgKcBNgIAIAAQDQsNACAAQYCnATYCACAACzQBAn8gAEUEQEEADwsgACgCBCAA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Rw0ACwsgEEEBa0H/////A3FBB08EQCAGIBBBAnRqIQYDQCACKAIAIQogAkEANgIAIAMgCjYCACACKAIEIQogAkEANgIEIAMgCjYCBCACKAIIIQogAkEANgIIIAMgCjYCCCACKAIMIQogAkEANgIMIAMgCjYCDCACKAIQIQogAkEANgIQIAMgCjYCECACKAIUIQogAkEANgIUIAMgCjYCFCACKAIYIQogAkEANgIYIAMgCjYCGCACKAIcIQogAkEANgIcIAMgCjYCHCADQSBqIQMgAkEgaiICIAZHDQALCyABKAIAIgMgASgCBCICQf////8DcUUNABogAyACQQJ0aiECA0AgAkEEayICQQAQsgEgAiADRw0ACyABKAIACyICIAFBDGpHBEAgAhANCyABIA82AgggASAENgIADAILEDkACxA5AAsgASgCBCECCyACQQJ0IgMgCUECdEcEQCABKAIAIANqQQAgCSACa0ECdBAnGgsgASAJNgIECyAIQQJ0IgMgASgCAGoiBCgCACICRQRAQRAQGiICQgA3AgAgAkIANwIIIA5BADYCDCAEIAIQsgEgDkEMakEAELIBIAEoAgAgA2ooAgAhAgsgDkEQaiQAIAcgAjYC8AYjAEEgayIBJAAgAUEDNgIMIAFB0hs2AgggBygCGCEDIAFBhQI7ARwgASABQQhqIgI2AhQgByADIAFBFGoiAxAbNgKYByABQQM2AgwgAUGWGzYCCCAHKAIYIQQgAUGFAjsBHCABIAI2AhQgByAEIAMQGzYCnAcgAUEENgIMIAFBrBo2AgggBygCGCEEIAFBhQI7ARwgASACNgIUIAcgBCADEBs2AqAHIAFBCjYCDCABQdYbNgIIIAcoAhghBCABQYUCOwEcIAEgAjYCFCAHIAQgAxAbNgKkByABQQs2AgwgAUHj9QA2AgggBygCGCEEIAFBhQI7ARwgASACNgIUIAcgBCADEBs2AqgHIAFBCzYCDCABQYb2ADYCCCAHKAIYIQQgAUGFAjsBHCABIAI2AhQgByAEIAMQGzYCrAcgAUEJNgIMIAFBwtsANgIIIAcoAhghBCABQYUCOwEcIAEgAjYCFCAHIAQgAxAbNgKwByABQRI2AgwgAUGSzQA2AgggBygCGCEEIAFBhQI7ARwgASACNgIUIAcgBCADEBs2ArQHIAFBAzYCDCABQZob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QQF1IhAgASABIBBJGyALQfz///8HTxsiCwR/IAtBgICAgARPDQQgC0ECdBAaBUEACyIQIA9BAnRqIgEgCjYCACABQQRqIQogACAMRwRAA0AgAUEEayIBIABBBGsiACgCADYCACAAIAxHDQALIAMoAhQhAAsgAyAQIAtBAnRqNgIcIAMgCjYCGCADIAE2AhQgAEUNACAAEA0LIAcgBikCBCIbNwMAIAcgGzcDCCAEIAcQxwEgBigCACEPIAYoAgghGiAGKAIEQQJqIQwCQCAEKAIEIgMoAhgiACADKAIcIgpJBEAgACAMNgIAIAMgAEEEajYCGAwBCyAAIAMoAhQiC2tBAnUiEkEBaiIBQYCAgIAETw0EQf////8DIAogC2siCkEBdSITIAEgASATSRsgCkH8////B08bIgoEfyAKQYCAgIAETw0EIApBAnQQGgVBAAsiEyASQQJ0aiIBIAw2AgAgAUEEaiESIAAgC0cEQANAIAFBBGsiASAAQQRrIgAoAgA2AgAgACALRw0ACyADKAIUIQALIAMgEyAKQQJ0ajYCHCADIBI2AhggAyABNgIUIABFDQAgABANCyAaQX5BACAPQQFGG2ogDGshCgJAIAQoAgQiAygCGCIAIAMoAhwiC0kEQCAAIAo2AgAgAyAAQQRqNgIYDAELIAAgAygCFCIMa0ECdSIPQQFqIgFBgICAgARPDQRB/////wMgCyAMayILQQF1IhAgASABIBBJGyALQfz///8HTxsiCwR/IAtBgICAgARPDQQgC0ECdBAaBUEACyIQIA9BAnRqIgEgCjYCACABQQRqIQogACAMRwRAA0AgAUEEayIBIABBBGsiACgCADYCACAAIAxHDQALIAMoAhQhAAsgAyAQIAtBAnRqNgIcIAMgCjYCGCADIAE2AhQgAEUNACAAEA0LIAZBDGoiBiAORw0ACwsgB0EQaiQADAILECkACxAiAAsgBQRAAkAjAEEQayIHJAAgBCgCBCIBKAI0KAIAIgAoAtwGIgogACgC2AYiBmtBDG0iDkEBayELAkACQAJAIAEoAhgiACABKAIcIgxJBEAgACALNgIAIAEgAEEEajYCGAwBCyAAIAEoAhQiBWtBAnUiD0EBaiIDQYCAgIAETw0CQf////8DIAwgBWsiDEEBdSIQIAMgAyAQSRsgDEH8////B08bIgwEfyAM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akELOgAADAELIApBADoADQJAIAVBfU0EQCABQQIgCkENahA0IAEoAgAhAwwBCyABIAMgBWpBAmo2AgQLIAMgBWpBCjoAAAsgASgCBCABKAIAIgZrIAVNDQIgC0H/ASALIAtB/wFPGyIDayELIAIgA0ECdGohByAFIAZqIAM6AAECQANAAkAgAigCACENAkAgASgCBCIGIAEoAggiBUkEQCAGIA06AAAgASAGQQFqNgIEDAELIAYgASgCACIPayIQQQFqIgNBAEgNAUH/////ByAFIA9rIgVBAXQiDCADIAMgDEkbIAVB/////wNPGyIMBH8gDBAaBUEACyIFIBBqIgMgDToAACAFIAxqIQwgA0EBaiESAkAgBiAPRgRAIAMhBQwBCyAPQX9zIAZqIRRBACENIBBBA3EiEARAA0AgA0EBayIDIAZBAWsiBi0AADoAACANQQFqIg0gEEcNAAsLIBRBA08EQANAIANBAWsgBkEBay0AADoAACADQQJrIAZBAmstAAA6AAAgA0EDayAGQQNrLQAAOgAAIANBBGsiAyAGQQRrIgYtAAA6AAAgBiAPRw0ACwsgASgCACEGCyABIAw2AgggASASNgIEIAEgBTYCACAGRQ0AIAYQDQsgByACQQRqIgJHDQEMAgsLECIACyAHIQIgC0EDTw0ACwsgCwRAIAcgC0ECdGohBQNAIAEoAgQgASgCACIDayECIAcoAgAhBgJAIAAtACQEQCAKQQA6AA4CQCACQX1NBEAgAUECIApBDmoQNCABKAIAIQMMAQsgASACIANqQQJqNgIECyACIANqQQw6AAAMAQsgCkEAOgAPAkAgAkF9TQRAIAFBAiAKQQ9qEDQgASgCACEDDAELIAEgAiADakECajYCBAsgAiADakEHOgAACyABKAIEIAEoAgAiA2sgAk0NAiACIANqIAY6AAEgB0EEaiIHIAVHDQALCyAKQRBqJAAMAQsQPgALIAQhBwJAIA4gEWsiBkH/////A3FFDQADQCAHKAIAQYABSQ0BIAdBBGoiByAIRw0ACyAIIQcLIAkgBDYCECAJIAcgBGtBAnUiCjYCFCAJIAkpAxA3AwAjAEEQayIIJAACQAJAIAkoAgQiBEH/////A3EEQCAJKAIAIgUgBEECdGohCwNAAkACQCAFKAIAIgNB//8DTQRAIANBgHBxQYCwA0cNASAALQAlRQ0BCyABKAIEIAEoAgAiBGshAiAALQAkBEAgCEEAOgAMAkAgAkF6TQRAIAFBBSAIQQxqEDQgASgCACEEDAELIAEgAiAEakEFajYCBAsgAiAEakEOOgAAIAEoAgQgASgCACIEayACTQ0FIAIgBGogAzYAAQwCCyAIQQA6AA0CQCACQXpNBEAgAUEFIAhBDWoQNCABKAIAIQQMAQsgASACIARqQQVqNgIECyACIARqQQk6AAAgASgCBCABKAIAIgRrIAJNDQQgAiAEaiADNgABDAELIAEoAgQgASgCACIEayECIAAtACQEQCAIQQA6AA4CQCACQXxNBEAgAUEDIAhBDmoQNCABKAIAIQQMAQsgASACIARqQQNqNgIECyACIARqQQ06AAAgASgCBCABKAIAIgRrIAJNDQQgAiAEaiADOwABDAELIAhBADoADwJAIAJBfE0EQCABQQMgCEEPahA0IAEoAgAhBAwBCyABIAIgBGpBA2o2AgQLIAIgBGpBCDoAACABKAIEIAEoAgAiBGsgAk0NAyACIARqIAM7AAELIAVBBGoiBSALRw0ACwsgCEEQaiQADAELED4ACyAGIAprIg4NAAsLIAlBIGokAEEAC1sBAn8CQCAAKAIIIgFB/////wNxRQ0AIAAoAgQiACABQQJ0akEEayIBIABNDQADQCAAKAIAIQIgACABKAIANgIAIAEgAjYCACAAQQRqIgAgAUEEayIBSQ0ACwsLUgECfyAAKAIIIgFB/////wNxRQRAQQQPCyAAKAIEIgAgAUECdGohAgJAA0AgACgCAEGAAUkEQEEEIQEgAiAAQQRqIgBHDQEMAgsLQQUhAQsgAQt0AQR/IAAoAgQhAyAAKAIIIgRBAnQiBUECdSICIAEoAgggASgCBCIAa0sEQCABIAFBDGogACACakEEEBggASgCBCEACyABIARB/////wNxBH8gASgCACAAQQJ0aiADIAUQHxogASgCBAUgAAsgAmo2AgRBAQs9AQJ/AkAgACgCCEEBRw0AIAAoAgQoAgAiAkH//wNLDQAgAC0AJUUEQEEBDwsgAkGAcHFBgLADRyEBCyABCxwBAX8gACgCBCIBIABBEGpHBEAgARANCyAAEA0LGgEBfyAAKAIEIgEgAEEQakcEQCABEA0LIAALCwAgACABQQAQ2wELFwAgAEKAgICAEDcCBCAAIABBDGo2AgALjAIBBH8jAEEQayICJAAgASgCBCABKAIAIgNrIQQgAC0ABSEFAn8gAC0ABARAIAUEQCACQQA6AAwgBEF/RwRAIAFBASACQQxqEDQgASgCACEDQQQMAwsgASADNgIEQQQMAgsgAkEAOgANIARBf0cEQCABQQEgAkENahA0IAEoAgAhA0EGDAILIAEgAzYCBEEGDAELIAUEQCACQQA6AA4gBEF/RwRAIAFBASACQQ5qEDQgASgCACEDQQMMAgsgASADNgIEQQMMAQsgAkEAOgAPAkAgBEF/RwRAIAFBASACQQ9qEDQgASgCACEDDAELIAEgAzYCBAtBBQshASADIARqIAE6AAAgAkEQaiQAQQALBABBBAsIACAALQAERQuNAQEDfyMAQRBrIgMkACAALwEEIQQgASgCACEAIAEoAgQhAiADQQA6AA8CQCACIABrIgJBfE0EQCABQQMgA0EPahA0IAEoAgAhAAwBCyABIAAgAmpBA2o2AgQLIAAgAmpBFToAACACIAEoAgQgASgCACIAa08EQBA+AAsgACACaiAEOwABIANBEGokAEEAC+UIAQh/IwBBQGoiAiQAIAEoAgQgASgCACIEayEFAkACQCAALQBCBEAgAkEAOgAMAkAgBUF5TQRAIAFBBiACQQxqEDQgASgCACEEDAELIAEgBCAFakEGajYCBAsgBCAFakESOgAAIAEoAgQgASgCACIDayAFTQ0CIAMgBWoiAyAALQBAIAMtAAVB/gFxcjoABSAAKAI0IgQgACgCOCIHRwRAA0AgASgCBCABKAIAIghrIQMgBC0AACEJAn8gBC0AAUEBcUUEQCADIAVNDQZBASEGQQ4MAQsgAyAFTQ0FQQQhBkHwAAshAyAFIAhqIgggCC0ABSAJIAZ0IANxcjoABSAEQQJqIgQgB0cNAAsLIABBCGohBgJAAkAgAC0AQQRAIAJBDGogBiAALQBCEPQCIAIoAhAhAwwBCyACQoCAgIDAADcCECACIAJBGGoiBzYCDCACQQxqIgggBkYNASAAKAIMIgNFDQEgAyEEIANBBU8EQCAIIAcgA0EIEBggACgCDCEECyAEQf////8BcQRAIAIoAgwgBigCACAEQQN0EB8aCyACIAM2AhALIANB/////wFxRQ0AIAIoAgwiBCADQQN0aiEAIAJBQGshAwNAIAQoAgQhBiACIAQoAgAiBzYCOCACIAYgB2pBAWs2AjwgASABKAIEIAJBOGogAxCLAiAEQQhqIgQgAEcNAAsLIAEoAgQgASgCACIAayAFTQ0CIAAgBWogAigCEDYAASACKAIMIgAgAkEYakYNASAAEA0MAQsgAkEAOgAMAkAgBUF5TQRAIAFBBiACQQxqEDQgASgCACEEDAELIAEgBCAFakEGajYCBAsgBCAFakEROgAAIAEoAgQgASgCACIDayAFTQ0BIAMgBWoiAyAALQBAIAMtAAVB/gFxcjoABSAAKAI0IgQgACgCOCIHRwRAA0AgASgCBCABKAIAIghrIQMgBC0AACEJAn8gBC0AAUEBcUUEQCADIAVNDQVBASEGQQ4MAQsgAyAFTQ0EQQQhBkHwAAshAyAFIAhqIgggCC0ABSAJIAZ0IANxcjoABSAEQQJqIgQgB0cNAAsLIABBCGohBgJAAkAgAC0AQQRAIAJBDGogBiAALQBCEPQCIAIoAhAhAwwBCyACQoCAgIDAADcCECACIAJBGGoiBzYCDCACQQxqIgggBkYNASAAKAIMIgNFDQEgAyEEIANBBU8EQCAIIAcgA0EIEBggACgCDCEECyAEQf////8BcQRAIAIoAgwgBigCACAEQQN0EB8aCyACIAM2AhALIANB/////wFxRQ0AIAIoAgwiBCADQQN0aiEAIAJBQGshAwNAIAQoAgQhBiACIAQoAgAiBzYCOCACIAYgB2pBAWs2AjwgASABKAIEIAJBOGogAxCLAiAEQQhqIgQgAEcNAAsLIAEoAgQgASgCACIAayAFTQ0BIAAgBWogAigCEDYAASACKAIMIgAgAkEYakYNACAAEA0LIAJBQGskAEEADwsQPgAL3gEBA38CQCAALQBBBEAgAC0AQg0BCyAALQBABEAgACgCDCICQf////8BcUUNASAAKAIIIgEgAkEDdGohAgNAAkAgASgCAA0AIAEoAgRB/wBNDQBBASEDDAMLIAFBCGoiASACRw0ACwwBCyAAKAI0IAAoAjhHDQAgACgCDCICQf////8BcUUEQEEBIQMMAQsgACgCCCIBIAJBA3RqIQIDQCABKAIAQf8ATQ0BIAFBCGoiASACRw0AC0EBIQMLAkAgACgCDEUEQCAAKAI0IAAoAjhGDQELIANBBHIhAwsgAwsIACAALQBCRQs6AQF/IABBhMcBNgIAIAAoAjQiAQRAIAAgATYCOCABEA0LIAAoAggiASAAQRRqRwRAIAEQDQsgABANCzgBAX8gAEGExwE2AgAgACgCNCIBBEAgACABNgI4IAEQDQsgACgCCCIBIABBFGpHBEAgARANCyAAC40BAQN/IwBBEGsiAyQAIAAtAAQhBCABKAIAIQAgASgCBCECIANBADoADwJAIAIgAGsiAkF9TQRAIAFBAiADQQ9qEDQgASgCACEADAELIAEgACACakECajYCBAsgACACakEWOgAAIAIgASgCBCABKAIAIgBrTwRAED4ACyAAIAJqIAQ6AAEgA0EQaiQAQQALCwAgACABQQIQ2wELCwAgACABQQEQ2wELCwAgAC0ABEVBAXQLBgBB5MQBCxQAIABBBGpBACABKAIEQZzEAUYbC84BAQV/IwBBEGsiBCQAIAAoAgwhBSAAKAIQIgEoAgAhAiABKAIEIQMgBEEAOgAPAkAgAyACayIDQXpNBEAgAUEFIARBD2oQNCABKAIAIQIMAQsgASACIANqQQVqNgIECyACIANqQRk6AAACQCADIAEoAgQgASgCACICa0kEQCACIANqIAU2AAEgACgCCCICIAAoAgQiASgCBCABKAIAIgNrTw0BIAIgA2ogACgCECIAKAIEIAAoAgBrQQZrNgATIARBEGokAA8LED4ACxA+AAsfACABQfDCATYCACABIAApAgQ3AgQgASAAKQIMNwIMCwsAIABB8MIBENwBCwYAQeDCAQsUACAAQQRqQQAgASgCBEGYwgFGGwvOAQEFfyMAQRBrIgQkACAAKAIMIQUgACgCECIBKAIAIQIgASgCBCEDIARBADoADwJAIAMgAmsiA0F6TQRAIAFBBSAEQQ9qEDQgASgCACECDAELIAEgAiADakEFajYCBAsgAiADakEbOgAAAkAgAyABKAIEIAEoAgAiAmtJBEAgAiADaiAFNgABIAAoAggiAiAAKAIEIgEoAgQgASgCACIDa08NASACIANqIAAoAhAiACgCBCAAKAIAa0EGazYAAiAEQRBqJAAPCxA+AAsQPgALHwAgAUHswAE2AgAgASAAKQIENwIEIAEgACkCDDcCDAsLACAAQezAARDcAQsGAEHcwAELFAAgAEEEakEAIAEoAgRBmMABRhsLPwEDfyAAKAIIIgIgACgC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KAIAIgNrTwRAED4ACyACIANqIAAoAgwiACgCBCAAKAIAa0EGazYACAsfACABQeS7ATYCACABIAApAgQ3AgQgASAAKAIMNgIMCycBAX9BEBAaIgFB5LsBNgIAIAEgACkCBDcCBCABIAAoAgw2AgwgAQviAwEEfyMAQSBrIgQkACAAQRhqIQUCQAJAIAAoAigiAgRAIAIgAigCACgCGBEDACAAKAIoIQFBACECIABBADYCKAJ/IAEgBUYEQCAFKAIAQRBqDAELIAFFDQIgASEFIAEoAgBBFGoLIQAgBSAAKAIAEQMADAELIAEoAgAhAyABKAIEIQIgBEEAOgAIAkAgAiADayICQXNNBEAgAUEMIARBCGoQNCABKAIAIQMMAQsgASACIANqQQxqNgIECyACIANqQRc6AAAgASgCBCABKAIAIgNrIAJNDQEgAiADaiAALQAROgABIAEoAgQgASgCACIDayACTQ0BIAIgA2ogAC0AEjoAAiABKAIEIAEoAgAiA2sgAk0NASACIANqIAAtABA6AAMgASgCBCABKAIAIgNrIAJNDQEgAiADaiAALwEUOwAEIAEoAgQgASgCACIDayACTQ0BIAIgA2ogAC8BFjsABiAEIAE2AhQgBCABrSACrUIghoQ3AgwgBEHkuwE2AgggBCAEQQhqIgI2AhggAiAFEIYBAkACfyACIAQoAhgiAUYEQCACIQEgBCgCCEEQagwBCyABRQ0BIAEoAgBBFGoLIQIgASACKAIAEQMACyAAQQRqIQILIARBIGokACACDwsQPgALEwBBACAALQAQIAAtABEbQfsBcQtjAQJ/IABBjLsBNgIAAkACfyAAKAIoIgEgAEEYaiICRgRAIAIoAgBBEGoMAQsgAUUNASABIgIoAgBBFGoLIQEgAiABKAIAEQMACyAAKAIEIgEEQCAAIAE2AgggARANCyAAEA0LYQECfyAAQYy7ATYCAAJAAn8gACgCKCIBIABBGGoiAkYEQCACKAIAQRBqDAELIAFFDQEgASICKAIAQRRqCyEBIAIgASgCABEDAAsgACgCBCIBBEAgACABNgIIIAEQDQsgAAuoAgEFfyMAQRBrIgQkAAJAAn8gAC0AFEUEQCAALwESIQUgASgCACECIAEoAgQhAyAEQQA6AA4CQCADIAJrIgNBfE0EQCABQQMgBEEOahA0IAEoAgAhAgwBCyABIAIgA2pBA2o2AgQLIAIgA2pBEzoAACABKAIEIAEoAgAiAmsgA00NAiACIANqIAU7AAEgAEEBOgAUIABBBGoMAQsgAEEAOgAUIAAvARIhAyABKAIAIQAgASgCBCECIARBADoADwJAIAIgAGsiAkF8TQRAIAFBAyAEQQ9qEDQgASgCACEADAELIAEgACACakEDajYCBAsgACACakEUOgAAIAEoAgQgASgCACIAayACTQ0BIAAgAmogAzsAAUEACyEGIARBEGokACAGDwsQPgALtwEBA38CQCAAKAIIIgEgACgCBEYNACABQQRrKAIAIgEgASgCACgCFBECACECAkAgACgCBCIBIAAoAggiAyACQQJ0ayICRg0AIAJBBGsiAiABTQ0AA0AgASgCACEDIAEgAigCADYCACACIAM2AgAgAUEEaiIBIAJBBGsiAkkNAAsgACgCCCEDIAAoAgQhAQsgASADRg0AA0AgASgCACIAIAAoAgAoAhwRAwAgAUEEaiIBIANHDQALCwsHACAALQAQCx0BAX8gACgCBCIBBEAgACABNgIIIAEQDQsgABANCxsBAX8gACgCBCIBBEAgACABNgIIIAEQDQsgAAsGAEGYugELFAAgAEEEakEAIAEoAgRByLkBRhsLagEFfwJAIAAoAgQiASgCKCICIAEoAiwiA0cEQANAIAIoAgQiBCACKAIAIgEoAgQgASgCACIFa08NAiAEIAVqIAAoAggiASgCBCABKAIAa0EGazYAASACQQhqIgIgA0cNAAsLQQEPCxA+AAsVACABQZS4ATYCACABIAApAgQ3AgQLHQEBf0EMEBoiAUGUuAE2AgAgASAAKQIENwIEIAELBgBBhLgBCxQAIABBBGpBACABKAIEQbi3AUYbC7QDAQp/IwBBEGsiByQAIAAoAhAiBCgCACEBIAQoAgQhAyAAKAIEIQIgB0EAOgAPAkAgAyABayIGQXpNBEAgBEEFIAdBD2oQNCAEKAIAIQEMAQsgBCABIAZqQQVqNgIECyABIAZqQRA6AAACQAJAAkACQCACKAIsIgEgAigCMCIFSQRAIAEgBjYCBCABIAQ2AgAgAiABQQhqNgIsDAELIAEgAigCKCIIa0EDdSIKQQFqIgNBgICAgAJPDQFB/////wEgBSAIayIFQQJ1IgkgAyADIAlJGyAFQfj///8H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IAE2AuAGIAEQDQsgACgCiAMiASAAQZQDakcEQCABEA0LIAAoAnwiASAAQYgBakcEQCABEA0LIAAoAiQhASAAQQA2AiQgAQRAIAEoAgQQDSABEA0LCw8AIABBoK8BNgIAIAAQDQsNACAAQaCvATYCACAACwsAQaTPAigCABANCwv7vQIiAEGACAuiowF+AHx9AHx8AHt8AHsAbG96AHN5c3RlbXoAYXJtdjZregB2NnoAYWZ0ZXIgY2xhc3MgcHJvcGVydHkAc3RhcnQgb2YgY2xhc3MgcHJvcGVydHkAYWZ0ZXIgcHJvcGVydHkAYXQgZW5kIG9mIGNvbXB1dGVkIG1lbWJlciBwcm9wZXJ0eQBpbiBtYXRjaCBvYmplY3QgcGF0dGVybiBwcm9wZXJ0eQBzdGFydCBvZiBtYXRjaCBvYmplY3QgcGF0dGVybiBwcm9wZXJ0eQBpbiBwcm9wZXJ0eQBzdGFydCBvZiBwcm9wZXJ0eQBpbiB0eXBlIHByb3BlcnR5AGluIG1hdGNoIG1lbWJlciBwYXR0ZXJuIGNvbXB1dGVkIHByb3BlcnR5AHN0YXJ0IG9mIGNvbXB1dGVkIHByb3BlcnR5ACdtYXRjaCcgYXJndW1lbnQgbXVzdCBub3QgYmUgZW1wdHkASW5maW5pdHkAdHJ5AG1vZHVsZUZhY3RvcnkAaW4gdHlwZSBxdWVyeQBzdGFydCBvZiB0eXBlIHF1ZXJ5AGNvcHkAYW55AHJlYWRvbmx5AGZpbmFsbHkAZHJhZ29uZmx5AHNoeQBpbiBtYXRjaCBvYmplY3QgcGF0dGVybiBwcm9wZXJ0eSBrZXkAc3RhcnQgb2YgbWF0Y2ggb2JqZWN0IHBhdHRlcm4gcHJvcGVydHkga2V5AHN0YXJ0IG9mIHByb3BlcnR5IGtleQBhdCBlbmQgb2YgY29tcHV0ZWQgcHJvcGVydHkga2V5AGluIGVudW0gYm9keQBzdGFydCBvZiBlbnVtIGJvZHkAc3RhcnQgb2YgYm9keQBsaW51eABudnB0eABtaW5peABhaXgAbWlwc2FsbGVncmV4AGluIGluZGV4ZWQgYWNjZXNzIHR5cGUgb3IgcG9zdGZpeCBhcnJheSB0eXBlIHN5bnRheAAtKyAgIDBYMHgAczM5MHgALTBYKzBYIDBYLTB4KzB4IDB4AEludmFsaWQgVVRGLTggY29kZSBwb2ludCAweABJbnZhbGlkIFVURi04IGxlYWQgYnl0ZSAweAB0aHJvdwBAZmxvdwBtaW5ndwBuZXcAZXF1aXYAcGl2AHBwdQBnbnUAbXUAaGFpa3UAdGF1AFRhdQB1bnJlY29nbml6ZWQgVW5pY29kZSBjaGFyYWN0ZXIgXHUAVW5pY29kZSBlc2NhcGUgXHUATnUATXUAaXdtbXh0AHR5cGVjYXN0IG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dAAnLi4uJyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQASlNYIHRleHQAY29uc3QAZXhpc3QAYXQgc3RhcnQgb2YgY29tcG9uZW50IHBhcmFtZXRlciBsaXN0AGF0IGVuZCBvZiBjb21wb25lbnQgcGFyYW1ldGVyIGxpc3QAYXQgZW5kIG9mIHNldHRlciBwYXJhbWV0ZXIgbGlzdABpbiBlbXB0eSBnZXR0ZXIgcGFyYW1ldGVyIGxpc3QAaW52YWxpZCBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIgbGlzdABhdCBzdGFydCBvZiBmdW5jdGlvbiBwYXJhbWV0ZXIgbGlzdABhdCBlbmQgb2YgZnVuY3Rpb24gcGFyYW1ldGVyIGxpc3QAaWRlbnRpZmllciBleHBlY3RlZCBpbiBwYXJhbWV0ZXIgbGlzdABhdCBzdGFydCBvZiBob29rIHBhcmFtZXRlciBsaXN0AHN0YXJ0IG9mIHBhcmFtZXRlciBsaXN0AHN0YXJ0IG9mIGNvbXBvbmVudCB0eXBlIHBhcmFtZXRlciBsaXN0AGF0IGVuZCBvZiBjb21wb25lbnQgdHlwZSBwYXJhbWV0ZXIgbGlzdAAndXNlIHN0cmljdCcgbm90IGFsbG93ZWQgaW5zaWRlIGZ1bmN0aW9uIHdpdGggbm9uLXNpbXBsZSBwYXJhbWV0ZXIgbGlzdABEdXBsaWNhdGUgZW50cnkgaW4gaW1wb3J0IGRlY2xhcmF0aW9uIGxpc3QAaW5zaWRlIGNhdGNoIGxpc3QAaXF1ZXN0AGxvd2FzdAByZXN0IHByb3BlcnR5IG11c3QgYmUgbGFzdAByZXN0IGVsZW1lbnQgbXVzdCBiZSBsYXN0AHJlc3QgcGFyYW1ldGVyIG11c3QgYmUgbGFzdABleHBlY3RlZCBkZWNsYXJhdGlvbiBpbiBleHBvcnQAc3RhcnQgb2YgZXhwb3J0AGxvY2F0aW9uIG9mIGV4cG9ydABJbnZhbGlkIGxvY2FsIG5hbWUgZm9yIGltcG9ydABpbiBuYW1lc3BhY2UgaW1wb3J0AGxvY2F0aW9uIG9mIG5hbWVzcGFjZSBpbXBvcnQAYXNzZXJ0AHNwZWNpZmllcnMgc3RhcnQAIGlzIG5vdCBhIHZhbGlkIGlkZW50aWZpZXIgc3RhcnQAdGVtcGxhdGUgbGl0ZXJhbCBzdGFydABwYXJ0AHF1b3QAbm90AGluIGludGVybmFsIHNsb3QAc3RhcnQgb2YgaW50ZXJuYWwgc2xvdABhdCBlbmQgb2YgaW50ZXJuYWwgc2xvdABzZG90AG1pZGRvdAAgaXMgbm90IGEgdmFsaWQgaWRlbnRpZmllciBjb2RlcG9pbnQAYmlnaW50AEludmFsaWQgbG9jYWwgbmFtZSBmb3IgY29tcG9uZW50AGludmFsaWQgbWF0Y2ggdW5hcnkgcGF0dGVybiBhcmd1bWVudABub24tdGVybWluYXRlZCBibG9jayBjb21tZW50AENsb3NpbmcgdGFnIG11c3QgYmUgYSBmcmFnbWVudABDbG9zaW5nIHRhZyBtdXN0IG5vdCBiZSBhIGZyYWdtZW50AGRlY2xhcmF0aW9uIG5vdCBhbGxvd2VkIGFzIGV4cHJlc3Npb24gc3RhdGVtZW50AEZ1bmN0aW9uIGRlY2xhcmF0aW9uIG5vdCBhbGxvd2VkIGFzIGJvZHkgb2YgbGFiZWxlZCBzdGF0ZW1lbnQAaW4gbGFiZWxlZCB0dXBsZSB0eXBlIGVsZW1lbnQAY2VudABkZWZhdWx0AGluaXQAaGVybWl0AG51bWVyaWMgc2VwYXJhdG9yIG11c3QgY29tZSBhZnRlciBhIGRpZ2l0AG51bWVyaWMgc2VwYXJhdG9yIG11c3QgY29tZSBiZWZvcmUgYSBkaWdpdABhd2FpdABndABzZXQAbGV0AEludmFsaWQgcXVhbnRpZmllciBicmFja2V0AGludmFsaWQgZGVzdHJ1Y3R1cmluZyB0YXJnZXQAdXNlIHN0cmljdABzZWN0AHN0YXJ0IG9mIG9iamVjdABRdWFudGlmaWVyIGhhcyBub3RoaW5nIHRvIHJlcGVhdABhcm12NXQAYXJtdjR0AHdpbmRvd3MAbWludXMAY3lnbnVzAG9wbHVzAGV4cG9ydHMAYXQgZW5kIG9mIG5hbWVkIGltcG9ydHMAYXNzZXJ0cwBoZWFydHMAaG9va3MgZG8gbm90IHN1cHBvcnQgJ3RoaXMnIGNvbnN0cmFpbnRzAGFyZ3VtZW50cwBJbiBzdHJpY3QgbW9kZSwgZnVuY3Rpb25zIGNhbm5vdCBiZSBkZWNsYXJlZCBpbiBpZiBzdGF0ZW1lbnRzAGltcGxlbWVudHMAVmFyaWFuY2UgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIGxhYmVsZWQgdHVwbGUgZWxlbWVudHMAJ21hdGNoJyBhcmd1bWVudCBjYW5ub3QgY29udGFpbiBzcHJlYWQgZWxlbWVudHMAUGF0dGVybiBleGNlZWRzIHBhcnNlIGxpbWl0cwBkdXBsaWNhdGUgY29uc3RydWN0b3JzIGluIGNsYXNzACIgd2FzIG5vdCBkZWNsYXJlZCBpbiBhbnkgZW5jbG9zaW5nIGNsYXNzAHN0YXJ0IG9mIGNsYXNzAGluIGRlY2xhcmVkIGNsYXNzAGVudW0gbWVtYmVycyBuZWVkIHRvIGNvbnNpc3RlbnRseSBlaXRoZXIgYWxsIHVzZSBpbml0aWFsaXplcnMsIG9yIHVzZSBubyBpbml0aWFsaXplcnMAbnVtYmVyIGFuZCBib29sZWFuIGVudW1zIG11c3QgdXNlIGluaXRpYWxpemVycwBhdCBlbmQgb2YgZnVuY3Rpb24gYW5ub3RhdGlvbiBwYXJhbWV0ZXJzAGF0IHN0YXJ0IG9mIHBhcmFtZXRlcnMAYXQgZW5kIG9mIGZ1bmN0aW9uIHR5cGUgcGFyYW1ldGVycwBzdGFydCBvZiB0eXBlIHBhcmFtZXRlcnMAYXQgZW5kIG9mIHR5cGUgcGFyYW1ldGVycwBhY2Nlc3NvciBtZXRob2QgbWF5IG5vdCBoYXZlIHR5cGUgcGFyYW1ldGVycwBwYXJlbnRoZXNlcyBhcmUgbm90IGFsbG93ZWQgYXJvdW5kIHBhcmFtZXRlcnMAR2V0dGVyIG11c3QgaGF2ZSAwIHBhcmFtZXRlcnMAbG9jYXRpb24gb2YgaW1wb3J0IHNwZWNpZmllcnMAT2N0YWwgbnVtZXJpYyBsaXRlcmFscyBtdXN0IGJlIGludGVnZXJzAHJlbmRlcnMAbWlwcwBhcG9zAGlvcwB3YXRjaG9zAC1tYWNvcwBBY2Nlc3NvcnMgbXVzdCBub3QgaGF2ZSAndGhpcycgYW5ub3RhdGlvbnMAVG9vIG1hbnkgbmVzdGVkIGV4cHJlc3Npb25zL3N0YXRlbWVudHMvZGVjbGFyYXRpb25zAG1peGlucwBydGVtcwBkaWFtcwBjaGVja3MgcHJlZGljYXRlcyB1bnN1cHBvcnRlZCB3aXRoIGhvb2tzACVjaGVja3MAc29sYXJpcwB0aGlzAFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlcyBhcmUgbm90IGFsbG93ZWQgaW4gcmVndWxhciBleHByZXNzaW9uIGZsYWdzAEludmFsaWQgZmxhZ3MATWl4aW5nICc/Pycgd2l0aCAnJiYnIG9yICd8fCcgcmVxdWlyZXMgcGFyZW50aGVzZXMAb3RpbWVzAHN0YXJ0IG9mIHByb3BlcnRpZXMAaW1wbGllcwBzcGFkZXMAZXh0ZW5kcwBjbHVicwBhbmFuYXMAaW4gdHlwZSBhbGlhcwBzdGFydCBvZiB0eXBlIGFsaWFzAGFybXY3cwBhdnIAY3NyAHVhcnIAY3JhcnIAbGFycgBoYXJyAGRhcnIAdUFycgByQXJyAGxBcnIAaEFycgBkQXJyAHN1cGVyKCkgY2FsbCBvbmx5IGFsbG93ZWQgaW4gZGVyaXZlZCBjbGFzcyBjb25zdHJ1Y3RvcgB2ZWN0b3IAc2ltdWxhdG9yAHJmbG9vcgBsZmxvb3IAY29sb3IAZm9yAGNvcmVjbHIAc3BpcgByZXN0IGVsZW1lbmVudCBtYXkgbm90IGhhdmUgYSBkZWZhdWx0IGluaXRpYWxpemVyAGluIGVudW0gbWVtYmVyIGluaXRpYWxpemVyAGluIG5lZ2F0ZWQgZW51bSBtZW1iZXIgaW5pdGlhbGl6ZXIASW52YWxpZCAnZGVjbGFyZScgd2l0aCBpbml0aWFsaXplcgBpbiBpbmRleGVyAHN0YXJ0IG9mIGluZGV4ZXIAbmV2ZXIAY29uc3RydWN0b3IgbWV0aG9kIG11c3Qgbm90IGJlIGEgZ2V0dGVyIG9yIHNldHRlcgAndGhpcycgY29uc3RyYWludCBtdXN0IGJlIHRoZSBmaXJzdCBwYXJhbWV0ZXIAJ2F3YWl0JyBub3QgYWxsb3dlZCBpbiBhIGZvcm1hbCBwYXJhbWV0ZXIAJ3lpZWxkJyBub3QgYWxsb3dlZCBpbiBhIGZvcm1hbCBwYXJhbWV0ZXIAc3RhcnQgb2YgcGFyYW1ldGVyACdhcycgbm90IGFsbG93ZWQgaW4gY29tcG9uZW50IHR5cGUgcGFyYW1ldGVyAGluIHR5cGUgcGFyYW1ldGVyAFNldHRlciBtdXN0IGhhdmUgMSBwYXJhbWV0ZXIAc3VwZXIAaW52YWxpZCByZXR1cm4gYW5ub3RhdGlvbi4gJ2ltcGxpZXMnIHR5cGUgZ3VhcmQgbmVlZHMgdG8gYmUgZm9sbG93ZWQgYnkgaWRlbnRpZmllcgBpbnZhbGlkIHByb3BlcnR5IG5hbWUgLSBtdXN0IGJlIGEgc3RyaW5nLCBudW1iZXIgb3IgaWRlbnRpZmllcgBVbmV4cGVjdGVkIHVzYWdlIG9mICdhd2FpdCcgYXMgYW4gaWRlbnRpZmllcgBpbnZhbGlkIHVzZSBvZiAnYXJndW1lbnRzJyBhcyBhbiBpZGVudGlmaWVyAFVuZXhwZWN0ZWQgdXNhZ2Ugb2YgJ3lpZWxkJyBhcyBhbiBpZGVudGlmaWVyAEludmFsaWQgdXNlIG9mIHN0cmljdCBtb2RlIHJlc2VydmVkIHdvcmQgYXMgYmluZGluZyBpZGVudGlmaWVyAGVtcHR5IHByaXZhdGUgaWRlbnRpZmllcgBBbiBhY2Nlc3NpYmlsaXR5IG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIHdpdGggYSBwcml2YXRlIGlkZW50aWZpZXIAaW52YWxpZCAncHJvdG8nIG1vZGlmaWVyAGludmFsaWQgJ3N0YXRpYycgbW9kaWZpZXIAaW4gZXhwb3J0IHNwZWNpZmllcgBpbiBpbXBvcnQgc3BlY2lmaWVyAGRlYnVnZ2VyAGRhZ2dlcgBEYWdnZXIAaW5mZXIAQ2hhcmFjdGVyIGNsYXNzIHJhbmdlIG91dCBvZiBvcmRlcgBRdWFudGlmaWVyIHJhbmdlIG91dCBvZiBvcmRlcgBpbnZhbGlkIGhleCBudW1iZXIAZmlyc3QgZW51bSBtZW1iZXIAaW4gZW51bSBtZW1iZXIAc3RhcnQgb2YgZW51bSBtZW1iZXIAc3RhcnQgb2YgbmVnYXRlZCBlbnVtIG1lbWJlcgBzdGFydCBvZiBtZW1iZXIAbWFjcgBleHBlY3RlZCB0eXBlIGFubm90YXRpb24gb24gZGVjbGFyZWQgdmFyAGJydmJhcgB2OHIAdjdyAGFybXY4LXIAYXJtdjctcgBiZ3EAcmVnZXhwAHN1cABhdCBlbmQgb2YgYSBtYXRjaCBwYXR0ZXJuIGdyb3VwAGN1cAB0aGluc3AAZW5zcABlbXNwAG5ic3AAcGVycAB3ZWllcnAAcHJvcAB1bmV4cGVjdGVkICdhd2FpdCcgaW4gZm9yLi5pbiBsb29wAGRlc3RydWN0dXJpbmcgZGVjbGFyYXRpb24gY2Fubm90IGJlIGluaXRpYWxpemVkIGluIGZvci1pbi9mb3Itb2YgbG9vcABPbmx5IG9uZSBiaW5kaW5nIG11c3QgYmUgZGVjbGFyZWQgaW4gYSBmb3ItaW4vZm9yLW9mIGxvb3AAJ2NvbnRpbnVlJyBub3Qgd2l0aGluIGEgbG9vcABhc3ltcABhbXAAaGVsbGlwAGJncABjYXAAcnNxdW8AbHNxdW8AcmRxdW8AbGRxdW8AYmRxdW8Ac2JxdW8AcnNhcXVvAGxzYXF1bwByYXF1bwBsYXF1bwBwcm90bwBldXJvAG1pY3JvAHJobwBtYWNobwBSaG8AZG8AdW5rbm93bgByZXR1cm4AdGhvcm4AaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciAnLi4uJyBpbiBvYmplY3QgcGF0dGVybgBpbiBtYXRjaCBtZW1iZXIgcGF0dGVybgBhdCBlbmQgb2YgYXJyYXkgbWF0Y2ggcGF0dGVybgBhdCBlbmQgb2Ygb2JqZWN0IG1hdGNoIHBhdHRlcm4AYWZ0ZXIgbWF0Y2ggcGF0dGVybgBpbnZhbGlkIG1hdGNoIHBhdHRlcm4AaWRlbnRpZmllciBleHBlY3RlZCBpbiBvYmplY3QgYmluZGluZyBwYXR0ZXJuAGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgYmluZGluZyBwYXR0ZXJuAGlkZW50aWZpZXIsICd7JyBvciAnWycgZXhwZWN0ZWQgaW4gYmluZGluZyBwYXR0ZXJuAGluIG1hdGNoIGJpbmRpbmcgcGF0dGVybgBzdGFydCBvZiBiaW5kaW5nIHBhdHRlcm4AbG9jYXRpb24gb2YgcGF0dGVybgBvbWljcm9uAE9taWNyb24Ac2Nhcm9uAFNjYXJvbgB1cHNpbG9uAGVwc2lsb24AVXBzaWxvbgBFcHNpbG9uAHN0YXJ0IG9mIHN1YnN0aXR1dGlvbgBpbiBpbXBvcnQgYXNzZXJ0aW9uAHN0YXJ0IG9mIGFzc2VydGlvbgBpbiB0eXBlIGFzc2VydGlvbgBzdGQ6OmV4Y2VwdGlvbgBwcmV2aW91cyBkZWZpbml0aW9uAGluIGNsYXNzIGRlZmluaXRpb24AZmlyc3QgY29uc3RydWN0b3IgZGVmaW5pdGlvbgBpbiBtZXRob2QgZGVmaW5pdGlvbgBzdGFydCBvZiBtZXRob2QgZGVmaW5pdGlvbgBuZXdsaW5lIG5vdCBhbGxvd2VkIGFmdGVyICdhc3luYycgaW4gYSBtZXRob2QgZGVmaW5pdGlvbgBhdCBlbmQgb2YgJ2lmJyBjb25kaXRpb24AYXQgZW5kIG9mICdkby13aGlsZScgY29uZGl0aW9uAGF0IGVuZCBvZiAnd2hpbGUnIGNvbmRpdGlvbgBzdGFydCBvZiBhcnJvdyBmdW5jdGlvbgBpbiBnZW5lcmljIGFycm93IGZ1bmN0aW9uACd5aWVsZCcgbm90IGluIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uAHN0YXJ0IG9mIGZ1bmN0aW9uACdhd2FpdCcgbm90IGluIGFuIGFzeW5jIGZ1bmN0aW9uAGF3YWl0IGlzIG5vdCBhIHZhbGlkIGlkZW50aWZpZXIgbmFtZSBpbiBhbiBhc3luYyBmdW5jdGlvbgAnbmV3LnRhcmdldCcgbm90IGluIGEgZnVuY3Rpb24AJ3JldHVybicgbm90IGluIGEgZnVuY3Rpb24AJzonIGV4cGVjdGVkIGluIHByb3BlcnR5IGluaXRpYWxpemF0aW9uAHN0YXJ0IG9mIHByb3BlcnR5IGluaXRpYWxpemF0aW9uAHN0YXJ0IG9mIGFubm90YXRpb24AaW4gcHJvcGVydHkgdHlwZSBhbm5vdGF0aW9uAGF0IGVuZCBvZiBleGFjdCBvYmplY3QgdHlwZSBhbm5vdGF0aW9uAGF0IGVuZCBvZiBpbmRleGVyIHR5cGUgYW5ub3RhdGlvbgBpbiBjb21wb25lbnQgcGFyYW1ldGVyIHR5cGUgYW5ub3RhdGlvbgBpbiBmdW5jdGlvbiBwYXJhbWV0ZXIgdHlwZSBhbm5vdGF0aW9uAGluIHJlbmRlciB0eXBlIGFubm90YXRpb24AaW4gZnVuY3Rpb24gdHlwZSBhbm5vdGF0aW9uAHVuZXhwZWN0ZWQgdG9rZW4gaW4gdHlwZSBhbm5vdGF0aW9uAGF0IGVuZCBvZiB0dXBsZSB0eXBlIGFubm90YXRpb24AaW4gJ3RoaXMnIHR5cGUgYW5ub3RhdGlvbgBpbnZhbGlkIG9wZXJhbmQgaW4gdXBkYXRlIG9wZXJhdGlvbgBtaXNzaW5nIGluaXRpYWxpemVyIGluIGNvbnN0IGRlY2xhcmF0aW9uAGV4cGVjdGVkICdmcm9tJyBjbGF1c2UgaW4gZXhwb3J0IGRlY2xhcmF0aW9uAGluIGNvbXBvbmVudCBkZWNsYXJhdGlvbgBzdGFydCBvZiBjb21wb25lbnQgZGVjbGFyYXRpb24AcHJldmlvdXMgZGVjbGFyYXRpb24AaW4gbW9kdWxlLmV4cG9ydHMgZGVjbGFyYXRpb24AZXhwZWN0ZWQgbW9kdWxlLmV4cG9ydHMgZGVjbGFyYXRpb24AaW4gY2xhc3MgZGVjbGFyYXRpb24AaW4gc2V0dGVyIGRlY2xhcmF0aW9uAHN0YXJ0IG9mIHNldHRlciBkZWNsYXJhdGlvbgBpbiBnZXR0ZXIgZGVjbGFyYXRpb24Ac3RhcnQgb2YgZ2V0dGVyIGRlY2xhcmF0aW9uAGluIHZhciBkZWNsYXJhdGlvbgBpbiBmdW5jdGlvbiBkZWNsYXJhdGlvbgBzdGFydCBvZiBmdW5jdGlvbiBkZWNsYXJhdGlvbgBpbiBkZWNsYXJhdGlvbgBpbiBlbnVtIGRlY2xhcmF0aW9uAGluIGhvb2sgZGVjbGFyYXRpb24Ac3RhcnQgb2YgaG9vayBkZWNsYXJhdGlvbgBzdGFydCBvZiBkZWNsYXJhdGlvbgBpbiBleHBvcnQgdHlwZSBkZWNsYXJhdGlvbgBpbnZhbGlkIHRva2VuIGluIHR5cGUgZGVjbGFyYXRpb24AaW52YWxpZCB0b2tlbiBpbiBvcGFxdWUgdHlwZSBkZWNsYXJhdGlvbgAndHlwZScgcmVxdWlyZWQgaW4gb3BhcXVlIHR5cGUgZGVjbGFyYXRpb24AaW4gbW9kdWxlIGRlY2xhcmF0aW9uAGluIG5hbWVzcGFjZSBkZWNsYXJhdGlvbgBpbiBpbnRlcmZhY2UgZGVjbGFyYXRpb24AU21hbGxWZWN0b3IgY2FwYWNpdHkgb3ZlcmZsb3cgZHVyaW5nIGFsbG9jYXRpb24AdW5leHBlY3RlZCB0b2tlbiBhZnRlciBhc3NpZ25tZW50IGV4cHJlc3Npb24AaW4gY2xhc3MgZXhwcmVzc2lvbgAndGFyZ2V0JyBleHBlY3RlZCBpbiBtZW1iZXIgZXhwcmVzc2lvbgAnbWV0YScgZXhwZWN0ZWQgaW4gbWVtYmVyIGV4cHJlc3Npb24AYWZ0ZXIgJy4nIG9yICc/LicgaW4gbWVtYmVyIGV4cHJlc3Npb24Ac3RhcnQgb2YgbWVtYmVyIGV4cHJlc3Npb24AdW5leHBlY3RlZCBtZW1iZXIgZXhwcmVzc2lvbgBhbWJpZ3VvdXMgJ2xldCBbJzogZWl0aGVyIGEgJ2xldCcgYmluZGluZyBvciBhIG1lbWJlciBleHByZXNzaW9uAGluIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24AdHlwZSBwYXJhbWV0ZXJzIG11c3QgYmUgdXNlZCBpbiBhbiBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uAGluIGZ1bmN0aW9uIGV4cHJlc3Npb24Ac3RhcnQgb2YgZnVuY3Rpb24gZXhwcmVzc2lvbgBzdGFydCBvZiBleHByZXNzaW9uAGluIEpTWCBjaGlsZCBleHByZXNzaW9uAHVuZXhwZWN0ZWQgdG9rZW4gYWZ0ZXIgeWllbGQgZXhwcmVzc2lvbgBpbnZhbGlkIGV4cHJlc3Npb24AYXQgZW5kIG9mIHBhcmVudGhlc2l6ZWQgZXhwcmVzc2lvbgBQcml2YXRlIG5hbWUgY2FuIG9ubHkgYmUgdXNlZCBhcyBsZWZ0LWhhbmQgc2lkZSBvZiBgaW5gIGV4cHJlc3Npb24AYXQgZW5kIG9mICdtYXRjaCcgZXhwcmVzc2lvbgBoZXhhZ29uAHBsdXNtbgAtZGFyd2luAGN5Z3dpbgBub3RpbgB1c2Ugc3RhdGljIGJ1aWx0aW4AaW52YWxpZCB1c2Ugb2YgJFNIQnVpbHRpbgBpc2luAGluZmluAHY4bS5tYWluAGFybXY4LW0ubWFpbgBpbnZhbGlkIHVzZSBvZiB0YWdnZWQgdGVtcGxhdGUgbGl0ZXJhbCBpbiBvcHRpb25hbCBjaGFpbgBDb25zdHJ1Y3RvciBjYWxscyBtYXkgbm90IGNvbnRhaW4gYW4gb3B0aW9uYWwgY2hhaW4AbG9jYXRpb24gb2Ygb3B0aW9uYWwgY2hhaW4AeWVuAGVtc2NyaXB0ZW4ARW1zY3JpcHRlbgBjdXJyZW4Ac2NyZWVuAGFtZGdjbgBuYW4AYm9vbGVhbgBhbGVmc3ltAHRoZXRhc3ltAHN1bQBzdGFydCBvZiBlbnVtAGl0YW5pdW0Ad2FzbQBscm0AeHRlcm0AYXJtAGZyb20AcmxtAHNpbQBzeXN0ZW0AdjdlbQBvcmRtAGlibQB2N20AG1s3bQB2Nm0AYXJtdjNtABtbMW0AG1swbQB2NnMtbQBhcm12N2UtbQBhcm12Ny1tAGFybXY2LW0AZnNsAGZyYXNsAGJvb2wAc3ltYm9sAHl1bWwAdXVtbABvdW1sAGl1bWwAZXVtbABhdW1sAFl1bWwAVXVtbABPdW1sAEl1bWwARXVtbABBdW1sAGNfbnVsbABidWxsAGZvcmFsbABzdGQ6OmJhZF9mdW5jdGlvbl9jYWxsAGluIGltcG9ydCBjYWxsAGF0IGVuZCBvZiBmdW5jdGlvbiBjYWxsAGFmdGVyIHR5cGUgYXJndW1lbnRzIGluIG9wdGlvbmFsIGNhbGwAc3RhcnQgb2Ygb3B0aW9uYWwgY2FsbABwZXJtaWwAVW5leHBlY3RlZCB2YXJpYW5jZSBzaWdpbAByY2VpbABsY2VpbABhbWRpbABjY2VkaWwAQ2NlZGlsAGhzYWlsAG1pcHNhbGxlZ3JleGVsAG1pcHNlbABicGZlbABzcGFyY2VsACcgaXMgbm90IGEgbG9vcCBsYWJlbABtaXBzNjRyNmVsAG1pcHNpc2E2NHI2ZWwAbWlwc24zMnI2ZWwAbWlwc2lzYTMycjZlbABtaXBzbjMyZWwAaWV4Y2wAZXZhbABpbnZhbGlkIGludGVnZXIgbGl0ZXJhbABub24tdGVybWluYXRlZCByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbABhdCBlbmQgb2Ygc3Vic3RpdGlvbiBpbiB0ZW1wbGF0ZSBsaXRlcmFsAGV4cGVjdGVkIHRlbXBsYXRlIGxpdGVyYWwAbm9uLXRlcm1pbmF0ZWQgdGVtcGxhdGUgbGl0ZXJhbABpbnZhbGlkIG51bWVyaWMgbGl0ZXJhbABhbWRwYWwAJ3RoaXMnIGNvbnN0cmFpbnQgbWF5IG5vdCBiZSBvcHRpb25hbABNaW51c09wdGlvbmFsAFBsdXNPcHRpb25hbAByZWFsAGdsb2JhbAB2OGwAdjdsAGhvb2sAY25rAGF0IGVuZCBvZiBibG9jawBhdCBlbmQgb2Ygc3RhdGljIGJsb2NrAGFmdGVyICd0cnknIGJsb2NrAGJyZWFrAGFybXY3awBhcm12NmsAendqAHp3bmoAYXJtdjV0ZWoAdjZqAHhpAG10aQBwc2kAUHNpAHBpAG5pAGNvbnRpa2kAcGhpAGNoaQBQaGkAQ2hpAGdudWVhYmkAYW5kcm9pZGVhYmkAbGFuYWkAWGkAUGkAd2l0aABiYWRfYXJyYXlfbmV3X2xlbmd0aABldGgAcHVzaAA/ZmFzdEFycmF5UHVzaABvc2xhc2gAT3NsYXNoAG5kYXNoAG1kYXNoAHVwc2loACdicmVhaycgbm90IHdpdGhpbiBhIGxvb3Agb3IgYSBzd2l0Y2gAbWF0Y2gAY2F0Y2gAeDg2XzY0aABjb25nAHRlcm1pbmF0aW5nAGJhc2ljX3N0cmluZwBub24tdGVybWluYXRlZCBzdHJpbmcAYXJpbmcAQXJpbmcAQ2xvc2luZyB0YWcgbXVzdCBtYXRjaCBvcGVuaW5nAGxvY2F0aW9uIG9mIG9wZW5pbmcATm9uLWNhbm9uaWNhbCBVVEYtOCBlbmNvZGluZwByYW5nAGxhbmcAaW1nAHN6bGlnAG9lbGlnAGFlbGlnAE9FbGlnAEFFbGlnAHJlZwBkZWcAaW52YWxpZCB1c2Ugb2YgJ3N1cGVyJyBhcyBhIHRlbXBsYXRlIGxpdGVyYWwgdGFnAGF0IGVuZCBvZiBKU1ggY2xvc2luZyB0YWcAc3RhcnQgb2YgdGFnAGF0IGVuZCBvZiBKU1ggdGFnAGJwZgBrZXlvZgBmbm9mAHR5cGVvZgBpbnN0YW5jZW9mAGluZgBlbGYAaWYAZ251ZWFiaWhmAG11c2xlYWJpaGYAb3JkZgBzaWdtYWYAc2Vuc2l0aXZlAHVncmF2ZQBvZ3JhdmUAaWdyYXZlAGVncmF2ZQBhZ3JhdmUAVWdyYXZlAE9ncmF2ZQBJZ3JhdmUARWdyYXZlAEFncmF2ZQBzaGF2ZQBhcm12N3ZlAHRydWUAb3BhcXVlAGNvbnRpbnVlAHZhbHVlAEludmFsaWQgVVRGLTggY29udGludWF0aW9uIGJ5dGUAeWFjdXRlAHVhY3V0ZQBvYWN1dGUAaWFjdXRlAGVhY3V0ZQBhYWN1dGUAWWFjdXRlAFVhY3V0ZQBPYWN1dGUASWFjdXRlAEVhY3V0ZQBBYWN1dGUAbG9jYXRpb24gb2YgYXR0cmlidXRlAGluIEpTWCBzcHJlYWQgYXR0cmlidXRlAGluIEpTWCBhdHRyaWJ1dGUAZGVsZXRlAGNvbnN0cnVjdG9yIG1ldGhvZCBtdXN0IG5vdCBiZSBwcml2YXRlAFVuYXJ5IG9wZXJhdG9yIGJlZm9yZSAqKiBtdXN0IHVzZSBwYXJlbnMgdG8gZGlzYW1iaWd1YXRlAHN0YXJ0IG9mIHByZWRpY2F0ZQBpbiBkZWNsYXJlZCBwcmVkaWNhdGUAYXJtdjV0ZQBpbiBleHBvcnQgY2xhdXNlAGxvY2F0aW9uIG9mIGV4cG9ydCBjbGF1c2UAYXQgZW5kIG9mIGV4cG9ydCBjbGF1c2UAaW4gaW1wb3J0IGNsYXVzZQBzdGFydCBvZiBpbXBvcnQgY2xhdXNlAGluIGV4dGVuZHMgY2xhdXNlAGluIGltcG9ydCBzcGVjaWZpZXIgY2xhdXNlAGVsc2UAZmFsc2UAY2FzZQB2OG0uYmFzZQBhcm12OC1tLmJhc2UAbWFsbG9jIGZhaWx1cmUAeGNvcmUAJ2lmJyBjb25kaXRpb24gc3RhcnRzIGhlcmUAY29tcG9uZW50IHR5cGUgYW5ub3RhdGlvbiBzdGFydHMgaGVyZQBjb21wb25lbnQgZGVjbGFyYXRpb24gc3RhcnRzIGhlcmUAZnVuY3Rpb24gZGVjbGFyYXRpb24gc3RhcnRzIGhlcmUAaG9vayBkZWNsYXJhdGlvbiBzdGFydHMgaGVyZQBmdW5jdGlvbiBleHByZXNzaW9uIHN0YXJ0cyBoZXJlAHN0YXRpYyBibG9jayBzdGFydHMgaGVyZQAnaWYnIGd1YXJkIHN0YXJ0cyBoZXJlACdzd2l0Y2gnIHN0YXJ0cyBoZXJlACdkby13aGlsZScgc3RhcnRzIGhlcmUAc3VwZXIgbm90IGFsbG93ZWQgaGVyZQBjb21tZW50IHN0YXJ0ZWQgaGVyZQBkZWNsYXJhdGlvbiBzdGFydGVkIGhlcmUAcmVndWxhciBleHByZXNzaW9uIHN0YXJ0ZWQgaGVyZQB0ZW1wbGF0ZSBsaXRlcmFsIHN0YXJ0ZWQgaGVyZQBzdHJpbmcgc3RhcnRlZCBoZXJlAGZpcnN0ICdkZWZhdWx0JyBjbGF1c2Ugd2FzIGRlZmluZWQgaGVyZQBsYWJlbCBkZWZpbmVkIGhlcmUAc3RhcnQgb2YgZGVjbGFyZQBsb2NhdGlvbiBvZiBkZWNsYXJlAHByb3RvdHlwZQBhdCBlbmQgb2YgY29tcHV0ZWQgcHJvcGVydHkgdHlwZQBFeHBsaWNpdCBpbmV4YWN0IHN5bnRheCBjYW5ub3QgYXBwZWFyIGluc2lkZSBhbiBleHBsaWNpdCBleGFjdCBvYmplY3QgdHlwZQBTcHJlYWRpbmcgYSB0eXBlIGlzIG9ubHkgYWxsb3dlZCBpbnNpZGUgYW4gb2JqZWN0IHR5cGUAc3RhcnQgb2Ygb2JqZWN0IHR5cGUAYXQgZW5kIG9mIG9iamVjdCB0eXBlAGluIGluZGV4ZWQgYWNjZXNzIHR5cGUAaW4gY29uc3RydWN0b3IgdHlwZQBzdGFydCBvZiByZW5kZXIgdHlwZQBpbiBmdW5jdGlvbiB0eXBlAGluIGRlY2xhcmUgZnVuY3Rpb24gdHlwZQBpbiBjb25kaXRpb25hbCB0eXBlAGluIHR5cGVvZiB0eXBlAGluIHF1YWxpZmllZCB0eXBlb2YgdHlwZQBzdGFydCBvZiB0eXBlAGluIGRlY2xhcmVkIHR5cGUAaW4gbWFwcGVkIHR5cGUAc3RhcnQgb2YgbWFwcGVkIHR5cGUAc3RhcnQgb2YgYSB0eXBlAHN1cGUAJ25ldy50YXJnZXQnIG5vdCBhbGxvd2VkIGluIGFycm93IGZ1bmN0aW9uIGluIGdsb2JhbCBzY29wZQBlbXB0eSB1bmljb2RlIGNvZGVwb2ludCBlc2NhcGUAaW52YWxpZCBjaGFyYWN0ZXIgaW4gdW5pY29kZSBjb2RlcG9pbnQgZXNjYXBlAG5vbi10ZXJtaW5hdGVkIHVuaWNvZGUgY29kZXBvaW50IGVzY2FwZQBJbmNvbXBsZXRlIGVzY2FwZQBpbnZhbGlkIFVuaWNvZGUgZXNjYXBlAEludmFsaWQgZXNjYXBlAG9saW5lAG5vaW5saW5lADgtTS5NYWlubGluZQA4LU0uQmFzZWxpbmUAJ3Rocm93JyBhcmd1bWVudCBtdXN0IGJlIG9uIHRoZSBzYW1lIGxpbmUAdGVtcGxhdGUgbGl0ZXJhbCByZXN1bWUAY19uYXRpdmVfcnVudGltZQBldmFsKCkgaXMgZGlzYWJsZWQgYXQgcnVudGltZQBwcmltZQBQcmltZQBpbnZhbGlkIGNsYXNzIHByb3BlcnR5IG5hbWUASW52YWxpZCBwcm9wZXJ0eSBuYW1lAGFzIEpTWCBlbGVtZW50IG5hbWUAaW4gSlNYIGVsZW1lbnQgbmFtZQBzdGFydCBvZiBKU1ggZWxlbWVudCBuYW1lAGlkZW50aWZpZXIgb3Igc3RyaW5nIGxpdGVyYWwgZXhwZWN0ZWQgaW4gY29tcG9uZW50IHBhcmFtZXRlciBuYW1lAGlkZW50aWZpZXIgb3Igc3RyaW5nIGxpdGVyYWwgZXhwZWN0ZWQgaW4gY29tcG9uZW50IHR5cGUgcGFyYW1ldGVyIG5hbWUARHVwbGljYXRlIGNhcHR1cmUgZ3JvdXAgbmFtZQBJbnZhbGlkIGNhcHR1cmUgZ3JvdXAgbmFtZQBmaXJzdCB1c2FnZSBvZiBuYW1lAHN0YXJ0IG9mIHR5cGUgbmFtZQBpbiBxdWFsaWZpZWQgdHlwZSBuYW1lAGluIHF1YWxpZmllZCBnZW5lcmljIHR5cGUgbmFtZQBzdGF0aWMgYW5kIG5vbi1zdGF0aWMgcHJpdmF0ZSBhY2Nlc3NvciB3aXRoIHRoZSBzYW1lIG5hbWUAJ2xldCcgaXMgZGlzYWxsb3dlZCBhcyBhIGxleGljYWxseSBib3VuZCBuYW1lAEludmFsaWQgZXhwb3J0ZWQgbmFtZQBjb21wb25lbnQgdHlwZSBhbm5vdGF0aW9ucyBzaG91bGQgbm90IGNvbnRhaW4gYSBuYW1lAGV4cG9ydCBkZWNsYXJhdGlvbiBtdXN0IGJlIGF0IHRvcCBsZXZlbCBvZiBtb2R1bGUAaW1wb3J0IGRlY2xhcmF0aW9uIG11c3QgYmUgYXQgdG9wIGxldmVsIG9mIG1vZHVsZQBzdGFydCBvZiB0dXBsZQBsb2NhdGlvbiBvZiB0dXBsZQBhcHBsZQB3aGlsZQB0Y2VsZQB4c2NhbGUAYnBmX2xlAHBvd2VycGM2NGxlAHBwYzY0bGUAdW5pY29kZSBjb2RlcG9pbnQgZXNjYXBlIGlzIHRvbyBsYXJnZQBFc2NhcGVkIHZhbHVlIHRvbyBsYXJnZQBpbWFnZQBwYWNrYWdlAG9jdGFscyBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZQAnZGVsZXRlJyBvZiBhIHZhcmlhYmxlIGlzIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlAERlY2ltYWxzIHdpdGggbGVhZGluZyB6ZXJvcyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUAaW52YWxpZCBwYXJhbWV0ZXIgbmFtZSAnbGV0JyBpbiBzdHJpY3QgbW9kZQBPY3RhbCBsaXRlcmFscyBtdXN0IHVzZSAnMG8nIGluIHN0cmljdCBtb2RlACdleHBvcnQnIHN0YXRlbWVudCByZXF1aXJlcyBtb2R1bGUgbW9kZQAnaW1wb3J0JyBzdGF0ZW1lbnQgcmVxdWlyZXMgbW9kdWxlIG1vZGUAJ2V4cG9ydCcgc3RhdGVtZW50IHJlcXVpcmVzIENvbW1vbkpTIG1vZHVsZSBtb2RlAG90aWxkZQBudGlsZGUAYXRpbGRlAE90aWxkZQBOdGlsZGUAQXRpbGRlAGRpdmlkZQBpbnZhbGlkIGFzc2lnbm1lbnQgbGVmdC1oYW5kIHNpZGUAdHJhZGUAdGNlAHNob3cgc291cmNlAEZhaWxlZCB0byBwYXJzZSBzb3VyY2UAaGlkZSBzb3VyY2UAdW50YWdnZWQgdGVtcGxhdGUgbGl0ZXJhbCBjb250YWlucyBpbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZQBVbmV4cGVjdGVkIHVzYWdlIG9mICd5aWVsZCcgYXMgYW4gaWRlbnRpZmllciByZWZlcmVuY2UATm9uZXhpc3RlbnQgbmFtZWQgY2FwdHVyZSByZWZlcmVuY2UASW52YWxpZCBuYW1lZCByZWZlcmVuY2UAYWNjZXNzb3IgcHJvcGVydHkgbXVzdCBub3Qgc3BlY2lmeSB2YXJpYW5jZQBjYWxsIHByb3BlcnR5IG11c3Qgbm90IHNwZWNpZnkgdmFyaWFuY2UAc3RhcnQgb2YgbmFtZXNwYWNlAGluIGludGVyZmFjZQBzdGFydCBvZiBpbnRlcmZhY2UAbG9jYXRpb24gb2YgaW50ZXJmYWNlAHN1YmUAYnBmX2JlAGFhcmNoNjRfYmUAdjVlAG5ldGJzZABvcGVuYnNkAGZyZWVic2QAYWZ0ZXIgJ3N1cGVyJyBrZXl3b3JkAHNjYW5uaW5nIGlkZW50aWZpZXIgd2l0aCB1bmljb2RlIGVzY2FwZSBhcyByZXNlcnZlZCB3b3JkAGV4cGVjdGluZyAnaXMnIGFmdGVyIHBhcmFtZXRlciBvZiAnaW1wbGllcycgdHlwZSBndWFyZABhZnRlciAnaWYnIGd1YXJkAGxvY2F0aW9uIG9mICdpZicgZ3VhcmQAYXQgZW5kIG9mICdpZicgZ3VhcmQAcHJvZABJbnZhbGlkICdkZWNsYXJlJyBpbiBjbGFzcyBtZXRob2QAcG91bmQAdW5zdXBwcG9ydGVkIGRlY2xhcmF0aW9uIGtpbmQAdGVtcGxhdGUgbGl0ZXJhbCBlbmQAYW5kAGFtZAB5aWVsZAB2b2lkAGFuZHJvaWQAaW52YWxpZABkZXN0dWN0dXJpbmcgZGVjbGFyYXRpb24gbXVzdCBiZSBpbml0aWFsaXplZABmb3ItaW4vZm9yLW9mIHZhcmlhYmxlIGRlY2xhcmF0aW9uIG1heSBub3QgYmUgaW5pdGlhbGl6ZWQAbWl4ZWQAJ2RlbGV0ZScgb2Ygc3VwZXIgcHJvcGVydHkgaXMgbm90IGFsbG93ZWQAdHJhaWxpbmcgY29tbWFzIGFmdGVyIGluZXhhY3QgdHVwbGUgdHlwZXMgYXJlIG5vdCBhbGxvd2VkACdpbXBvcnQubWV0YScgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVkAGFzeW5jIGdlbmVyYXRvcnMgYXJlIHVuc3VwcG9ydGVkAHdpdGggc3RhdGVtZW50IGlzIG5vdCBzdXBwb3J0ZWQAc3ByZWFkIG9wZXJhdG9yIGlzIG5vdCBzdXBwb3J0ZWQAaW1wb3J0IGFzc2VydGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQAcHJvdGVjdGVkAGlkZW50aWZpZXIgZXhwZWN0ZWQAaWRlbnRpZmllciBvciBwYXR0ZXJuIGV4cGVjdGVkACdhcycgZXhwZWN0ZWQAJ2Zyb20nIGV4cGVjdGVkACc7JyBleHBlY3RlZABJbnB1dCBzb3VyY2UgbXVzdCBiZSB6ZXJvLXRlcm1pbmF0ZWQAQ2hhcmFjdGVyIGNsYXNzIG5vdCBjbG9zZWQAUGFyZW50aGVzaXplZCBleHByZXNzaW9uIG5vdCBjbG9zZWQAJyBpcyBhbHJlYWR5IGRlY2xhcmVkAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZAB1bmRlZmluZWQAJyBpcyBhbHJlYWR5IGRlZmluZWQAJyBpcyBub3QgZGVmaW5lZABBbGxvY2F0aW9uIGZhaWxlZABtdXRleCBsb2NrIGZhaWxlZABteXJpYWQAbWVzYTNkAFVua25vd24gZXJyb3IgJWQAbXN2YwB1Y2lyYwBvY2lyYwBpY2lyYwBlY2lyYwBhY2lyYwBVY2lyYwBPY2lyYwBJY2lyYwBFY2lyYwBBY2lyYwBzcGFyYwBwb3dlcnBjAHBwYwBzdGQ6OmJhZF9hbGxvYwBGdW5jdGlvbnMgaW4gaWYgc3RhdGVtZW50cyBjYW5ub3QgYmUgZ2VuZXJhdG9yL2FzeW5jAHByb3RvdHlwZSBtZXRob2QgbXVzdCBub3QgYmUgc3RhdGljAGdlbmVyaWMAcHVibGljAHJhZGljAGV4dGVybl9jAG5zdWIAdGh1bWIAbWlwc2ViAGFybWViAGJwZmViAHRodW1iZWIAaW90YQBJb3RhAGRlbHRhAERlbHRhAHpldGEAbWV0YQB0aGV0YQBUaGV0YQBiZXRhAFpldGEAQmV0YQBFdGEAYW1kaHNhAHBhcmEAa2FwcGEAS2FwcGEAZ2FtbWEAR2FtbWEAc2lnbWEAU2lnbWEAbmFibGEAZnVjaHNpYQBudmlkaWEAYWxwaGEAQWxwaGEAb21lZ2EAT21lZ2EAbGFtYmRhAExhbWJkYQBrYWxpbWJhAHY4YQB2N2EAdjguNWEAdjguNGEAdjguM2EAYXJtdjJhAHY4LjJhAHY4LjFhAGFybXY4LWEAYXJtdjctYQBhcm12OC41LWEAYXJtdjguNC1hAGFybXY4LjMtYQBhcm12OC4yLWEAYXJtdjguMS1hAHN0cmluZyBsaXRlcmFsIG5hbWVzIHJlcXVpcmUgYSBsb2NhbCB2aWEgYGFzYABfX3Byb3RvX18AXgBbb3JpZ2luYWxdAFt0cmFuc3BpbGVkXQBbADZLWgA1VAA0VABDb21tb25KUwBFUwA3LVMAOC1SADctUgBOYU4AVEhPUk4ATkFOAFRFUk0AM00AN0UtTQA3LU0ANi1NAE9LADZLADctSwA1VEVKAEVUSABJTkYAN1ZFADVURQAyQQA4LUEANy1BADguNS1BADguNC1BADguMy1BADguMi1BADguMS1BAHJlbmRlcnM/AD8/ADxfZmlyc3RfYmluYXJ5PgA8X2xhc3RfYmluYXJ5PgA8dW5rbm93bj4APHN0ZGluPgA8X2xhc3RfdG9rZW4+ADxlb2Y+ADxub25lPgA8X2ZpcnN0X3Jlc3dvcmQ+ADxfbGFzdF9yZXN3b3JkPgA+Pj4APT4AfHw9AF49AHNvdXJjZU1hcHBpbmdVUkw9AHNvdXJjZVVSTD0APz89AD4+Pj0APT09ACE9PQA8PD0ALz0ALT0AKz0AKio9ACYmPQAlPQAhPQA8PAA7ADoAc3BhcmN2OQB2OAB2NwBhcm12NgBtaXBzcjYAbWlwc2lzYTY0cjYAbWlwc24zMnI2AG1pcHNpc2EzMnI2AGkzODYAY29kZTE2AHY1AGFybXY0AHBzNAB0aGVyZTQAbnZwdHg2NAByaXNjdjY0AHJlbmRlcnNjcmlwdDY0AG1pcHM2NABzcGlyNjQAd2FzbTY0AGFybTY0AGFtZGlsNjQAaHNhaWw2NABhYXJjaDY0AGFtZDY0AHNwYXJjNjQAcG93ZXJwYzY0AHBwYzY0AG1pcHNpc2E2NAB4ODZfNjQAMy4xLjQ0AGZyYWMzNABmcmFjMTQAYXJtdjMAc3VwMwBhcm12MgBsdjIAaXdtbXh0MgBhcm12NnQyAG5pb3MyAHN1cDIANlQyAGdudXgzMgByaXNjdjMyAHJlbmRlcnNjcmlwdDMyAG1pcHNuMzIAd2luMzIAZ251YWJpbjMyAHdhc20zMgBsZTMyAHBwYzMyAG1pcHNpc2EzMgBmcmFjMTIAc3VwMQAjMQBtc3A0MzAAdnQxMDAAdW5yZWNvZ25pemVkIFVuaWNvZGUgY2hhcmFjdGVyIFx1MDAwMABpMzg2LWFwcGxlLWRhcndpbjE5LjMuMABOdW1lcmljIHNlcGFyYXRvciBjYW5ub3QgYmUgdXNlZCBpbiBsaXRlcmFsIGFmdGVyIGxlYWRpbmcgMABeJFwuKis/KClbXXt9fC8AVGhlIGAuLi5gIG11c3QgY29tZSBhZnRlciBhbGwgZW51bSBtZW1iZXJzLiBNb3ZlIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGVudW0gYm9keS4AIHJlcXVpcmVzIGV4YWN0bHkgdHdvIGFyZ3VtZW50cy4AQSBtb2R1bGUgZmFjdG9yeSBmdW5jdGlvbiBtdXN0IGhhdmUgYXQgbGVhc3QgdHdvIGFyZ3VtZW50cy4AIHJlcXVpcmVzIGVpdGhlciB0d28gb3IgdGhyZWUgYXJndW1lbnRzLgBDYW5ub3QgbG9hZCBmcm9tIGEgcHJpdmF0ZSBuYW1lIHRoYXQgb25seSBkZWZpbmVzIGEgc2V0dGVyLgBDYW5ub3Qgc3RvcmUgdG8gYSBwcml2YXRlIG5hbWUgdGhhdCBvbmx5IGRlZmluZXMgYSBnZXR0ZXIuAENhbm5vdCBsb29rdXAgcHJpdmF0ZSBuYW1lcyBvbiBzdXBlci4ARHVwbGljYXRlIHByaXZhdGUgaWRlbnRpZmllciBkZWNsYXJhdGlvbi4AIHJlcXVpcmVzIHNlY29uZCBhcmcgdG8gYmUgYSBmdW5jdGlvbiBleHByZXNzaW9uLgAgaXMgbmVpdGhlciBhbiBpZGVudGlmaWVyIG5vciBhIGNhbGwuACByZXF1aXJlcyBmaXJzdCBhcmd1bWVudCB0byBiZSBhIHN0cmluZyBsaXRlcmFsLgAgcmVxdWlyZXMgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgc3RyaW5nIGxpdGVyYWwuACByZXF1aXJlcyBmaXJzdCBhcmcgdG8gYmUgdW5zaWduZWQgaW50IG51bWVyaWMgbGl0ZXJhbC4AQ2Fubm90IGBkZWxldGVgIHdpdGggYSBwcml2YXRlIG5hbWUuAENhbm5vdCBzdG9yZSB0byBhIHByaXZhdGUgbmFtZSB0aGF0IGRlZmluZXMgYSBtZXRob2QuAERpcmVjdCBjYWxsIHRvIGV2YWwoKSwgYnV0IGxleGljYWwgc2NvcGUgaXMgbm90IHN1cHBvcnRlZC4AIGlzIG5vdCBkZWNsYXJlZC4APy4ALi4uAE51bWVyaWMgbGl0ZXJhbCBzdGFydHMgd2l0aCAwIGJ1dCBjb250YWlucyBhbiA4IG9yIDkgZGlnaXQuIEludGVycHJldGluZyBhcyBkZWNpbWFsIChub3Qgb2N0YWwpLgBTaG91bGQgbm90IGRlY2xhcmUgYm90aCAnaW5saW5lJyBhbmQgJ25vaW5saW5lJy4ALS0ALAArKwByZW5kZXJzKgAqKgAobnVsbCkAaW52YWxpZCBleHByZXNzaW9uIChwb3NzaWJsZSBKU1g6IHBhc3MgLXBhcnNlLWpzeCB0byBwYXJzZSkAKABsb2NhdGlvbiBvZiAneycAYWZ0ZXIgJ3RyeScAbG9jYXRpb24gb2YgJ3RyeScAYWZ0ZXIgJ2ZpbmFsbHknAGxvY2F0aW9uIG9mICdmaW5hbGx5JwBsb2NhdGlvbiBvZiB0aGUgJ3Rocm93JwBsb2NhdGlvbiBvZiAnaW1wb3J0JwBhZnRlciAnY29tcG9uZW50JwBsb2NhdGlvbiBvZiAnY29tcG9uZW50JwBsb2NhdGlvbiBvZiAnY2FzZScvJ2RlZmF1bHQnAGFmdGVyICdjYXNlIC4uLicgb3IgJ2RlZmF1bHQnAGludmFsaWQgdXNlIG9mICdhcmd1bWVudHMnAGluIGNsYXNzICdpbXBsZW1lbnRzJwBhZnRlciAnY2xhc3MnAGxvY2F0aW9uIG9mICdjbGFzcycAaW4gY2xhc3MgJ21peGlucycAc3RhcnQgb2YgJ3RoaXMnAGluIGNsYXNzICdleHRlbmRzJwBQcml2YXRlIG5hbWVzIGNhbm5vdCBiZSAnI2NvbnN0cnVjdG9yJwBhZnRlciAnZm9yJwBsb2NhdGlvbiBvZiAnZm9yJwBsb2NhdGlvbiBvZiB0aGUgJ2ZvcicAaW5zaWRlICdmb3InAGxvY2F0aW9uIG9mICdzdXBlcicAYWZ0ZXIgJ2Z1bmN0aW9uJwBsb2NhdGlvbiBvZiAnZnVuY3Rpb24nAGFmdGVyICdmcm9tJwBsb2NhdGlvbiBvZiAnZnJvbScAYWZ0ZXIgJ2hvb2snAGxvY2F0aW9uIG9mICdob29rJwBhZnRlciAnYnJlYWsnAGxvY2F0aW9uIG9mICdicmVhaycAYWZ0ZXIgJ3dpdGgnAGxvY2F0aW9uIG9mICd3aXRoJwBhZnRlciAnc3dpdGNoJwBtb3JlIHRoYW4gb25lICdkZWZhdWx0JyBjbGF1c2UgaW4gJ3N3aXRjaCcAbG9jYXRpb24gb2YgJ3N3aXRjaCcAaW5zaWRlICdzd2l0Y2gnAGxvY2F0aW9uIG9mICdjYXRjaCcAdW5leHBlY3RlZCAnYXdhaXQnIGluIGZvciBsb29wIHdpdGhvdXQgJ29mJwBhZnRlciAnaWYnAGxvY2F0aW9uIG9mICdpZicAYWZ0ZXIgJ2NvbnRpbnVlJwBsb2NhdGlvbiBvZiAnY29udGludWUnAFN0YXRpYyBjbGFzcyBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBuYW1lZCAncHJvdG90eXBlJwBhZnRlciAnZG8td2hpbGUnAGF0IGVuZCBvZiAnZG8td2hpbGUnAGFmdGVyICd3aGlsZScAbG9jYXRpb24gb2YgJ3doaWxlJwBsb2NhdGlvbiBpb2YgJ1snAGxvY2F0aW9uIG9mICdbJwB1bnJlY29nbml6ZWQgY2hhcmFjdGVyICdAJwBsb2NhdGlvbiBvZiAnPycAYXQgZW5kIG9mIG9iamVjdCBiaW5kaW5nIHBhdHRlcm4gJ3suLi4nAGF0IGVuZCBvZiBvYmplY3QgbGl0ZXJhbCAney4uLicAYXQgZW5kIG9mIGFycmF5IGJpbmRpbmcgcGF0dGVybiAnWy4uLicAYXQgZW5kIG9mIG1lbWJlciBleHByZXNzaW9uICdbLi4uJwBhdCBlbmQgb2YgYXJyYXkgbGl0ZXJhbCAnWy4uLicAYWZ0ZXIgJ3dpdGggKC4uLicAYWZ0ZXIgJ3N3aXRjaCAoLi4uJwBhZnRlciAnY2F0Y2ggKC4uLicAYWZ0ZXIgJ2ZvciguLi4gaW4vb2YgLi4uJwBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIGFmdGVyICcuLi4gPyAuLi4nAGFmdGVyICdmb3IoIC4uLiA7IC4uLiA7IC4uLicAYWZ0ZXIgJ2ZvciggLi4uIDsgLi4uJwBleHByZXNzaW9uIGV4cGVjdGVkIGFmdGVyICcsJwBhZnRlciAnY2F0Y2goLi4uKScAYWZ0ZXIgJ3N3aXRjaCAoLi4uKScAaW52YWxpZCBlbXB0eSBwYXJlbnRoZXNlcyAnKCApJwBsb2NhdGlvbiBvZiAnKCcAdW5yZWNvZ25pemVkIGNoYXJhY3RlciAnAElkZW50aWZpZXIgJwAnY29udGludWUnIGxhYmVsICcAY2Fubm90IGRlY2xhcmUgJwBjYW5ub3QgZGVjbGFyZSB0d28gcGFyYW1ldGVycyB3aXRoIHRoZSBzYW1lIG5hbWUgJwBDYW4ndCBjcmVhdGUgZHVwbGljYXRlIHZhcmlhYmxlIHRoYXQgc2hhZG93cyBhIGdsb2JhbCBwcm9wZXJ0eTogJwAmJgAlAHRoZSBwcml2YXRlIG5hbWUgIiMAdGhlIHZhcmlhYmxlICIAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAaW52YWxpZCBtZXRhIHByb3BlcnR5IABFeHBvcnQgAGFub255bW91cyAAIG9yIABObyBkaWdpdHMgYWZ0ZXIgACBpbml0aWFsaXplciBpbiAAIiB3YXMgbm90IGRlY2xhcmVkIGluIABJbmNsdWRlZCBmcm9tIABjYW5ub3QgdXNlIABzZXR0ZXIgbWV0aG9kIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBmb3JtYWwgYXJndW1lbnQsIGZvdW5kIABnZXR0ZXIgbWV0aG9kIG11c3Qgbm8gb25lIGZvcm1hbCBhcmd1bWVudHMsIGZvdW5kIABlcnJvcjogAEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiAASU8gZmFpbHVyZSBvbiBvdXRwdXQgc3RyZWFtOiAAcmVtYXJrOiAAd2FybmluZzogAG5vdGU6IABMTFZNIEVSUk9SOiAALCAAOgoAKQoAAAAAAAAAANxTAAAEAAAABQAAAAYAAAAHAAAACAAAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU42aGVybWVzN0NvbnRleHRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAAJijAACUUwAAoKEAAAEBAAEBAQAAAgIAAQICAAAEBAABBAQAAAgIAAEICAAABAQBAQgIAQEICAIAAAECAwQFBgcICQoBAAABAgMEBQYHBgcGBwYHBggJBwABAQABAQEAAAICAAECAgAABAQAAQQEAAAIBAABCAQAAAQEAQEIBAEBBAQCAAABAgMEBQYHCAkKAQAAAQIDBAUEBQYHBAUEBQQICQcAAAAAAAhVAAAKAAAACwAAAAwAAAANAAAATjRsbHZoMTBGb2xkaW5nU2V0SU42aGVybWVzMTVOYXRpdmVTaWduYXR1cmVFRUUATjRsbHZoMTRGb2xkaW5nU2V0SW1wbElONmhlcm1lczE1TmF0aXZlU2lnbmF0dXJlRUVFAJijAADIVAAAFIwAAJijAACYVAAA/FQAAAAAAACYVQAACgAAAA4AAAAPAAAAEAAAAE40bGx2aDEwRm9sZGluZ1NldElONmhlcm1lczEyTmF0aXZlRXh0ZXJuRUVFAE40bGx2aDE0Rm9sZGluZ1NldEltcGxJTjZoZXJtZXMxMk5hdGl2ZUV4dGVybkVFRQAAAJijAABZVQAAFIwAAJijAAAsVQAAjFUAQbCrAQvZBSJEAACjFwAAmxcAAClEAADjHgAADBQAAJ4tAABlJwAABxkAAEQrAAAsLgAAxRoAACwsAACCEgAAIC4AACMwAACUKAAAKTAAADksAAD3BwAACRgAACQNAADuLgAAuhoAAB4wAACyBQAAiy0AAD8HAAAtBwAAbAUAAIQtAADAPQAAoTgAALsrAADCCgAAEQsAANIPAACEQQAANxMAAPUVAADBJwAA3w4AAFM8AAATOQAAFC8AAFM/AACTQQAAuj0AADpEAAALBAAACAQAAAMEAAACBAAA8EoAAO5KAABCQwAAQEMAAJdKAAAASgAAA0oAAKREAACcSgAAnkoAAJlKAADdQwAAqkoAAKtKAADNUQAAxUYAAJ9KAACaSgAAoUQAAEtEAABKRAAAokQAAE9EAACHRAAAe0QAAINEAACeRAAAfkQAAIJEAADLUQAAKEMAAAkEAADKUQAABQQAANpDAADtQwAADlIAAAAEAADbQwAApkQAAJ9EAACQRAAAjUQAAJREAACTRAAAm0QAAIpEAACGRAAAekQAAHlEAACYRAAAUkQAAJdEAABRRAAAdUQAAFVEAABORAAAaxMAAHMYAAB0LAAALhkAAO4HAADnCwAAfSoAAFELAAB+NQAAnT0AABxEAAAORAAAAAAAABBYAAASAAAAEwAAABQAAAAHAAAAFQAAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU42aGVybWVzNnBhcnNlcjZkZXRhaWwxMkpTUGFyc2VySW1wbEVOU185YWxsb2NhdG9ySVM0X0VFRUUAAAAAmKMAALRXAACgoQAAIgAAACoAAAAEAAAAJAAAAAgAAAAOAAAADwAAAHAAAABvAAAAcwAAAHQsAABzGAAA5wsAAJsnAAAGAAAABgAAAAYAAAAHAAAAdCwAAHMYAADnCwAAmycAAE8oAAAGAAAABgAAAAYAAAAHAAAABgBBrLEBCwEIAEH4sQELAQgAQZSzAQtZDAAAAAsAAAALAAAACwAAAAoAAAAKAAAACQAAAAkAAAAJAAAACAAAAAgAAAAIAAAACAAAAAcAAAAHAAAABwAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAQci0AQsBCABB/LQBC9sdyFoAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAE42aGVybWVzNXJlZ2V4MTVBbHRlcm5hdGlvbk5vZGVFAAAAAJijAACkWgAA4GQAAAAAAACsWwAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42aGVybWVzNXJlZ2V4MTVBbHRlcm5hdGlvbk5vZGU4ZW1pdFN0ZXBFUk5TM18xOVJlZ2V4Qnl0ZWNvZGVTdHJlYW1FRVVsdkVfTlNfOWFsbG9jYXRvcklTN19FRUZidkVFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGYnZFRUUAAABwowAAgFsAAJijAAAAWwAApFsAAFpONmhlcm1lczVyZWdleDE1QWx0ZXJuYXRpb25Ob2RlOGVtaXRTdGVwRVJOUzBfMTlSZWdleEJ5dGVjb2RlU3RyZWFtRUVVbHZFXwBwowAAuFsAAAAAAAC8XAAAHwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42aGVybWVzNXJlZ2V4MTVBbHRlcm5hdGlvbk5vZGU4ZW1pdFN0ZXBFUk5TM18xOVJlZ2V4Qnl0ZWNvZGVTdHJlYW1FRVVsdkUwX05TXzlhbGxvY2F0b3JJUzdfRUVGYnZFRUUAAAAAmKMAADhcAACkWwAAWk42aGVybWVzNXJlZ2V4MTVBbHRlcm5hdGlvbk5vZGU4ZW1pdFN0ZXBFUk5TMF8xOVJlZ2V4Qnl0ZWNvZGVTdHJlYW1FRVVsdkUwXwAAAABwowAAyFwAAAAAAAB4XQAAMAAAADEAAAAYAAAAGQAAADIAAAAbAAAAMwAAADQAAAA1AAAATjZoZXJtZXM1cmVnZXgyM01hcmtlZFN1YmV4cHJlc3Npb25Ob2RlRQAAAACYowAATF0AAOBkAAAAAAAA0F0AADYAAAA3AAAAGAAAABkAAAA4AAAAGwAAADkAAAA6AAAAOwAAAE42aGVybWVzNXJlZ2V4MTRMb29rYXJvdW5kTm9kZUUAmKMAALBdAADgZAAAAAAAALReAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjZoZXJtZXM1cmVnZXgxNExvb2thcm91bmROb2RlOGVtaXRTdGVwRVJOUzNfMTlSZWdleEJ5dGVjb2RlU3RyZWFtRUVVbHZFX05TXzlhbGxvY2F0b3JJUzdfRUVGdnZFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZ2RUVFAAAAAHCjAACHXgAAmKMAAAheAACsXgAAWk42aGVybWVzNXJlZ2V4MTRMb29rYXJvdW5kTm9kZThlbWl0U3RlcEVSTlMwXzE5UmVnZXhCeXRlY29kZVN0cmVhbUVFVWx2RV8AAHCjAADAXgAAAAAAAFxfAABFAAAARgAAABgAAAAZAAAARwAAABsAAABIAAAASQAAAEoAAABONmhlcm1lczVyZWdleDhMb29wTm9kZUUAAAAAmKMAAEBfAADgZAAAAAAAAAxgAAA8AAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjZoZXJtZXM1cmVnZXg4TG9vcE5vZGU4ZW1pdFN0ZXBFUk5TM18xOVJlZ2V4Qnl0ZWNvZGVTdHJlYW1FRVVsdkVfTlNfOWFsbG9jYXRvcklTN19FRUZ2dkVFRQCYowAAlF8AAKxeAABaTjZoZXJtZXM1cmVnZXg4TG9vcE5vZGU4ZW1pdFN0ZXBFUk5TMF8xOVJlZ2V4Qnl0ZWNvZGVTdHJlYW1FRVVsdkVfAHCjAAAYYAAAAAAAAAxhAAA8AAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjZoZXJtZXM1cmVnZXg4TG9vcE5vZGU4ZW1pdFN0ZXBFUk5TM18xOVJlZ2V4Qnl0ZWNvZGVTdHJlYW1FRVVsdkUwX05TXzlhbGxvY2F0b3JJUzdfRUVGdnZFRUUAAAAAmKMAAJBgAACsXgAAWk42aGVybWVzNXJlZ2V4OExvb3BOb2RlOGVtaXRTdGVwRVJOUzBfMTlSZWdleEJ5dGVjb2RlU3RyZWFtRUVVbHZFMF8AAAAAcKMAABhhAAAAAAAAEGIAADwAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONmhlcm1lczVyZWdleDhMb29wTm9kZThlbWl0U3RlcEVSTlMzXzE5UmVnZXhCeXRlY29kZVN0cmVhbUVFVWx2RTFfTlNfOWFsbG9jYXRvcklTN19FRUZ2dkVFRQAAAACYowAAlGEAAKxeAABaTjZoZXJtZXM1cmVnZXg4TG9vcE5vZGU4ZW1pdFN0ZXBFUk5TMF8xOVJlZ2V4Qnl0ZWNvZGVTdHJlYW1FRVVsdkUxXwAAAABwowAAHGIAAAAAAAC4YgAAYwAAAGQAAAAYAAAAGQAAAGUAAAAbAAAAZgAAADoAAABnAAAATjZoZXJtZXM1cmVnZXgxNExlZnRBbmNob3JOb2RlRQCYowAAmGIAAOBkAAAAAAAAFGMAAGMAAABoAAAAGAAAABkAAABpAAAAGwAAAGYAAAA6AAAAagAAAE42aGVybWVzNXJlZ2V4MTVSaWdodEFuY2hvck5vZGVFAAAAAJijAADwYgAA4GQAAAAAAABwYwAAYwAAAGsAAAAYAAAAGQAAAGkAAAAbAAAAZgAAADoAAABsAAAATjZoZXJtZXM1cmVnZXgxNldvcmRCb3VuZGFyeU5vZGVFAAAAmKMAAExjAADgZAAAAAAAAOBjAABtAAAAbgAAAG8AAAAZAAAAcAAAABsAAABmAAAAOgAAAHEAAABONmhlcm1lczVyZWdleDExQnJhY2tldE5vZGVJTlMwXzE2VVRGMTZSZWdleFRyYWl0c0VFRQAAAJijAACoYwAA4GQAAAAAAAA4ZAAAYwAAAHIAAAAYAAAAGQAAAGkAAAAbAAAAZgAAADoAAABzAAAATjZoZXJtZXM1cmVnZXgxMUJhY2tSZWZOb2RlRQAAAACYowAAGGQAAOBkAAAAAAAAkGQAAGMAAAB0AAAAdQAAABkAAAB2AAAAGwAAAGYAAAA6AAAAdwAAAE42aGVybWVzNXJlZ2V4MTJNYXRjaEFueU5vZGVFAAAAmKMAAHBkAADgZAAAAAAAAOBkAABjAAAAeAAAABgAAAAZAAAAaQAAABsAAABmAAAAOgAAAHkAAABONmhlcm1lczVyZWdleDROb2RlRQAAAABwowAAyGQAAAAAAAAwZQAAYwAAAHoAAAAYAAAAGQAAAGkAAAB7AAAAZgAAADoAAAB8AAAATjZoZXJtZXM1cmVnZXg4R29hbE5vZGVFAAAAAJijAAAUZQAA4GQAAAAAAACIZQAAfQAAAH4AAAB/AAAAgAAAAIEAAAAbAAAAZgAAAIIAAACDAAAATjZoZXJtZXM1cmVnZXgxM01hdGNoQ2hhck5vZGVFAACYowAAaGUAAOBkAAD1OAAA8zQAABw1AADgPwAA+z8AAEkYAAAmGAAAng0AAPYNAABQDwAAzBIAAOs2AADONgAAqDsAAIQ7AADtNQAA/f///wAAAAAkZwAAhQAAAIYAAACHAAAAiAAAAIkAAACKAAAAiwAAAIwAAACNAAAATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42aGVybWVzNHNlbWExNUZ1bmN0aW9uQ29udGV4dEMxRVJOUzNfMTZTZW1hbnRpY1Jlc29sdmVyRVBOUzJfNkVTVHJlZTE2RnVuY3Rpb25MaWtlTm9kZUVQTlMzXzEyRnVuY3Rpb25JbmZvRWJOU0FfMTVDb25zdHJ1Y3RvcktpbmRFTlMyXzE2Q3VzdG9tRGlyZWN0aXZlc0VFMyRfME5TXzlhbGxvY2F0b3JJU0VfRUVGdlBOUzdfNE5vZGVFRUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UE42aGVybWVzNkVTVHJlZTROb2RlRUVFRQAAAHCjAADjZgAAmKMAAARmAAAcZwAAWk42aGVybWVzNHNlbWExNUZ1bmN0aW9uQ29udGV4dEMxRVJOUzBfMTZTZW1h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AQEAAAGuAQAB2gAAAa8BAAEBAAABsQEAAtkAAAGzAQADAQAAArcBAAHbAAABuAEABQEAAATEAQABAgAAAcUBAAEBAAABxwEAAQIAAAHIAQABAQAAAcoBAAECAAABywEAEQEAAALeAQARAQAAAvEBAAECAAAB8gEAAwEAAAL2AQABn///AfcBAAHI//8B+AEAJwEAAAIgAgABfv//ASICABEBAAACOgIAASsqAAE7AgABAQAAAT0CAAFd//8BPgIAASgqAAFBAgABAQAAAUMCAAE9//8BRAIAAUUAAAFFAgABRwAAAUYCAAkBAAACRQMAAXQAAAFwAwADAQAAAnYDAAEBAAABfwMAAXQAAAGGAwABJgAAAYgDAAMlAAABjAMAAUAAAAGOAwACPwAAAZEDABEgAAABowMACSAAAAHCAwABAQAAAc8DAAEIAAAB0AMAAeL//wHRAwAB5///AdUDAAHx//8B1gMAAer//wHYAwAXAQAAAvADAAHK//8B8QMAAdD//wH0AwABxP//AfUDAAHA//8B9wMAAQEAAAH5AwAB+f//AfoDAAEBAAAB/QMAA37//wEABAAQUAAAARAEACAgAAABYAQAIQEAAAKKBAA1AQAAAsAEAAEPAAABwQQADQEAAALQBABfAQAAAjEFACYwAAABoBAAJmAcAAHHEAAHYBwABvgTAAb4//8BgBwAAbLn/wGBHAABs+f/AYIcAAG85/8BgxwAAr7n/wGFHAABvef/AYYcAAHE5/8BhxwAAdzn/wGIHAABw4kAAZAcACtA9P8BvRwAA0D0/wEAHgCVAQAAApseAAHG//8Bnh4AAUHi/wGgHgBfAQAAAggfAAj4//8BGB8ABvj//wEoHwAI+P//ATgfAAj4//8BSB8ABvj//wFZHwAH+P//AmgfAAj4//8BiB8ACPj//wGYHwAI+P//AagfAAj4//8BuB8AAvj//wG6HwACtv//AbwfAAH3//8Bvh8AAfvj/wHIHwAEqv//AcwfAAH3//8B0x8AAb3j/wHYHwAC+P//AdofAAKc//8B4x8AAc3j/wHoHwAC+P//AeofAAKQ//8B7B8AAfn//wH4HwACgP//AfofAAKC//8B/B8AAff//wEmIQABo+L/ASohAAFB3/8BKyEAAbrf/wEyIQABHAAAAWAhABAQAAABgyEAAQEAAAG2JAAaGgAAAQAsADAwAAABYCwAAQEAAAFiLAABCdb/AWMsAAEa8f8BZCwAARnW/wFnLAAFAQAAAm0sAAHk1f8BbiwAAQPW/wFvLAAB4dX/AXAsAAHi1f8BciwABAEAAAN+LAACwdX/AYAsAGMBAAAC6ywAAwEAAALyLAABAQAAAUCmAC0BAAACgKYAGwEAAAIipwANAQAAAjKnAD0BAAACeacAAwEAAAJ9pwAB/HX/AX6nAAkBAAACi6cAAQEAAAGNpwAB2Fr/AZCnAAMBAAAClqcAEwEAAAKqpwABvFr/AaunAAGxWv8BrKcAAbVa/wGtpwABv1r/Aa6nAAG8Wv8BsKcAAe5a/wGxpwAB1lr/AbKnAAHrWv8Bs6cAAaADAAG0pwAPAQAAAsSnAAHQ//8BxacAAb1a/wHGpwAByHX/AcenAAMBAAAC0KcABwEAAAbYpwAeAQAAHXCrAFAwaP8BBfsAAQEAAAEh/wAaIAAAAQAEASgoAAABsAQBJCgAAAFwBQELJwAAAXwFAQ8nAAABjAUBBycAAAGUBQECJwAAAYAMATNAAAABoBgBICAAAAFAbgEgIAAAAQDpASIiAAABAAAAAAAAAABhAAAa4P//AbUAAAHnAgAB4AAAF+D//wH4AAAH4P//Af8AAAF5AAABAQEAL////wIzAQAF////AjoBAA////8CSwEALf///wJ6AQAF////AoABAAHDAAABgwEAA////wKIAQAF////BJIBAAH///8BlQEAAWEAAAGZAQAB////AZoBAAGjAAABngEAAYIAAAGhAQAF////AqgBAAb///8FsAEABf///wS2AQAE////A70BAAH///8BvwEAATgAAAHFAQAB////AcYBAAH+//8ByAEAAf///wHJAQAB/v//AcsBAAH///8BzAEAAf7//wHOAQAP////At0BAAGx//8B3wEAEf///wLyAQAB////AfMBAAH+//8B9QEABf///wT7AQAl////AiMCABH///8CPAIAAf///wE/AgACPyoAAUICAAb///8FSQIAB////wJQAgABHyoAAVECAAEcKgABUgIAAR4qAAFTAgABLv//AVQCAAEy//8BVgIAAjP//wFZAgABNv//AVsCAAE1//8BXAIAAU+lAAFgAgABM///AWECAAFLpQABYwIAATH//wFlAgABKKUAAWYCAAFEpQABaAIAAS///wFpAgABLf//AWoCAAFEpQABawIAAfcpAAFsAgABQaUAAW8CAAEt//8BcQIAAf0pAAFyAgABK///AXUCAAEq//8BfQIAAecpAAGAAgABJv//AYICAAFDpQABgwIAASb//wGHAgABKqUAAYgCAAEm//8BiQIAAbv//wGKAgACJ///AYwCAAG5//8BkgIAASX//wGdAgABFaUAAZ4CAAESpQABRQMAAVQAAAFxAwAD////AncDAAH///8BewMAA4IAAAGsAwAB2v//Aa0DAAPb//8BsQMAEeD//wHCAwAB4f//AcMDAAng//8BzAMAAcD//wHNAwACwf//AdADAAHC//8B0QMAAcf//wHVAwAB0f//AdYDAAHK//8B1wMAAfj//wHZAwAX////AvADAAGq//8B8QMAAbD//wHyAwABBwAAAfMDAAGM//8B9QMAAaD//wH4AwAE////AzAEACDg//8BUAQAELD//wFhBAAh////AosEADX///8CwgQADf///wLPBAAB8f//AdEEAF////8CYQUAJtD//wHQEAArwAsAAf0QAAPACwAB+BMABvj//wGAHAABkuf/AYEcAAGT5/8BghwAAZzn/wGDHAACnuf/AYUcAAGd5/8BhhwAAaTn/wGHHAAB2+f/AYgcAAHCiQABeR0AAQSKAAF9HQAB5g4AAY4dAAE4igABAR4Alf///wKbHgABxf//AaEeAF////8CAB8ACAgAAAEQHwAGCAAAASAfAAgIAAABMB8ACAgAAAFAHwAGCAAAAVEfAAcIAAACYB8ACAgAAAFwHwACSgAAAXIfAARWAAABdh8AAmQAAAF4HwACgAAAAXofAAJwAAABfB8AAn4AAAGwHwACCAAAAb4fAAHb4/8B0B8AAggAAAHgHwACCAAAAeUfAAEHAAABTiEAAeT//wFwIQAQ8P//AYQhAAH///8B0CQAGub//wEwLAAw0P//AWEsAAH///8BZSwAAdXV/wFmLAAB2NX/AWgsAAX///8CcywABP///wOBLABj////AuwsAAP///8C8ywAAf///wEALQAmoOP/ASctAAeg4/8GQaYALf///wKBpgAb////AiOnAA3///8CM6cAPf///wJ6pwAD////An+nAAn///8CjKcABv///wWTpwAB////AZSnAAEwAAABl6cAE////wK1pwAP////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oAAAAKEAAACiAAAAowAAAKQAAAC1AAAAtgAAAKUAAACmAAAATjRsbHZoMTFyYXdfb3N0cmVhbUUAAAAAcKMAAICVAABONGxsdmgxN3Jhd19wd3JpdGVfc3RyZWFtRQAAmKMAAKCVAACYlQAATjRsbHZoMThyYXdfc3RyaW5nX29zdHJlYW1FAJijAADIlQAAmJUAAE40bGx2aDE5cmF3X3N2ZWN0b3Jfb3N0cmVhbUUAAAAAmKMAAPCVAAC8lQAATjRsbHZoMTRyYXdfZmRfb3N0cmVhbUUAmKMAAByWAAC8lQAAAAAAABCWAACeAAAAtwAAAKAAAAChAAAAogAAAKMAAACkAAAAuAAAALkAAAClAAAAugAAALsAAABObyBlcnJvciBpbmZvcm1hdGlvbgBJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFi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",Pe(JI)||(JI=D(JI));function zs(c){if(c==JI&&f)return new Uint8Array(f);var N=KD(c);if(N)return N;if(M)return M(c);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}function js(c,N){var h,T=zs(c);h=new WebAssembly.Module(T);var j=new WebAssembly.Instance(h,N);return[j,h]}function Zs(){var c={a:hD};function N(T,j){var W=T.exports;return uA=W,Z=uA.m,oC(),tC=uA.y,OC(uA.n),Os("wasm-instantiate"),W}if(Ps("wasm-instantiate"),I.instantiateWasm)try{return I.instantiateWasm(c,N)}catch(T){S("Module.instantiateWasm callback failed with error: "+T),B(T)}var h=js(JI,c);return N(h[0])}var eg,dI;function ze(c){this.name="ExitStatus",this.message=`Program terminated with exit(${c})`,this.status=c}var pQ=c=>{for(;c.length>0;)c.shift()(I)},Ws=c=>tC.get(c),Vs=(c,N)=>Ws(c)(N);function Xs(c){this.excPtr=c,this.ptr=c-24,this.set_type=function(N){v[this.ptr+4>>2]=N},this.get_type=function(){return v[this.ptr+4>>2]},this.set_destructor=function(N){v[this.ptr+8>>2]=N},this.get_destructor=function(){return v[this.ptr+8>>2]},this.set_caught=function(N){N=N?1:0,lA[this.ptr+12>>0]=N},this.get_caught=function(){return lA[this.ptr+12>>0]!=0},this.set_rethrown=function(N){N=N?1:0,lA[this.ptr+13>>0]=N},this.get_rethrown=function(){return lA[this.ptr+13>>0]!=0},this.init=function(N,h){this.set_adjusted_ptr(0),this.set_type(N),this.set_destructor(h)},this.set_adjusted_ptr=function(N){v[this.ptr+16>>2]=N},this.get_adjusted_ptr=function(){return v[this.ptr+16>>2]},this.get_exception_ptr=function(){var N=kD(this.get_type());if(N)return v[this.excPtr>>2];var h=this.get_adjusted_ptr();return h!==0?h:this.excPtr}}var je=0,vs=0;function _s(c,N,h){var T=new Xs(c);throw T.init(N,h),je=c,vs++,je}var nC={},Ze=c=>{if(c instanceof ze||c=="unwind")return yA;i(1,c)},We=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Ve=(c,N,h)=>{for(var T=N+h,j=N;c[j]&&!(j>=T);)++j;if(j-N>16&&c.buffer&&We)return We.decode(c.subarray(N,j));for(var W="";N>10,56320|ng&1023)}}return W},Xe=(c,N)=>c?Ve(AA,c,N):"",ve={varargs:void 0,get(){ve.varargs+=4;var c=rA[ve.varargs-4>>2];return c},getStr(c){var N=Xe(c);return N}},$s=c=>{yA=c,sC()||(I.onExit&&I.onExit(c),UA=!0),i(c,new ze(c))},AD=(c,N)=>{yA=c,$s(c)},_e=AD,gD=()=>{if(!sC())try{_e(yA)}catch(c){Ze(c)}},ID=c=>{if(!UA)try{c(),gD()}catch(N){Ze(N)}},$e;$e=()=>performance.now();var CD=(c,N)=>{if(nC[c]&&(clearTimeout(nC[c].id),delete nC[c]),!N)return 0;var h=setTimeout(()=>{delete nC[c],ID(()=>YD(c,$e()))},N);return nC[c]={id:h,timeout_ms:N},0},BD=()=>{qe("")},QD=()=>2147483648,ED=c=>{var N=Z.buffer,h=c-N.byteLength+65535>>>16;try{return Z.grow(h),oC(),1}catch{}},eD=c=>{var N=AA.length;c>>>=0;var h=QD();if(c>h)return!1;for(var T=(xA,ng)=>xA+(ng-xA%ng)%ng,j=1;j<=4;j*=2){var W=N*(1+.2/j);W=Math.min(W,c+100663296);var gA=Math.min(h,T(Math.max(c,W),65536)),$=ED(gA);if($)return!0}return!1},FQ={},iD=()=>e||"./this.program",cC=()=>{if(!cC.strings){var c=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",N={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:c,_:iD()};for(var h in FQ)FQ[h]===void 0?delete N[h]:N[h]=FQ[h];var T=[];for(var h in N)T.push(`${h}=${N[h]}`);cC.strings=T}return cC.strings},oD=(c,N)=>{for(var h=0;h>0]=c.charCodeAt(h);lA[N>>0]=0},tD=(c,N)=>{var h=0;return cC().forEach(function(T,j){var W=N+h;v[c+j*4>>2]=W,oD(T,W),h+=T.length+1}),0},rD=(c,N)=>{var h=cC();v[c>>2]=h.length;var T=0;return h.forEach(function(j){T+=j.length+1}),v[N>>2]=T,0},sD=c=>52,DD=(c,N)=>{var h=0,T=0,j=0;{var W=2;c==0?h=2:(c==1||c==2)&&(h=64),j=1}return lA[N>>0]=W,jA[N+2>>1]=j,dI=[h>>>0,(eg=h,+Math.abs(eg)>=1?eg>0?+Math.floor(eg/4294967296)>>>0:~~+Math.ceil((eg-+(~~eg>>>0))/4294967296)>>>0:0)],rA[N+8>>2]=dI[0],rA[N+12>>2]=dI[1],dI=[T>>>0,(eg=T,+Math.abs(eg)>=1?eg>0?+Math.floor(eg/4294967296)>>>0:~~+Math.ceil((eg-+(~~eg>>>0))/4294967296)>>>0:0)],rA[N+16>>2]=dI[0],rA[N+20>>2]=dI[1],0};function aD(c,N){return N+2097152>>>0<4194305-!!c?(c>>>0)+N*4294967296:NaN}function nD(c,N,h,T,j){var W=aD(N,h);return 70}var cD=[null,[],[]],yD=(c,N)=>{var h=cD[c];N===0||N===10?((c===1?k:S)(Ve(h,0)),h.length=0):h.push(N)},wD=(c,N,h,T)=>{for(var j=0,W=0;W>2],$=v[N+4>>2];N+=8;for(var xA=0;xA<$;xA++)yD(c,AA[gA+xA]);j+=$}return v[T>>2]=j,0};function Ai(c){var N=I["_"+c];return N}var ND=(c,N)=>{lA.set(c,N)},uD=c=>{for(var N=0,h=0;h=55296&&T<=57343?(N+=4,++h):N+=3}return N},GD=(c,N,h,T)=>{if(!(T>0))return 0;for(var j=h,W=h+T-1,gA=0;gA=55296&&$<=57343){var xA=c.charCodeAt(++gA);$=65536+(($&1023)<<10)|xA&1023}if($<=127){if(h>=W)break;N[h++]=$}else if($<=2047){if(h+1>=W)break;N[h++]=192|$>>6,N[h++]=128|$&63}else if($<=65535){if(h+2>=W)break;N[h++]=224|$>>12,N[h++]=128|$>>6&63,N[h++]=128|$&63}else{if(h+3>=W)break;N[h++]=240|$>>18,N[h++]=128|$>>12&63,N[h++]=128|$>>6&63,N[h++]=128|$&63}}return N[h]=0,h-j},pD=(c,N,h)=>GD(c,AA,N,h),FD=c=>{var N=uD(c)+1,h=Ii(N);return pD(c,h,N),h},gi=function(c,N,h,T,j){var W={string:Ag=>{var yC=0;return Ag!=null&&Ag!==0&&(yC=FD(Ag)),yC},array:Ag=>{var yC=Ii(Ag.length);return ND(Ag,yC),yC}};function gA(Ag){return N==="string"?Xe(Ag):N==="boolean"?!!Ag:Ag}var $=Ai(c),xA=[],ng=0;if(T)for(var cI=0;cIgA==="number"||gA==="boolean"),W=N!=="string";return W&&j&&!T?Ai(c):function(){return gi(c,N,h,arguments,T)}},hD={e:Vs,a:_s,d:CD,b:BD,l:eD,h:tD,i:rD,j:_e,g:sD,f:DD,k:nD,c:wD},aA=Zs(),gK=aA.n,IK=I._free=aA.o,CK=I._malloc=aA.p,BK=I._hermesParse=aA.q,QK=I._hermesParseResult_free=aA.r,EK=I._hermesParseResult_getError=aA.s,eK=I._hermesParseResult_getErrorLine=aA.t,iK=I._hermesParseResult_getErrorColumn=aA.u,oK=I._hermesParseResult_getProgramBuffer=aA.v,tK=I._hermesParseResult_getPositionBuffer=aA.w,rK=I._hermesParseResult_getPositionBufferSize=aA.x,sK=aA.__errno_location,DK=aA.emscripten_builtin_memalign,YD=aA.z,aK=aA.setThrew,SD=aA.A,MD=aA.B,Ii=aA.C,nK=aA.__cxa_decrement_exception_refcount,cK=aA.__cxa_increment_exception_refcount,kD=aA.D;function RD(c){if(typeof r<"u"&&r){var N=LN.from(c,"base64");return new Uint8Array(N.buffer,N.byteOffset,N.byteLength)}try{for(var h=atob(c),T=new Uint8Array(h.length),j=0;j0||(uQ(),CI>0))return;function c(){zC||(zC=!0,I.calledRun=!0,!UA&&(UI(),C(I),I.onRuntimeInitialized&&I.onRuntimeInitialized(),GQ()))}I.setStatus?(I.setStatus("Running..."),setTimeout(function(){setTimeout(function(){I.setStatus("")},1),c()},1)):c()}if(I.preInit)for(typeof I.preInit=="function"&&(I.preInit=[I.preInit]);I.preInit.length>0;)I.preInit.pop()();return Ci(),g}})();typeof Ki=="object"&&typeof TQ=="object"?TQ.exports=Ri:typeof define=="function"&&define.amd&&define([],()=>Ri)});var bi=V(xQ=>{var mN=globalThis.Buffer??mQ().Buffer;Object.defineProperty(xQ,"__esModule",{value:!0});xQ.parse=qN;var HN=Ji(ki()),fN=Ji(Ui());function Ji(A){return A&&A.__esModule?A:{default:A}}var qA,di,Li,mi,Hi,fi,Ti,xi,qi;function TN(){qA==null&&(qA=(0,fN.default)({quit(A,g){throw g}}),di=qA.cwrap("hermesParse","number",["number","number","number","number","number","number","number"]),Li=qA.cwrap("hermesParseResult_free","void",["number"]),mi=qA.cwrap("hermesParseResult_getError","string",["number"]),Hi=qA.cwrap("hermesParseResult_getErrorLine","number",["number"]),fi=qA.cwrap("hermesParseResult_getErrorColumn","number",["number"]),Ti=qA.cwrap("hermesParseResult_getProgramBuffer","number",["number"]),xi=qA.cwrap("hermesParseResult_getPositionBuffer","number",["number"]),qi=qA.cwrap("hermesParseResult_getPositionBufferSize","number",["number"]))}function xN(A,g){qA.HEAP8.set(A,g),qA.HEAP8[g+A.length]=0}function qN(A,g){TN();let I=mN.from(A,"utf8"),C=qA._malloc(I.length+1);if(!C)throw new Error("Parser out of memory");try{xN(I,C);let B=di(C,I.length+1,g.flow==="detect",g.enableExperimentalComponentSyntax,g.enableExperimentalFlowMatchSyntax,g.tokens,g.allowReturnOutsideFunction);try{let Q=mi(B);if(Q){let e=new SyntaxError(Q);throw e.loc={line:Hi(B),column:fi(B)},e}return new HN.default(Ti(B),xi(B),qi(B),qA,g).deserialize()}finally{Li(B)}}finally{qA._free(C)}}});var bN,_,og=fD(()=>{bN=(A,g,I,C)=>{if(!(A&&g==null))return g.replaceAll?g.replaceAll(I,C):I.global?g.replace(I,C):g.split(I).join(C)},_=bN});var Pi=V(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.NODE_LIST_CHILD=QI.NODE_CHILD=QI.HERMES_AST_VISITOR_KEYS=void 0;var PN="Node";QI.NODE_CHILD=PN;var ON="NodeList";QI.NODE_LIST_CHILD=ON;var zN={AnyTypeAnnotation:{},ArrayExpression:{elements:"NodeList"},ArrayPattern:{elements:"NodeList",typeAnnotation:"Node"},ArrayTypeAnnotation:{elementType:"Node"},ArrowFunctionExpression:{id:"Node",params:"NodeList",body:"Node",typeParameters:"Node",returnType:"Node",predicate:"Node"},AsConstExpression:{expression:"Node"},AsExpression:{expression:"Node",typeAnnotation:"Node"},AssignmentExpression:{left:"Node",right:"Node"},AssignmentPattern:{left:"Node",right:"Node"},AwaitExpression:{argument:"Node"},BigIntLiteral:{},BigIntLiteralTypeAnnotation:{},BigIntTypeAnnotation:{},BinaryExpression:{left:"Node",right:"Node"},BlockStatement:{body:"NodeList"},BooleanLiteral:{},BooleanLiteralTypeAnnotation:{},BooleanTypeAnnotation:{},BreakStatement:{label:"Node"},CallExpression:{callee:"Node",typeArguments:"Node",arguments:"NodeList"},CatchClause:{param:"Node",body:"Node"},ChainExpression:{expression:"Node"},ClassBody:{body:"NodeList"},ClassDeclaration:{id:"Node",typeParameters:"Node",superClass:"Node",superTypeParameters:"Node",implements:"NodeList",decorators:"NodeList",body:"Node"},ClassExpression:{id:"Node",typeParameters:"Node",superClass:"Node",superTypeParameters:"Node",implements:"NodeList",decorators:"NodeList",body:"Node"},ClassImplements:{id:"Node",typeParameters:"Node"},ComponentDeclaration:{id:"Node",params:"NodeList",body:"Node",typeParameters:"Node",rendersType:"Node"},ComponentParameter:{name:"Node",local:"Node"},ComponentTypeAnnotation:{params:"NodeList",rest:"Node",typeParameters:"Node",rendersType:"Node"},ComponentTypeParameter:{name:"Node",typeAnnotation:"Node"},ConditionalExpression:{test:"Node",alternate:"Node",consequent:"Node"},ConditionalTypeAnnotation:{checkType:"Node",extendsType:"Node",trueType:"Node",falseType:"Node"},ContinueStatement:{label:"Node"},DebuggerStatement:{},DeclareClass:{id:"Node",typeParameters:"Node",extends:"NodeList",implements:"NodeList",mixins:"NodeList",body:"Node"},DeclareComponent:{id:"Node",params:"NodeList",rest:"Node",typeParameters:"Node",rendersType:"Node"},DeclaredPredicate:{value:"Node"},DeclareEnum:{id:"Node",body:"Node"},DeclareExportAllDeclaration:{source:"Node"},DeclareExportDeclaration:{declaration:"Node",specifiers:"NodeList",source:"Node"},DeclareFunction:{id:"Node",predicate:"Node"},DeclareHook:{id:"Node"},DeclareInterface:{id:"Node",typeParameters:"Node",extends:"NodeList",body:"Node"},DeclareModule:{id:"Node",body:"Node"},DeclareModuleExports:{typeAnnotation:"Node"},DeclareNamespace:{id:"Node",body:"Node"},DeclareOpaqueType:{id:"Node",typeParameters:"Node",impltype:"Node",lowerBound:"Node",upperBound:"Node",supertype:"Node"},DeclareTypeAlias:{id:"Node",typeParameters:"Node",right:"Node"},DeclareVariable:{id:"Node"},DoWhileStatement:{body:"Node",test:"Node"},EmptyStatement:{},EmptyTypeAnnotation:{},EnumBigIntBody:{members:"NodeList"},EnumBigIntMember:{id:"Node",init:"Node"},EnumBooleanBody:{members:"NodeList"},EnumBooleanMember:{id:"Node",init:"Node"},EnumDeclaration:{id:"Node",body:"Node"},EnumDefaultedMember:{id:"Node"},EnumNumberBody:{members:"NodeList"},EnumNumberMember:{id:"Node",init:"Node"},EnumStringBody:{members:"NodeList"},EnumStringMember:{id:"Node",init:"Node"},EnumSymbolBody:{members:"NodeList"},ExistsTypeAnnotation:{},ExportAllDeclaration:{exported:"Node",source:"Node"},ExportDefaultDeclaration:{declaration:"Node"},ExportNamedDeclaration:{declaration:"Node",specifiers:"NodeList",source:"Node"},ExportSpecifier:{exported:"Node",local:"Node"},ExpressionStatement:{expression:"Node"},ForInStatement:{left:"Node",right:"Node",body:"Node"},ForOfStatement:{left:"Node",right:"Node",body:"Node"},ForStatement:{init:"Node",test:"Node",update:"Node",body:"Node"},FunctionDeclaration:{id:"Node",params:"NodeList",body:"Node",typeParameters:"Node",returnType:"Node",predicate:"Node"},FunctionExpression:{id:"Node",params:"NodeList",body:"Node",typeParameters:"Node",returnType:"Node",predicate:"Node"},FunctionTypeAnnotation:{params:"NodeList",this:"Node",returnType:"Node",rest:"Node",typeParameters:"Node"},FunctionTypeParam:{name:"Node",typeAnnotation:"Node"},GenericTypeAnnotation:{id:"Node",typeParameters:"Node"},HookDeclaration:{id:"Node",params:"NodeList",body:"Node",typeParameters:"Node",returnType:"Node"},HookTypeAnnotation:{params:"NodeList",returnType:"Node",rest:"Node",typeParameters:"Node"},Identifier:{typeAnnotation:"Node"},IfStatement:{test:"Node",consequent:"Node",alternate:"Node"},ImportAttribute:{key:"Node",value:"Node"},ImportDeclaration:{specifiers:"NodeList",source:"Node",assertions:"NodeList"},ImportDefaultSpecifier:{local:"Node"},ImportExpression:{source:"Node",options:"Node"},ImportNamespaceSpecifier:{local:"Node"},ImportSpecifier:{imported:"Node",local:"Node"},IndexedAccessType:{objectType:"Node",indexType:"Node"},InferredPredicate:{},InferTypeAnnotation:{typeParameter:"Node"},InterfaceDeclaration:{id:"Node",typeParameters:"Node",extends:"NodeList",body:"Node"},InterfaceExtends:{id:"Node",typeParameters:"Node"},InterfaceTypeAnnotation:{extends:"NodeList",body:"Node"},IntersectionTypeAnnotation:{types:"NodeList"},JSXAttribute:{name:"Node",value:"Node"},JSXClosingElement:{name:"Node"},JSXClosingFragment:{},JSXElement:{openingElement:"Node",children:"NodeList",closingElement:"Node"},JSXEmptyExpression:{},JSXExpressionContainer:{expression:"Node"},JSXFragment:{openingFragment:"Node",children:"NodeList",closingFragment:"Node"},JSXIdentifier:{},JSXMemberExpression:{object:"Node",property:"Node"},JSXNamespacedName:{namespace:"Node",name:"Node"},JSXOpeningElement:{name:"Node",attributes:"NodeList",typeArguments:"Node"},JSXOpeningFragment:{},JSXSpreadAttribute:{argument:"Node"},JSXSpreadChild:{expression:"Node"},JSXText:{},KeyofTypeAnnotation:{argument:"Node"},LabeledStatement:{label:"Node",body:"Node"},LogicalExpression:{left:"Node",right:"Node"},MatchArrayPattern:{elements:"NodeList",rest:"Node"},MatchAsPattern:{pattern:"Node",target:"Node"},MatchBindingPattern:{id:"Node"},MatchExpression:{argument:"Node",cases:"NodeList"},MatchExpressionCase:{pattern:"Node",body:"Node",guard:"Node"},MatchIdentifierPattern:{id:"Node"},MatchLiteralPattern:{literal:"Node"},MatchMemberPattern:{base:"Node",property:"Node"},MatchObjectPattern:{properties:"NodeList",rest:"Node"},MatchObjectPatternProperty:{key:"Node",pattern:"Node"},MatchOrPattern:{patterns:"NodeList"},MatchRestPattern:{argument:"Node"},MatchStatement:{argument:"Node",cases:"NodeList"},MatchStatementCase:{pattern:"Node",body:"Node",guard:"Node"},MatchUnaryPattern:{argument:"Node"},MatchWildcardPattern:{},MemberExpression:{object:"Node",property:"Node"},MetaProperty:{meta:"Node",property:"Node"},MethodDefinition:{key:"Node",value:"Node"},MixedTypeAnnotation:{},NewExpression:{callee:"Node",typeArguments:"Node",arguments:"NodeList"},NullableTypeAnnotation:{typeAnnotation:"Node"},NullLiteral:{},NullLiteralTypeAnnotation:{},NumberLiteralTypeAnnotation:{},NumberTypeAnnotation:{},NumericLiteral:{},ObjectExpression:{properties:"NodeList"},ObjectPattern:{properties:"NodeList",typeAnnotation:"Node"},ObjectTypeAnnotation:{properties:"NodeList",indexers:"NodeList",callProperties:"NodeList",internalSlots:"NodeList"},ObjectTypeCallProperty:{value:"Node"},ObjectTypeIndexer:{id:"Node",key:"Node",value:"Node",variance:"Node"},ObjectTypeInternalSlot:{id:"Node",value:"Node"},ObjectTypeMappedTypeProperty:{keyTparam:"Node",propType:"Node",sourceType:"Node",variance:"Node"},ObjectTypeProperty:{key:"Node",value:"Node",variance:"Node"},ObjectTypeSpreadProperty:{argument:"Node"},OpaqueType:{id:"Node",typeParameters:"Node",impltype:"Node",lowerBound:"Node",upperBound:"Node",supertype:"Node"},OptionalIndexedAccessType:{objectType:"Node",indexType:"Node"},PrivateIdentifier:{},Program:{body:"NodeList"},Property:{key:"Node",value:"Node"},PropertyDefinition:{key:"Node",value:"Node",variance:"Node",typeAnnotation:"Node"},QualifiedTypeIdentifier:{qualification:"Node",id:"Node"},QualifiedTypeofIdentifier:{qualification:"Node",id:"Node"},RegExpLiteral:{},RestElement:{argument:"Node"},ReturnStatement:{argument:"Node"},SequenceExpression:{expressions:"NodeList"},SpreadElement:{argument:"Node"},StaticBlock:{body:"NodeList"},StringLiteral:{},StringLiteralTypeAnnotation:{},StringTypeAnnotation:{},Super:{},SwitchCase:{test:"Node",consequent:"NodeList"},SwitchStatement:{discriminant:"Node",cases:"NodeList"},SymbolTypeAnnotation:{},TaggedTemplateExpression:{tag:"Node",quasi:"Node"},TemplateElement:{},TemplateLiteral:{quasis:"NodeList",expressions:"NodeList"},ThisExpression:{},ThisTypeAnnotation:{},ThrowStatement:{argument:"Node"},TryStatement:{block:"Node",handler:"Node",finalizer:"Node"},TupleTypeAnnotation:{types:"NodeList"},TupleTypeLabeledElement:{label:"Node",elementType:"Node",variance:"Node"},TupleTypeSpreadElement:{label:"Node",typeAnnotation:"Node"},TypeAlias:{id:"Node",typeParameters:"Node",right:"Node"},TypeAnnotation:{typeAnnotation:"Node"},TypeCastExpression:{expression:"Node",typeAnnotation:"Node"},TypeofTypeAnnotation:{argument:"Node",typeArguments:"Node"},TypeOperator:{typeAnnotation:"Node"},TypeParameter:{bound:"Node",variance:"Node",default:"Node"},TypeParameterDeclaration:{params:"NodeList"},TypeParameterInstantiation:{params:"NodeList"},TypePredicate:{parameterName:"Node",typeAnnotation:"Node"},UnaryExpression:{argument:"Node"},UnionTypeAnnotation:{types:"NodeList"},UpdateExpression:{argument:"Node"},VariableDeclaration:{declarations:"NodeList"},VariableDeclarator:{init:"Node",id:"Node"},Variance:{},VoidTypeAnnotation:{},WhileStatement:{body:"Node",test:"Node"},WithStatement:{object:"Node",body:"Node"},YieldExpression:{argument:"Node"},File:{program:"Node"},ObjectProperty:{key:"Node",value:"Node"},ObjectMethod:{key:"Node",params:"NodeList",body:"Node",returnType:"Node",typeParameters:"NodeList"},ClassMethod:{key:"Node",params:"NodeList",body:"Node",returnType:"Node",typeParameters:"NodeList"},Import:{},ClassProperty:{key:"Node",value:"Node",variance:"Node",typeAnnotation:"Node"},ClassPrivateProperty:{key:"Node",value:"Node",variance:"Node",typeAnnotation:"Node"},PrivateName:{id:"Node"},OptionalCallExpression:{callee:"Node",typeArguments:"Node",arguments:"NodeList"},OptionalMemberExpression:{object:"Node",property:"Node"},ExportNamespaceSpecifier:{exported:"Node"}};QI.HERMES_AST_VISITOR_KEYS=zN});var Oi=V(vC=>{og();Object.defineProperty(vC,"__esModule",{value:!0});vC.default=void 0;var qQ=Pi(),bQ=class{constructor(g){this.sourceFilename=void 0,this.sourceType=void 0,this.sourceFilename=g.sourceFilename,this.sourceType=g.sourceType}transform(g){let I=g.comments;for(let Q=0;Q0&&I[0].type==="InterpreterDirective"?I.shift():null;let C=g.tokens;if(C)for(let Q=0;Q{"use strict";Object.defineProperty(_C,"__esModule",{value:!0});_C.getModuleDocblock=ZN;_C.parseDocblockString=zi;var jN=/^\s*@([a-zA-Z0-9_-]+)( +.+)?$/;function zi(A){let g=A.split(` +`).map(B=>B.trimStart().replace(/^\* ?/,"").trim()).filter(B=>B.startsWith("@")),I=Object.create(null);for(let B of g){var C;let Q=jN.exec(B);if(Q==null)continue;let E=Q[1],e=((C=Q[2])!=null?C:"").trim();I[E]?I[E].push(e):I[E]=[e]}return I}function ZN(A){let g=(()=>{if(A.type!=="Program")return null;let I=A;if(I.comments.length===0)return null;let C=(()=>{let B=I.comments[0];if(B.type==="Block")return B;if(I.comments.length===1)return null;let Q=I.comments[1];return B.type==="Line"&&B.range[0]===0&&Q.type==="Block"?Q:null})();return C==null||I.body.length>0&&I.body[0].range[0]{"use strict";Object.defineProperty($C,"__esModule",{value:!0});$C.default=void 0;var WN=XN(Oi()),VN=ji();function XN(A){return A&&A.__esModule?A:{default:A}}var PQ=class extends WN.default{constructor(g,I){super(g),this.code=void 0,this.code=I}fixSourceLocation(g){var I;let C=g.loc;C!=null&&(g.loc={source:(I=this.sourceFilename)!=null?I:null,start:C.start,end:C.end},g.range=[C.rangeStart,C.rangeEnd],delete g.start,delete g.end)}mapNode(g){switch(this.fixSourceLocation(g),g.type){case"Program":return this.mapProgram(g);case"NullLiteral":return this.mapNullLiteral(g);case"BooleanLiteral":case"StringLiteral":case"NumericLiteral":case"JSXStringLiteral":return this.mapSimpleLiteral(g);case"BigIntLiteral":return this.mapBigIntLiteral(g);case"RegExpLiteral":return this.mapRegExpLiteral(g);case"Empty":return this.mapEmpty(g);case"TemplateElement":return this.mapTemplateElement(g);case"BigIntLiteralTypeAnnotation":return this.mapBigIntLiteralTypeAnnotation(g);case"GenericTypeAnnotation":return this.mapGenericTypeAnnotation(g);case"ImportDeclaration":return this.mapImportDeclaration(g);case"ImportSpecifier":return this.mapImportSpecifier(g);case"ExportDefaultDeclaration":return this.mapExportDefaultDeclaration(g);case"ExportNamedDeclaration":return this.mapExportNamedDeclaration(g);case"ExportAllDeclaration":return this.mapExportAllDeclaration(g);case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":return this.mapFunction(g);case"PrivateName":return this.mapPrivateName(g);case"ClassProperty":case"ClassPrivateProperty":return this.mapClassProperty(g);case"MemberExpression":case"OptionalMemberExpression":case"CallExpression":case"OptionalCallExpression":return this.mapChainExpression(g);case"BlockStatement":return this.mapBlockStatement(g);default:return this.mapNodeDefault(g)}}mapProgram(g){let I=this.mapNodeDefault(g);return g.sourceType=this.getSourceType(),g.docblock=(0,VN.getModuleDocblock)(I),I}mapSimpleLiteral(g){return{type:"Literal",loc:g.loc,range:g.range,value:g.value,raw:this.code.slice(g.range[0],g.range[1]),literalType:(()=>{switch(g.type){case"NullLiteral":return"null";case"BooleanLiteral":return"boolean";case"StringLiteral":case"JSXStringLiteral":return"string";case"NumericLiteral":return"numeric";case"BigIntLiteral":return"bigint";case"RegExpLiteral":return"regexp"}return null})()}}mapBigIntLiteral(g){return{...this.mapSimpleLiteral(g),...this.getBigIntLiteralValue(g.bigint)}}mapNullLiteral(g){return{...this.mapSimpleLiteral(g),value:null}}mapRegExpLiteral(g){let{pattern:I,flags:C}=g,B;try{B=new RegExp(I,C)}catch{B=null}return{...this.mapSimpleLiteral(g),value:B,regex:{pattern:I,flags:C}}}mapBigIntLiteralTypeAnnotation(g){return{...g,...this.getBigIntLiteralValue(g.raw)}}mapTemplateElement(g){return{type:"TemplateElement",loc:g.loc,range:g.range,tail:g.tail,value:{cooked:g.cooked,raw:g.raw}}}mapGenericTypeAnnotation(g){return g.typeParameters==null&&g.id.type==="Identifier"&&g.id.name==="this"?{type:"ThisTypeAnnotation",loc:g.loc,range:g.range}:this.mapNodeDefault(g)}mapComment(g){return g.type==="CommentBlock"?g.type="Block":g.type==="CommentLine"&&(g.type="Line"),g}mapFunction(g){let I=this.mapNodeDefault(g);switch(I.type){case"FunctionDeclaration":case"FunctionExpression":return I.expression=!1,I;case"ArrowFunctionExpression":return I.expression=I.body.type!=="BlockStatement",I}return I}mapChainExpression(g){let I=this.mapNodeDefault(g),{child:C,childKey:B,isOptional:Q}=(()=>{let e=I.optional===!0;return I.type.endsWith("MemberExpression")?{child:I.object,childKey:"object",isOptional:e}:I.type.endsWith("CallExpression")?{child:I.callee,childKey:"callee",isOptional:e}:{child:I.expression,childKey:"expression",isOptional:!1}})(),E=C.type==="ChainExpression"&&I.type!=="MemberExpression"&&I.type!=="CallExpression";if(I.type.startsWith("Optional")?(I.type=I.type.replace("Optional",""),I.optional=Q):I.optional=!1,!E&&!Q)return I;if(E){let e=C.expression;I[B]=e}return{type:"ChainExpression",expression:I,loc:I.loc,range:I.range}}mapClassProperty(g){let I=this.mapNodeDefault(g),C=(()=>{if(I.type==="ClassPrivateProperty"){let B=this.mapNodeDefault(I.key);return{type:"PrivateIdentifier",name:B.name,range:B.range,loc:B.loc}}return I.key})();return{...I,computed:I.type==="ClassPrivateProperty"?!1:I.computed,key:C,type:"PropertyDefinition"}}mapPrivateName(g){return{type:"PrivateIdentifier",name:g.id.name,range:g.range,loc:g.loc}}mapExportNamedDeclaration(g){let I=super.mapExportNamedDeclaration(g),C=I.specifiers.find(Q=>Q.type==="ExportNamespaceSpecifier");if(C!=null){var B;if(I.specifiers.length!==1)throw new Error("Cannot use an export all with any other specifiers");return{type:"ExportAllDeclaration",source:I.source,exportKind:(B=I.exportKind)!=null?B:"value",exported:C.exported,range:I.range,loc:I.loc}}return I}mapExportAllDeclaration(g){var I;let C=super.mapExportAllDeclaration(g);return C.exported=(I=C.exported)!=null?I:null,C}mapBlockStatement(g){return g.implicit&&g.body.length?this.mapNode(g.body[0]):(delete g.implicit,this.mapNodeDefault(g))}};$C.default=PQ});var AB=V((UK,Wi)=>{"use strict";Wi.exports={AnyTypeAnnotation:[],ArrayExpression:["elements"],ArrayPattern:["elements","typeAnnotation"],ArrayTypeAnnotation:["elementType"],ArrowFunctionExpression:["id","params","body","typeParameters","returnType","predicate"],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],AwaitExpression:["argument"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],BinaryExpression:["left","right"],BlockStatement:["body"],BooleanLiteralTypeAnnotation:[],BooleanTypeAnnotation:[],BreakStatement:["label"],CallExpression:["callee","typeArguments","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","typeParameters","superClass","superTypeParameters","implements","decorators","body"],ClassExpression:["id","typeParameters","superClass","superTypeParameters","implements","decorators","body"],ClassImplements:["id","typeParameters"],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalExpression:["test","consequent","alternate"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],ContinueStatement:["label"],DebuggerStatement:[],DeclareClass:["id","typeParameters","extends","implements","mixins","body"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclaredPredicate:["value"],DeclareEnum:["id","body"],DeclareExportAllDeclaration:["source"],DeclareExportDeclaration:["declaration","specifiers","source"],DeclareFunction:["id","predicate"],DeclareHook:["id"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareNamespace:["id","body"],DeclareOpaqueType:["id","typeParameters","impltype","lowerBound","upperBound","supertype"],DeclareTypeAlias:["id","typeParameters","right"],DeclareVariable:["id"],DoWhileStatement:["body","test"],EmptyStatement:[],EmptyTypeAnnotation:[],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],EnumBooleanBody:["members"],EnumBooleanMember:["id","init"],EnumDeclaration:["id","body"],EnumDefaultedMember:["id"],EnumNumberBody:["members"],EnumNumberMember:["id","init"],EnumStringBody:["members"],EnumStringMember:["id","init"],EnumSymbolBody:["members"],ExistsTypeAnnotation:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body","typeParameters","returnType","predicate"],FunctionExpression:["id","params","body","typeParameters","returnType","predicate"],FunctionTypeAnnotation:["params","this","returnType","rest","typeParameters"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],Identifier:["typeAnnotation"],IfStatement:["test","consequent","alternate"],ImportAttribute:["key","value"],ImportDeclaration:["specifiers","source","assertions"],ImportDefaultSpecifier:["local"],ImportExpression:["source","options"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],IndexedAccessType:["objectType","indexType"],InferredPredicate:[],InferTypeAnnotation:["typeParameter"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceExtends:["id","typeParameters"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXClosingFragment:[],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXFragment:["openingFragment","children","closingFragment"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments"],JSXOpeningFragment:[],JSXSpreadAttribute:["argument"],JSXSpreadChild:["expression"],JSXText:[],KeyofTypeAnnotation:["argument"],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MatchArrayPattern:["elements","rest"],MatchAsPattern:["pattern","target"],MatchBindingPattern:["id"],MatchExpression:["argument","cases"],MatchExpressionCase:["pattern","body","guard"],MatchIdentifierPattern:["id"],MatchLiteralPattern:["literal"],MatchMemberPattern:["base","property"],MatchObjectPattern:["properties","rest"],MatchObjectPatternProperty:["key","pattern"],MatchOrPattern:["patterns"],MatchRestPattern:["argument"],MatchStatement:["argument","cases"],MatchStatementCase:["pattern","body","guard"],MatchUnaryPattern:["argument"],MatchWildcardPattern:[],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],MixedTypeAnnotation:[],NewExpression:["callee","typeArguments","arguments"],NullableTypeAnnotation:["typeAnnotation"],NullLiteralTypeAnnotation:[],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectExpression:["properties"],ObjectPattern:["properties","typeAnnotation"],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["id","key","value","variance"],ObjectTypeInternalSlot:["id","value"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","impltype","lowerBound","upperBound","supertype"],OptionalIndexedAccessType:["objectType","indexType"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value","variance","typeAnnotation"],QualifiedTypeIdentifier:["qualification","id"],QualifiedTypeofIdentifier:["qualification","id"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],Super:[],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],SymbolTypeAnnotation:[],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThisTypeAnnotation:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],TupleTypeAnnotation:["types"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeofTypeAnnotation:["argument","typeArguments"],TypeOperator:["typeAnnotation"],TypeParameter:["bound","variance","default"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],TypePredicate:["parameterName","typeAnnotation"],UnaryExpression:["argument"],UnionTypeAnnotation:["types"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],Variance:[],VoidTypeAnnotation:[],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","typeArguments","arguments"],Literal:[]}});var IB=V(gB=>{"use strict";Object.defineProperty(gB,"__esModule",{value:!0});gB.getVisitorKeys=Au;gB.isNode=$N;var vN=_N(AB());function _N(A){return A&&A.__esModule?A:{default:A}}function $N(A){return typeof A=="object"&&A!=null&&typeof A.type=="string"}function Au(A,g){let I=(g??vN.default)[A.type];if(I==null)throw new Error(`No visitor keys found for node type "${A.type}".`);return I}});var TI=V(EI=>{"use strict";Object.defineProperty(EI,"__esModule",{value:!0});EI.SimpleTraverserSkip=EI.SimpleTraverserBreak=EI.SimpleTraverser=void 0;var Vi=IB(),CB=new Error;EI.SimpleTraverserSkip=CB;var OQ=new Error;EI.SimpleTraverserBreak=OQ;var NC=class A{traverse(g,I){try{this._traverse(g,null,I)}catch(C){if(C===OQ)return;throw C}}_traverse(g,I,C){if(!(0,Vi.isNode)(g))return;try{C.enter(g,I)}catch(Q){if(Q===CB)return;throw this._setErrorContext(Q,g),Q}let B=(0,Vi.getVisitorKeys)(g,C.visitorKeys);for(let Q of B){let E=g[Q];if(Array.isArray(E))for(let e=0;e{"use strict";Object.defineProperty(xI,"__esModule",{value:!0});xI.arrayIsEqual=gu;xI.insertInArray=Iu;xI.removeFromArray=Cu;xI.replaceInArray=Bu;function zQ(A,g){if(g<0||g>=A.length)throw new Error(`Invalid Mutation: Tried to mutate an elements array with an out of bounds index. Index: ${g}, Array Size: ${A.length}`)}function gu(A,g){if(A===g)return!0;if(A.length!==g.length)return!1;for(let I=0;I{"use strict";Object.defineProperty(Og,"__esModule",{value:!0});Og.deepCloneNode=tu;Og.nodeWith=iu;Og.removeNodeOnParent=eu;Og.replaceNodeOnParent=Eu;Og.setParentPointersInDirectChildren=WQ;Og.shallowCloneNode=ou;Og.updateAllParentPointers=vi;var ZQ=jQ(),BB=IB(),Qu=TI();function Xi(A,g,I){if(g==null)throw new Error(`Expected parent node to be set on "${A.type}"`);for(let C of(0,BB.getVisitorKeys)(g,I))if((0,BB.isNode)(g[C])){if(g[C]===A)return{type:"single",node:g,key:C}}else if(Array.isArray(g[C])){for(let B=0;B{let e=A;return Array.isArray(E)?Array.isArray(e[Q])?(0,ZQ.arrayIsEqual)(e[Q],E):!1:e[Q]===E}))return A;let B={...A,...g};return WQ(B,I),B}function ou(A,g){let I={...A};return WQ(I,g),I}function tu(A,g){let I=JSON.parse(JSON.stringify(A,(C,B)=>{if(C!=="parent")return B}));return vi(I,g),I}});var zg=V(QB=>{"use strict";Object.defineProperty(QB,"__esModule",{value:!0});QB.SimpleTransform=void 0;var _i=TI(),VQ=uC();function XQ(A,g){if(g!=null)if(Array.isArray(A))for(let I of A)I.parent=g;else A.parent=g}var vQ=class A{transform(g,I){let C=g;return _i.SimpleTraverser.traverse(g,{enter:(B,Q)=>{XQ(B,Q);let E=I.transform(B);if(E!==B){let e=null;if(E!=null&&(XQ(E,Q),Array.isArray(E)?e=E.map(i=>this.transform(i,I)).filter(i=>i!=null):e=this.transform(E,I)),Q==null){if(B!==g)throw new Error("SimpleTransform infra error: Parent not set on non root node, this should not be possible");if(Array.isArray(e))throw new Error("SimpleTransform: invalid array result for root node");C=e}else e==null?(0,VQ.removeNodeOnParent)(B,Q,I.visitorKeys):((0,VQ.replaceNodeOnParent)(B,Q,e,I.visitorKeys),XQ(e,Q));throw _i.SimpleTraverser.Skip}},leave(B){},visitorKeys:I.visitorKeys}),C}static transform(g,I){return new A().transform(g,I)}static transformProgram(g,I){let C=A.transform(g,I);if(C?.type==="Program")return C;throw new Error("SimpleTransform.transformProgram: Expected program node.")}static nodeWith(g,I,C){return(0,VQ.nodeWith)(g,I,C)}};QB.SimpleTransform=vQ});var GC=V(_Q=>{"use strict";Object.defineProperty(_Q,"__esModule",{value:!0});_Q.createSyntaxError=ru;function ru(A,g){let I=new SyntaxError(g);return I.loc={line:A.loc.start.line,column:A.loc.start.column},I}});var Bo=V(gE=>{"use strict";Object.defineProperty(gE,"__esModule",{value:!0});gE.transformProgram=pu;var Co=zg(),eI=uC(),$i=TI(),NI=GC(),gg=Co.SimpleTransform.nodeWith,GA=null;function Ao(){return{line:1,column:0}}function su(A){return{type:"DeclareVariable",id:gg(A.id,{typeAnnotation:{type:"TypeAnnotation",typeAnnotation:{type:"AnyTypeAnnotation",loc:A.loc,range:A.range,parent:GA},loc:A.loc,range:A.range,parent:GA}}),kind:"const",loc:A.loc,range:A.range,parent:A.parent}}function Du(A){switch(A.type){case"Identifier":return A.name;case"Literal":return A.value;default:throw(0,NI.createSyntaxError)(A,`Unknown Component parameter name type of "${A.type}"`)}}function go(A,g,I,C){let B=()=>({loc:{start:I?.start!=null?I.start:Ao(),end:I?.end!=null?I.end:Ao()},range:C??[0,0],parent:GA});if(g!=null&&A.length===0)return{type:"TypeAnnotation",typeAnnotation:g.argument,...B()};let Q=[...A];g!=null&&Q.unshift(g);let E={type:"ObjectTypeAnnotation",callProperties:[],properties:Q,indexers:[],internalSlots:[],exact:!1,inexact:!1,...B()};return{type:"TypeAnnotation",typeAnnotation:{type:"GenericTypeAnnotation",id:{type:"Identifier",name:"$ReadOnly",optional:!1,typeAnnotation:null,...B()},typeParameters:{type:"TypeParameterInstantiation",params:[E],...B()},...B()},...B()}}function au(A,g){var I;if(A.length===0)return{props:null,ref:null};if(A.length===1&&A[0].type==="RestElement"&&A[0].argument.type==="Identifier")return{props:A[0].argument,ref:null};let C=null,B=((I=g.reactRuntimeTarget)!=null?I:"18")==="18"?A.filter(r=>r.type==="ComponentParameter"&&Du(r.name)==="ref"?(C=r,!1):!0):A,[Q,E]=B.reduce(([r,a],D)=>{switch(D.type){case"RestElement":{if(a!=null)throw(0,NI.createSyntaxError)(D,"Invalid state, multiple rest elements found as Component Parameters");return[r,cu(D)]}case"ComponentParameter":return r.push(nu(D)),[r,a]}},[[],null]),e=B.flatMap(yu),i=null;if(e.length===0){if(C==null)throw new Error("TransformComponentSyntax: Invalid state, ref should always be set at this point if props are empty");let r={start:C.loc.start,end:C.loc.start},a=[C.range[0],C.range[0]];i={type:"Identifier",name:"_$$empty_props_placeholder$$",optional:!1,typeAnnotation:go([],null,r,a),loc:r,range:a,parent:GA}}else{let r=e[e.length-1];i={type:"ObjectPattern",properties:e,typeAnnotation:go(Q,E,{start:r.loc.end,end:r.loc.end},[r.range[1],r.range[1]]),loc:{start:e[0].loc.start,end:r.loc.end},range:[e[0].range[0],r.range[1]],parent:GA}}let o=null;return C!=null&&(o=C.local),{props:i,ref:o}}function nu(A){var g;let I=A.local.type==="AssignmentPattern"?A.local.left.typeAnnotation:A.local.typeAnnotation,C=A.local.type==="AssignmentPattern"?!0:A.local.type==="Identifier"?A.local.optional:!1;return{type:"ObjectTypeProperty",key:(0,eI.shallowCloneNode)(A.name),value:(g=I?.typeAnnotation)!=null?g:{type:"AnyTypeAnnotation",loc:A.local.loc,range:A.local.range,parent:GA},kind:"init",optional:C,method:!1,static:!1,proto:!1,variance:null,loc:A.local.loc,range:A.local.range,parent:GA}}function cu(A){var g,I;if(A.argument.type!=="Identifier"&&A.argument.type!=="ObjectPattern")throw(0,NI.createSyntaxError)(A,`Invalid ${A.argument.type} encountered in restParameter`);return{type:"ObjectTypeSpreadProperty",argument:(g=(I=A.argument.typeAnnotation)==null?void 0:I.typeAnnotation)!=null?g:{type:"AnyTypeAnnotation",loc:A.loc,range:A.range,parent:GA},loc:A.loc,range:A.range,parent:GA}}function yu(A){switch(A.type){case"RestElement":switch(A.argument.type){case"Identifier":return[gg(A,{typeAnnotation:null,argument:gg(A.argument,{typeAnnotation:null})})];case"ObjectPattern":return A.argument.properties.map(g=>gg(g,{typeAnnotation:null}));default:throw(0,NI.createSyntaxError)(A,`Unhandled ${A.argument.type} encountered in restParameter`)}case"ComponentParameter":{let g;return A.local.type==="AssignmentPattern"?g=gg(A.local,{left:gg(A.local.left,{typeAnnotation:null,optional:!1})}):g=gg(A.local,{typeAnnotation:null,optional:!1}),A.name.type==="Identifier"&&A.shorthand&&(g.type==="Identifier"||g.type==="AssignmentPattern")?[{type:"Property",key:A.name,kind:"init",value:g,method:!1,shorthand:!0,computed:!1,loc:A.loc,range:A.range,parent:GA}]:[{type:"Property",key:A.name,kind:"init",value:g,method:!1,shorthand:!1,computed:!1,loc:A.loc,range:A.range,parent:GA}]}default:throw(0,NI.createSyntaxError)(A,`Unknown Component parameter type of "${A.type}"`)}}function wu(A){let g={type:"Identifier",name:`${A.id.name}_withRef`,optional:!1,typeAnnotation:null,loc:A.id.loc,range:A.id.range,parent:GA};return{forwardRefStatement:{type:"VariableDeclaration",kind:"const",declarations:[{type:"VariableDeclarator",id:(0,eI.shallowCloneNode)(A.id),init:{type:"CallExpression",callee:{type:"MemberExpression",object:{type:"Identifier",name:"React",optional:!1,typeAnnotation:null,loc:A.loc,range:A.range,parent:GA},property:{type:"Identifier",name:"forwardRef",optional:!1,typeAnnotation:null,loc:A.loc,range:A.range,parent:GA},computed:!1,optional:!1,loc:A.loc,range:A.range,parent:GA},arguments:[(0,eI.shallowCloneNode)(g)],typeArguments:null,optional:!1,loc:A.loc,range:A.range,parent:GA},loc:A.loc,range:A.range,parent:GA}],loc:A.loc,range:A.range,parent:A.parent},internalCompId:g,forwardRefCompId:A.id}}function Nu(A,g){let I=()=>({loc:{start:A.body.loc.end,end:A.body.loc.end},range:[A.body.range[1],A.body.range[1]],parent:GA}),C={type:"TypeAnnotation",typeAnnotation:{type:"GenericTypeAnnotation",id:{type:"QualifiedTypeIdentifier",qualification:{type:"Identifier",name:"React",optional:!1,typeAnnotation:null,...I()},id:{type:"Identifier",name:"Node",optional:!1,typeAnnotation:null,...I()},...I()},typeParameters:null,...I()},...I()},{props:B,ref:Q}=au(A.params,g),E=null;return Q!=null&&(E=wu(A)),{comp:{type:"FunctionDeclaration",id:E!=null?(0,eI.shallowCloneNode)(E.internalCompId):(0,eI.shallowCloneNode)(A.id),__componentDeclaration:!0,typeParameters:A.typeParameters,params:B==null?[]:Q==null?[B]:[B,Q],returnType:C,body:A.body,async:!1,generator:!1,predicate:null,loc:A.loc,range:A.range,parent:A.parent},forwardRefDetails:E}}function uu(A){return{type:"DeclareFunction",id:{type:"Identifier",name:A.id.name,optional:A.id.optional,typeAnnotation:{type:"TypeAnnotation",typeAnnotation:{type:"FunctionTypeAnnotation",this:null,params:A.id.typeAnnotation.typeAnnotation.params,typeParameters:A.id.typeAnnotation.typeAnnotation.typeParameters,rest:A.id.typeAnnotation.typeAnnotation.rest,returnType:A.id.typeAnnotation.typeAnnotation.returnType,loc:A.id.typeAnnotation.typeAnnotation.loc,range:A.id.typeAnnotation.typeAnnotation.range,parent:A.id.typeAnnotation.typeAnnotation.parent},loc:A.id.typeAnnotation.loc,range:A.id.typeAnnotation.range,parent:A.id.typeAnnotation.parent},loc:A.id.loc,range:A.id.range,parent:A.id.parent},loc:A.loc,range:A.range,parent:A.parent,predicate:null}}function $Q(A){return{type:"FunctionDeclaration",id:A.id&&(0,eI.shallowCloneNode)(A.id),__hookDeclaration:!0,typeParameters:A.typeParameters,params:A.params,returnType:A.returnType,body:A.body,async:!1,generator:!1,predicate:null,loc:A.loc,range:A.range,parent:A.parent}}function Gu(A,g){for(let I=0;I{switch(i.type){case"FunctionDeclaration":return gg(e,{declaration:i});case"Identifier":return{type:"ExportNamedDeclaration",declaration:null,specifiers:[{type:"ExportSpecifier",exported:(0,eI.shallowCloneNode)(i),local:(0,eI.shallowCloneNode)(i),loc:e.loc,range:e.range,parent:GA}],exportKind:"value",source:null,loc:e.loc,range:e.range,parent:e.parent}}});break}if(((B=e.declaration)==null?void 0:B.type)==="HookDeclaration"){let i=$Q(e.declaration);I.push(gg(e,{declaration:i}));break}I.push(e);break}case"ExportDefaultDeclaration":{var Q,E;if(((Q=e.declaration)==null?void 0:Q.type)==="ComponentDeclaration"){AE(e.declaration,I,g,i=>gg(e,{declaration:i}));break}if(((E=e.declaration)==null?void 0:E.type)==="HookDeclaration"){let i=$Q(e.declaration);I.push(gg(e,{declaration:i}));break}I.push(e);break}default:I.push(e)}return I}function pu(A,g){return Co.SimpleTransform.transformProgram(A,{transform(I){switch(I.type){case"DeclareComponent":return su(I);case"DeclareHook":return uu(I);case"Program":case"BlockStatement":return gg(I,{body:Io(I.body,g)});case"SwitchCase":{let Q=Io(I.consequent,g);return gg(I,{consequent:Q})}case"ComponentDeclaration":{var C;throw(0,NI.createSyntaxError)(I,`Components must be defined at the top level of a module or within a BlockStatement, instead got parent of "${(C=I.parent)==null?void 0:C.type}".`)}case"HookDeclaration":{var B;throw(0,NI.createSyntaxError)(I,`Hooks must be defined at the top level of a module or within a BlockStatement, instead got parent of "${(B=I.parent)==null?void 0:B.type}".`)}default:return I}}})}});var Qo=V(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.isAnyTypeAnnotation=Yu;t.isArrayExpression=Su;t.isArrayPattern=Mu;t.isArrayTypeAnnotation=ku;t.isArrowFunctionExpression=Ru;t.isAsConstExpression=Ku;t.isAsExpression=Uu;t.isAsKeyword=Rl;t.isAssignmentExpression=Ju;t.isAssignmentPattern=du;t.isAsterixToken=u0;t.isAsyncKeyword=Kl;t.isAwaitExpression=Lu;t.isAwaitKeyword=Ul;t.isBigIntLiteralTypeAnnotation=mu;t.isBigIntTypeAnnotation=Hu;t.isBinaryExpression=fu;t.isBitwiseANDEqualToken=O0;t.isBitwiseANDToken=Y0;t.isBitwiseLeftShiftEqualToken=T0;t.isBitwiseLeftShiftToken=y0;t.isBitwiseOREqualToken=b0;t.isBitwiseORToken=l0;t.isBitwiseRightShiftEqualToken=x0;t.isBitwiseRightShiftToken=w0;t.isBitwiseUnsignedRightShiftEqualToken=q0;t.isBitwiseUnsignedRightShiftToken=N0;t.isBitwiseXOREqualToken=P0;t.isBitwiseXORToken=h0;t.isBlockComment=g0;t.isBlockStatement=Tu;t.isBooleanLiteralTypeAnnotation=xu;t.isBooleanTypeAnnotation=qu;t.isBreakStatement=bu;t.isBreakToken=_0;t.isCallExpression=Pu;t.isCaseToken=$0;t.isCatchClause=Ou;t.isCatchToken=Al;t.isChainExpression=zu;t.isClassBody=ju;t.isClassDeclaration=Zu;t.isClassExpression=Wu;t.isClassImplements=Vu;t.isClassToken=gl;t.isClosingAngleBracketToken=$l;t.isClosingCurlyBracketToken=vl;t.isClosingParenthesisToken=Vl;t.isColonToken=bl;t.isCommaToken=ql;t.isComponentDeclaration=Xu;t.isComponentParameter=vu;t.isComponentTypeAnnotation=_u;t.isComponentTypeParameter=$u;t.isConditionalExpression=AG;t.isConditionalTypeAnnotation=gG;t.isConstToken=Il;t.isContinueStatement=IG;t.isContinueToken=Cl;t.isDebuggerStatement=CG;t.isDebuggerToken=Bl;t.isDeclareClass=BG;t.isDeclareComponent=QG;t.isDeclareEnum=eG;t.isDeclareExportAllDeclaration=iG;t.isDeclareExportDeclaration=oG;t.isDeclareFunction=tG;t.isDeclareHook=rG;t.isDeclareInterface=sG;t.isDeclareKeyword=Jl;t.isDeclareModule=DG;t.isDeclareModuleExports=aG;t.isDeclareNamespace=nG;t.isDeclareOpaqueType=cG;t.isDeclareTypeAlias=yG;t.isDeclareVariable=wG;t.isDeclaredPredicate=EG;t.isDecrementToken=V0;t.isDefaultToken=Ql;t.isDeleteToken=i0;t.isDivideEqualToken=m0;t.isDoToken=El;t.isDoWhileStatement=NG;t.isDotDotDotToken=zl;t.isDotToken=Ol;t.isElseToken=el;t.isEmptyStatement=uG;t.isEmptyTypeAnnotation=GG;t.isEnumBigIntBody=pG;t.isEnumBigIntMember=FG;t.isEnumBooleanBody=lG;t.isEnumBooleanMember=hG;t.isEnumDeclaration=YG;t.isEnumDefaultedMember=SG;t.isEnumNumberBody=MG;t.isEnumNumberMember=kG;t.isEnumStringBody=RG;t.isEnumStringMember=KG;t.isEnumSymbolBody=UG;t.isEnumToken=il;t.isEqualToken=U0;t.isExistsTypeAnnotation=JG;t.isExponentateEqualToken=f0;t.isExponentiationToken=F0;t.isExportAllDeclaration=dG;t.isExportDefaultDeclaration=LG;t.isExportNamedDeclaration=mG;t.isExportSpecifier=HG;t.isExportToken=ol;t.isExpressionStatement=fG;t.isExtendsToken=tl;t.isFinallyToken=rl;t.isForInStatement=TG;t.isForOfStatement=xG;t.isForStatement=qG;t.isForToken=sl;t.isForwardSlashToken=G0;t.isFromKeyword=dl;t.isFunctionDeclaration=bG;t.isFunctionExpression=PG;t.isFunctionToken=Dl;t.isFunctionTypeAnnotation=OG;t.isFunctionTypeParam=zG;t.isGenericTypeAnnotation=jG;t.isGetKeyword=Ll;t.isGreaterThanOrEqualToToken=c0;t.isGreaterThanToken=n0;t.isHookDeclaration=ZG;t.isHookTypeAnnotation=WG;t.isIdentifier=Fu;t.isIfStatement=VG;t.isIfToken=al;t.isImplementsToken=nl;t.isImportAttribute=XG;t.isImportDeclaration=vG;t.isImportDefaultSpecifier=_G;t.isImportExpression=$G;t.isImportNamespaceSpecifier=Ap;t.isImportSpecifier=gp;t.isImportToken=cl;t.isInToken=S0;t.isIncrementToken=W0;t.isIndexedAccessType=Ip;t.isInferTypeAnnotation=Bp;t.isInferredPredicate=Cp;t.isInstanceOfToken=M0;t.isInterfaceDeclaration=Qp;t.isInterfaceExtends=Ep;t.isInterfaceToken=yl;t.isInterfaceTypeAnnotation=ep;t.isIntersectionTypeAnnotation=ip;t.isIntersectionTypeToken=v0;t.isJSXAttribute=op;t.isJSXClosingElement=tp;t.isJSXClosingFragment=rp;t.isJSXElement=sp;t.isJSXEmptyExpression=Dp;t.isJSXExpressionContainer=ap;t.isJSXFragment=np;t.isJSXIdentifier=lu;t.isJSXMemberExpression=cp;t.isJSXNamespacedName=yp;t.isJSXOpeningElement=wp;t.isJSXOpeningFragment=Np;t.isJSXSpreadAttribute=up;t.isJSXSpreadChild=Gp;t.isJSXText=hu;t.isKeyofTypeAnnotation=pp;t.isLabeledStatement=Fp;t.isLessThanOrEqualToToken=a0;t.isLessThanToken=D0;t.isLetKeyword=ml;t.isLineComment=A0;t.isLiteral=$F;t.isLogicalANDEqualToken=j0;t.isLogicalANDToken=R0;t.isLogicalExpression=lp;t.isLogicalNotToken=B0;t.isLogicalOREqualToken=z0;t.isLogicalORToken=k0;t.isLooseEqualToken=o0;t.isLooseNotEqualToken=t0;t.isMatchArrayPattern=hp;t.isMatchAsPattern=Yp;t.isMatchBindingPattern=Sp;t.isMatchExpression=Mp;t.isMatchExpressionCase=kp;t.isMatchIdentifierPattern=Rp;t.isMatchLiteralPattern=Kp;t.isMatchMemberPattern=Up;t.isMatchObjectPattern=Jp;t.isMatchObjectPatternProperty=dp;t.isMatchOrPattern=Lp;t.isMatchRestPattern=mp;t.isMatchStatement=Hp;t.isMatchStatementCase=fp;t.isMatchUnaryPattern=Tp;t.isMatchWildcardPattern=xp;t.isMemberExpression=qp;t.isMetaProperty=bp;t.isMethodDefinition=Pp;t.isMinusEqualToken=d0;t.isMinusToken=I0;t.isMixedTypeAnnotation=Op;t.isModuleKeyword=Hl;t.isMultiplyEqualToken=L0;t.isNewExpression=zp;t.isNewToken=wl;t.isNullLiteralTypeAnnotation=Zp;t.isNullableTypeAnnotation=jp;t.isNullishCoalesceEqualToken=Z0;t.isNullishCoalesceToken=K0;t.isNumberLiteralTypeAnnotation=Wp;t.isNumberTypeAnnotation=Vp;t.isObjectExpression=Xp;t.isObjectPattern=vp;t.isObjectTypeAnnotation=_p;t.isObjectTypeCallProperty=$p;t.isObjectTypeIndexer=AF;t.isObjectTypeInternalSlot=gF;t.isObjectTypeMappedTypeProperty=IF;t.isObjectTypeProperty=CF;t.isObjectTypeSpreadProperty=BF;t.isOfKeyword=fl;t.isOpaqueType=QF;t.isOpeningAngleBracketToken=_l;t.isOpeningCurlyBracketToken=Xl;t.isOpeningParenthesisToken=Wl;t.isOptionalChainToken=jl;t.isOptionalIndexedAccessType=EF;t.isPercentToken=p0;t.isPlusEqualToken=J0;t.isPlusToken=C0;t.isPrivateIdentifier=eF;t.isProgram=iF;t.isProperty=oF;t.isPropertyDefinition=tF;t.isQualifiedTypeIdentifier=rF;t.isQualifiedTypeofIdentifier=sF;t.isQuestionMarkToken=Zl;t.isRemainderEqualToken=H0;t.isRestElement=DF;t.isReturnStatement=aF;t.isReturnToken=Nl;t.isSemicolonToken=Pl;t.isSequenceExpression=nF;t.isSetKeyword=Tl;t.isSpreadElement=cF;t.isStaticBlock=yF;t.isStaticToken=ul;t.isStrictEqualToken=r0;t.isStrictNotEqualToken=s0;t.isStringLiteralTypeAnnotation=wF;t.isStringTypeAnnotation=NF;t.isSuper=uF;t.isSuperToken=Gl;t.isSwitchCase=GF;t.isSwitchStatement=pF;t.isSwitchToken=pl;t.isSymbolTypeAnnotation=FF;t.isTaggedTemplateExpression=lF;t.isTemplateElement=hF;t.isTemplateLiteral=YF;t.isThisExpression=SF;t.isThisToken=Fl;t.isThisTypeAnnotation=MF;t.isThrowStatement=kF;t.isThrowToken=ll;t.isTryStatement=RF;t.isTryToken=hl;t.isTupleTypeAnnotation=KF;t.isTupleTypeLabeledElement=UF;t.isTupleTypeSpreadElement=JF;t.isTypeAlias=dF;t.isTypeAnnotation=LF;t.isTypeCastExpression=mF;t.isTypeKeyword=xl;t.isTypeOfToken=E0;t.isTypeOperator=fF;t.isTypeParameter=TF;t.isTypeParameterDeclaration=xF;t.isTypeParameterInstantiation=qF;t.isTypePredicate=bF;t.isTypeofTypeAnnotation=HF;t.isUnaryExpression=PF;t.isUnaryNegationToken=Q0;t.isUnionTypeAnnotation=OF;t.isUnionTypeToken=X0;t.isUpdateExpression=zF;t.isVarToken=Yl;t.isVariableDeclaration=jF;t.isVariableDeclarator=ZF;t.isVariance=WF;t.isVoidToken=e0;t.isVoidTypeAnnotation=VF;t.isWhileStatement=XF;t.isWhileToken=Sl;t.isWithStatement=vF;t.isWithToken=Ml;t.isYieldExpression=_F;t.isYieldToken=kl;function Fu(A){return A.type==="Identifier"}function lu(A){return A.type==="JSXIdentifier"}function hu(A){return A.type==="JSXText"}function Yu(A){return A.type==="AnyTypeAnnotation"}function Su(A){return A.type==="ArrayExpression"}function Mu(A){return A.type==="ArrayPattern"}function ku(A){return A.type==="ArrayTypeAnnotation"}function Ru(A){return A.type==="ArrowFunctionExpression"}function Ku(A){return A.type==="AsConstExpression"}function Uu(A){return A.type==="AsExpression"}function Ju(A){return A.type==="AssignmentExpression"}function du(A){return A.type==="AssignmentPattern"}function Lu(A){return A.type==="AwaitExpression"}function mu(A){return A.type==="BigIntLiteralTypeAnnotation"}function Hu(A){return A.type==="BigIntTypeAnnotation"}function fu(A){return A.type==="BinaryExpression"}function Tu(A){return A.type==="BlockStatement"}function xu(A){return A.type==="BooleanLiteralTypeAnnotation"}function qu(A){return A.type==="BooleanTypeAnnotation"}function bu(A){return A.type==="BreakStatement"}function Pu(A){return A.type==="CallExpression"}function Ou(A){return A.type==="CatchClause"}function zu(A){return A.type==="ChainExpression"}function ju(A){return A.type==="ClassBody"}function Zu(A){return A.type==="ClassDeclaration"}function Wu(A){return A.type==="ClassExpression"}function Vu(A){return A.type==="ClassImplements"}function Xu(A){return A.type==="ComponentDeclaration"}function vu(A){return A.type==="ComponentParameter"}function _u(A){return A.type==="ComponentTypeAnnotation"}function $u(A){return A.type==="ComponentTypeParameter"}function AG(A){return A.type==="ConditionalExpression"}function gG(A){return A.type==="ConditionalTypeAnnotation"}function IG(A){return A.type==="ContinueStatement"}function CG(A){return A.type==="DebuggerStatement"}function BG(A){return A.type==="DeclareClass"}function QG(A){return A.type==="DeclareComponent"}function EG(A){return A.type==="DeclaredPredicate"}function eG(A){return A.type==="DeclareEnum"}function iG(A){return A.type==="DeclareExportAllDeclaration"}function oG(A){return A.type==="DeclareExportDeclaration"}function tG(A){return A.type==="DeclareFunction"}function rG(A){return A.type==="DeclareHook"}function sG(A){return A.type==="DeclareInterface"}function DG(A){return A.type==="DeclareModule"}function aG(A){return A.type==="DeclareModuleExports"}function nG(A){return A.type==="DeclareNamespace"}function cG(A){return A.type==="DeclareOpaqueType"}function yG(A){return A.type==="DeclareTypeAlias"}function wG(A){return A.type==="DeclareVariable"}function NG(A){return A.type==="DoWhileStatement"}function uG(A){return A.type==="EmptyStatement"}function GG(A){return A.type==="EmptyTypeAnnotation"}function pG(A){return A.type==="EnumBigIntBody"}function FG(A){return A.type==="EnumBigIntMember"}function lG(A){return A.type==="EnumBooleanBody"}function hG(A){return A.type==="EnumBooleanMember"}function YG(A){return A.type==="EnumDeclaration"}function SG(A){return A.type==="EnumDefaultedMember"}function MG(A){return A.type==="EnumNumberBody"}function kG(A){return A.type==="EnumNumberMember"}function RG(A){return A.type==="EnumStringBody"}function KG(A){return A.type==="EnumStringMember"}function UG(A){return A.type==="EnumSymbolBody"}function JG(A){return A.type==="ExistsTypeAnnotation"}function dG(A){return A.type==="ExportAllDeclaration"}function LG(A){return A.type==="ExportDefaultDeclaration"}function mG(A){return A.type==="ExportNamedDeclaration"}function HG(A){return A.type==="ExportSpecifier"}function fG(A){return A.type==="ExpressionStatement"}function TG(A){return A.type==="ForInStatement"}function xG(A){return A.type==="ForOfStatement"}function qG(A){return A.type==="ForStatement"}function bG(A){return A.type==="FunctionDeclaration"}function PG(A){return A.type==="FunctionExpression"}function OG(A){return A.type==="FunctionTypeAnnotation"}function zG(A){return A.type==="FunctionTypeParam"}function jG(A){return A.type==="GenericTypeAnnotation"}function ZG(A){return A.type==="HookDeclaration"}function WG(A){return A.type==="HookTypeAnnotation"}function VG(A){return A.type==="IfStatement"}function XG(A){return A.type==="ImportAttribute"}function vG(A){return A.type==="ImportDeclaration"}function _G(A){return A.type==="ImportDefaultSpecifier"}function $G(A){return A.type==="ImportExpression"}function Ap(A){return A.type==="ImportNamespaceSpecifier"}function gp(A){return A.type==="ImportSpecifier"}function Ip(A){return A.type==="IndexedAccessType"}function Cp(A){return A.type==="InferredPredicate"}function Bp(A){return A.type==="InferTypeAnnotation"}function Qp(A){return A.type==="InterfaceDeclaration"}function Ep(A){return A.type==="InterfaceExtends"}function ep(A){return A.type==="InterfaceTypeAnnotation"}function ip(A){return A.type==="IntersectionTypeAnnotation"}function op(A){return A.type==="JSXAttribute"}function tp(A){return A.type==="JSXClosingElement"}function rp(A){return A.type==="JSXClosingFragment"}function sp(A){return A.type==="JSXElement"}function Dp(A){return A.type==="JSXEmptyExpression"}function ap(A){return A.type==="JSXExpressionContainer"}function np(A){return A.type==="JSXFragment"}function cp(A){return A.type==="JSXMemberExpression"}function yp(A){return A.type==="JSXNamespacedName"}function wp(A){return A.type==="JSXOpeningElement"}function Np(A){return A.type==="JSXOpeningFragment"}function up(A){return A.type==="JSXSpreadAttribute"}function Gp(A){return A.type==="JSXSpreadChild"}function pp(A){return A.type==="KeyofTypeAnnotation"}function Fp(A){return A.type==="LabeledStatement"}function lp(A){return A.type==="LogicalExpression"}function hp(A){return A.type==="MatchArrayPattern"}function Yp(A){return A.type==="MatchAsPattern"}function Sp(A){return A.type==="MatchBindingPattern"}function Mp(A){return A.type==="MatchExpression"}function kp(A){return A.type==="MatchExpressionCase"}function Rp(A){return A.type==="MatchIdentifierPattern"}function Kp(A){return A.type==="MatchLiteralPattern"}function Up(A){return A.type==="MatchMemberPattern"}function Jp(A){return A.type==="MatchObjectPattern"}function dp(A){return A.type==="MatchObjectPatternProperty"}function Lp(A){return A.type==="MatchOrPattern"}function mp(A){return A.type==="MatchRestPattern"}function Hp(A){return A.type==="MatchStatement"}function fp(A){return A.type==="MatchStatementCase"}function Tp(A){return A.type==="MatchUnaryPattern"}function xp(A){return A.type==="MatchWildcardPattern"}function qp(A){return A.type==="MemberExpression"}function bp(A){return A.type==="MetaProperty"}function Pp(A){return A.type==="MethodDefinition"}function Op(A){return A.type==="MixedTypeAnnotation"}function zp(A){return A.type==="NewExpression"}function jp(A){return A.type==="NullableTypeAnnotation"}function Zp(A){return A.type==="NullLiteralTypeAnnotation"}function Wp(A){return A.type==="NumberLiteralTypeAnnotation"}function Vp(A){return A.type==="NumberTypeAnnotation"}function Xp(A){return A.type==="ObjectExpression"}function vp(A){return A.type==="ObjectPattern"}function _p(A){return A.type==="ObjectTypeAnnotation"}function $p(A){return A.type==="ObjectTypeCallProperty"}function AF(A){return A.type==="ObjectTypeIndexer"}function gF(A){return A.type==="ObjectTypeInternalSlot"}function IF(A){return A.type==="ObjectTypeMappedTypeProperty"}function CF(A){return A.type==="ObjectTypeProperty"}function BF(A){return A.type==="ObjectTypeSpreadProperty"}function QF(A){return A.type==="OpaqueType"}function EF(A){return A.type==="OptionalIndexedAccessType"}function eF(A){return A.type==="PrivateIdentifier"}function iF(A){return A.type==="Program"}function oF(A){return A.type==="Property"}function tF(A){return A.type==="PropertyDefinition"}function rF(A){return A.type==="QualifiedTypeIdentifier"}function sF(A){return A.type==="QualifiedTypeofIdentifier"}function DF(A){return A.type==="RestElement"}function aF(A){return A.type==="ReturnStatement"}function nF(A){return A.type==="SequenceExpression"}function cF(A){return A.type==="SpreadElement"}function yF(A){return A.type==="StaticBlock"}function wF(A){return A.type==="StringLiteralTypeAnnotation"}function NF(A){return A.type==="StringTypeAnnotation"}function uF(A){return A.type==="Super"}function GF(A){return A.type==="SwitchCase"}function pF(A){return A.type==="SwitchStatement"}function FF(A){return A.type==="SymbolTypeAnnotation"}function lF(A){return A.type==="TaggedTemplateExpression"}function hF(A){return A.type==="TemplateElement"}function YF(A){return A.type==="TemplateLiteral"}function SF(A){return A.type==="ThisExpression"}function MF(A){return A.type==="ThisTypeAnnotation"}function kF(A){return A.type==="ThrowStatement"}function RF(A){return A.type==="TryStatement"}function KF(A){return A.type==="TupleTypeAnnotation"}function UF(A){return A.type==="TupleTypeLabeledElement"}function JF(A){return A.type==="TupleTypeSpreadElement"}function dF(A){return A.type==="TypeAlias"}function LF(A){return A.type==="TypeAnnotation"}function mF(A){return A.type==="TypeCastExpression"}function HF(A){return A.type==="TypeofTypeAnnotation"}function fF(A){return A.type==="TypeOperator"}function TF(A){return A.type==="TypeParameter"}function xF(A){return A.type==="TypeParameterDeclaration"}function qF(A){return A.type==="TypeParameterInstantiation"}function bF(A){return A.type==="TypePredicate"}function PF(A){return A.type==="UnaryExpression"}function OF(A){return A.type==="UnionTypeAnnotation"}function zF(A){return A.type==="UpdateExpression"}function jF(A){return A.type==="VariableDeclaration"}function ZF(A){return A.type==="VariableDeclarator"}function WF(A){return A.type==="Variance"}function VF(A){return A.type==="VoidTypeAnnotation"}function XF(A){return A.type==="WhileStatement"}function vF(A){return A.type==="WithStatement"}function _F(A){return A.type==="YieldExpression"}function $F(A){return A.type==="Literal"}function A0(A){return A.type==="Line"}function g0(A){return A.type==="Block"}function I0(A){return A.type==="Punctuator"&&A.value==="-"}function C0(A){return A.type==="Punctuator"&&A.value==="+"}function B0(A){return A.type==="Punctuator"&&A.value==="!"}function Q0(A){return A.type==="Punctuator"&&A.value==="~"}function E0(A){return A.type==="Keyword"&&A.value==="typeof"}function e0(A){return A.type==="Keyword"&&A.value==="void"}function i0(A){return A.type==="Keyword"&&A.value==="delete"}function o0(A){return A.type==="Punctuator"&&A.value==="=="}function t0(A){return A.type==="Punctuator"&&A.value==="!="}function r0(A){return A.type==="Punctuator"&&A.value==="==="}function s0(A){return A.type==="Punctuator"&&A.value==="!=="}function D0(A){return A.type==="Punctuator"&&A.value==="<"}function a0(A){return A.type==="Punctuator"&&A.value==="<="}function n0(A){return A.type==="Punctuator"&&A.value===">"}function c0(A){return A.type==="Punctuator"&&A.value===">="}function y0(A){return A.type==="Punctuator"&&A.value==="<<"}function w0(A){return A.type==="Punctuator"&&A.value===">>"}function N0(A){return A.type==="Punctuator"&&A.value===">>>"}function u0(A){return A.type==="Punctuator"&&A.value==="*"}function G0(A){return A.type==="Punctuator"&&A.value==="/"}function p0(A){return A.type==="Punctuator"&&A.value==="%"}function F0(A){return A.type==="Punctuator"&&A.value==="**"}function l0(A){return A.type==="Punctuator"&&A.value==="|"}function h0(A){return A.type==="Punctuator"&&A.value==="^"}function Y0(A){return A.type==="Punctuator"&&A.value==="&"}function S0(A){return A.type==="Keyword"&&A.value==="in"}function M0(A){return A.type==="Keyword"&&A.value==="instanceof"}function k0(A){return A.type==="Punctuator"&&A.value==="||"}function R0(A){return A.type==="Punctuator"&&A.value==="&&"}function K0(A){return A.type==="Punctuator"&&A.value==="??"}function U0(A){return A.type==="Punctuator"&&A.value==="="}function J0(A){return A.type==="Punctuator"&&A.value==="+="}function d0(A){return A.type==="Punctuator"&&A.value==="-="}function L0(A){return A.type==="Punctuator"&&A.value==="*="}function m0(A){return A.type==="Punctuator"&&A.value==="/="}function H0(A){return A.type==="Punctuator"&&A.value==="%="}function f0(A){return A.type==="Punctuator"&&A.value==="**="}function T0(A){return A.type==="Punctuator"&&A.value==="<<="}function x0(A){return A.type==="Punctuator"&&A.value===">>="}function q0(A){return A.type==="Punctuator"&&A.value===">>>="}function b0(A){return A.type==="Punctuator"&&A.value==="|="}function P0(A){return A.type==="Punctuator"&&A.value==="^="}function O0(A){return A.type==="Punctuator"&&A.value==="&="}function z0(A){return A.type==="Punctuator"&&A.value==="||="}function j0(A){return A.type==="Punctuator"&&A.value==="&&="}function Z0(A){return A.type==="Punctuator"&&A.value==="??="}function W0(A){return A.type==="Punctuator"&&A.value==="++"}function V0(A){return A.type==="Punctuator"&&A.value==="--"}function X0(A){return A.type==="Punctuator"&&A.value==="|"}function v0(A){return A.type==="Punctuator"&&A.value==="&"}function _0(A){return A.type==="Keyword"&&A.value==="break"}function $0(A){return A.type==="Keyword"&&A.value==="case"}function Al(A){return A.type==="Keyword"&&A.value==="catch"}function gl(A){return A.type==="Keyword"&&A.value==="class"}function Il(A){return A.type==="Keyword"&&A.value==="const"}function Cl(A){return A.type==="Keyword"&&A.value==="continue"}function Bl(A){return A.type==="Keyword"&&A.value==="debugger"}function Ql(A){return A.type==="Keyword"&&A.value==="default"}function El(A){return A.type==="Keyword"&&A.value==="do"}function el(A){return A.type==="Keyword"&&A.value==="else"}function il(A){return A.type==="Keyword"&&A.value==="enum"}function ol(A){return A.type==="Keyword"&&A.value==="export"}function tl(A){return A.type==="Keyword"&&A.value==="extends"}function rl(A){return A.type==="Keyword"&&A.value==="finally"}function sl(A){return A.type==="Keyword"&&A.value==="for"}function Dl(A){return A.type==="Keyword"&&A.value==="function"}function al(A){return A.type==="Keyword"&&A.value==="if"}function nl(A){return A.type==="Keyword"&&A.value==="implements"}function cl(A){return A.type==="Keyword"&&A.value==="import"}function yl(A){return A.type==="Keyword"&&A.value==="interface"}function wl(A){return A.type==="Keyword"&&A.value==="new"}function Nl(A){return A.type==="Keyword"&&A.value==="return"}function ul(A){return A.type==="Keyword"&&A.value==="static"}function Gl(A){return A.type==="Keyword"&&A.value==="super"}function pl(A){return A.type==="Keyword"&&A.value==="switch"}function Fl(A){return A.type==="Keyword"&&A.value==="this"}function ll(A){return A.type==="Keyword"&&A.value==="throw"}function hl(A){return A.type==="Keyword"&&A.value==="try"}function Yl(A){return A.type==="Keyword"&&A.value==="var"}function Sl(A){return A.type==="Keyword"&&A.value==="while"}function Ml(A){return A.type==="Keyword"&&A.value==="with"}function kl(A){return A.type==="Keyword"&&A.value==="yield"}function Rl(A){return A.type==="Identifier"&&A.name==="as"||A.type==="Keyword"&&A.value==="as"}function Kl(A){return A.type==="Identifier"&&A.name==="async"||A.type==="Keyword"&&A.value==="async"}function Ul(A){return A.type==="Identifier"&&A.name==="await"||A.type==="Keyword"&&A.value==="await"}function Jl(A){return A.type==="Identifier"&&A.name==="declare"||A.type==="Keyword"&&A.value==="declare"}function dl(A){return A.type==="Identifier"&&A.name==="from"||A.type==="Keyword"&&A.value==="from"}function Ll(A){return A.type==="Identifier"&&A.name==="get"||A.type==="Keyword"&&A.value==="get"}function ml(A){return A.type==="Identifier"&&A.name==="let"||A.type==="Keyword"&&A.value==="let"}function Hl(A){return A.type==="Identifier"&&A.name==="module"||A.type==="Keyword"&&A.value==="module"}function fl(A){return A.type==="Identifier"&&A.name==="of"||A.type==="Keyword"&&A.value==="of"}function Tl(A){return A.type==="Identifier"&&A.name==="set"||A.type==="Keyword"&&A.value==="set"}function xl(A){return A.type==="Identifier"&&A.name==="type"||A.type==="Keyword"&&A.value==="type"}function ql(A){return A.type==="Punctuator"&&A.value===","}function bl(A){return A.type==="Punctuator"&&A.value===":"}function Pl(A){return A.type==="Punctuator"&&A.value===";"}function Ol(A){return A.type==="Punctuator"&&A.value==="."}function zl(A){return A.type==="Punctuator"&&A.value==="..."}function jl(A){return A.type==="Punctuator"&&A.value==="?."}function Zl(A){return A.type==="Punctuator"&&A.value==="?"}function Wl(A){return A.type==="Punctuator"&&A.value==="("}function Vl(A){return A.type==="Punctuator"&&A.value===")"}function Xl(A){return A.type==="Punctuator"&&A.value==="{"}function vl(A){return A.type==="Punctuator"&&A.value==="}"}function _l(A){return A.type==="Punctuator"&&A.value==="<"}function $l(A){return A.type==="Punctuator"&&A.value===">"}});var Eo=V(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});var Ah={isClass:!0,isPropertyDefinitionWithNonComputedName:!0,isClassMember:!0,isClassMemberWithNonComputedName:!0,isComment:!0,isFunction:!0,isMethodDefinitionWithNonComputedName:!0,isMemberExpressionWithNonComputedProperty:!0,isOptionalMemberExpressionWithNonComputedProperty:!0,isObjectPropertyWithShorthand:!0,isObjectPropertyWithNonComputedName:!0,isBigIntLiteral:!0,isBooleanLiteral:!0,isNullLiteral:!0,isNumericLiteral:!0,isRegExpLiteral:!0,isStringLiteral:!0,isExpression:!0,isStatement:!0};eA.isBigIntLiteral=sh;eA.isBooleanLiteral=Dh;eA.isClass=gh;eA.isClassMember=Ch;eA.isClassMemberWithNonComputedName=Bh;eA.isComment=Qh;eA.isExpression=wh;eA.isFunction=Eh;eA.isMemberExpressionWithNonComputedProperty=ih;eA.isMethodDefinitionWithNonComputedName=eh;eA.isNullLiteral=ah;eA.isNumericLiteral=nh;eA.isObjectPropertyWithNonComputedName=rh;eA.isObjectPropertyWithShorthand=th;eA.isOptionalMemberExpressionWithNonComputedProperty=oh;eA.isPropertyDefinitionWithNonComputedName=Ih;eA.isRegExpLiteral=ch;eA.isStatement=Nh;eA.isStringLiteral=yh;var IE=Qo();Object.keys(IE).forEach(function(A){A==="default"||A==="__esModule"||Object.prototype.hasOwnProperty.call(Ah,A)||A in eA&&eA[A]===IE[A]||(eA[A]=IE[A])});function gh(A){return A.type==="ClassDeclaration"||A.type==="ClassExpression"}function Ih(A){return A.type==="PropertyDefinition"&&A.computed===!1}function Ch(A){return A.type==="PropertyDefinition"||A.type==="MethodDefinition"}function Bh(A){return(A.type==="PropertyDefinition"||A.type==="MethodDefinition")&&A.computed===!1}function Qh(A){return A.type==="Block"||A.type==="Line"}function Eh(A){return A.type==="ArrowFunctionExpression"||A.type==="FunctionDeclaration"||A.type==="FunctionExpression"}function eh(A){return A.type==="MethodDefinition"&&A.computed===!1}function ih(A){return A.type==="MemberExpression"&&A.computed===!1}function oh(A){return A.type==="MemberExpression"&&A.computed===!1}function th(A){return A.type==="Property"&&A.shorthand===!0}function rh(A){return A.type==="Property"&&A.computed===!1}function sh(A){return A.type==="Literal"&&A.literalType==="bigint"}function Dh(A){return A.type==="Literal"&&A.literalType==="boolean"}function ah(A){return A.type==="Literal"&&A.literalType==="null"}function nh(A){return A.type==="Literal"&&A.literalType==="numeric"}function ch(A){return A.type==="Literal"&&A.literalType==="regexp"}function yh(A){return A.type==="Literal"&&A.literalType==="string"}function wh(A){return A.type==="ThisExpression"||A.type==="ArrayExpression"||A.type==="ObjectExpression"||A.type==="ObjectExpression"||A.type==="FunctionExpression"||A.type==="ArrowFunctionExpression"||A.type==="YieldExpression"||A.type==="Literal"||A.type==="UnaryExpression"||A.type==="UpdateExpression"||A.type==="BinaryExpression"||A.type==="AssignmentExpression"||A.type==="LogicalExpression"||A.type==="MemberExpression"||A.type==="ConditionalExpression"||A.type==="CallExpression"||A.type==="NewExpression"||A.type==="SequenceExpression"||A.type==="TemplateLiteral"||A.type==="TaggedTemplateExpression"||A.type==="ClassExpression"||A.type==="MetaProperty"||A.type==="Identifier"||A.type==="AwaitExpression"||A.type==="ImportExpression"||A.type==="ChainExpression"||A.type==="TypeCastExpression"||A.type==="AsExpression"||A.type==="AsConstExpression"||A.type==="JSXFragment"||A.type==="JSXElement"}function Nh(A){return A.type==="BlockStatement"||A.type==="BreakStatement"||A.type==="ClassDeclaration"||A.type==="ContinueStatement"||A.type==="DebuggerStatement"||A.type==="DeclareClass"||A.type==="DeclareVariable"||A.type==="DeclareFunction"||A.type==="DeclareInterface"||A.type==="DeclareModule"||A.type==="DeclareOpaqueType"||A.type==="DeclareTypeAlias"||A.type==="DoWhileStatement"||A.type==="EmptyStatement"||A.type==="EnumDeclaration"||A.type==="ExpressionStatement"||A.type==="ForInStatement"||A.type==="ForOfStatement"||A.type==="ForStatement"||A.type==="FunctionDeclaration"||A.type==="IfStatement"||A.type==="InterfaceDeclaration"||A.type==="LabeledStatement"||A.type==="OpaqueType"||A.type==="ReturnStatement"||A.type==="SwitchStatement"||A.type==="ThrowStatement"||A.type==="TryStatement"||A.type==="TypeAlias"||A.type==="VariableDeclaration"||A.type==="WhileStatement"||A.type==="WithStatement"}});var eo=V(pC=>{"use strict";Object.defineProperty(pC,"__esModule",{value:!0});var CE=Eo();Object.keys(CE).forEach(function(A){A==="default"||A==="__esModule"||A in pC&&pC[A]===CE[A]||(pC[A]=CE[A])})});var eE=V(JA=>{"use strict";Object.defineProperty(JA,"__esModule",{value:!0});JA.EMPTY_PARENT=void 0;JA.callExpression=EE;JA.conjunction=ph;JA.createDefaultPosition=BE;JA.disjunction=Fh;JA.etc=bA;JA.ident=io;JA.iife=Yh;JA.nullLiteral=Gh;JA.numberLiteral=uh;JA.stringLiteral=oo;JA.throwStatement=hh;JA.typeofExpression=Sh;JA.variableDeclaration=lh;var QE=null;JA.EMPTY_PARENT=QE;function BE(){return{line:1,column:0}}function bA({loc:A,range:g,parent:I}={}){return{loc:{start:A?.start!=null?A.start:BE(),end:A?.end!=null?A.end:BE()},range:g??[0,0],parent:I??QE}}function io(A,g){return{type:"Identifier",name:A,optional:!1,typeAnnotation:null,...bA(g)}}function oo(A,g){return{type:"Literal",value:A,raw:`"${A}"`,literalType:"string",...bA(g)}}function uh(A,g){return{type:"Literal",value:A,raw:String(A),literalType:"numeric",...bA(g)}}function Gh(A){return{type:"Literal",value:null,raw:"null",literalType:"null",...bA(A)}}function ph(A){if(A.length===0)throw new Error("Must have at least one test.");return A.reduce((g,I)=>({type:"LogicalExpression",left:g,right:I,operator:"&&",...bA()}))}function Fh(A){if(A.length===0)throw new Error("Must have at least one test.");return A.reduce((g,I)=>({type:"LogicalExpression",left:g,right:I,operator:"||",...bA()}))}function lh(A,g,I,C){return{type:"VariableDeclaration",kind:A,declarations:[{type:"VariableDeclarator",init:I,id:g,...bA(),parent:QE}],...bA(C)}}function EE(A,g,I){return{type:"CallExpression",callee:A,arguments:g,typeArguments:null,optional:!1,...bA(I)}}function hh(A,g){return{type:"ThrowStatement",argument:EE(io("Error"),[A]),...bA(g)}}function Yh(A,g=[],I=[]){let C={type:"ArrowFunctionExpression",params:g,expression:!1,async:!1,predicate:null,returnType:null,typeParameters:null,id:null,body:{type:"BlockStatement",body:A,...bA()},...bA()};return EE(C,I)}function Sh(A,g){return{type:"BinaryExpression",left:{type:"UnaryExpression",operator:"typeof",argument:A,prefix:!0,...bA()},right:oo(g),operator:"===",...bA()}}});var so=V(iE=>{"use strict";Object.defineProperty(iE,"__esModule",{value:!0});iE.transformProgram=kh;var Mh=eo(),to=zg(),dA=eE();function ro(A,g){var I,C;let{body:B}=A,{members:Q}=B,E=(I=g.transformOptions)==null||(C=I.TransformEnumSyntax)==null?void 0:C.getRuntime,e=typeof E=="function"?E():(0,dA.callExpression)((0,dA.ident)("require"),[(0,dA.stringLiteral)("flow-enums-runtime")]),o=B.type==="EnumStringBody"&&(!Q.length||Q[0].type==="EnumDefaultedMember")?(0,dA.callExpression)({type:"MemberExpression",object:e,property:(0,dA.ident)("Mirrored"),computed:!1,optional:!1,...(0,dA.etc)()},[{type:"ArrayExpression",elements:Q.map(r=>(0,dA.stringLiteral)(r.id.name)),trailingComma:!1,...(0,dA.etc)()}]):(0,dA.callExpression)(e,[{type:"ObjectExpression",properties:Q.map(r=>({type:"Property",key:r.id,value:r.type==="EnumDefaultedMember"?(0,dA.callExpression)((0,dA.ident)("Symbol"),[(0,dA.stringLiteral)(r.id.name)]):r.init,kind:"init",method:!1,shorthand:!1,computed:!1,...(0,dA.etc)(),parent:dA.EMPTY_PARENT})),...(0,dA.etc)()}]);return(0,dA.variableDeclaration)("const",A.id,o)}function kh(A,g){return to.SimpleTransform.transformProgram(A,{transform(I){switch(I.type){case"EnumDeclaration":return ro(I,g);case"ExportDefaultDeclaration":{let{declaration:C}=I;if((0,Mh.isEnumDeclaration)(C)){let B=ro(C,g),Q=to.SimpleTransform.nodeWith(I,{declaration:(0,dA.ident)(C.id.name)});return[B,Q]}else return I}default:return I}}})}});var ao=V(oE=>{"use strict";Object.defineProperty(oE,"__esModule",{value:!0});oE.createGenID=Rh;var Do="$$gen$";function Rh(A){let g=0,I=new Set;return{genID(){let C;do C=`${Do}${A}${g}`,g++;while(I.has(C));return I.add(C),C},addUsage(C){C.startsWith(Do)&&I.add(C)}}}});var wo=V(DE=>{"use strict";Object.defineProperty(DE,"__esModule",{value:!0});DE.transformProgram=Th;var Kh=zg(),jg=uC(),qI=GC(),U=eE(),Uh=ao(),lC=null;function hC(){if(lC==null)throw Error("GenID must be initialized at the start of the transform.");return(0,U.ident)(lC.genID())}function Jh(A){switch(A.type){case"Identifier":return A.name;case"Literal":{let{value:g}=A;return typeof g=="number"?String(g):typeof g=="string"?g:A.raw}}}function no(A){let{base:g,property:I,loc:C,range:B}=A,Q=g.type==="MatchIdentifierPattern"?g.id:no(g);return I.type==="Identifier"?{type:"MemberExpression",object:Q,property:I,computed:!1,optional:!1,...(0,U.etc)({loc:C,range:B})}:{type:"MemberExpression",object:Q,property:I,computed:!0,optional:!1,...(0,U.etc)({loc:C,range:B})}}function EB(A,g,I){if(A.has(I))throw(0,qI.createSyntaxError)(g,`Duplicate variable name '${I}' in match case pattern.`);A.add(I)}function eB(A,g){if(g==="var")throw(0,qI.createSyntaxError)(A,"'var' bindings are not allowed. Use 'const' or 'let'.")}function tE(A){switch(A.type){case"MatchWildcardPattern":case"MatchBindingPattern":case"MatchIdentifierPattern":case"MatchMemberPattern":return!0;case"MatchLiteralPattern":case"MatchUnaryPattern":case"MatchObjectPattern":case"MatchArrayPattern":return!1;case"MatchAsPattern":{let{pattern:g}=A;return tE(g)}case"MatchOrPattern":{let{patterns:g}=A;return g.some(tE)}}}function FC(A,g,I){switch(A.type){case"MatchWildcardPattern":return{conditions:[],bindings:[]};case"MatchLiteralPattern":{let{literal:C}=A;return{conditions:[{type:"eq",key:g,arg:C}],bindings:[]}}case"MatchUnaryPattern":{let{operator:C,argument:B,loc:Q,range:E}=A;if(B.value===0)throw(0,qI.createSyntaxError)(A,"'+0' and '-0' are not yet supported in match unary patterns.");let e={type:"UnaryExpression",operator:C,argument:B,prefix:!0,...(0,U.etc)({loc:Q,range:E})};return{conditions:[{type:"eq",key:g,arg:e}],bindings:[]}}case"MatchIdentifierPattern":{let{id:C}=A;return{conditions:[C.name==="NaN"?{type:"is-nan",key:g}:{type:"eq",key:g,arg:C}],bindings:[]}}case"MatchMemberPattern":{let C=no(A);return{conditions:[{type:"eq",key:g,arg:C}],bindings:[]}}case"MatchBindingPattern":{let{id:C,kind:B}=A;return EB(I,A,C.name),eB(A,B),{conditions:[],bindings:[{type:"id",key:g,kind:B,id:C}]}}case"MatchAsPattern":{let{pattern:C,target:B}=A;if(C.type==="MatchBindingPattern")throw(0,qI.createSyntaxError)(A,"Match 'as' patterns are not allowed directly on binding patterns.");let{conditions:Q,bindings:E}=FC(C,g,I),[e,i]=B.type==="MatchBindingPattern"?[B.id,B.kind]:[B,"const"];EB(I,A,e.name),eB(A,i);let o={type:"id",key:g,kind:i,id:e};return{conditions:Q,bindings:E.concat(o)}}case"MatchArrayPattern":{let{elements:C,rest:B}=A,Q=B==null?"eq":"gte",E=[{type:"array",key:g,length:C.length,lengthOp:Q}],e=[];if(C.forEach((i,o)=>{let r=g.concat((0,U.numberLiteral)(o)),{conditions:a,bindings:D}=FC(i,r,I);E.push(...a),e.push(...D)}),B!=null&&B.argument!=null){let{id:i,kind:o}=B.argument;EB(I,B.argument,i.name),eB(A,o),e.push({type:"array-rest",key:g,exclude:C.length,kind:o,id:i})}return{conditions:E,bindings:e}}case"MatchObjectPattern":{let{properties:C,rest:B}=A,Q=[{type:"object",key:g}],E=[],e=[],i=new Set;if(C.forEach(o=>{let{key:r,pattern:a}=o;e.push(r);let D=Jh(r);if(i.has(D))throw(0,qI.createSyntaxError)(a,`Duplicate property name '${D}' in match object pattern.`);i.add(D);let y=g.concat(r);tE(a)&&Q.push({type:"prop-exists",key:g,propName:D});let{conditions:n,bindings:M}=FC(a,y,I);Q.push(...n),E.push(...M)}),B!=null&&B.argument!=null){let{id:o,kind:r}=B.argument;EB(I,B.argument,o.name),eB(A,r),E.push({type:"object-rest",key:g,exclude:e,kind:r,id:o})}return{conditions:Q,bindings:E}}case"MatchOrPattern":{let{patterns:C}=A,B=!1,Q=C.map(E=>{let{conditions:e,bindings:i}=FC(E,g,I);if(i.length>0)throw(0,qI.createSyntaxError)(A,"Bindings in match 'or' patterns are not yet supported.");return e.length===0&&(B=!0),e});return B?{conditions:[],bindings:[]}:{conditions:[{type:"or",orConditions:Q}],bindings:[]}}}}function cg(A,g){return g.reduce((I,C)=>C.type==="Identifier"?{type:"MemberExpression",object:I,property:(0,jg.shallowCloneNode)(C),computed:!1,optional:!1,...(0,U.etc)()}:{type:"MemberExpression",object:I,property:(0,jg.shallowCloneNode)(C),computed:!0,optional:!1,...(0,U.etc)()},(0,jg.deepCloneNode)(A))}function dh(A,g){switch(g.type){case"eq":{let{key:I,arg:C}=g;return[{type:"BinaryExpression",left:cg(A,I),right:C,operator:"===",...(0,U.etc)()}]}case"is-nan":{let{key:I}=g,C={type:"MemberExpression",object:(0,U.ident)("Number"),property:(0,U.ident)("isNaN"),computed:!1,optional:!1,...(0,U.etc)()};return[(0,U.callExpression)(C,[cg(A,I)])]}case"array":{let{key:I,length:C,lengthOp:B}=g,Q=B==="eq"?"===":">=",E=(0,U.callExpression)({type:"MemberExpression",object:(0,U.ident)("Array"),property:(0,U.ident)("isArray"),computed:!1,optional:!1,...(0,U.etc)()},[cg(A,I)]),e={type:"BinaryExpression",left:{type:"MemberExpression",object:cg(A,I),property:(0,U.ident)("length"),computed:!1,optional:!1,...(0,U.etc)()},right:(0,U.numberLiteral)(C),operator:Q,...(0,U.etc)()};return[E,e]}case"object":{let{key:I}=g,C=(0,U.typeofExpression)(cg(A,I),"object"),B=(0,U.typeofExpression)(cg(A,I),"function"),Q={type:"BinaryExpression",left:cg(A,I),right:(0,U.nullLiteral)(),operator:"!==",...(0,U.etc)()};return[(0,U.disjunction)([(0,U.conjunction)([C,Q]),B])]}case"prop-exists":{let{key:I,propName:C}=g;return[{type:"BinaryExpression",left:(0,U.stringLiteral)(C),right:cg(A,I),operator:"in",...(0,U.etc)()}]}case"or":{let{orConditions:I}=g,C=I.map(B=>(0,U.conjunction)(iB(A,B)));return[(0,U.disjunction)(C)]}}}function iB(A,g){return g.flatMap(I=>dh(A,I))}function co(A,g){return g.map(I=>{switch(I.type){case"id":{let{key:C,kind:B,id:Q}=I;return(0,U.variableDeclaration)(B,Q,cg(A,C))}case"array-rest":{let{key:C,kind:B,id:Q,exclude:E}=I,e=(0,U.callExpression)({type:"MemberExpression",object:cg(A,C),property:(0,U.ident)("slice"),computed:!1,optional:!1,...(0,U.etc)()},[(0,U.numberLiteral)(E)]);return(0,U.variableDeclaration)(B,Q,e)}case"object-rest":{let{key:C,kind:B,id:Q,exclude:E}=I,e={type:"ObjectPattern",properties:E.map(i=>i.type==="Identifier"?{type:"Property",key:(0,jg.shallowCloneNode)(i),value:hC(),kind:"init",computed:!1,method:!1,shorthand:!1,...(0,U.etc)(),parent:U.EMPTY_PARENT}:{type:"Property",key:(0,jg.shallowCloneNode)(i),value:hC(),kind:"init",computed:!0,method:!1,shorthand:!1,...(0,U.etc)(),parent:U.EMPTY_PARENT}).concat({type:"RestElement",argument:Q,...(0,U.etc)()}),typeAnnotation:null,...(0,U.etc)()};return(0,U.variableDeclaration)(B,e,cg(A,C))}}})}var Lh="Match: No case succesfully matched. Make exhaustive or add a wildcard case using '_'.";function mh(A){return{type:"BinaryExpression",operator:"+",left:(0,U.stringLiteral)(`${Lh} Argument: `),right:A,...(0,U.etc)()}}function rE(A){return(0,U.throwStatement)(mh(A))}function sE(A){switch(A.type){case"Identifier":case"Super":return!0;case"MemberExpression":{let{object:g,property:I,computed:C}=A;return C&&I.type!=="Literal"?!1:sE(g)}default:return!1}}function yo(A){let g=!1,I=!1,C=[];for(let B=0;B0,C.push({conditions:i,bindings:o,guard:E,body:e}),i.length===0&&E==null){I=!0;break}}return{hasBindings:g,hasWildcard:I,analyses:C}}function Hh(A){let{argument:g,cases:I}=A,{hasBindings:C,hasWildcard:B,analyses:Q}=yo(I),E=!C&&sE(g),e=E?null:hC(),i=e??g;if(E){let D=B?Q.pop():null,y=D!=null?D.body:(0,U.iife)([rE((0,jg.shallowCloneNode)(i))]);return Q.reverse().reduce((n,M)=>{let{conditions:R,guard:d,body:k}=M,S=iB(i,R);return d!=null&&S.push(d),{type:"ConditionalExpression",test:(0,U.conjunction)(S),consequent:k,alternate:n,...(0,U.etc)()}},y)}let o=Q.map(({conditions:D,bindings:y,guard:n,body:M})=>{let R={type:"ReturnStatement",argument:M,...(0,U.etc)()},d=n==null?R:{type:"IfStatement",test:n,consequent:R,...(0,U.etc)()},k=co(i,y),S=k.concat(d);if(D.length>0){let f=iB(i,D);return{type:"IfStatement",test:(0,U.conjunction)(f),consequent:{type:"BlockStatement",body:S,...(0,U.etc)()},...(0,U.etc)()}}else return k.length>0?{type:"BlockStatement",body:S,...(0,U.etc)()}:d});B||o.push(rE((0,jg.shallowCloneNode)(i)));let[r,a]=e==null?[[],[]]:[[e],[g]];return(0,U.iife)(o,r,a)}function fh(A){let{argument:g,cases:I}=A,{hasBindings:C,hasWildcard:B,analyses:Q}=yo(I),E=hC(),i=!C&&sE(g)?null:hC(),o=i??g,r=[];return i!=null&&r.push((0,U.variableDeclaration)("const",i,g)),Q.forEach(({conditions:a,bindings:D,guard:y,body:n})=>{let M={type:"BreakStatement",label:(0,jg.shallowCloneNode)(E),...(0,U.etc)()},R=n.body.concat(M),d=y==null?R:[{type:"IfStatement",test:y,consequent:{type:"BlockStatement",body:R,...(0,U.etc)()},...(0,U.etc)()}],S=co(o,D).concat(d);if(a.length>0){let f=iB(o,a);r.push({type:"IfStatement",test:(0,U.conjunction)(f),consequent:{type:"BlockStatement",body:S,...(0,U.etc)()},...(0,U.etc)()})}else r.push({type:"BlockStatement",body:S,...(0,U.etc)()})}),B||r.push(rE((0,jg.shallowCloneNode)(o))),{type:"LabeledStatement",label:E,body:{type:"BlockStatement",body:r,...(0,U.etc)()},...(0,U.etc)()}}function Th(A,g){return lC=(0,Uh.createGenID)("m"),Kh.SimpleTransform.transformProgram(A,{transform(I){switch(I.type){case"MatchExpression":return Hh(I);case"MatchStatement":return fh(I);case"Identifier":{if(lC==null)throw Error("GenID must be initialized at the start of the transform.");return lC.addUsage(I.name),I}default:return I}}})}});var po=V(cE=>{"use strict";Object.defineProperty(cE,"__esModule",{value:!0});cE.transformProgram=Oh;var uo=zg(),xh=GC(),aE=uo.SimpleTransform.nodeWith,nE=null;function No(A,g){return{type:"GenericTypeAnnotation",id:{type:"Identifier",name:A,optional:!1,typeAnnotation:null,loc:g.loc,range:g.range,parent:nE},typeParameters:null,loc:g.loc,range:g.range,parent:g.parent}}function oB(A){return{type:"AnyTypeAnnotation",loc:A.loc,range:A.range,parent:A.parent}}function qh(A){return{type:"DeclareVariable",kind:"const",id:aE(A.id,{typeAnnotation:{type:"TypeAnnotation",typeAnnotation:oB(A.body),loc:A.body.loc,range:A.body.range,parent:nE}}),loc:A.loc,range:A.range,parent:A.parent}}function bh(A){return{type:"DeclareVariable",kind:"const",id:aE(A.id,{typeAnnotation:{type:"TypeAnnotation",typeAnnotation:oB(A.body),loc:A.body.loc,range:A.body.range,parent:nE}}),loc:A.loc,range:A.range,parent:A.parent}}function Ph(A){return A.params.length!==0&&A.params[0].name==="this"?aE(A,{params:A.params.slice(1)}):A}function Go(A){return{type:"QualifiedTypeIdentifier",qualification:A.qualification.type==="QualifiedTypeofIdentifier"?Go(A.qualification):A.qualification,id:A.id,loc:A.loc,range:A.range,parent:A.parent}}function Oh(A,g){return uo.SimpleTransform.transformProgram(A,{transform(I){switch(I.type){case"SymbolTypeAnnotation":return No("symbol",I);case"BigIntTypeAnnotation":return No("bigint",I);case"ObjectTypeAnnotation":return I.properties.some(B=>B.type==="ObjectTypeMappedTypeProperty")?oB(I):I;case"ObjectTypeMappedTypeProperty":throw(0,xh.createSyntaxError)(I,"Invalid AST structure, ObjectTypeMappedTypeProperty found outside of an ObjectTypeAnnotation");case"IndexedAccessType":case"OptionalIndexedAccessType":case"KeyofTypeAnnotation":case"ConditionalTypeAnnotation":case"InferTypeAnnotation":case"TupleTypeLabeledElement":case"TupleTypeSpreadElement":case"ComponentTypeAnnotation":case"HookTypeAnnotation":case"TypeOperator":case"TypePredicate":return oB(I);case"QualifiedTypeofIdentifier":return Go(I);case"DeclareEnum":return qh(I);case"DeclareNamespace":return bh(I);case"FunctionDeclaration":case"FunctionExpression":return Ph(I);default:return I}}})}});var Yo=V(NE=>{"use strict";Object.defineProperty(NE,"__esModule",{value:!0});NE.transformProgram=oY;var Fo=zg(),zh=TI(),bI=Zh(AB()),jh=GC();function Zh(A){return A&&A.__esModule?A:{default:A}}var uI=null,yE={...bI.default,BigIntLiteral:[],BlockStatement:["directives",...bI.default.BlockStatement],BooleanLiteral:[],ClassMethod:["key","params","body","returnType","typeParameters"],ClassPrivateMethod:["key","params","body","returnType","typeParameters"],ClassProperty:["key","value","typeAnnotation","variance"],ClassPrivateProperty:["key","value","typeAnnotation","variance"],Directive:["value"],DirectiveLiteral:[],ExportNamespaceSpecifier:["exported"],File:["program","comments"],Import:[],NullLiteral:[],NumericLiteral:[],ObjectMethod:[...bI.default.Property,"params","body","returnType","typeParameters"],ObjectProperty:bI.default.Property,OptionalCallExpression:["callee","arguments","typeArguments"],OptionalMemberExpression:["object","property"],PrivateName:["id"],Program:["directives",...bI.default.Program],RegExpLiteral:[],RestElement:[...bI.default.RestElement,"typeAnnotation"],StringLiteral:[],CommentBlock:[],CommentLine:[]};function tB(A,g){return Fo.SimpleTransform.nodeWith(A,g,yE)}function Wh(A,g){let I=A.loc;I!=null&&(A.loc={start:I.start,end:I.end},A.type==="Identifier"&&(A.loc.identifierName=A.name),A.start=A.range[0],A.end=A.range[1],delete A.range,delete A.parent)}function lo(A){if(A.directives!=null)return A;let g=[];for(let I of A.body)if(I.type==="ExpressionStatement"&&I.directive!=null)g.push({type:"Directive",value:{type:"DirectiveLiteral",value:I.directive,extra:{rawValue:I.directive,raw:I.expression.type==="Literal"?I.expression.raw:""},loc:I.expression.loc,range:I.expression.range,parent:uI},loc:I.loc,range:I.range,parent:A});else break;return tB(A,{directives:g,body:g.length===0?A.body:A.body.slice(g.length)})}function Vh(A){var g;let I=lo(A),C={line:1,column:0},B=I.loc.end,Q=I.range[1];if(I.comments.length>0){let o=I.comments[I.comments.length-1];o.range[1]>Q&&(B=o.loc.end,Q=o.range[1])}let E={start:C,end:B},e=[0,Q],i=I.comments.map(o=>{switch(o.type){case"Line":return{type:"CommentLine",value:o.value,loc:o.loc,range:o.range};case"Block":return{type:"CommentBlock",value:o.value,loc:o.loc,range:o.range}}});return{type:"File",program:{type:"Program",body:I.body,directives:(g=I.directives)!=null?g:[],sourceType:I.sourceType,interpreter:I.interpreter,loc:E,range:e,parent:uI},comments:i,loc:E,range:e,parent:uI}}function Xh(A){let I=A.tail?1:2;return A.loc={start:{line:A.loc.start.line,column:A.loc.start.column+1},end:{line:A.loc.end.line,column:A.loc.end.column-I}},A.range=[A.range[0]+1,A.range[1]-I],A}function vh(A){let g=A.key,I=A.value;if(A.method||A.kind!=="init"){if(I.type!=="FunctionExpression")throw(0,jh.createSyntaxError)(A,`Invalid method property, the value must be a "FunctionExpression" or "ArrowFunctionExpression. Instead got "${I.type}".`);let C={type:"ObjectMethod",kind:A.kind==="init"?"method":A.kind,method:A.kind==="init",computed:A.computed,key:g,id:null,params:I.params,body:I.body,async:I.async,generator:I.generator,returnType:I.returnType,typeParameters:I.typeParameters,loc:A.loc,range:A.range,parent:A.parent};return A.kind!=="init"&&(C.variance=null),C}return{type:"ObjectProperty",computed:A.computed,key:A.key,value:A.value,method:A.method,shorthand:A.shorthand,loc:A.loc,range:A.range,parent:A.parent}}function _h(A){let g=A.value,I={kind:A.kind,computed:A.computed,static:A.static,key:A.key,id:null,params:g.params,body:g.body,async:g.async,generator:g.generator,returnType:g.returnType,typeParameters:g.typeParameters,predicate:null,loc:A.loc,range:A.range,parent:A.parent};return A.key.type==="PrivateIdentifier"?{...I,type:"ClassPrivateMethod"}:{...I,type:"ClassMethod"}}function $h(A){return A.exported!=null?{type:"ExportNamedDeclaration",declaration:null,specifiers:[{type:"ExportNamespaceSpecifier",exported:A.exported,loc:{start:{column:A.loc.start.column+7,line:A.loc.start.line},end:A.exported.loc.end},range:[A.range[0]+7,A.exported.range[1]],parent:uI}],source:A.source,exportKind:A.exportKind,loc:A.loc,range:A.range,parent:A.parent}:(delete A.exported,A)}function AY(A){let g=A.argument;if((g.type==="Identifier"||g.type==="ObjectPattern"||g.type==="ArrayPattern")&&g.typeAnnotation!=null){let I=g.range,C=g.loc;return g.type==="Identifier"&&(I[1]=I[0]+g.name.length,C={start:C.start,end:{line:C.start.line,column:C.start.column+g.name.length}}),tB(A,{typeAnnotation:g.typeAnnotation,argument:tB(g,{typeAnnotation:null,range:I,loc:C})})}return A}function gY(A){return{type:"CallExpression",callee:{type:"Import",loc:{start:A.loc.start,end:{line:A.loc.start.line,column:A.loc.start.column+6}},range:[A.range[0],A.range[0]+6],parent:uI},arguments:[A.source],loc:A.loc,range:A.range,parent:A.parent}}function ho(A){return{type:"PrivateName",id:{type:"Identifier",name:A.name,optional:!1,typeAnnotation:null,loc:{start:{line:A.loc.start.line,column:A.loc.start.column+1},end:A.loc.end},range:[A.range[0]+1,A.range[1]],parent:uI},loc:A.loc,range:A.range,parent:A.parent}}function IY(A){return A.key.type==="PrivateIdentifier"?{type:"ClassPrivateProperty",key:ho(A.key),value:A.value,typeAnnotation:A.typeAnnotation,static:A.static,variance:A.variance,loc:A.loc,range:A.range,parent:A.parent}:{type:"ClassProperty",key:A.key,value:A.value,typeAnnotation:A.typeAnnotation,static:A.static,variance:A.variance,declare:A.declare,optional:A.optional,computed:A.computed,loc:A.loc,range:A.range,parent:A.parent}}function CY(A){return delete A.typeArguments,A.argument.type!=="GenericTypeAnnotation"?tB(A,{argument:{type:"GenericTypeAnnotation",id:A.argument,typeParameters:null,loc:A.argument.loc,range:A.argument.range,parent:uI}}):A}function BY(A){return A.kind!=null&&delete A.kind,A}function QY(A){return A.openingElement.typeArguments!=null&&delete A.openingElement.typeArguments,A}function wE(A){switch(A.type){case"MemberExpression":{let g=wE(A.object);return!A.optional&&g.type!=="OptionalMemberExpression"&&g.type!=="OptionalCallExpression"?A:{type:"OptionalMemberExpression",object:g,property:A.property,computed:A.computed,optional:A.optional,loc:A.loc,range:A.range,parent:A.parent}}case"CallExpression":{let g=wE(A.callee);return!A.optional&&g.type!=="OptionalMemberExpression"&&g.type!=="OptionalCallExpression"?A:{type:"OptionalCallExpression",callee:g,optional:A.optional,arguments:A.arguments,typeArguments:A.typeArguments,loc:A.loc,range:A.range,parent:A.parent}}default:return A}}function EY(A){return wE(A.expression)}function eY(A){let g={loc:A.loc,range:A.range,parent:A.parent};switch(A.literalType){case"string":return{type:"StringLiteral",value:A.value,extra:{rawValue:A.value,raw:A.raw},...g};case"numeric":return{type:"NumericLiteral",value:A.value,extra:{rawValue:A.value,raw:A.raw},...g};case"bigint":return{type:"BigIntLiteral",value:A.bigint,extra:{rawValue:A.bigint,raw:A.raw},...g};case"boolean":return{type:"BooleanLiteral",value:A.value,...g};case"null":return{type:"NullLiteral",...g};case"regexp":return{type:"RegExpLiteral",extra:{raw:A.raw},pattern:A.regex.pattern,flags:A.regex.flags,...g}}}function iY(A){switch(A.type){case"Program":{var g;return((g=A.parent)==null?void 0:g.type)==="File"?A:Vh(A)}case"BlockStatement":return lo(A);case"Property":return vh(A);case"TemplateElement":return Xh(A);case"MethodDefinition":return _h(A);case"ExportAllDeclaration":return $h(A);case"RestElement":return AY(A);case"ImportExpression":return gY(A);case"PrivateIdentifier":return ho(A);case"PropertyDefinition":return IY(A);case"TypeofTypeAnnotation":return CY(A);case"DeclareVariable":return BY(A);case"JSXElement":return QY(A);case"Literal":return eY(A);case"ChainExpression":return EY(A);case"TypeCastExpression":return A.loc.start.column=A.loc.start.column+1,A.loc.end.column=A.loc.end.column-1,A.range=[A.range[0]+1,A.range[1]-1],A;case"AsExpression":{let{typeAnnotation:I}=A;return A.type="TypeCastExpression",A.typeAnnotation={type:"TypeAnnotation",typeAnnotation:I,loc:I.loc,range:I.range},A}case"AsConstExpression":return A.expression;case"NumberLiteralTypeAnnotation":return A.extra={rawValue:A.value,raw:A.raw},delete A.raw,A;case"StringLiteralTypeAnnotation":return A.extra={rawValue:A.value,raw:A.raw},delete A.raw,A;case"BigIntLiteralTypeAnnotation":return A.extra={rawValue:A.bigint,raw:A.raw},delete A.bigint,delete A.raw,A;case"BooleanLiteralTypeAnnotation":return delete A.raw,A;case"TupleTypeAnnotation":return delete A.inexact,A;case"JSXText":return A.extra={rawValue:A.value,raw:A.raw},delete A.raw,A;case"Identifier":return(A.optional===!1||A.optional==null)&&delete A.optional,A.typeAnnotation==null&&delete A.typeAnnotation,A;case"CallExpression":return A.optional===!1&&delete A.optional,A.typeArguments==null&&delete A.typeArguments,A;case"OptionalCallExpression":return A.typeArguments==null&&delete A.typeArguments,A;case"MemberExpression":return delete A.optional,A;case"ExpressionStatement":return delete A.directive,A;case"ObjectPattern":case"ArrayPattern":return A.typeAnnotation==null&&delete A.typeAnnotation,A;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ClassMethod":return delete A.expression,A.predicate==null&&delete A.predicate,A.returnType==null&&delete A.returnType,A.typeParameters==null&&delete A.typeParameters,A;case"ObjectMethod":return A.returnType==null&&delete A.returnType,A.typeParameters==null&&delete A.typeParameters,A;case"ClassPrivateMethod":return A.computed===!1&&delete A.computed,A.predicate==null&&delete A.predicate,A.returnType==null&&delete A.returnType,A.typeParameters==null&&delete A.typeParameters,A;case"ClassExpression":case"ClassDeclaration":return(A.decorators==null||A.decorators.length===0)&&delete A.decorators,(A.implements==null||A.implements.length===0)&&delete A.implements,A.superTypeParameters==null&&delete A.superTypeParameters,A.typeParameters==null&&delete A.typeParameters,A;case"ClassProperty":return A.optional===!1&&delete A.optional,A.declare===!1&&delete A.declare,A.typeAnnotation==null&&delete A.typeAnnotation,A;case"ClassPrivateProperty":return A.typeAnnotation==null&&delete A.typeAnnotation,A;case"ExportNamedDeclaration":return A.declaration==null&&delete A.declaration,A;case"ImportDeclaration":return(A.assertions==null||A.assertions.length===0)&&delete A.assertions,A;case"ArrayExpression":return delete A.trailingComma,A;case"JSXOpeningElement":return A.typeArguments==null&&delete A.typeArguments,A;case"DeclareOpaqueType":case"OpaqueType":return A.lowerBound!=null&&delete A.lowerBound,A.upperBound!=null&&delete A.upperBound,A;default:return A}}function oY(A,g){var I;let C=Fo.SimpleTransform.transform(A,{transform(B){return iY(B)},visitorKeys:yE});if(zh.SimpleTraverser.traverse(C,{enter(B){Wh(B,g)},leave(){},visitorKeys:yE}),C?.type==="File")return C;throw new Error(`Unknown AST node of type "${(I=C?.type)!=null?I:"NULL"}" returned from Babel conversion`)}});var Mo=V(uE=>{"use strict";Object.defineProperty(uE,"__esModule",{value:!0});uE.transformProgram=tY;var So=zg(),GI=So.SimpleTransform.nodeWith;function tY(A,g){return So.SimpleTransform.transformProgram(A,{transform(I){switch(I.type){case"AsExpression":case"AsConstExpression":case"TypeCastExpression":return I.expression;case"CallExpression":case"NewExpression":return I.typeArguments!=null?GI(I,{typeArguments:null}):I;case"ObjectPattern":case"ArrayPattern":case"Identifier":return I.typeAnnotation!=null?GI(I,{typeAnnotation:null}):I;case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareNamespace":case"DeclareOpaqueType":case"DeclareTypeAlias":case"DeclareVariable":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":return null;case"FunctionDeclaration":case"ArrowFunctionExpression":case"FunctionExpression":{let C=[];for(let B=0;BB.type!=="ImportSpecifier"||B.importKind!=="type"&&B.importKind!=="typeof");return C.length===0?null:C.length===I.specifiers.length?I:GI(I,{specifiers:C})}case"ExportAllDeclaration":case"ExportNamedDeclaration":return I.exportKind==="type"?null:I;default:return I}}})}});var ko=V(rB=>{"use strict";Object.defineProperty(rB,"__esModule",{value:!0});rB.ParserOptionsKeys=void 0;var rY=new Set(["allowReturnOutsideFunction","babel","flow","enableExperimentalComponentSyntax","enableExperimentalFlowMatchSyntax","reactRuntimeTarget","sourceFilename","sourceType","tokens","transformOptions"]);rB.ParserOptionsKeys=rY});var Ro=V(pE=>{"use strict";Object.defineProperty(pE,"__esModule",{value:!0});pE.default=DY;var sY=zg();function GE(A,g){if(g!=null){var I;let C=g.concat((I=A.comments)!=null?I:[]);A.comments=C}switch(A.type){case"CallExpression":return{...A,type:"OptionalCallExpression",callee:GE(A.callee)};case"MemberExpression":return{...A,type:"OptionalMemberExpression",object:GE(A.object)}}return A}function DY(A,g){sY.SimpleTransform.transform(A,{transform(I){return I.parent&&delete I.parent,I.type==="ChainExpression"?GE(I.expression,I?.comments):I.type==="ObjectTypeProperty"?(I.method===!1&&I.kind==="init"&&I.range[0]===1&&I.value.range[0]===1&&(I.value={...I.value,range:[2,I.value.range[1]]}),I):I.type==="ImportSpecifier"?(I.local.name===I.imported.name&&(I.local.range==null&&(I.local.range=[0,0]),I.imported.range=[...I.local.range]),I):(I.type==="ExportSpecifier"&&I.local.name===I.exported.name&&(I.local.range==null&&(I.local.range=[0,0]),I.exported.range=[...I.local.range]),I)},visitorKeys:g})}});var fo=V(iA=>{"use strict";Object.defineProperty(iA,"__esModule",{value:!0});var sB={parse:!0,mutateESTreeASTForPrettier:!0,Transforms:!0,FlowVisitorKeys:!0,astArrayMutationHelpers:!0,astNodeMutationHelpers:!0};iA.mutateESTreeASTForPrettier=iA.astNodeMutationHelpers=iA.astArrayMutationHelpers=iA.Transforms=void 0;iA.parse=FY;var aY=Zg(bi()),nY=SE(Zi()),cY=SE(AB());iA.FlowVisitorKeys=cY.default;var Uo=Zg(Bo()),Jo=Zg(so()),Lo=Zg(wo()),mo=Zg(po()),yY=Zg(Yo()),wY=Zg(Mo()),FE=ko();Object.keys(FE).forEach(function(A){A==="default"||A==="__esModule"||Object.prototype.hasOwnProperty.call(sB,A)||A in iA&&iA[A]===FE[A]||(iA[A]=FE[A])});var lE=TI();Object.keys(lE).forEach(function(A){A==="default"||A==="__esModule"||Object.prototype.hasOwnProperty.call(sB,A)||A in iA&&iA[A]===lE[A]||(iA[A]=lE[A])});var hE=zg();Object.keys(hE).forEach(function(A){A==="default"||A==="__esModule"||Object.prototype.hasOwnProperty.call(sB,A)||A in iA&&iA[A]===hE[A]||(iA[A]=hE[A])});var YE=IB();Object.keys(YE).forEach(function(A){A==="default"||A==="__esModule"||Object.prototype.hasOwnProperty.call(sB,A)||A in iA&&iA[A]===YE[A]||(iA[A]=YE[A])});var NY=Zg(jQ());iA.astArrayMutationHelpers=NY;var uY=Zg(uC());iA.astNodeMutationHelpers=uY;var GY=SE(Ro());iA.mutateESTreeASTForPrettier=GY.default;function SE(A){return A&&A.__esModule?A:{default:A}}function Ho(A){if(typeof WeakMap!="function")return null;var g=new WeakMap,I=new WeakMap;return(Ho=function(C){return C?I:g})(A)}function Zg(A,g){if(!g&&A&&A.__esModule)return A;if(A===null||typeof A!="object"&&typeof A!="function")return{default:A};var I=Ho(g);if(I&&I.has(A))return I.get(A);var C={},B=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Q in A)if(Q!=="default"&&Object.prototype.hasOwnProperty.call(A,Q)){var E=B?Object.getOwnPropertyDescriptor(A,Q):null;E&&(E.get||E.set)?Object.defineProperty(C,Q,E):C[Q]=A[Q]}return C.default=A,I&&I.set(A,C),C}var Ko={flow:"detect"};function pY(A={...Ko}){if(A.flow==null)A.flow=Ko.flow;else if(A.flow!=="all"&&A.flow!=="detect")throw new Error('flow option must be "all" or "detect"');if(A.sourceType==="unambiguous")delete A.sourceType;else if(A.sourceType!=null&&A.sourceType!=="script"&&A.sourceType!=="module")throw new Error('sourceType option must be "script", "module", or "unambiguous" if set');return A.enableExperimentalComponentSyntax==null&&(A.enableExperimentalComponentSyntax=!0),A.enableExperimentalFlowMatchSyntax==null&&(A.enableExperimentalFlowMatchSyntax=!0),A.tokens=A.tokens===!0,A.allowReturnOutsideFunction=A.allowReturnOutsideFunction===!0,A}function FY(A,g){let I=pY(g),C=aY.parse(A,I),Q=new nY.default(I,A).transform(C);if(I.babel!==!0)return Q;let E=[Jo.transformProgram,Lo.transformProgram,Uo.transformProgram,mo.transformProgram].reduce((e,i)=>i(e,I),Q);return yY.transformProgram(E,I)}var lY={transformEnumSyntax:Jo.transformProgram,transformMatchSyntax:Lo.transformProgram,transformComponentSyntax:Uo.transformProgram,stripFlowTypesForBabel:mo.transformProgram,stripFlowTypes:wY.transformProgram};iA.Transforms=lY});var xe={};jC(xe,{languages:()=>qs,options:()=>xs,parsers:()=>$R,printers:()=>AK});var dE={};jC(dE,{hermes:()=>_Y});var at=xD(fo(),1);function hY(A,g){let I=new SyntaxError(A+" ("+g.loc.start.line+":"+g.loc.start.column+")");return Object.assign(I,g)}var To=hY;var YY=(A,g,I)=>{if(!(A&&g==null)){if(g.findLast)return g.findLast(I);for(let C=g.length-1;C>=0;C--){let B=g[C];if(I(B,C,g))return B}}},DB=YY;var SY=(A,g,I)=>{if(!(A&&g==null))return Array.isArray(g)||typeof g=="string"?g[I<0?g.length+I:I]:g.at(I)},P=SY;var xo=new Proxy(()=>{},{get:()=>xo}),pI=xo;var qo=A=>Number.isInteger(A)&&A>=0;function H(A){let g=A.range?.[0]??A.start,I=(A.declaration?.decorators??A.decorators)?.[0];return I?Math.min(H(I),g):g}function K(A){return A.range?.[1]??A.end}function FI(A,g){let I=H(A);return qo(I)&&I===H(g)}function MY(A,g){let I=K(A);return qo(I)&&I===K(g)}function bo(A,g){return FI(A,g)&&MY(A,g)}function kY(A){let g=new Set(A);return I=>g.has(I?.type)}var x=kY;function RY(A){return A.extra?.raw??A.raw}var wA=RY;function KY(A,g,I){let C=A.originalText.slice(g,I);for(let B of A[Symbol.for("comments")]){let Q=H(B);if(Q>I)break;let E=K(B);if(E1&&g.every(I=>I.trimStart()[0]==="*")}var kE=new WeakMap;function mY(A){return kE.has(A)||kE.set(A,LY(A)),kE.get(A)}var YC=mY;function HY(A){if(A.length<2)return;let g;for(let I=A.length-1;I>=0;I--){let C=A[I];if(g&&K(C)===H(g)&&YC(C)&&YC(g)&&(A.splice(I+1,1),C.value+="*//*"+g.value,C.range=[H(C),K(g)]),!yg(C)&&!oA(C))throw new TypeError(`Unknown comment type: "${C.type}".`);g=C}}var Po=HY;var SC=null;function MC(A){if(SC!==null&&typeof SC.property){let g=SC;return SC=MC.prototype=null,g}return SC=MC.prototype=A??Object.create(null),new MC}var fY=10;for(let A=0;A<=fY;A++)MC();function RE(A){return MC(A)}function TY(A,g="type"){RE(A);function I(C){let B=C[g],Q=A[B];if(!Array.isArray(Q))throw Object.assign(new Error(`Missing visitor keys for '${B}'.`),{node:C});return Q}return I}var Oo=TY;var zo={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","typeParameters","typeArguments","arguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","typeParameters","params","predicate","returnType","body"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","typeParameters","typeArguments","arguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectProperty:["decorators","key","value"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["typeParameters","params","predicate","returnType","body"],ClassBody:["body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],ImportExpression:["source","options"],MetaProperty:["meta","property"],ClassMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectPattern:["decorators","properties","typeAnnotation"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","typeParameters","quasi","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","typeParameters","typeArguments","arguments"],ClassProperty:["decorators","variance","key","typeAnnotation","value"],ClassAccessorProperty:["decorators","key","typeAnnotation","value"],ClassPrivateProperty:["decorators","variance","key","typeAnnotation","value"],ClassPrivateMethod:["decorators","key","typeParameters","params","returnType","body"],PrivateName:["id"],StaticBlock:["body"],ImportAttribute:["key","value"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype","lowerBound","upperBound"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source","attributes"],DeclareExportAllDeclaration:["source","attributes"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","this","params","rest","returnType"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype","lowerBound","upperBound"],QualifiedTypeIdentifier:["qualification","id"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument","typeArguments"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","typeParameters","typeArguments","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],VoidPattern:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["nameType","typeAnnotation","key","constraint"],TSTemplateLiteralType:["quasis","types"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumBody:["members"],TSEnumDeclaration:["id","body"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","options","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclareEnum:["id","body"],DeclareHook:["id"],DeclareNamespace:["id","body"],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],MatchArrayPattern:["elements","rest"],MatchAsPattern:["pattern","target"],MatchBindingPattern:["id"],MatchExpression:["argument","cases"],MatchExpressionCase:["pattern","body","guard"],MatchIdentifierPattern:["id"],MatchLiteralPattern:["literal"],MatchMemberPattern:["base","property"],MatchObjectPattern:["properties","rest"],MatchObjectPatternProperty:["key","pattern"],MatchOrPattern:["patterns"],MatchRestPattern:["argument"],MatchStatement:["argument","cases"],MatchStatementCase:["pattern","body","guard"],MatchUnaryPattern:["argument"],MatchWildcardPattern:[],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeOperator:["typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGPipeExpression:["left","right","arguments"],NGMicrosyntax:["body"],NGMicrosyntaxAs:["key","alias"],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKey:[],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGRoot:["node"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],SatisfiesExpression:["expression","typeAnnotation"],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[]};var xY=Oo(zo),OI=xY;function KE(A,g){if(!(A!==null&&typeof A=="object"))return A;if(Array.isArray(A)){for(let C=0;C{switch(i.type){case"ParenthesizedExpression":{let{expression:o}=i,r=H(i);if(o.type==="TypeCastExpression")return o.range=[r,K(i)],o;let a=!1;if(!Q){if(!E){E=[];for(let y of B)PI(y)&&E.push(K(y))}let D=DB(!1,E,y=>y<=r);a=D&&C.slice(D,r).trim().length===0}if(!a)return o.extra={...o.extra,parenthesized:!0},o;break}case"LogicalExpression":if(Wo(i))return UE(i);break;case"TemplateLiteral":if(i.expressions.length!==i.quasis.length-1)throw new Error("Malformed template literal.");break;case"TemplateElement":if(I==="flow"||I==="hermes"||I==="espree"||I==="typescript"||Q){let o=H(i)+1,r=K(i)-(i.tail?1:2);i.range=[o,r]}break;case"VariableDeclaration":{let o=P(!1,i.declarations,-1);o?.init&&C[K(o)]!==";"&&(i.range=[H(i),K(o)]);break}case"TSParenthesizedType":return i.typeAnnotation;case"TSTypeParameter":Zo(i);break;case"TopicReference":A.extra={...A.extra,__isUsingHackPipeline:!0};break;case"TSUnionType":case"TSIntersectionType":if(i.types.length===1)return i.types[0];break;case"TSMappedType":if(!i.constraint&&!i.key){let{name:o,constraint:r}=Zo(i.typeParameter);i.constraint=r,i.key=o,delete i.typeParameter}break;case"TSEnumDeclaration":if(!i.body){let o=K(i.id),{members:r}=i,a=lI({originalText:C,[Symbol.for("comments")]:B},o,r[0]?H(r[0]):K(i)),D=o+a.indexOf("{");i.body={type:"TSEnumBody",members:r,range:[D,K(i)]},delete i.members}break;case"ImportExpression":I==="hermes"&&i.attributes&&!i.options&&(i.options=i.attributes);break}});let e=A.type==="File"?A.program:A;return e.interpreter&&(B.unshift(e.interpreter),delete e.interpreter),Q&&A.hashbang&&(B.unshift(A.hashbang),delete A.hashbang),A.type==="Program"&&(A.range=[0,C.length]),A}function Zo(A){if(A.type==="TSTypeParameter"&&typeof A.name=="string"){let g=H(A);A.name={type:"Identifier",name:A.name,range:[g,g+A.name.length]}}return A}function Wo(A){return A.type==="LogicalExpression"&&A.right.type==="LogicalExpression"&&A.operator===A.right.operator}function UE(A){return Wo(A)?UE({type:"LogicalExpression",operator:A.operator,left:UE({type:"LogicalExpression",operator:A.operator,left:A.left,right:A.right.left,range:[H(A.left),K(A.right.left)]}),right:A.right.right,range:[H(A),K(A)]}):A}var Vo=qY;og();var bY=/\*\/$/,PY=/^\/\*\*?/,$o=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,OY=/(^|\s+)\/\/([^\n\r]*)/g,Xo=/^(\r?\n)+/,zY=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,vo=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,jY=/(\r?\n|^) *\* ?/g,At=[];function gt(A){let g=A.match($o);return g?g[0].trimStart():""}function It(A){let I=A.match($o)?.[0];return I==null?A:A.slice(I.length)}function Ct(A){A=_(!1,A.replace(PY,"").replace(bY,""),jY,"$1");let I="";for(;I!==A;)I=A,A=_(!1,A,zY,` +$1 $2 +`);A=A.replace(Xo,"").trimEnd();let C=Object.create(null),B=_(!1,A,vo,"").replace(Xo,"").trimEnd(),Q;for(;Q=vo.exec(A);){let E=_(!1,Q[2],OY,"");if(typeof C[Q[1]]=="string"||Array.isArray(C[Q[1]])){let e=C[Q[1]];C[Q[1]]=[...At,...Array.isArray(e)?e:[e],E]}else C[Q[1]]=E}return{comments:B,pragmas:C}}function Bt({comments:A="",pragmas:g={}}){let E=Object.keys(g),e=E.flatMap(o=>_o(o,g[o])).map(o=>` * ${o} +`).join("");if(!A){if(E.length===0)return"";if(E.length===1&&!Array.isArray(g[E[0]])){let o=g[E[0]];return`/** ${_o(E[0],o)[0]} */`}}let i=A.split(` +`).map(o=>` * ${o}`).join(` +`)+` +`;return`/** +`+(A?i:"")+(A&&E.length>0?` * +`:"")+e+" */"}function _o(A,g){return[...At,...Array.isArray(g)?g:[g]].map(I=>`@${A} ${I}`.trim())}og();function Qt(A){switch(A){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}var Et=["noformat","noprettier"],et=["format","prettier"],it="format";function ZY(A){if(!A.startsWith("#!"))return"";let g=A.indexOf(` +`);return g===-1?A:A.slice(0,g)}var ot=ZY;function JE(A){let g=ot(A);g&&(A=A.slice(g.length+1));let I=gt(A),{pragmas:C,comments:B}=Ct(I);return{shebang:g,text:A,pragmas:C,comments:B}}function tt(A){let{pragmas:g}=JE(A);return et.some(I=>Object.prototype.hasOwnProperty.call(g,I))}function rt(A){let{pragmas:g}=JE(A);return Et.some(I=>Object.prototype.hasOwnProperty.call(g,I))}function st(A){let{shebang:g,text:I,pragmas:C,comments:B}=JE(A),Q=It(I),E=Bt({pragmas:{[it]:"",...C},comments:B.trimStart()});return(g?`${g} +`:"")+E+(Q.startsWith(` +`)?` +`:` + +`)+Q}function WY(A){return A=typeof A=="function"?{parse:A}:A,{astFormat:"estree",hasPragma:tt,hasIgnorePragma:rt,locStart:H,locEnd:K,...A}}var Dt=WY;function VY(A){let{message:g,loc:I}=A;if(!I)return A;let{line:C,column:B}=I;g=g.split(` +`)[0];let Q=`(${C}:${B})`;return g.endsWith(Q)&&(g=g.slice(0,-Q.length)),g=g.trim(),To(g,{loc:{start:{line:C,column:B}},cause:A})}var XY={flow:"all",babel:!1,tokens:!1,allowReturnOutsideFunction:!0};async function vY(A){let g;try{g=await(0,at.parse)(A,XY)}catch(I){throw VY(I)}return Vo(g,{text:A,parser:"hermes"})}var _Y=Dt(vY);var Te={};jC(Te,{canAttachComment:()=>yM,embed:()=>nr,experimentalFeatures:()=>vR,getCommentChildNodes:()=>wM,getVisitorKeys:()=>OI,handleComments:()=>Ie,insertPragma:()=>st,isBlockComment:()=>oA,isGap:()=>NM,massageAstNode:()=>mt,print:()=>Ts,printComment:()=>zt,willPrintOwnComments:()=>Ce});og();function $Y(A){return A!==null&&typeof A=="object"}var nt=$Y;function*AS(A,g){let{getVisitorKeys:I,filter:C=()=>!0}=g,B=Q=>nt(Q)&&C(Q);for(let Q of I(A)){let E=A[Q];if(Array.isArray(E))for(let e of E)B(e)&&(yield e);else B(E)&&(yield E)}}function*gS(A,g){let I=[A];for(let C=0;C/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function LE(A){return A===12288||A>=65281&&A<=65376||A>=65504&&A<=65510}function mE(A){return A>=4352&&A<=4447||A===8986||A===8987||A===9001||A===9002||A>=9193&&A<=9196||A===9200||A===9203||A===9725||A===9726||A===9748||A===9749||A>=9776&&A<=9783||A>=9800&&A<=9811||A===9855||A>=9866&&A<=9871||A===9875||A===9889||A===9898||A===9899||A===9917||A===9918||A===9924||A===9925||A===9934||A===9940||A===9962||A===9970||A===9971||A===9973||A===9978||A===9981||A===9989||A===9994||A===9995||A===10024||A===10060||A===10062||A>=10067&&A<=10069||A===10071||A>=10133&&A<=10135||A===10160||A===10175||A===11035||A===11036||A===11088||A===11093||A>=11904&&A<=11929||A>=11931&&A<=12019||A>=12032&&A<=12245||A>=12272&&A<=12287||A>=12289&&A<=12350||A>=12353&&A<=12438||A>=12441&&A<=12543||A>=12549&&A<=12591||A>=12593&&A<=12686||A>=12688&&A<=12773||A>=12783&&A<=12830||A>=12832&&A<=12871||A>=12880&&A<=42124||A>=42128&&A<=42182||A>=43360&&A<=43388||A>=44032&&A<=55203||A>=63744&&A<=64255||A>=65040&&A<=65049||A>=65072&&A<=65106||A>=65108&&A<=65126||A>=65128&&A<=65131||A>=94176&&A<=94180||A>=94192&&A<=94198||A>=94208&&A<=101589||A>=101631&&A<=101662||A>=101760&&A<=101874||A>=110576&&A<=110579||A>=110581&&A<=110587||A===110589||A===110590||A>=110592&&A<=110882||A===110898||A>=110928&&A<=110930||A===110933||A>=110948&&A<=110951||A>=110960&&A<=111355||A>=119552&&A<=119638||A>=119648&&A<=119670||A===126980||A===127183||A===127374||A>=127377&&A<=127386||A>=127488&&A<=127490||A>=127504&&A<=127547||A>=127552&&A<=127560||A===127568||A===127569||A>=127584&&A<=127589||A>=127744&&A<=127776||A>=127789&&A<=127797||A>=127799&&A<=127868||A>=127870&&A<=127891||A>=127904&&A<=127946||A>=127951&&A<=127955||A>=127968&&A<=127984||A===127988||A>=127992&&A<=128062||A===128064||A>=128066&&A<=128252||A>=128255&&A<=128317||A>=128331&&A<=128334||A>=128336&&A<=128359||A===128378||A===128405||A===128406||A===128420||A>=128507&&A<=128591||A>=128640&&A<=128709||A===128716||A>=128720&&A<=128722||A>=128725&&A<=128728||A>=128732&&A<=128735||A===128747||A===128748||A>=128756&&A<=128764||A>=128992&&A<=129003||A===129008||A>=129292&&A<=129338||A>=129340&&A<=129349||A>=129351&&A<=129535||A>=129648&&A<=129660||A>=129664&&A<=129674||A>=129678&&A<=129734||A===129736||A>=129741&&A<=129756||A>=129759&&A<=129770||A>=129775&&A<=129784||A>=131072&&A<=196605||A>=196608&&A<=262141}var wt="\xA9\xAE\u203C\u2049\u2122\u2139\u2194\u2195\u2196\u2197\u2198\u2199\u21A9\u21AA\u2328\u23CF\u23F1\u23F2\u23F8\u23F9\u23FA\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600\u2601\u2602\u2603\u2604\u260E\u2611\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694\u2695\u2696\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F1\u26F7\u26F8\u26F9\u2702\u2708\u2709\u270C\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05\u2B06\u2B07";var IS=/[^\x20-\x7F]/u,CS=new Set(wt);function BS(A){if(!A)return 0;if(!IS.test(A))return A.length;A=A.replace(yt(),I=>CS.has(I)?" ":" ");let g=0;for(let I of A){let C=I.codePointAt(0);C<=31||C>=127&&C<=159||C>=768&&C<=879||C>=65024&&C<=65039||(g+=LE(C)||mE(C)?2:1)}return g}var Ug=BS;function aB(A){return(g,I,C)=>{let B=!!C?.backwards;if(I===!1)return!1;let{length:Q}=g,E=I;for(;E>=0&&E0}var b=tS;function rS(A,g){let I=g===!0||g==="'"?"'":'"',C=I==="'"?'"':"'",B=0,Q=0;for(let E of A)E===I?B++:E===C&&Q++;return B>Q?C:I}var nB=rS;og();function sS(A,g,I){let C=g==='"'?"'":'"',Q=_(!1,A,/\\(.)|(["'])/gsu,(E,e,i)=>e===C?e:i===g?"\\"+i:i||(I&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(e)?e:"\\"+e));return g+Q+g}var Gt=sS;function DS(A,g){pI.ok(/^(?["']).*\k$/su.test(A));let I=A.slice(1,-1),C=g.parser==="json"||g.parser==="jsonc"||g.parser==="json5"&&g.quoteProps==="preserve"&&!g.singleQuote?'"':g.__isInHtmlAttribute?"'":nB(I,g.singleQuote);return A.charAt(0)===C?A:Gt(I,C,!1)}var Jg=DS;var aS=x(["AnyTypeAnnotation","ThisTypeAnnotation","NumberTypeAnnotation","VoidTypeAnnotation","BooleanTypeAnnotation","BigIntTypeAnnotation","SymbolTypeAnnotation","StringTypeAnnotation","NeverTypeAnnotation","UndefinedTypeAnnotation","UnknownTypeAnnotation","EmptyTypeAnnotation","MixedTypeAnnotation"]),cB=aS;function nS(A,g){let I=g.split(".");for(let C=I.length-1;C>=0;C--){let B=I[C];if(C===0)return A.type==="Identifier"&&A.name===B;if(C===1&&A.type==="MetaProperty"&&A.property.type==="Identifier"&&A.property.name===B){A=A.meta;continue}if(A.type==="MemberExpression"&&!A.optional&&!A.computed&&A.property.type==="Identifier"&&A.property.name===B){A=A.object;continue}return!1}}function cS(A,g){return g.some(I=>nS(A,I))}var kC=cS;function yS({type:A}){return A.startsWith("TS")&&A.endsWith("Keyword")}var yB=yS;function RC(A,g){return g(A)||ct(A,{getVisitorKeys:OI,predicate:g})}function WI(A){return A.type==="AssignmentExpression"||A.type==="BinaryExpression"||A.type==="LogicalExpression"||A.type==="NGPipeExpression"||A.type==="ConditionalExpression"||O(A)||X(A)||A.type==="SequenceExpression"||A.type==="TaggedTemplateExpression"||A.type==="BindExpression"||A.type==="UpdateExpression"&&!A.prefix||tg(A)||A.type==="TSNonNullExpression"||A.type==="ChainExpression"}function ht(A){return A.expressions?A.expressions[0]:A.left??A.test??A.callee??A.object??A.tag??A.argument??A.expression}function uB(A){if(A.expressions)return["expressions",0];if(A.left)return["left"];if(A.test)return["test"];if(A.object)return["object"];if(A.callee)return["callee"];if(A.tag)return["tag"];if(A.argument)return["argument"];if(A.expression)return["expression"];throw new Error("Unexpected node has no left side.")}var Yt=x(["ExportDefaultDeclaration","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration","DeclareExportAllDeclaration"]),IA=x(["ArrayExpression"]),SA=x(["ObjectExpression"]);function LA(A){return A.type==="NumericLiteral"||A.type==="Literal"&&typeof A.value=="number"}function St(A){return A.type==="BooleanLiteral"||A.type==="Literal"&&typeof A.value=="boolean"}function xE(A){return A.type==="UnaryExpression"&&(A.operator==="+"||A.operator==="-")&&LA(A.argument)}function sA(A){return!!(A&&(A.type==="StringLiteral"||A.type==="Literal"&&typeof A.value=="string"))}function qE(A){return A.type==="RegExpLiteral"||A.type==="Literal"&&!!A.regex}var GB=x(["Literal","BooleanLiteral","BigIntLiteral","DirectiveLiteral","NullLiteral","NumericLiteral","RegExpLiteral","StringLiteral"]),wS=x(["Identifier","ThisExpression","Super","PrivateName","PrivateIdentifier"]),dg=x(["ObjectTypeAnnotation","TSTypeLiteral","TSMappedType"]),NB=x(["FunctionExpression","ArrowFunctionExpression"]);function NS(A){return A.type==="FunctionExpression"||A.type==="ArrowFunctionExpression"&&A.body.type==="BlockStatement"}function HE(A){return O(A)&&A.callee.type==="Identifier"&&["async","inject","fakeAsync","waitForAsync"].includes(A.callee.name)}var tA=x(["JSXElement","JSXFragment"]);function hI(A){return A.method&&A.kind==="init"||A.kind==="get"||A.kind==="set"}function pB(A){return(A.type==="ObjectTypeProperty"||A.type==="ObjectTypeInternalSlot")&&!A.static&&!A.method&&A.kind!=="get"&&A.kind!=="set"&&A.value.type==="FunctionTypeAnnotation"}function Mt(A){return(A.type==="TypeAnnotation"||A.type==="TSTypeAnnotation")&&A.typeAnnotation.type==="FunctionTypeAnnotation"&&!A.static&&!FI(A,A.typeAnnotation)}var WA=x(["BinaryExpression","LogicalExpression","NGPipeExpression"]);function iI(A){return X(A)||A.type==="BindExpression"&&!!A.object}var uS=x(["TSThisType","NullLiteralTypeAnnotation","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType"]);function VI(A){return yB(A)||cB(A)||uS(A)||(A.type==="GenericTypeAnnotation"||A.type==="TSTypeReference")&&!A.typeParameters&&!A.typeArguments}function GS(A){return A.type==="Identifier"&&(A.name==="beforeEach"||A.name==="beforeAll"||A.name==="afterEach"||A.name==="afterAll")}var pS=["it","it.only","it.skip","describe","describe.only","describe.skip","test","test.only","test.skip","test.fixme","test.step","test.describe","test.describe.only","test.describe.skip","test.describe.fixme","test.describe.parallel","test.describe.parallel.only","test.describe.serial","test.describe.serial.only","skip","xit","xdescribe","xtest","fit","fdescribe","ftest"];function FS(A){return kC(A,pS)}function YI(A,g){if(A?.type!=="CallExpression"||A.optional)return!1;let I=kA(A);if(I.length===1){if(HE(A)&&YI(g))return NB(I[0]);if(GS(A.callee))return HE(I[0])}else if((I.length===2||I.length===3)&&(I[0].type==="TemplateLiteral"||sA(I[0]))&&FS(A.callee))return I[2]&&!LA(I[2])?!1:(I.length===2?NB(I[1]):NS(I[1])&&DA(I[1]).length<=1)||HE(I[1]);return!1}var kt=A=>g=>(g?.type==="ChainExpression"&&(g=g.expression),A(g)),O=kt(x(["CallExpression","OptionalCallExpression"])),X=kt(x(["MemberExpression","OptionalMemberExpression"]));function bE(A,g=5){return Rt(A,g)<=g}function Rt(A,g){let I=0;for(let C in A){let B=A[C];if(B&&typeof B=="object"&&typeof B.type=="string"&&(I++,I+=Rt(B,g-I)),I>g)return I}return I}var lS=.25;function KC(A,g){let{printWidth:I}=g;if(l(A))return!1;let C=I*lS;if(A.type==="ThisExpression"||A.type==="Identifier"&&A.name.length<=C||xE(A)&&!l(A.argument))return!0;let B=A.type==="Literal"&&"regex"in A&&A.regex.pattern||A.type==="RegExpLiteral"&&A.pattern;return B?B.length<=C:sA(A)?Jg(wA(A),g).length<=C:A.type==="TemplateLiteral"?A.expressions.length===0&&A.quasis[0].value.raw.length<=C&&!A.quasis[0].value.raw.includes(` +`):A.type==="UnaryExpression"?KC(A.argument,{printWidth:I}):A.type==="CallExpression"&&A.arguments.length===0&&A.callee.type==="Identifier"?A.callee.name.length<=C-2:GB(A)}function pA(A,g){return tA(g)?MI(g):l(g,Y.Leading,I=>nA(A,K(I)))}function pt(A){return A.quasis.some(g=>g.value.raw.includes(` +`))}function FB(A,g){return(A.type==="TemplateLiteral"&&pt(A)||A.type==="TaggedTemplateExpression"&&pt(A.quasi))&&!nA(g,H(A),{backwards:!0})}function lB(A){if(!l(A))return!1;let g=P(!1,Vg(A,Y.Dangling),-1);return g&&!oA(g)}function hB(A){let{node:g,parent:I,key:C}=A;return C==="callee"&&O(g)&&O(I)&&I.arguments.length>0&&g.arguments.length>I.arguments.length}var hS=new Set(["!","-","+","~"]);function ug(A,g=2){if(g<=0)return!1;if(A.type==="ChainExpression"||A.type==="TSNonNullExpression")return ug(A.expression,g);let I=C=>ug(C,g-1);if(qE(A))return Ug(A.pattern??A.regex.pattern)<=5;if(GB(A)||wS(A)||A.type==="ArgumentPlaceholder")return!0;if(A.type==="TemplateLiteral")return A.quasis.every(C=>!C.value.raw.includes(` +`))&&A.expressions.every(I);if(SA(A))return A.properties.every(C=>!C.computed&&(C.shorthand||C.value&&I(C.value)));if(IA(A))return A.elements.every(C=>C===null||I(C));if(Xg(A)){if(A.type==="ImportExpression"||ug(A.callee,g)){let C=kA(A);return C.length<=g&&C.every(I)}return!1}return X(A)?ug(A.object,g)&&ug(A.property,g):A.type==="UnaryExpression"&&hS.has(A.operator)||A.type==="UpdateExpression"?ug(A.argument,g):!1}function Kt(A){return A}function MA(A,g="es5"){return A.trailingComma==="es5"&&g==="es5"||A.trailingComma==="all"&&(g==="all"||g==="es5")}function YA(A,g){switch(A.type){case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":case"NGPipeExpression":return YA(A.left,g);case"MemberExpression":case"OptionalMemberExpression":return YA(A.object,g);case"TaggedTemplateExpression":return A.tag.type==="FunctionExpression"?!1:YA(A.tag,g);case"CallExpression":case"OptionalCallExpression":return A.callee.type==="FunctionExpression"?!1:YA(A.callee,g);case"ConditionalExpression":return YA(A.test,g);case"UpdateExpression":return!A.prefix&&YA(A.argument,g);case"BindExpression":return A.object&&YA(A.object,g);case"SequenceExpression":return YA(A.expressions[0],g);case"ChainExpression":case"TSSatisfiesExpression":case"TSAsExpression":case"TSNonNullExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return YA(A.expression,g);default:return g(A)}}var Ft={"==":!0,"!=":!0,"===":!0,"!==":!0},wB={"*":!0,"/":!0,"%":!0},lt={">>":!0,">>>":!0,"<<":!0};function PE(A,g){return!(Wg(g)!==Wg(A)||A==="**"||Ft[A]&&Ft[g]||g==="%"&&wB[A]||A==="%"&&wB[g]||g!==A&&wB[g]&&wB[A]||lt[A]&<[g])}var YS=new Map([["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].flatMap((A,g)=>A.map(I=>[I,g])));function Wg(A){return YS.get(A)}function Ut(A){if(A.rest)return!0;let g=DA(A);return P(!1,g,-1)?.type==="RestElement"}var fE=new WeakMap;function DA(A){if(fE.has(A))return fE.get(A);let g=[];return A.this&&g.push(A.this),Array.isArray(A.parameters)?g.push(...A.parameters):Array.isArray(A.params)&&g.push(...A.params),A.rest&&g.push(A.rest),fE.set(A,g),g}function Jt(A,g){let{node:I}=A,C=0,B=Q=>g(Q,C++);I.this&&A.call(B,"this"),Array.isArray(I.parameters)?A.each(B,"parameters"):Array.isArray(I.params)&&A.each(B,"params"),I.rest&&A.call(B,"rest")}var TE=new WeakMap;function kA(A){if(TE.has(A))return TE.get(A);if(A.type==="ChainExpression")return kA(A.expression);let g=A.arguments;return(A.type==="ImportExpression"||A.type==="TSImportType")&&(g=[A.type==="ImportExpression"?A.source:A.argument],A.options&&g.push(A.options)),TE.set(A,g),g}function UC(A,g){let{node:I}=A;if(I.type==="ChainExpression")return A.call(()=>UC(A,g),"expression");I.type==="ImportExpression"||I.type==="TSImportType"?(A.call(C=>g(C,0),I.type==="ImportExpression"?"source":"argument"),I.options&&A.call(C=>g(C,1),"options")):A.each(g,"arguments")}function OE(A,g){let I=[];if(A.type==="ChainExpression"&&(A=A.expression,I.push("expression")),A.type==="ImportExpression"||A.type==="TSImportType"){if(g===0||g===(A.options?-2:-1))return[...I,A.type==="ImportExpression"?"source":"argument"];if(A.options&&(g===1||g===-1))return[...I,"options"];throw new RangeError("Invalid argument index")}if(g<0&&(g=A.arguments.length+g),g<0||g>=A.arguments.length)throw new RangeError("Invalid argument index");return[...I,"arguments",g]}function SI(A){return A.value.trim()==="prettier-ignore"&&!A.unignore}function MI(A){return A?.prettierIgnore||l(A,Y.PrettierIgnore)}var Y={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},dt=(A,g)=>{if(typeof A=="function"&&(g=A,A=0),A||g)return(I,C,B)=>!(A&Y.Leading&&!I.leading||A&Y.Trailing&&!I.trailing||A&Y.Dangling&&(I.leading||I.trailing)||A&Y.Block&&!oA(I)||A&Y.Line&&!yg(I)||A&Y.First&&C!==0||A&Y.Last&&C!==B.length-1||A&Y.PrettierIgnore&&!SI(I)||g&&!g(I))};function l(A,g,I){if(!b(A?.comments))return!1;let C=dt(g,I);return C?A.comments.some(C):!0}function Vg(A,g,I){if(!Array.isArray(A?.comments))return[];let C=dt(g,I);return C?A.comments.filter(C):A.comments}var NA=(A,{originalText:g})=>ZI(g,K(A));function Xg(A){return O(A)||A.type==="NewExpression"||A.type==="ImportExpression"}function PA(A){return A&&(A.type==="ObjectProperty"||A.type==="Property"&&!hI(A))}var tg=x(["TSAsExpression","TSSatisfiesExpression","AsExpression","AsConstExpression","SatisfiesExpression"]),Ig=x(["TSUnionType","UnionTypeAnnotation"]),XI=x(["TSIntersectionType","IntersectionTypeAnnotation"]),rg=x(["TSConditionalType","ConditionalTypeAnnotation"]);var SS=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),vI=A=>{for(let g of A.quasis)delete g.value};function Lt(A,g){if(A.type==="Program"&&delete g.sourceType,(A.type==="BigIntLiteral"||A.type==="BigIntLiteralTypeAnnotation")&&A.value&&(g.value=A.value.toLowerCase()),(A.type==="BigIntLiteral"||A.type==="Literal")&&A.bigint&&(g.bigint=A.bigint.toLowerCase()),A.type==="EmptyStatement"||A.type==="JSXText"||A.type==="JSXExpressionContainer"&&(A.expression.type==="Literal"||A.expression.type==="StringLiteral")&&A.expression.value===" ")return null;if((A.type==="Property"||A.type==="ObjectProperty"||A.type==="MethodDefinition"||A.type==="ClassProperty"||A.type==="ClassMethod"||A.type==="PropertyDefinition"||A.type==="TSDeclareMethod"||A.type==="TSPropertySignature"||A.type==="ObjectTypeProperty"||A.type==="ImportAttribute")&&A.key&&!A.computed){let{key:C}=A;sA(C)||LA(C)?g.key=String(C.value):C.type==="Identifier"&&(g.key=C.name)}if(A.type==="JSXElement"&&A.openingElement.name.name==="style"&&A.openingElement.attributes.some(C=>C.type==="JSXAttribute"&&C.name.name==="jsx"))for(let{type:C,expression:B}of g.children)C==="JSXExpressionContainer"&&B.type==="TemplateLiteral"&&vI(B);A.type==="JSXAttribute"&&A.name.name==="css"&&A.value.type==="JSXExpressionContainer"&&A.value.expression.type==="TemplateLiteral"&&vI(g.value.expression),A.type==="JSXAttribute"&&A.value?.type==="Literal"&&/["']|"|'/u.test(A.value.value)&&(g.value.value=_(!1,A.value.value,/["']|"|'/gu,'"'));let I=A.expression||A.callee;if(A.type==="Decorator"&&I.type==="CallExpression"&&I.callee.name==="Component"&&I.arguments.length===1){let C=A.expression.arguments[0].properties;for(let[B,Q]of g.expression.arguments[0].properties.entries())switch(C[B].key.name){case"styles":IA(Q.value)&&vI(Q.value.elements[0]);break;case"template":Q.value.type==="TemplateLiteral"&&vI(Q.value);break}}A.type==="TaggedTemplateExpression"&&(A.tag.type==="MemberExpression"||A.tag.type==="Identifier"&&(A.tag.name==="gql"||A.tag.name==="graphql"||A.tag.name==="css"||A.tag.name==="md"||A.tag.name==="markdown"||A.tag.name==="html")||A.tag.type==="CallExpression")&&vI(g.quasi),A.type==="TemplateLiteral"&&vI(g),A.type==="ChainExpression"&&A.expression.type==="TSNonNullExpression"&&(g.type="TSNonNullExpression",g.expression.type="ChainExpression")}Lt.ignoredProperties=SS;var mt=Lt;og();var Gg="string",VA="array",Lg="cursor",pg="indent",Fg="align",mg="trim",mA="group",Cg="fill",OA="if-break",lg="indent-if-break",hg="line-suffix",Yg="line-suffix-boundary",RA="line",XA="label",sg="break-parent",YB=new Set([Lg,pg,Fg,mg,mA,Cg,OA,lg,hg,Yg,RA,XA,sg]);function MS(A){if(typeof A=="string")return Gg;if(Array.isArray(A))return VA;if(!A)return;let{type:g}=A;if(YB.has(g))return g}var Bg=MS;var kS=A=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(A);function RS(A){let g=A===null?"null":typeof A;if(g!=="string"&&g!=="object")return`Unexpected doc '${g}', +Expected it to be 'string' or 'object'.`;if(Bg(A))throw new Error("doc is valid.");let I=Object.prototype.toString.call(A);if(I!=="[object Object]")return`Unexpected doc '${I}'.`;let C=kS([...YB].map(B=>`'${B}'`));return`Unexpected doc.type '${A.type}'. +Expected it to be ${C}.`}var zE=class extends Error{name="InvalidDocError";constructor(g){super(RS(g)),this.doc=g}},oI=zE;var Ht={};function KS(A,g,I,C){let B=[A];for(;B.length>0;){let Q=B.pop();if(Q===Ht){I(B.pop());continue}I&&B.push(Q,Ht);let E=Bg(Q);if(!E)throw new oI(Q);if(g?.(Q)!==!1)switch(E){case VA:case Cg:{let e=E===VA?Q:Q.parts;for(let i=e.length,o=i-1;o>=0;--o)B.push(e[o]);break}case OA:B.push(Q.flatContents,Q.breakContents);break;case mA:if(C&&Q.expandedStates)for(let e=Q.expandedStates.length,i=e-1;i>=0;--i)B.push(Q.expandedStates[i]);else B.push(Q.contents);break;case Fg:case pg:case lg:case XA:case hg:B.push(Q.contents);break;case Gg:case Lg:case mg:case Yg:case RA:case sg:break;default:throw new oI(Q)}}}var SB=KS;function vg(A,g){if(typeof A=="string")return g(A);let I=new Map;return C(A);function C(Q){if(I.has(Q))return I.get(Q);let E=B(Q);return I.set(Q,E),E}function B(Q){switch(Bg(Q)){case VA:return g(Q.map(C));case Cg:return g({...Q,parts:Q.parts.map(C)});case OA:return g({...Q,breakContents:C(Q.breakContents),flatContents:C(Q.flatContents)});case mA:{let{expandedStates:E,contents:e}=Q;return E?(E=E.map(C),e=E[0]):e=C(e),g({...Q,contents:e,expandedStates:E})}case Fg:case pg:case lg:case XA:case hg:return g({...Q,contents:C(Q.contents)});case Gg:case Lg:case mg:case Yg:case RA:case sg:return g(Q);default:throw new oI(Q)}}}function Tt(A,g,I){let C=I,B=!1;function Q(E){if(B)return!1;let e=g(E);e!==void 0&&(B=!0,C=e)}return SB(A,Q),C}function US(A){if(A.type===mA&&A.break||A.type===RA&&A.hard||A.type===sg)return!0}function cA(A){return Tt(A,US,!1)}function ft(A){if(A.length>0){let g=P(!1,A,-1);!g.expandedStates&&!g.break&&(g.break="propagated")}return null}function xt(A){let g=new Set,I=[];function C(Q){if(Q.type===sg&&ft(I),Q.type===mA){if(I.push(Q),g.has(Q))return!1;g.add(Q)}}function B(Q){Q.type===mA&&I.pop().break&&ft(I)}SB(A,C,B,!0)}function JS(A){return A.type===RA&&!A.hard?A.soft?"":" ":A.type===OA?A.flatContents:A}function JC(A){return vg(A,JS)}function dS(A){switch(Bg(A)){case Cg:if(A.parts.every(g=>g===""))return"";break;case mA:if(!A.contents&&!A.id&&!A.break&&!A.expandedStates)return"";if(A.contents.type===mA&&A.contents.id===A.id&&A.contents.break===A.break&&A.contents.expandedStates===A.expandedStates)return A.contents;break;case Fg:case pg:case lg:case hg:if(!A.contents)return"";break;case OA:if(!A.flatContents&&!A.breakContents)return"";break;case VA:{let g=[];for(let I of A){if(!I)continue;let[C,...B]=Array.isArray(I)?I:[I];typeof C=="string"&&typeof P(!1,g,-1)=="string"?g[g.length-1]+=C:g.push(C),g.push(...B)}return g.length===0?"":g.length===1?g[0]:g}case Gg:case Lg:case mg:case Yg:case RA:case XA:case sg:break;default:throw new oI(A)}return A}function _I(A){return vg(A,g=>dS(g))}function Qg(A,g=MB){return vg(A,I=>typeof I=="string"?m(g,I.split(` +`)):I)}function LS(A){if(A.type===RA)return!0}function qt(A){return Tt(A,LS,!1)}function dC(A,g){return A.type===XA?{...A,contents:g(A.contents)}:g(A)}var jE=()=>{},Sg=jE,ZE=jE,bt=jE;function w(A){return Sg(A),{type:pg,contents:A}}function Dg(A,g){return Sg(g),{type:Fg,contents:g,n:A}}function s(A,g={}){return Sg(A),ZE(g.expandedStates,!0),{type:mA,id:g.id,contents:A,break:!!g.shouldBreak,expandedStates:g.expandedStates}}function Pt(A){return Dg(Number.NEGATIVE_INFINITY,A)}function kB(A){return Dg(-1,A)}function Mg(A,g){return s(A[0],{...g,expandedStates:A})}function RB(A){return bt(A),{type:Cg,parts:A}}function L(A,g="",I={}){return Sg(A),g!==""&&Sg(g),{type:OA,breakContents:A,flatContents:g,groupId:I.groupId}}function tI(A,g){return Sg(A),{type:lg,contents:A,groupId:g.groupId,negate:g.negate}}function WE(A){return Sg(A),{type:hg,contents:A}}var Eg={type:Yg},fA={type:sg};var VE={type:RA,hard:!0},mS={type:RA,hard:!0,literal:!0},F={type:RA},u={type:RA,soft:!0},p=[VE,fA],MB=[mS,fA],LC={type:Lg};function m(A,g){Sg(A),ZE(g);let I=[];for(let C=0;C0){for(let B=0;BC===0?I.trimEnd():" "+(CPS,ownLine:()=>bS,remaining:()=>OS});function fS(A){let g=A.type||A.kind||"(unknown type)",I=String(A.name||A.id&&(typeof A.id=="object"?A.id.name:A.id)||A.key&&(typeof A.key=="object"?A.key.name:A.key)||A.value&&(typeof A.value=="object"?"":String(A.value))||A.operator||"");return I.length>20&&(I=I.slice(0,19)+"\u2026"),g+(I?" "+I:"")}function XE(A,g){(A.comments??=[]).push(g),g.printed=!1,g.nodeDescription=fS(A)}function HA(A,g){g.leading=!0,g.trailing=!1,XE(A,g)}function vA(A,g,I){g.leading=!1,g.trailing=!1,I&&(g.marker=I),XE(A,g)}function BA(A,g){g.leading=!1,g.trailing=!0,XE(A,g)}function TS(A,g){let I=null,C=g;for(;C!==I;)I=C,C=wg(A,C),C=zI(A,C),C=jI(A,C),C=Ng(A,C);return C}var fg=TS;function xS(A,g){let I=fg(A,g);return I===!1?"":A.charAt(I)}var _A=xS;function qS(A,g,I){for(let C=g;Cyg(A)||!KA(g,H(A),K(A));function bS(A){return[Ar,Wt,vt,gM,jS,_E,$E,Zt,Vt,EM,CM,BM,ge,$t,eM,Xt,_t,Ae,ZS,aM,gr].some(g=>g(A))}function PS(A){return[zS,vt,Wt,$t,_E,$E,Zt,Vt,_t,IM,QM,ge,tM,Ae,sM,DM,nM,gr].some(g=>g(A))}function OS(A){return[Ar,_E,$E,WS,AM,Xt,ge,$S,_S,Ae,rM].some(g=>g(A))}function kI(A,g){let I=(A.body||A.properties).find(({type:C})=>C!=="EmptyStatement");I?HA(I,g):vA(A,g)}function vE(A,g){A.type==="BlockStatement"?kI(A,g):HA(A,g)}function zS({comment:A,followingNode:g}){return g&&PI(A)?(HA(g,A),!0):!1}function _E({comment:A,precedingNode:g,enclosingNode:I,followingNode:C,text:B}){if(I?.type!=="IfStatement"||!C)return!1;if(_A(B,K(A))===")")return BA(g,A),!0;if(g===I.consequent&&C===I.alternate){let E=fg(B,K(I.consequent));if(H(A)"?(vA(g,A),!0):!1}function AM({comment:A,enclosingNode:g,text:I}){return _A(I,K(A))!==")"?!1:g&&(Ir(g)&&DA(g).length===0||Xg(g)&&kA(g).length===0)?(vA(g,A),!0):(g?.type==="MethodDefinition"||g?.type==="TSAbstractMethodDefinition")&&DA(g.value).length===0?(vA(g.value,A),!0):!1}function gM({comment:A,precedingNode:g,enclosingNode:I,followingNode:C,text:B}){return g?.type==="ComponentTypeParameter"&&(I?.type==="DeclareComponent"||I?.type==="ComponentTypeAnnotation")&&C?.type!=="ComponentTypeParameter"?(BA(g,A),!0):(g?.type==="ComponentParameter"||g?.type==="RestElement")&&I?.type==="ComponentDeclaration"&&_A(B,K(A))===")"?(BA(g,A),!0):!1}function vt({comment:A,precedingNode:g,enclosingNode:I,followingNode:C,text:B}){return g?.type==="FunctionTypeParam"&&I?.type==="FunctionTypeAnnotation"&&C?.type!=="FunctionTypeParam"?(BA(g,A),!0):(g?.type==="Identifier"||g?.type==="AssignmentPattern"||g?.type==="ObjectPattern"||g?.type==="ArrayPattern"||g?.type==="RestElement"||g?.type==="TSParameterProperty")&&Ir(I)&&_A(B,K(A))===")"?(BA(g,A),!0):!oA(A)&&(I?.type==="FunctionDeclaration"||I?.type==="FunctionExpression"||I?.type==="ObjectMethod")&&C?.type==="BlockStatement"&&I.body===C&&fg(B,K(A))===H(C)?(kI(C,A),!0):!1}function _t({comment:A,enclosingNode:g}){return g?.type==="LabeledStatement"?(HA(g,A),!0):!1}function Ae({comment:A,enclosingNode:g}){return(g?.type==="ContinueStatement"||g?.type==="BreakStatement")&&!g.label?(BA(g,A),!0):!1}function IM({comment:A,precedingNode:g,enclosingNode:I}){return O(I)&&g&&I.callee===g&&I.arguments.length>0?(HA(I.arguments[0],A),!0):!1}function CM({comment:A,precedingNode:g,enclosingNode:I,followingNode:C}){return Ig(I)?(SI(A)&&(C.prettierIgnore=!0,A.unignore=!0),g?(BA(g,A),!0):!1):(Ig(C)&&SI(A)&&(C.types[0].prettierIgnore=!0,A.unignore=!0),!1)}function BM({comment:A,precedingNode:g,enclosingNode:I,followingNode:C}){return I&&I.type==="MatchOrPattern"?(SI(A)&&(C.prettierIgnore=!0,A.unignore=!0),g?(BA(g,A),!0):!1):(C&&C.type==="MatchOrPattern"&&SI(A)&&(C.types[0].prettierIgnore=!0,A.unignore=!0),!1)}function QM({comment:A,enclosingNode:g}){return PA(g)?(HA(g,A),!0):!1}function ge({comment:A,enclosingNode:g,ast:I,isLastComment:C}){return I?.body?.length===0?(C?vA(I,A):HA(I,A),!0):g?.type==="Program"&&g.body.length===0&&!b(g.directives)?(C?vA(g,A):HA(g,A),!0):!1}function EM({comment:A,enclosingNode:g}){return g?.type==="ForInStatement"||g?.type==="ForOfStatement"?(HA(g,A),!0):!1}function $t({comment:A,precedingNode:g,enclosingNode:I,text:C}){if(I?.type==="ImportSpecifier"||I?.type==="ExportSpecifier")return HA(I,A),!0;let B=g?.type==="ImportSpecifier"&&I?.type==="ImportDeclaration",Q=g?.type==="ExportSpecifier"&&I?.type==="ExportNamedDeclaration";return(B||Q)&&nA(C,K(A))?(BA(g,A),!0):!1}function eM({comment:A,enclosingNode:g}){return g?.type==="AssignmentPattern"?(HA(g,A),!0):!1}var iM=new Set(["VariableDeclarator","AssignmentExpression","TypeAlias","TSTypeAliasDeclaration"]),oM=new Set(["ObjectExpression","ArrayExpression","TemplateLiteral","TaggedTemplateExpression","ObjectTypeAnnotation","TSTypeLiteral"]);function tM({comment:A,enclosingNode:g,followingNode:I}){return iM.has(g?.type)&&I&&(oM.has(I.type)||oA(A))?(HA(I,A),!0):!1}function rM({comment:A,enclosingNode:g,followingNode:I,text:C}){return!I&&(g?.type==="TSMethodSignature"||g?.type==="TSDeclareFunction"||g?.type==="TSAbstractMethodDefinition")&&_A(C,K(A))===";"?(BA(g,A),!0):!1}function Ar({comment:A,enclosingNode:g,followingNode:I}){if(SI(A)&&g?.type==="TSMappedType"&&I===g.key)return g.prettierIgnore=!0,A.unignore=!0,!0}function gr({comment:A,precedingNode:g,enclosingNode:I}){if(I?.type==="TSMappedType"&&!g)return vA(I,A),!0}function sM({comment:A,enclosingNode:g,followingNode:I}){return!g||g.type!=="SwitchCase"||g.test||!I||I!==g.consequent[0]?!1:(I.type==="BlockStatement"&&yg(A)?kI(I,A):vA(g,A),!0)}function DM({comment:A,precedingNode:g,enclosingNode:I,followingNode:C}){return Ig(g)&&((I.type==="TSArrayType"||I.type==="ArrayTypeAnnotation")&&!C||XI(I))?(BA(P(!1,g.types,-1),A),!0):!1}function aM({comment:A,enclosingNode:g,precedingNode:I,followingNode:C}){if((g?.type==="ObjectPattern"||g?.type==="ArrayPattern")&&C?.type==="TSTypeAnnotation")return I?BA(I,A):vA(g,A),!0}function nM({comment:A,precedingNode:g,enclosingNode:I,followingNode:C,text:B}){return!C&&I?.type==="UnaryExpression"&&(g?.type==="LogicalExpression"||g?.type==="BinaryExpression")&&KA(B,H(I.argument),H(g.right))&&jt(A,B)&&!KA(B,H(g.right),H(A))?(BA(g.right,A),!0):!1}var Ir=x(["ArrowFunctionExpression","FunctionExpression","FunctionDeclaration","ObjectMethod","ClassMethod","TSDeclareFunction","TSCallSignatureDeclaration","TSConstructSignatureDeclaration","TSMethodSignature","TSConstructorType","TSFunctionType","TSDeclareMethod"]);var cM=new Set(["EmptyStatement","TemplateElement","TSEmptyBodyFunctionExpression","ChainExpression"]);function yM(A){return!cM.has(A.type)}function wM(A,g){if((g.parser==="typescript"||g.parser==="flow"||g.parser==="hermes"||g.parser==="acorn"||g.parser==="oxc"||g.parser==="oxc-ts"||g.parser==="espree"||g.parser==="meriyah"||g.parser==="__babel_estree")&&A.type==="MethodDefinition"&&A.value?.type==="FunctionExpression"&&DA(A.value).length===0&&!A.value.returnType&&!b(A.value.typeParameters)&&A.value.body)return[...A.decorators||[],A.key,A.value.body]}function Ce(A){let{node:g,parent:I}=A;return(tA(g)||I&&(I.type==="JSXSpreadAttribute"||I.type==="JSXSpreadChild"||Ig(I)||I.type==="MatchOrPattern"||(I.type==="ClassDeclaration"||I.type==="ClassExpression")&&I.superClass===g))&&(!MI(g)||Ig(I))}function NM(A,{parser:g}){if(g==="flow"||g==="hermes"||g==="babel-flow")return A=_(!1,A,/[\s(]/gu,""),A===""||A==="/*"||A==="/*::"}og();og();var $A=Symbol("MODE_BREAK"),Tg=Symbol("MODE_FLAT"),$I=Symbol("cursor"),Be=Symbol("DOC_FILL_PRINTED_LENGTH");function Cr(){return{value:"",length:0,queue:[]}}function uM(A,g){return Qe(A,{type:"indent"},g)}function GM(A,g,I){return g===Number.NEGATIVE_INFINITY?A.root||Cr():g<0?Qe(A,{type:"dedent"},I):g?g.type==="root"?{...A,root:A}:Qe(A,{type:typeof g=="string"?"stringAlign":"numberAlign",n:g},I):A}function Qe(A,g,I){let C=g.type==="dedent"?A.queue.slice(0,-1):[...A.queue,g],B="",Q=0,E=0,e=0;for(let n of C)switch(n.type){case"indent":r(),I.useTabs?i(1):o(I.tabWidth);break;case"stringAlign":r(),B+=n.n,Q+=n.n.length;break;case"numberAlign":E+=1,e+=n.n;break;default:throw new Error(`Unexpected type '${n.type}'`)}return D(),{...A,value:B,length:Q,queue:C};function i(n){B+=" ".repeat(n),Q+=I.tabWidth*n}function o(n){B+=" ".repeat(n),Q+=n}function r(){I.useTabs?a():D()}function a(){E>0&&i(E),y()}function D(){e>0&&o(e),y()}function y(){E=0,e=0}}function Ee(A){let g=0,I=0,C=A.length;A:for(;C--;){let B=A[C];if(B===$I){I++;continue}for(let Q=B.length-1;Q>=0;Q--){let E=B[Q];if(E===" "||E===" ")g++;else{A[C]=B.slice(0,Q+1);break A}}}if(g>0||I>0)for(A.length=C+1;I-- >0;)A.push($I);return g}function KB(A,g,I,C,B,Q){if(I===Number.POSITIVE_INFINITY)return!0;let E=g.length,e=[A],i=[];for(;I>=0;){if(e.length===0){if(E===0)return!0;e.push(g[--E]);continue}let{mode:o,doc:r}=e.pop(),a=Bg(r);switch(a){case Gg:i.push(r),I-=Ug(r);break;case VA:case Cg:{let D=a===VA?r:r.parts,y=r[Be]??0;for(let n=D.length-1;n>=y;n--)e.push({mode:o,doc:D[n]});break}case pg:case Fg:case lg:case XA:e.push({mode:o,doc:r.contents});break;case mg:I+=Ee(i);break;case mA:{if(Q&&r.break)return!1;let D=r.break?$A:o,y=r.expandedStates&&D===$A?P(!1,r.expandedStates,-1):r.contents;e.push({mode:D,doc:y});break}case OA:{let y=(r.groupId?B[r.groupId]||Tg:o)===$A?r.breakContents:r.flatContents;y&&e.push({mode:o,doc:y});break}case RA:if(o===$A||r.hard)return!0;r.soft||(i.push(" "),I--);break;case hg:C=!0;break;case Yg:if(C)return!1;break}}return!1}function ee(A,g){let I={},C=g.printWidth,B=Qt(g.endOfLine),Q=0,E=[{ind:Cr(),mode:$A,doc:A}],e=[],i=!1,o=[],r=0;for(xt(A);E.length>0;){let{ind:D,mode:y,doc:n}=E.pop();switch(Bg(n)){case Gg:{let M=B!==` +`?_(!1,n,` +`,B):n;e.push(M),E.length>0&&(Q+=Ug(M));break}case VA:for(let M=n.length-1;M>=0;M--)E.push({ind:D,mode:y,doc:n[M]});break;case Lg:if(r>=2)throw new Error("There are too many 'cursor' in doc.");e.push($I),r++;break;case pg:E.push({ind:uM(D,g),mode:y,doc:n.contents});break;case Fg:E.push({ind:GM(D,n.n,g),mode:y,doc:n.contents});break;case mg:Q-=Ee(e);break;case mA:switch(y){case Tg:if(!i){E.push({ind:D,mode:n.break?$A:Tg,doc:n.contents});break}case $A:{i=!1;let M={ind:D,mode:Tg,doc:n.contents},R=C-Q,d=o.length>0;if(!n.break&&KB(M,E,R,d,I))E.push(M);else if(n.expandedStates){let k=P(!1,n.expandedStates,-1);if(n.break){E.push({ind:D,mode:$A,doc:k});break}else for(let S=1;S=n.expandedStates.length){E.push({ind:D,mode:$A,doc:k});break}else{let f=n.expandedStates[S],J={ind:D,mode:Tg,doc:f};if(KB(J,E,R,d,I)){E.push(J);break}}}else E.push({ind:D,mode:$A,doc:n.contents});break}}n.id&&(I[n.id]=P(!1,E,-1).mode);break;case Cg:{let M=C-Q,R=n[Be]??0,{parts:d}=n,k=d.length-R;if(k===0)break;let S=d[R+0],f=d[R+1],J={ind:D,mode:Tg,doc:S},Z={ind:D,mode:$A,doc:S},uA=KB(J,[],M,o.length>0,I,!0);if(k===1){uA?E.push(J):E.push(Z);break}let UA={ind:D,mode:Tg,doc:f},yA={ind:D,mode:$A,doc:f};if(k===2){uA?E.push(UA,J):E.push(yA,Z);break}let lA=d[R+2],AA={ind:D,mode:y,doc:{...n,[Be]:R+2}};KB({ind:D,mode:Tg,doc:[S,f,lA]},[],M,o.length>0,I,!0)?E.push(AA,UA,J):uA?E.push(AA,yA,J):E.push(AA,yA,Z);break}case OA:case lg:{let M=n.groupId?I[n.groupId]:y;if(M===$A){let R=n.type===OA?n.breakContents:n.negate?n.contents:w(n.contents);R&&E.push({ind:D,mode:y,doc:R})}if(M===Tg){let R=n.type===OA?n.flatContents:n.negate?w(n.contents):n.contents;R&&E.push({ind:D,mode:y,doc:R})}break}case hg:o.push({ind:D,mode:y,doc:n.contents});break;case Yg:o.length>0&&E.push({ind:D,mode:y,doc:VE});break;case RA:switch(y){case Tg:if(n.hard)i=!0;else{n.soft||(e.push(" "),Q+=1);break}case $A:if(o.length>0){E.push({ind:D,mode:y,doc:n},...o.reverse()),o.length=0;break}n.literal?D.root?(e.push(B,D.root.value),Q=D.root.length):(e.push(B),Q=0):(Q-=Ee(e),e.push(B+D.value),Q=D.length);break}break;case XA:E.push({ind:D,mode:y,doc:n.contents});break;case sg:break;default:throw new oI(n)}E.length===0&&o.length>0&&(E.push(...o.reverse()),o.length=0)}let a=e.indexOf($I);if(a!==-1){let D=e.indexOf($I,a+1);if(D===-1)return{formatted:e.filter(R=>R!==$I).join("")};let y=e.slice(0,a).join(""),n=e.slice(a+1,D).join(""),M=e.slice(D+1).join("");return{formatted:y+n+M,cursorNodeStart:y.length,cursorNodeText:n}}return{formatted:e.join("")}}function pM(A,g,I=0){let C=0;for(let B=I;B{if(E.push(I()),r.tail)return;let{tabWidth:a}=g,D=r.value.raw,y=D.includes(` +`)?Qr(D,a):i;i=y;let n=e[o],M=C[Q][o],R=KA(g.originalText,K(r),H(C.quasis[o+1]));if(!R){let k=ee(n,{...g,printWidth:Number.POSITIVE_INFINITY}).formatted;k.includes(` +`)?R=!0:n=k}n=[w([u,n]),u];let d=y===0&&D.endsWith(` +`)?Dg(Number.NEGATIVE_INFINITY,n):Ot(n,y,a);E.push(s(["${",d,Eg,"}"]))},"quasis"),E.push("`"),E}function Er(A,g,I){let C=I("quasi"),{node:B}=A,Q="",E=Vg(B.quasi,Y.Leading)[0];return E&&(KA(g.originalText,K(B.typeArguments??B.typeParameters??B.tag),H(E))?Q=u:Q=" "),Hg(C.label&&{tagged:!0,...C.label},[I("tag"),I(B.typeArguments?"typeArguments":"typeParameters"),Q,Eg,C])}function lM(A,g,I){let{node:C}=A,B=C.quasis[0].value.raw.trim().split(/\s*\|\s*/u);if(B.length>1||B.some(Q=>Q.length>0)){g.__inJestEach=!0;let Q=A.map(I,"expressions");g.__inJestEach=!1;let E=[],e=Q.map(D=>"${"+ee(D,{...g,printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"}).formatted+"}"),i=[{hasLineBreak:!1,cells:[]}];for(let D=1;DD.cells.length)),r=Array.from({length:o}).fill(0),a=[{cells:B},...i.filter(D=>D.cells.length>0)];for(let{cells:D}of a.filter(y=>!y.hasLineBreak))for(let[y,n]of D.entries())r[y]=Math.max(r[y],Ug(n));return E.push(Eg,"`",w([p,m(p,a.map(D=>m(" | ",D.cells.map((y,n)=>D.hasLineBreak?y:y+" ".repeat(r[n]-Ug(y))))))]),p,"`"),E}}function hM(A,g){let{node:I}=A,C=g();return l(I)&&(C=s([w([u,C]),u])),["${",C,Eg,"}"]}function AC(A,g){return A.map(I=>hM(I,g),"expressions")}function JB(A,g){return vg(A,I=>typeof I=="string"?g?_(!1,I,/(\\*)`/gu,"$1$1\\`"):ie(I):I)}function ie(A){return _(!1,A,/([\\`]|\$\{)/gu,String.raw`\$1`)}function YM({node:A,parent:g}){let I=/^[fx]?(?:describe|it|test)$/u;return g.type==="TaggedTemplateExpression"&&g.quasi===A&&g.tag.type==="MemberExpression"&&g.tag.property.type==="Identifier"&&g.tag.property.name==="each"&&(g.tag.object.type==="Identifier"&&I.test(g.tag.object.name)||g.tag.object.type==="MemberExpression"&&g.tag.object.property.type==="Identifier"&&(g.tag.object.property.name==="only"||g.tag.object.property.name==="skip")&&g.tag.object.object.type==="Identifier"&&I.test(g.tag.object.object.name))}var te=[(A,g)=>A.type==="ObjectExpression"&&g==="properties",(A,g)=>A.type==="CallExpression"&&A.callee.type==="Identifier"&&A.callee.name==="Component"&&g==="arguments",(A,g)=>A.type==="Decorator"&&g==="expression"];function er(A){let g=C=>C.type==="TemplateLiteral",I=(C,B)=>PA(C)&&!C.computed&&C.key.type==="Identifier"&&C.key.name==="styles"&&B==="value";return A.match(g,(C,B)=>IA(C)&&B==="elements",I,...te)||A.match(g,I,...te)}function ir(A){return A.match(g=>g.type==="TemplateLiteral",(g,I)=>PA(g)&&!g.computed&&g.key.type==="Identifier"&&g.key.name==="template"&&I==="value",...te)}function oe(A,g){return l(A,Y.Block|Y.Leading,({value:I})=>I===` ${g} `)}function dB({node:A,parent:g},I){return oe(A,I)||SM(g)&&oe(g,I)||g.type==="ExpressionStatement"&&oe(g,I)}function SM(A){return A.type==="AsConstExpression"||A.type==="TSAsExpression"&&A.typeAnnotation.type==="TSTypeReference"&&A.typeAnnotation.typeName.type==="Identifier"&&A.typeAnnotation.typeName.name==="const"}async function MM(A,g,I){let{node:C}=I,B=C.quasis.map(r=>r.value.raw),Q=0,E=B.reduce((r,a,D)=>D===0?a:r+"@prettier-placeholder-"+Q+++"-id"+a,""),e=await A(E,{parser:"scss"}),i=AC(I,g),o=kM(e,i);if(!o)throw new Error("Couldn't insert all the expressions");return["`",w([p,o]),u,"`"]}function kM(A,g){if(!b(g))return A;let I=0,C=vg(_I(A),B=>typeof B!="string"||!B.includes("@prettier-placeholder")?B:B.split(/@prettier-placeholder-(\d+)-id/u).map((Q,E)=>E%2===0?Qg(Q):(I++,g[Q])));return g.length===I?C:null}function RM({node:A,parent:g,grandparent:I}){return I&&A.quasis&&g.type==="JSXExpressionContainer"&&I.type==="JSXElement"&&I.openingElement.name.name==="style"&&I.openingElement.attributes.some(C=>C.type==="JSXAttribute"&&C.name.name==="jsx")||g?.type==="TaggedTemplateExpression"&&g.tag.type==="Identifier"&&g.tag.name==="css"||g?.type==="TaggedTemplateExpression"&&g.tag.type==="MemberExpression"&&g.tag.object.name==="css"&&(g.tag.property.name==="global"||g.tag.property.name==="resolve")}function LB(A){return A.type==="Identifier"&&A.name==="styled"}function or(A){return/^[A-Z]/u.test(A.object.name)&&A.property.name==="extend"}function KM({parent:A}){if(!A||A.type!=="TaggedTemplateExpression")return!1;let g=A.tag.type==="ParenthesizedExpression"?A.tag.expression:A.tag;switch(g.type){case"MemberExpression":return LB(g.object)||or(g);case"CallExpression":return LB(g.callee)||g.callee.type==="MemberExpression"&&(g.callee.object.type==="MemberExpression"&&(LB(g.callee.object.object)||or(g.callee.object))||g.callee.object.type==="CallExpression"&&LB(g.callee.object.callee));case"Identifier":return g.name==="css";default:return!1}}function UM({parent:A,grandparent:g}){return g?.type==="JSXAttribute"&&A.type==="JSXExpressionContainer"&&g.name.type==="JSXIdentifier"&&g.name.name==="css"}function JM(A){if(RM(A)||KM(A)||UM(A)||er(A))return MM}var tr=JM;async function dM(A,g,I){let{node:C}=I,B=C.quasis.length,Q=AC(I,g),E=[];for(let e=0;e2&&D[0].trim()===""&&D[1].trim()==="",R=y>2&&D[y-1].trim()===""&&D[y-2].trim()==="",d=D.every(S=>/^\s*(?:#[^\n\r]*)?$/u.test(S));if(!r&&/#[^\n\r]*$/u.test(D[y-1]))return null;let k=null;d?k=LM(D):k=await A(a,{parser:"graphql"}),k?(k=JB(k,!1),!o&&M&&E.push(""),E.push(k),!r&&R&&E.push("")):!o&&!r&&M&&E.push(""),n&&E.push(n)}return["`",w([p,m(p,E)]),p,"`"]}function LM(A){let g=[],I=!1,C=A.map(B=>B.trim());for(let[B,Q]of C.entries())Q!==""&&(C[B-1]===""&&I?g.push([p,Q]):g.push(Q),I=!0);return g.length===0?null:m(p,g)}function mM({node:A,parent:g}){return dB({node:A,parent:g},"GraphQL")||g&&(g.type==="TaggedTemplateExpression"&&(g.tag.type==="MemberExpression"&&g.tag.object.name==="graphql"&&g.tag.property.name==="experimental"||g.tag.type==="Identifier"&&(g.tag.name==="gql"||g.tag.name==="graphql"))||g.type==="CallExpression"&&g.callee.type==="Identifier"&&g.callee.name==="graphql")}function HM(A){if(mM(A))return dM}var rr=HM;og();var re=0;async function sr(A,g,I,C,B){let{node:Q}=C,E=re;re=re+1>>>0;let e=d=>`PRETTIER_HTML_PLACEHOLDER_${d}_${E}_IN_JS`,i=Q.quasis.map((d,k,S)=>k===S.length-1?d.value.cooked:d.value.cooked+e(k)).join(""),o=AC(C,I),r=new RegExp(e(String.raw`(\d+)`),"gu"),a=0,D=await g(i,{parser:A,__onHtmlRoot(d){a=d.children.length}}),y=vg(D,d=>{if(typeof d!="string")return d;let k=[],S=d.split(r);for(let f=0;f1?w(s(y)):s(y),M,"`"]))}function fM(A){return dB(A,"HTML")||A.match(g=>g.type==="TemplateLiteral",(g,I)=>g.type==="TaggedTemplateExpression"&&g.tag.type==="Identifier"&&g.tag.name==="html"&&I==="quasi")}var TM=sr.bind(void 0,"html"),xM=sr.bind(void 0,"angular");function qM(A){if(fM(A))return TM;if(ir(A))return xM}var Dr=qM;og();async function bM(A,g,I){let{node:C}=I,B=_(!1,C.quasis[0].value.raw,/((?:\\\\)*)\\`/gu,(i,o)=>"\\".repeat(o.length/2)+"`"),Q=PM(B),E=Q!=="";E&&(B=_(!1,B,new RegExp(`^${Q}`,"gmu"),""));let e=JB(await A(B,{parser:"markdown",__inJsTemplate:!0}),!0);return["`",E?w([u,e]):[MB,Pt(e)],u,"`"]}function PM(A){let g=A.match(/^([^\S\n]*)\S/mu);return g===null?"":g[1]}function OM(A){if(zM(A))return bM}function zM({node:A,parent:g}){return g?.type==="TaggedTemplateExpression"&&A.quasis.length===1&&g.tag.type==="Identifier"&&(g.tag.name==="md"||g.tag.name==="markdown")}var ar=OM;function jM(A){let{node:g}=A;if(g.type!=="TemplateLiteral"||ZM(g))return;let I;for(let C of[tr,rr,Dr,ar])if(I=C(A),!!I)return g.quasis.length===1&&g.quasis[0].value.raw.trim()===""?"``":async(...B)=>{let Q=await I(...B);return Q&&Hg({embed:!0,...Q.label},Q)}}function ZM({quasis:A}){return A.some(({value:{cooked:g}})=>g===null)}var nr=jM;function WM(A,g){let{originalText:I,[Symbol.for("comments")]:C,locStart:B,locEnd:Q,[Symbol.for("printedComments")]:E}=g,{node:e}=A,i=B(e),o=Q(e);for(let r of C)B(r)>=i&&Q(r)<=o&&E.add(r);return I.slice(i,o)}var cr=WM;function se(A,g){if(A.isRoot)return!1;let{node:I,key:C,parent:B}=A;if(g.__isInHtmlInterpolation&&!g.bracketSpacing&&_M(I)&&mC(A))return!0;if(VM(I))return!1;if(I.type==="Identifier"){if(I.extra?.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(I.name)||C==="left"&&(I.name==="async"&&!B.await||I.name==="let")&&B.type==="ForOfStatement")return!0;if(I.name==="let"){let Q=A.findAncestor(E=>E.type==="ForOfStatement")?.left;if(Q&&YA(Q,E=>E===I))return!0}if(C==="object"&&I.name==="let"&&B.type==="MemberExpression"&&B.computed&&!B.optional){let Q=A.findAncestor(e=>e.type==="ExpressionStatement"||e.type==="ForStatement"||e.type==="ForInStatement"),E=Q?Q.type==="ExpressionStatement"?Q.expression:Q.type==="ForStatement"?Q.init:Q.left:void 0;if(E&&YA(E,e=>e===I))return!0}if(C==="expression")switch(I.name){case"await":case"interface":case"module":case"using":case"yield":case"let":case"component":case"hook":case"type":{let Q=A.findAncestor(E=>!tg(E));if(Q!==B&&Q.type==="ExpressionStatement")return!0}}return!1}if(I.type==="ObjectExpression"||I.type==="FunctionExpression"||I.type==="ClassExpression"||I.type==="DoExpression"){let Q=A.findAncestor(E=>E.type==="ExpressionStatement")?.expression;if(Q&&YA(Q,E=>E===I))return!0}if(I.type==="ObjectExpression"){let Q=A.findAncestor(E=>E.type==="ArrowFunctionExpression")?.body;if(Q&&Q.type!=="SequenceExpression"&&Q.type!=="AssignmentExpression"&&YA(Q,E=>E===I))return!0}switch(B.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":if(C==="superClass"&&(I.type==="ArrowFunctionExpression"||I.type==="AssignmentExpression"||I.type==="AwaitExpression"||I.type==="BinaryExpression"||I.type==="ConditionalExpression"||I.type==="LogicalExpression"||I.type==="NewExpression"||I.type==="ObjectExpression"||I.type==="SequenceExpression"||I.type==="TaggedTemplateExpression"||I.type==="UnaryExpression"||I.type==="UpdateExpression"||I.type==="YieldExpression"||I.type==="TSNonNullExpression"||I.type==="ClassExpression"&&b(I.decorators)))return!0;break;case"ExportDefaultDeclaration":return yr(A,g)||I.type==="SequenceExpression";case"Decorator":if(C==="expression"&&!Ak(I))return!0;break;case"TypeAnnotation":if(A.match(void 0,void 0,(Q,E)=>E==="returnType"&&Q.type==="ArrowFunctionExpression")&&vM(I))return!0;break;case"BinaryExpression":if(C==="left"&&(B.operator==="in"||B.operator==="instanceof")&&I.type==="UnaryExpression")return!0;break;case"VariableDeclarator":if(C==="init"&&A.match(void 0,void 0,(Q,E)=>E==="declarations"&&Q.type==="VariableDeclaration",(Q,E)=>E==="left"&&Q.type==="ForInStatement"))return!0;break}switch(I.type){case"UpdateExpression":if(B.type==="UnaryExpression")return I.prefix&&(I.operator==="++"&&B.operator==="+"||I.operator==="--"&&B.operator==="-");case"UnaryExpression":switch(B.type){case"UnaryExpression":return I.operator===B.operator&&(I.operator==="+"||I.operator==="-");case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"BinaryExpression":return C==="left"&&B.operator==="**";case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":if(B.type==="UpdateExpression"||I.operator==="in"&&XM(A))return!0;if(I.operator==="|>"&&I.extra?.parenthesized){let Q=A.grandparent;if(Q.type==="BinaryExpression"&&Q.operator==="|>")return!0}case"TSTypeAssertion":case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"LogicalExpression":switch(B.type){case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return!tg(I)&&I.type!=="BinaryExpression";case"ConditionalExpression":return!1;case"CallExpression":case"NewExpression":case"OptionalCallExpression":return C==="callee";case"ClassExpression":case"ClassDeclaration":return C==="superClass";case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"BindExpression":case"AwaitExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"AssignmentExpression":case"AssignmentPattern":return C==="left"&&(I.type==="TSTypeAssertion"||tg(I));case"LogicalExpression":if(I.type==="LogicalExpression")return Wg(I.operator)Q==="??");case"BinaryExpression":{let{operator:Q,type:E}=I;if(!Q&&E!=="TSTypeAssertion"){let r=Wg(B.operator),a=Wg(A.grandparent.operator);return C==="right"&&B.type==="BinaryExpression"||A.grandparent.type==="BinaryExpression"&&ae||C==="right"&&o===e}default:return!1}case"SequenceExpression":return B.type!=="ForStatement";case"YieldExpression":if(B.type==="AwaitExpression"||B.type==="TSTypeAssertion")return!0;case"AwaitExpression":switch(B.type){case"TaggedTemplateExpression":case"TSNonNullExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"ConditionalExpression":return!1;case"BinaryExpression":return!1;default:return!1}case"TSFunctionType":if(A.match(Q=>Q.type==="TSFunctionType",(Q,E)=>E==="typeAnnotation"&&Q.type==="TSTypeAnnotation",(Q,E)=>E==="returnType"&&Q.type==="ArrowFunctionExpression"))return!0;case"TSConditionalType":case"TSConstructorType":case"ConditionalTypeAnnotation":if(C==="extendsType"&&rg(I)&&B.type===I.type||C==="checkType"&&rg(B))return!0;if(C==="extendsType"&&B.type==="TSConditionalType"){let{typeAnnotation:Q}=I.returnType||I.typeAnnotation;if(Q.type==="TSTypePredicate"&&Q.typeAnnotation&&(Q=Q.typeAnnotation.typeAnnotation),Q.type==="TSInferType"&&Q.typeParameter.constraint)return!0}case"TSUnionType":if((Ig(B)||XI(B))&&B.types.length>1&&(!I.types||I.types.length>1))return!0;case"TSIntersectionType":case"TSInferType":if(I.type==="TSInferType"){if(B.type==="TSRestType")return!1;if(C==="types"&&(B.type==="TSUnionType"||B.type==="TSIntersectionType")&&I.typeParameter.type==="TSTypeParameter"&&I.typeParameter.constraint)return!0}case"TSTypeOperator":return B.type==="TSArrayType"||B.type==="TSOptionalType"||B.type==="TSRestType"||C==="objectType"&&B.type==="TSIndexedAccessType"||B.type==="TSTypeOperator"||B.type==="TSTypeAnnotation"&&A.grandparent.type.startsWith("TSJSDoc");case"TSTypeQuery":return C==="elementType"&&B.type==="TSArrayType";case"TypeOperator":return B.type==="ArrayTypeAnnotation"||B.type==="NullableTypeAnnotation"||C==="objectType"&&(B.type==="IndexedAccessType"||B.type==="OptionalIndexedAccessType")||B.type==="TypeOperator";case"TypeofTypeAnnotation":return C==="objectType"&&(B.type==="IndexedAccessType"||B.type==="OptionalIndexedAccessType")||C==="elementType"&&B.type==="ArrayTypeAnnotation";case"ArrayTypeAnnotation":return B.type==="NullableTypeAnnotation";case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return B.type==="TypeOperator"||B.type==="KeyofTypeAnnotation"||B.type==="ArrayTypeAnnotation"||B.type==="NullableTypeAnnotation"||B.type==="IntersectionTypeAnnotation"||B.type==="UnionTypeAnnotation"||C==="objectType"&&(B.type==="IndexedAccessType"||B.type==="OptionalIndexedAccessType");case"InferTypeAnnotation":case"NullableTypeAnnotation":return B.type==="ArrayTypeAnnotation"||C==="objectType"&&(B.type==="IndexedAccessType"||B.type==="OptionalIndexedAccessType");case"ComponentTypeAnnotation":case"FunctionTypeAnnotation":{if(I.type==="ComponentTypeAnnotation"&&(I.rendersType===null||I.rendersType===void 0))return!1;if(A.match(void 0,(E,e)=>e==="typeAnnotation"&&E.type==="TypeAnnotation",(E,e)=>e==="returnType"&&E.type==="ArrowFunctionExpression")||A.match(void 0,(E,e)=>e==="typeAnnotation"&&E.type==="TypePredicate",(E,e)=>e==="typeAnnotation"&&E.type==="TypeAnnotation",(E,e)=>e==="returnType"&&E.type==="ArrowFunctionExpression"))return!0;let Q=B.type==="NullableTypeAnnotation"?A.grandparent:B;return Q.type==="UnionTypeAnnotation"||Q.type==="IntersectionTypeAnnotation"||Q.type==="ArrayTypeAnnotation"||C==="objectType"&&(Q.type==="IndexedAccessType"||Q.type==="OptionalIndexedAccessType")||C==="checkType"&&B.type==="ConditionalTypeAnnotation"||C==="extendsType"&&B.type==="ConditionalTypeAnnotation"&&I.returnType?.type==="InferTypeAnnotation"&&I.returnType?.typeParameter.bound||Q.type==="NullableTypeAnnotation"||B.type==="FunctionTypeParam"&&B.name===null&&DA(I).some(E=>E.typeAnnotation?.type==="NullableTypeAnnotation")}case"OptionalIndexedAccessType":return C==="objectType"&&B.type==="IndexedAccessType";case"StringLiteral":case"NumericLiteral":case"Literal":if(typeof I.value=="string"&&B.type==="ExpressionStatement"&&typeof B.directive!="string"){let Q=A.grandparent;return Q.type==="Program"||Q.type==="BlockStatement"}return C==="object"&&X(B)&&LA(I);case"AssignmentExpression":return C==="callee"&&B.type==="CallExpression"||C==="test"&&B.type==="ConditionalExpression"||["ArrowFunctionExpression","ExpressionStatement"].includes(B.type)&&I.left.type==="ObjectPattern"||C==="object"&&B.type==="MemberExpression"||["AwaitExpression","BinaryExpression","LogicalExpression","UnaryExpression","TSAsExpression","TSSatisfiesExpression"].includes(B.type);case"ConditionalExpression":switch(B.type){case"TaggedTemplateExpression":case"UnaryExpression":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"ConditionalExpression":return g.experimentalTernaries?!1:C==="test";case"MemberExpression":case"OptionalMemberExpression":return C==="object";default:return!1}case"FunctionExpression":switch(B.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(B.type){case"BinaryExpression":return B.operator!=="|>"||I.extra?.parenthesized;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return C==="callee";case"MemberExpression":case"OptionalMemberExpression":return C==="object";case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"TSNonNullExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":case"MatchExpressionCase":return!0;case"TSInstantiationExpression":return C==="expression";case"ConditionalExpression":return C==="test";default:return!1}case"ClassExpression":switch(B.type){case"NewExpression":return C==="callee";default:return!1}case"OptionalMemberExpression":case"OptionalCallExpression":case"CallExpression":case"MemberExpression":if($M(A))return!0;case"TaggedTemplateExpression":case"TSNonNullExpression":if(C==="callee"&&(B.type==="BindExpression"||B.type==="NewExpression")){let Q=I;for(;Q;)switch(Q.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":Q=Q.object;break;case"TaggedTemplateExpression":Q=Q.tag;break;case"TSNonNullExpression":Q=Q.expression;break;default:return!1}}return!1;case"BindExpression":return C==="callee"&&(B.type==="BindExpression"||B.type==="NewExpression")||C==="object"&&X(B);case"NGPipeExpression":return!(B.type==="NGRoot"||B.type==="NGMicrosyntaxExpression"||B.type==="ObjectProperty"&&!I.extra?.parenthesized||IA(B)||C==="arguments"&&O(B)||C==="right"&&B.type==="NGPipeExpression"||C==="property"&&B.type==="MemberExpression"||B.type==="AssignmentExpression");case"JSXFragment":case"JSXElement":return C==="callee"||C==="left"&&B.type==="BinaryExpression"&&B.operator==="<"||!IA(B)&&B.type!=="ArrowFunctionExpression"&&B.type!=="AssignmentExpression"&&B.type!=="AssignmentPattern"&&B.type!=="BinaryExpression"&&B.type!=="NewExpression"&&B.type!=="ConditionalExpression"&&B.type!=="ExpressionStatement"&&B.type!=="JsExpressionRoot"&&B.type!=="JSXAttribute"&&B.type!=="JSXElement"&&B.type!=="JSXExpressionContainer"&&B.type!=="JSXFragment"&&B.type!=="LogicalExpression"&&!O(B)&&!PA(B)&&B.type!=="ReturnStatement"&&B.type!=="ThrowStatement"&&B.type!=="TypeCastExpression"&&B.type!=="VariableDeclarator"&&B.type!=="YieldExpression"&&B.type!=="MatchExpressionCase";case"TSInstantiationExpression":return C==="object"&&X(B);case"MatchOrPattern":return B.type==="MatchAsPattern"}return!1}var VM=x(["BlockStatement","BreakStatement","ComponentDeclaration","ClassBody","ClassDeclaration","ClassMethod","ClassProperty","PropertyDefinition","ClassPrivateProperty","ContinueStatement","DebuggerStatement","DeclareComponent","DeclareClass","DeclareExportAllDeclaration","DeclareExportDeclaration","DeclareFunction","DeclareHook","DeclareInterface","DeclareModule","DeclareModuleExports","DeclareNamespace","DeclareVariable","DeclareEnum","DoWhileStatement","EnumDeclaration","ExportAllDeclaration","ExportDefaultDeclaration","ExportNamedDeclaration","ExpressionStatement","ForInStatement","ForOfStatement","ForStatement","FunctionDeclaration","HookDeclaration","IfStatement","ImportDeclaration","InterfaceDeclaration","LabeledStatement","MethodDefinition","ReturnStatement","SwitchStatement","ThrowStatement","TryStatement","TSDeclareFunction","TSEnumDeclaration","TSImportEqualsDeclaration","TSInterfaceDeclaration","TSModuleDeclaration","TSNamespaceExportDeclaration","TypeAlias","VariableDeclaration","WhileStatement","WithStatement"]);function XM(A){let g=0,{node:I}=A;for(;I;){let C=A.getParentNode(g++);if(C?.type==="ForStatement"&&C.init===I)return!0;I=C}return!1}function vM(A){return RC(A,g=>g.type==="ObjectTypeAnnotation"&&RC(g,I=>I.type==="FunctionTypeAnnotation"))}function _M(A){return SA(A)}function mC(A){let{parent:g,key:I}=A;switch(g.type){case"NGPipeExpression":if(I==="arguments"&&A.isLast)return A.callParent(mC);break;case"ObjectProperty":if(I==="value")return A.callParent(()=>A.key==="properties"&&A.isLast);break;case"BinaryExpression":case"LogicalExpression":if(I==="right")return A.callParent(mC);break;case"ConditionalExpression":if(I==="alternate")return A.callParent(mC);break;case"UnaryExpression":if(g.prefix)return A.callParent(mC);break}return!1}function yr(A,g){let{node:I,parent:C}=A;return I.type==="FunctionExpression"||I.type==="ClassExpression"?C.type==="ExportDefaultDeclaration"||!se(A,g):!WI(I)||C.type!=="ExportDefaultDeclaration"&&se(A,g)?!1:A.call(()=>yr(A,g),...uB(I))}function $M(A){return!!(A.match(void 0,(g,I)=>I==="expression"&&g.type==="ChainExpression",(g,I)=>I==="tag"&&g.type==="TaggedTemplateExpression")||A.match(g=>g.type==="OptionalCallExpression"||g.type==="OptionalMemberExpression",(g,I)=>I==="tag"&&g.type==="TaggedTemplateExpression")||A.match(g=>g.type==="OptionalCallExpression"||g.type==="OptionalMemberExpression",(g,I)=>I==="expression"&&g.type==="TSNonNullExpression",(g,I)=>I==="tag"&&g.type==="TaggedTemplateExpression")||A.match(void 0,(g,I)=>I==="expression"&&g.type==="ChainExpression",(g,I)=>I==="expression"&&g.type==="TSNonNullExpression",(g,I)=>I==="tag"&&g.type==="TaggedTemplateExpression")||A.match(void 0,(g,I)=>I==="expression"&&g.type==="TSNonNullExpression",(g,I)=>I==="expression"&&g.type==="ChainExpression",(g,I)=>I==="tag"&&g.type==="TaggedTemplateExpression")||A.match(g=>g.type==="OptionalMemberExpression"||g.type==="OptionalCallExpression",(g,I)=>I==="object"&&g.type==="MemberExpression"||I==="callee"&&(g.type==="CallExpression"||g.type==="NewExpression"))||A.match(g=>g.type==="OptionalMemberExpression"||g.type==="OptionalCallExpression",(g,I)=>I==="expression"&&g.type==="TSNonNullExpression",(g,I)=>I==="object"&&g.type==="MemberExpression"||I==="callee"&&g.type==="CallExpression")||A.match(g=>g.type==="CallExpression"||g.type==="MemberExpression",(g,I)=>I==="expression"&&g.type==="ChainExpression")&&(A.match(void 0,void 0,(g,I)=>I==="callee"&&(g.type==="CallExpression"&&!g.optional||g.type==="NewExpression")||I==="object"&&g.type==="MemberExpression"&&!g.optional)||A.match(void 0,void 0,(g,I)=>I==="expression"&&g.type==="TSNonNullExpression",(g,I)=>I==="object"&&g.type==="MemberExpression"||I==="callee"&&g.type==="CallExpression"))||A.match(g=>g.type==="CallExpression"||g.type==="MemberExpression",(g,I)=>I==="expression"&&g.type==="TSNonNullExpression",(g,I)=>I==="expression"&&g.type==="ChainExpression",(g,I)=>I==="object"&&g.type==="MemberExpression"||I==="callee"&&g.type==="CallExpression"))}function De(A){return A.type==="Identifier"?!0:X(A)?!A.computed&&!A.optional&&A.property.type==="Identifier"&&De(A.object):!1}function Ak(A){return A.type==="ChainExpression"&&(A=A.expression),De(A)||O(A)&&!A.optional&&De(A.callee)}var zA=se;og();function gk(A,g){let I=g-1;I=wg(A,I,{backwards:!0}),I=Ng(A,I,{backwards:!0}),I=wg(A,I,{backwards:!0});let C=Ng(A,I,{backwards:!0});return I!==C}var wr=gk;var Ik=()=>!0;function ae(A,g){let I=A.node;return I.printed=!0,g.printer.printComment(A,g)}function Ck(A,g){let I=A.node,C=[ae(A,g)],{printer:B,originalText:Q,locStart:E,locEnd:e}=g;if(B.isBlockComment?.(I)){let r=nA(Q,e(I))?nA(Q,E(I),{backwards:!0})?p:F:" ";C.push(r)}else C.push(p);let o=Ng(Q,wg(Q,e(I)));return o!==!1&&nA(Q,o)&&C.push(p),C}function Bk(A,g,I){let C=A.node,B=ae(A,g),{printer:Q,originalText:E,locStart:e}=g,i=Q.isBlockComment?.(C);if(I?.hasLineSuffix&&!I?.isBlock||nA(E,e(C),{backwards:!0})){let o=wr(E,e(C));return{doc:WE([p,o?p:"",B]),isBlock:i,hasLineSuffix:!0}}return!i||I?.hasLineSuffix?{doc:[WE([" ",B]),fA],isBlock:i,hasLineSuffix:!0}:{doc:[" ",B],isBlock:i,hasLineSuffix:!1}}function z(A,g,I={}){let{node:C}=A;if(!b(C?.comments))return"";let{indent:B=!1,marker:Q,filter:E=Ik}=I,e=[];if(A.each(({node:o})=>{o.leading||o.trailing||o.marker!==Q||!E(o)||e.push(ae(A,g))},"comments"),e.length===0)return"";let i=m(p,e);return B?w([p,i]):i}function ne(A,g){let I=A.node;if(!I)return{};let C=g[Symbol.for("printedComments")];if((I.comments||[]).filter(i=>!C.has(i)).length===0)return{leading:"",trailing:""};let Q=[],E=[],e;return A.each(()=>{let i=A.node;if(C?.has(i))return;let{leading:o,trailing:r}=i;o?Q.push(Ck(A,g)):r&&(e=Bk(A,g,e),E.push(e.doc))},"comments"),{leading:Q,trailing:E}}function FA(A,g,I){let{leading:C,trailing:B}=ne(A,I);return!C&&!B?g:dC(g,Q=>[C,Q,B])}var ce=class extends Error{name="UnexpectedNodeError";constructor(g,I,C="type"){super(`Unexpected ${I} node ${C}: ${JSON.stringify(g[C])}.`),this.node=g}},xg=ce;function ye(A){if(typeof A!="string")throw new TypeError("Expected a string");return A.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var we=class{#A;constructor(g){this.#A=new Set(g)}getLeadingWhitespaceCount(g){let I=this.#A,C=0;for(let B=0;B=0&&I.has(g.charAt(B));B--)C++;return C}getLeadingWhitespace(g){let I=this.getLeadingWhitespaceCount(g);return g.slice(0,I)}getTrailingWhitespace(g){let I=this.getTrailingWhitespaceCount(g);return g.slice(g.length-I)}hasLeadingWhitespace(g){return this.#A.has(g.charAt(0))}hasTrailingWhitespace(g){return this.#A.has(P(!1,g,-1))}trimStart(g){let I=this.getLeadingWhitespaceCount(g);return g.slice(I)}trimEnd(g){let I=this.getTrailingWhitespaceCount(g);return g.slice(0,g.length-I)}trim(g){return this.trimEnd(this.trimStart(g))}split(g,I=!1){let C=`[${ye([...this.#A].join(""))}]+`,B=new RegExp(I?`(${C})`:C,"u");return g.split(B)}hasWhitespaceCharacter(g){let I=this.#A;return Array.prototype.some.call(g,C=>I.has(C))}hasNonWhitespaceCharacter(g){let I=this.#A;return Array.prototype.some.call(g,C=>!I.has(C))}isWhitespaceOnly(g){let I=this.#A;return Array.prototype.every.call(g,C=>I.has(C))}},Nr=we;var mB=new Nr(` +\r `),Ne=A=>A===""||A===F||A===p||A===u;function Qk(A,g,I){let{node:C}=A;if(C.type==="JSXElement"&&uk(C))return[I("openingElement"),I("closingElement")];let B=C.type==="JSXElement"?I("openingElement"):I("openingFragment"),Q=C.type==="JSXElement"?I("closingElement"):I("closingFragment");if(C.children.length===1&&C.children[0].type==="JSXExpressionContainer"&&(C.children[0].expression.type==="TemplateLiteral"||C.children[0].expression.type==="TaggedTemplateExpression"))return[B,...A.map(I,"children"),Q];C.children=C.children.map(S=>Gk(S)?{type:"JSXText",value:" ",raw:" "}:S);let E=C.children.some(tA),e=C.children.filter(S=>S.type==="JSXExpressionContainer").length>1,i=C.type==="JSXElement"&&C.openingElement.attributes.length>1,o=cA(B)||E||i||e,r=A.parent.rootMarker==="mdx",a=g.singleQuote?"{' '}":'{" "}',D=r?F:L([a,u]," "),y=C.openingElement?.name?.name==="fbt",n=Ek(A,g,I,D,y),M=C.children.some(S=>HC(S));for(let S=n.length-2;S>=0;S--){let f=n[S]===""&&n[S+1]==="",J=n[S]===p&&n[S+1]===""&&n[S+2]===p,Z=(n[S]===u||n[S]===p)&&n[S+1]===""&&n[S+2]===D,uA=n[S]===D&&n[S+1]===""&&(n[S+2]===u||n[S+2]===p),UA=n[S]===D&&n[S+1]===""&&n[S+2]===D,yA=n[S]===u&&n[S+1]===""&&n[S+2]===p||n[S]===p&&n[S+1]===""&&n[S+2]===u;J&&M||f||Z||UA||yA?n.splice(S,2):uA&&n.splice(S+1,2)}for(;n.length>0&&Ne(P(!1,n,-1));)n.pop();for(;n.length>1&&Ne(n[0])&&Ne(n[1]);)n.shift(),n.shift();let R=[""];for(let[S,f]of n.entries())S%2===0?R.push([R.pop(),f]):R.push(f,""),cA(f)&&(o=!0);let d=M?RB(R):s(R,{shouldBreak:!0});if(g.cursorNode?.type==="JSXText"&&C.children.includes(g.cursorNode)?d=[LC,d,LC]:g.nodeBeforeCursor?.type==="JSXText"&&C.children.includes(g.nodeBeforeCursor)?d=[LC,d]:g.nodeAfterCursor?.type==="JSXText"&&C.children.includes(g.nodeAfterCursor)&&(d=[d,LC]),r)return d;let k=s([B,w([p,d]),p,Q]);return o?k:Mg([s([B,...n,Q]),k])}function Ek(A,g,I,C,B){let Q="",E=[Q];function e(o){Q=o,E.push([E.pop(),o])}function i(o){o!==""&&(Q=o,E.push(o,""))}return A.each(({node:o,next:r})=>{if(o.type==="JSXText"){let a=wA(o);if(HC(o)){let D=mB.split(a,!0);D[0]===""&&(D.shift(),/\n/u.test(D[0])?i(Gr(B,D[1],o,r)):i(C),D.shift());let y;if(P(!1,D,-1)===""&&(D.pop(),y=D.pop()),D.length===0)return;for(let[n,M]of D.entries())n%2===1?i(F):e(M);y!==void 0?/\n/u.test(y)?i(Gr(B,Q,o,r)):i(C):i(ur(B,Q,o,r))}else/\n/u.test(a)?a.match(/\n/gu).length>1&&i(p):i(C)}else{let a=I();if(e(a),r&&HC(r)){let y=mB.trim(wA(r)),[n]=mB.split(y);i(ur(B,n,o,r))}else i(p)}},"children"),E}function ur(A,g,I,C){return A?"":I.type==="JSXElement"&&!I.closingElement||C?.type==="JSXElement"&&!C.closingElement?g.length===1?u:p:u}function Gr(A,g,I,C){return A?p:g.length===1?I.type==="JSXElement"&&!I.closingElement||C?.type==="JSXElement"&&!C.closingElement?p:u:p}var ek=new Set(["ArrayExpression","JSXAttribute","JSXElement","JSXExpressionContainer","JSXFragment","ExpressionStatement","CallExpression","OptionalCallExpression","ConditionalExpression","JsExpressionRoot","MatchExpressionCase"]);function ik(A,g,I){let{parent:C}=A;if(ek.has(C.type))return g;let B=ok(A),Q=C.type!=="ReturnStatement";return s([Q?"":L("("),w([u,g]),u,Q?"":L(")")],{shouldBreak:B})}function ok(A){return A.match(void 0,g=>g.type==="ArrowFunctionExpression",O)&&(A.match(void 0,void 0,void 0,g=>g.type==="JSXExpressionContainer")||A.match(void 0,void 0,void 0,g=>g.type==="ChainExpression",g=>g.type==="JSXExpressionContainer"))}function tk(A,g,I){let{node:C}=A,B=[];if(B.push(I("name")),C.value){let Q;if(sA(C.value)){let E=wA(C.value),e=_(!1,_(!1,E.slice(1,-1),"'","'"),""",'"'),i=nB(e,g.jsxSingleQuote);e=i==='"'?_(!1,e,'"',"""):_(!1,e,"'","'"),Q=A.call(()=>FA(A,Qg(i+e+i),g),"value")}else Q=I("value");B.push("=",Q)}return B}function rk(A,g,I){let{node:C}=A,B=(Q,E)=>Q.type==="JSXEmptyExpression"||!l(Q)&&(IA(Q)||SA(Q)||Q.type==="ArrowFunctionExpression"||Q.type==="AwaitExpression"&&(B(Q.argument,Q)||Q.argument.type==="JSXElement")||Q.type==="ChainExpression"&&O(Q.expression)||Q.type==="FunctionExpression"||Q.type==="TemplateLiteral"||Q.type==="TaggedTemplateExpression"||Q.type==="DoExpression");return B(C.expression,A.parent)?s(["{",I("expression"),Eg,"}"]):s(["{",w([u,I("expression")]),tA(A.parent)&&WA(C.expression)&&tA(C.expression.right)?[]:u,Eg,"}"])}function sk(A,g,I){let{node:C}=A,B=l(C.name)||l(C.typeParameters)||l(C.typeArguments);if(C.selfClosing&&C.attributes.length===0&&!B)return["<",I("name"),C.typeArguments?I("typeArguments"):I("typeParameters")," />"];if(C.attributes?.length===1&&sA(C.attributes[0].value)&&!C.attributes[0].value.value.includes(` +`)&&!B&&!l(C.attributes[0]))return s(["<",I("name"),C.typeArguments?I("typeArguments"):I("typeParameters")," ",...A.map(I,"attributes"),C.selfClosing?" />":">"]);let Q=C.attributes?.some(e=>sA(e.value)&&e.value.value.includes(` +`)),E=g.singleAttributePerLine&&C.attributes.length>1?p:F;return s(["<",I("name"),C.typeArguments?I("typeArguments"):I("typeParameters"),w(A.map(()=>[E,I()],"attributes")),...Dk(C,g,B)],{shouldBreak:Q})}function Dk(A,g,I){return A.selfClosing?[F,"/>"]:ak(A,g,I)?[">"]:[u,">"]}function ak(A,g,I){let C=A.attributes.length>0&&l(P(!1,A.attributes,-1),Y.Trailing);return A.attributes.length===0&&!I||(g.bracketSameLine||g.jsxBracketSameLine)&&(!I||A.attributes.length>0)&&!C}function nk(A,g,I){let{node:C}=A,B=[];B.push(""),B}function ck(A,g){let{node:I}=A,C=l(I),B=l(I,Y.Line),Q=I.type==="JSXOpeningFragment";return[Q?"<":""]}function yk(A,g,I){let C=FA(A,Qk(A,g,I),g);return ik(A,C,g)}function wk(A,g){let{node:I}=A,C=l(I,Y.Line);return[z(A,g,{indent:C}),C?p:""]}function Nk(A,g,I){let{node:C}=A;return["{",A.call(({node:B})=>{let Q=["...",I()];return!l(B)||!Ce(A)?Q:[w([u,FA(A,Q,g)]),u]},C.type==="JSXSpreadAttribute"?"argument":"expression"),"}"]}function pr(A,g,I){let{node:C}=A;if(C.type.startsWith("JSX"))switch(C.type){case"JSXAttribute":return tk(A,g,I);case"JSXIdentifier":return C.name;case"JSXNamespacedName":return m(":",[I("namespace"),I("name")]);case"JSXMemberExpression":return m(".",[I("object"),I("property")]);case"JSXSpreadAttribute":case"JSXSpreadChild":return Nk(A,g,I);case"JSXExpressionContainer":return rk(A,g,I);case"JSXFragment":case"JSXElement":return yk(A,g,I);case"JSXOpeningElement":return sk(A,g,I);case"JSXClosingElement":return nk(A,g,I);case"JSXOpeningFragment":case"JSXClosingFragment":return ck(A,g);case"JSXEmptyExpression":return wk(A,g);case"JSXText":throw new Error("JSXText should be handled by JSXElement");default:throw new xg(C,"JSX")}}function uk(A){if(A.children.length===0)return!0;if(A.children.length>1)return!1;let g=A.children[0];return g.type==="JSXText"&&!HC(g)}function HC(A){return A.type==="JSXText"&&(mB.hasNonWhitespaceCharacter(wA(A))||!/\n/u.test(wA(A)))}function Gk(A){return A.type==="JSXExpressionContainer"&&sA(A.expression)&&A.expression.value===" "&&!l(A.expression)}function Fr(A){let{node:g,parent:I}=A;if(!tA(g)||!tA(I))return!1;let{index:C,siblings:B}=A,Q;for(let E=C;E>0;E--){let e=B[E-1];if(!(e.type==="JSXText"&&!HC(e))){Q=e;break}}return Q?.type==="JSXExpressionContainer"&&Q.expression.type==="JSXEmptyExpression"&&MI(Q.expression)}function pk(A){return MI(A.node)||Fr(A)}var HB=pk;var Fk=0;function fB(A,g,I){let{node:C,parent:B,grandparent:Q,key:E}=A,e=E!=="body"&&(B.type==="IfStatement"||B.type==="WhileStatement"||B.type==="SwitchStatement"||B.type==="DoWhileStatement"),i=C.operator==="|>"&&A.root.extra?.__isUsingHackPipeline,o=ue(A,g,I,!1,e);if(e)return o;if(i)return s(o);if(O(B)&&B.callee===C||B.type==="UnaryExpression"||X(B)&&!B.computed)return s([w([u,...o]),u]);let r=B.type==="ReturnStatement"||B.type==="ThrowStatement"||B.type==="JSXExpressionContainer"&&Q.type==="JSXAttribute"||C.operator!=="|"&&B.type==="JsExpressionRoot"||C.type!=="NGPipeExpression"&&(B.type==="NGRoot"&&g.parser==="__ng_binding"||B.type==="NGMicrosyntaxExpression"&&Q.type==="NGMicrosyntax"&&Q.body.length===1)||C===B.body&&B.type==="ArrowFunctionExpression"||C!==B.body&&B.type==="ForStatement"||B.type==="ConditionalExpression"&&Q.type!=="ReturnStatement"&&Q.type!=="ThrowStatement"&&!O(Q)||B.type==="TemplateLiteral",a=B.type==="AssignmentExpression"||B.type==="VariableDeclarator"||B.type==="ClassProperty"||B.type==="PropertyDefinition"||B.type==="TSAbstractPropertyDefinition"||B.type==="ClassPrivateProperty"||PA(B),D=WA(C.left)&&PE(C.operator,C.left.operator);if(r||gC(C)&&!D||!gC(C)&&a)return s(o);if(o.length===0)return"";let y=tA(C.right),n=o.findIndex(f=>typeof f!="string"&&!Array.isArray(f)&&f.type===mA),M=o.slice(0,n===-1?1:n+1),R=o.slice(M.length,y?-1:void 0),d=Symbol("logicalChain-"+ ++Fk),k=s([...M,w(R)],{id:d});if(!y)return k;let S=P(!1,o,-1);return s([k,tI(S,{groupId:d})])}function ue(A,g,I,C,B){let{node:Q}=A;if(!WA(Q))return[s(I())];let E=[];PE(Q.operator,Q.left.operator)?E=A.call(k=>ue(k,g,I,!0,B),"left"):E.push(s(I("left")));let e=gC(Q),i=Q.right.type==="ChainExpression"?Q.right.expression:Q.right,o=(Q.operator==="|>"||Q.type==="NGPipeExpression"||lk(A,g))&&!pA(g.originalText,i),a=!l(i,Y.Leading,PI)&&pA(g.originalText,i),D=Q.type==="NGPipeExpression"?"|":Q.operator,y=Q.type==="NGPipeExpression"&&Q.arguments.length>0?s(w([u,": ",m([F,": "],A.map(()=>Dg(2,s(I())),"arguments"))])):"",n;if(e)n=[D,pA(g.originalText,i)?w([F,I("right"),y]):[" ",I("right"),y]];else{let S=D==="|>"&&A.root.extra?.__isUsingHackPipeline?A.call(f=>ue(f,g,I,!0,B),"right"):I("right");if(g.experimentalOperatorPosition==="start"){let f="";if(a)switch(Bg(S)){case VA:f=S.splice(0,1)[0];break;case XA:f=S.contents.splice(0,1)[0];break}n=[F,f,D," ",S,y]}else n=[o?F:"",D,o?" ":F,S,y]}let{parent:M}=A,R=l(Q.left,Y.Trailing|Y.Line);if((R||!(B&&Q.type==="LogicalExpression")&&M.type!==Q.type&&Q.left.type!==Q.type&&Q.right.type!==Q.type)&&(n=s(n,{shouldBreak:R})),g.experimentalOperatorPosition==="start"?E.push(e||a?" ":"",n):E.push(o?"":" ",n),C&&l(Q)){let k=_I(FA(A,E,g));return k.type===Cg?k.parts:Array.isArray(k)?k:[k]}return E}function gC(A){return A.type!=="LogicalExpression"?!1:!!(SA(A.right)&&A.right.properties.length>0||IA(A.right)&&A.right.elements.length>0||tA(A.right))}var lr=A=>A.type==="BinaryExpression"&&A.operator==="|";function lk(A,g){return(g.parser==="__vue_expression"||g.parser==="__vue_ts_expression")&&lr(A.node)&&!A.hasAncestor(I=>!lr(I)&&I.type!=="JsExpressionRoot")}function Yr(A,g,I){let{node:C}=A;if(C.type.startsWith("NG"))switch(C.type){case"NGRoot":return I("node");case"NGPipeExpression":return fB(A,g,I);case"NGChainedExpression":return s(m([";",F],A.map(()=>Sk(A)?I():["(",I(),")"],"expressions")));case"NGEmptyExpression":return"";case"NGMicrosyntax":return A.map(()=>[A.isFirst?"":hr(A)?" ":[";",F],I()],"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/iu.test(C.name)?C.name:JSON.stringify(C.name);case"NGMicrosyntaxExpression":return[I("expression"),C.alias===null?"":[" as ",I("alias")]];case"NGMicrosyntaxKeyedExpression":{let{index:B,parent:Q}=A,E=hr(A)||hk(A)||(B===1&&(C.key.name==="then"||C.key.name==="else"||C.key.name==="as")||B===2&&(C.key.name==="else"&&Q.body[B-1].type==="NGMicrosyntaxKeyedExpression"&&Q.body[B-1].key.name==="then"||C.key.name==="track"))&&Q.body[0].type==="NGMicrosyntaxExpression";return[I("key"),E?" ":": ",I("expression")]}case"NGMicrosyntaxLet":return["let ",I("key"),C.value===null?"":[" = ",I("value")]];case"NGMicrosyntaxAs":return[I("key")," as ",I("alias")];default:throw new xg(C,"Angular")}}function hr({node:A,index:g}){return A.type==="NGMicrosyntaxKeyedExpression"&&A.key.name==="of"&&g===1}function hk(A){let{node:g}=A;return A.parent.body[1].key.name==="of"&&g.type==="NGMicrosyntaxKeyedExpression"&&g.key.name==="track"&&g.key.type==="NGMicrosyntaxKey"}var Yk=x(["CallExpression","OptionalCallExpression","AssignmentExpression"]);function Sk({node:A}){return RC(A,Yk)}function Ge(A,g,I){let{node:C}=A;return s([m(F,A.map(I,"decorators")),kr(C,g)?p:F])}function Sr(A,g,I){return Rr(A.node)?[m(p,A.map(I,"declaration","decorators")),p]:""}function Mr(A,g,I){let{node:C,parent:B}=A,{decorators:Q}=C;if(!b(Q)||Rr(B)||HB(A))return"";let E=C.type==="ClassExpression"||C.type==="ClassDeclaration"||kr(C,g);return[A.key==="declaration"&&Yt(B)?p:E?fA:"",m(F,A.map(I,"decorators")),F]}function kr(A,g){return A.decorators.some(I=>nA(g.originalText,K(I)))}function Rr(A){if(A.type!=="ExportDefaultDeclaration"&&A.type!=="ExportNamedDeclaration"&&A.type!=="DeclareExportDeclaration")return!1;let g=A.declaration?.decorators;return b(g)&&FI(A,g[0])}var _g=class extends Error{name="ArgExpansionBailout"};function Mk(A,g,I){let{node:C}=A,B=kA(C);if(B.length===0)return["(",z(A,g),")"];let Q=B.length-1,E=!1,e=[];UC(A,({node:a},D)=>{let y=I();D===Q||(NA(a,g)?(E=!0,y=[y,",",p,p]):y=[y,",",F]),e.push(y)});let i=!g.parser.startsWith("__ng_")&&C.type!=="ImportExpression"&&C.type!=="TSImportType"&&MA(g,"all")?",":"";function o(){return s(["(",w([F,...e]),i,F,")"],{shouldBreak:!0})}if(Rk(B)){let a=e.slice(1);if(a.some(cA))return o();let D;try{D=I(OE(C,0),{expandFirstArg:!0})}catch(y){if(y instanceof _g)return o();throw y}return cA(D)?[fA,Mg([["(",s(D,{shouldBreak:!0}),", ",...a,")"],o()])]:Mg([["(",D,", ",...a,")"],["(",s(D,{shouldBreak:!0}),", ",...a,")"],o()])}if(kk(B,e,g)){let a=e.slice(0,-1);if(a.some(cA))return o();let D;try{D=I(OE(C,-1),{expandLastArg:!0})}catch(y){if(y instanceof _g)return o();throw y}return cA(D)?[fA,Mg([["(",...a,s(D,{shouldBreak:!0}),")"],o()])]:Mg([["(",...a,D,")"],["(",...a,s(D,{shouldBreak:!0}),")"],o()])}let r=["(",w([u,...e]),L(i),u,")"];return hB(A)?r:s(r,{shouldBreak:e.some(cA)||E})}function fC(A,g=!1){return SA(A)&&(A.properties.length>0||l(A))||IA(A)&&(A.elements.length>0||l(A))||A.type==="TSTypeAssertion"&&fC(A.expression)||tg(A)&&fC(A.expression)||A.type==="FunctionExpression"||A.type==="ArrowFunctionExpression"&&(!A.returnType||!A.returnType.typeAnnotation||A.returnType.typeAnnotation.type!=="TSTypeReference"||Kk(A.body))&&(A.body.type==="BlockStatement"||A.body.type==="ArrowFunctionExpression"&&fC(A.body,!0)||SA(A.body)||IA(A.body)||!g&&(O(A.body)||A.body.type==="ConditionalExpression")||tA(A.body))||A.type==="DoExpression"||A.type==="ModuleExpression"}function kk(A,g,I){let C=P(!1,A,-1);if(A.length===1){let Q=P(!1,g,-1);if(Q.label?.embed&&Q.label?.hug!==!1)return!0}let B=P(!1,A,-2);return!l(C,Y.Leading)&&!l(C,Y.Trailing)&&fC(C)&&!B&&(A.length!==2||B.type!=="ArrowFunctionExpression"||!IA(C))&&!(A.length>1&&pe(C,I))}function Rk(A){return!1}function Kr(A){if(A.type==="ParenthesizedExpression")return Kr(A.expression);if(tg(A)||A.type==="TypeCastExpression"){let{typeAnnotation:g}=A;if(g.type==="TypeAnnotation"&&(g=g.typeAnnotation),g.type==="TSArrayType"&&(g=g.elementType,g.type==="TSArrayType"&&(g=g.elementType)),g.type==="GenericTypeAnnotation"||g.type==="TSTypeReference"){let I=g.typeArguments??g.typeParameters;I?.params.length===1&&(g=I.params[0])}return VI(g)&&ug(A.expression,1)}return Xg(A)&&kA(A).length>1?!1:WA(A)?ug(A.left,1)&&ug(A.right,1):qE(A)||ug(A)}function Kk(A){return A.type==="BlockStatement"&&(A.body.some(g=>g.type!=="EmptyStatement")||l(A,Y.Dangling))}function Uk(A){if(!(A.type==="ObjectExpression"&&A.properties.length===1))return!1;let[g]=A.properties;return PA(g)?!g.computed&&(g.key.type==="Identifier"&&g.key.name==="type"||sA(g.key)&&g.key.value==="type")&&sA(g.value)&&g.value.value==="module":!1}var TC=Mk;var Jk=A=>((A.type==="ChainExpression"||A.type==="TSNonNullExpression")&&(A=A.expression),O(A)&&kA(A).length>0);function Ur(A,g,I){let C=I("object"),B=Fe(A,g,I),{node:Q}=A,E=A.findAncestor(o=>!(X(o)||o.type==="TSNonNullExpression")),e=A.findAncestor(o=>!(o.type==="ChainExpression"||o.type==="TSNonNullExpression")),i=E&&(E.type==="NewExpression"||E.type==="BindExpression"||E.type==="AssignmentExpression"&&E.left.type!=="Identifier")||Q.computed||Q.object.type==="Identifier"&&Q.property.type==="Identifier"&&!X(e)||(e.type==="AssignmentExpression"||e.type==="VariableDeclarator")&&(Jk(Q.object)||C.label?.memberChain);return Hg(C.label,[C,i?B:s(w([u,B]))])}function Fe(A,g,I){let C=I("property"),{node:B}=A,Q=QA(A);return B.computed?!B.property||LA(B.property)?[Q,"[",C,"]"]:s([Q,"[",w([u,C]),u,"]"]):[Q,".",C]}function Jr(A,g,I){if(A.node.type==="ChainExpression")return A.call(()=>Jr(A,g,I),"expression");let C=(A.parent.type==="ChainExpression"?A.grandparent:A.parent).type==="ExpressionStatement",B=[];function Q(q){let{originalText:rA}=g,v=fg(rA,K(q));return rA.charAt(v)===")"?v!==!1&&ZI(rA,v+1):NA(q,g)}function E(){let{node:q}=A;if(q.type==="ChainExpression")return A.call(E,"expression");if(O(q)&&(iI(q.callee)||O(q.callee))){let rA=Q(q);B.unshift({node:q,hasTrailingEmptyLine:rA,printed:[FA(A,[QA(A),kg(A,g,I),TC(A,g,I)],g),rA?p:""]}),A.call(E,"callee")}else iI(q)?(B.unshift({node:q,needsParens:zA(A,g),printed:FA(A,X(q)?Fe(A,g,I):TB(A,g,I),g)}),A.call(E,"object")):q.type==="TSNonNullExpression"?(B.unshift({node:q,printed:FA(A,"!",g)}),A.call(E,"expression")):B.unshift({node:q,printed:I()})}let{node:e}=A;B.unshift({node:e,printed:[QA(A),kg(A,g,I),TC(A,g,I)]}),e.callee&&A.call(E,"callee");let i=[],o=[B[0]],r=1;for(;r0&&i.push(o);function D(q){return!1}function y(q){return q.length<=g.tabWidth}function n(q){let rA=q[1][0]?.node.computed;if(q[0].length===1){let bg=q[0][0].node;return bg.type==="ThisExpression"||bg.type==="Identifier"&&(q.length===2||C&&y(bg.name)||rA)}let v=P(!1,q[0],-1).node;return X(v)&&v.property.type==="Identifier"&&(D(v.property.name)||rA)}let M=i.length>=2&&!l(i[1][0].node)&&n(i);function R(q){let rA=q.map(v=>v.printed);return q.length>0&&P(!1,q,-1).needsParens?["(",...rA,")"]:rA}function d(q){return q.length===0?"":w([p,m(p,q.map(R))])}let k=i.map(R),S=k,f=M?3:1,J=i.flat(),Z=J.slice(1,-1).some(q=>l(q.node,Y.Leading))||J.slice(0,-1).some(q=>l(q.node,Y.Trailing))||i[f]&&l(i[f][0].node,Y.Leading);if(i.length<=f&&!Z&&!i.some(q=>P(!1,q,-1).hasTrailingEmptyLine))return hB(A)?S:s(S);let uA=P(!1,i[M?1:0],-1).node,UA=!O(uA)&&Q(uA),yA=[R(i[0]),M?i.slice(1,2).map(R):"",UA?p:"",d(i.slice(M?2:1))],lA=B.map(({node:q})=>q).filter(O);function AA(){let q=P(!1,P(!1,i,-1),-1).node,rA=P(!1,k,-1);return O(q)&&cA(rA)&&lA.slice(0,-1).some(v=>v.arguments.some(NB))}let jA;return Z||k.slice(0,-1).some(cA)||AA()?jA=s(yA):jA=[cA(S)||UA?fA:"",Mg([S,yA])],Hg({memberChain:!0},jA)}var dr=Jr;function IC(A,g,I){let{node:C}=A,B=C.type==="NewExpression",Q=QA(A),E=kA(C),e=E.length===1&&FB(E[0],g.originalText);if(e||Lk(A)||mk(A)||YI(C,A.parent)){let r=[];if(UC(A,()=>{r.push(I())}),!(e&&r[0].label?.embed))return[B?"new ":"",Lr(A,I),Q,kg(A,g,I),"(",m(", ",r),")"]}let i=C.type==="ImportExpression"||C.type==="TSImportType";if(!i&&!B&&iI(C.callee)&&!A.call(r=>zA(r,g),"callee",...C.callee.type==="ChainExpression"?["expression"]:[]))return dr(A,g,I);let o=[B?"new ":"",Lr(A,I),Q,kg(A,g,I),B&&E.length===0&&A.parent.type!=="MemberExpression"?"":TC(A,g,I)];return i||O(C.callee)?s(o):o}function Lr(A,g){let{node:I}=A;return I.type==="ImportExpression"||I.type==="TSImportType"?`import${I.phase?`.${I.phase}`:""}`:g("callee")}var dk=["require","require.resolve","require.resolve.paths","import.meta.resolve"];function Lk(A){let{node:g}=A;if(!(g.type==="ImportExpression"||g.type==="TSImportType"||g.type==="CallExpression"&&!g.optional&&kC(g.callee,dk)))return!1;let I=kA(g);if(I.length!==1||l(I[0]))return!1;let C=I[0];return g.type==="TSImportType"&&C.type==="TSLiteralType"&&(C=C.literal),sA(C)}function mk(A){let{node:g}=A;if(g.type!=="CallExpression"||g.optional||g.callee.type!=="Identifier")return!1;let I=kA(g);return g.callee.name==="require"?I.length===1&&sA(I[0])||I.length>1:g.callee.name==="define"&&A.parent.type==="ExpressionStatement"?I.length===1||I.length===2&&I[0].type==="ArrayExpression"||I.length===3&&sA(I[0])&&I[1].type==="ArrayExpression":!1}function rI(A,g,I,C,B,Q){let E=Hk(A,g,I,C,Q),e=Q?I(Q,{assignmentLayout:E}):"";switch(E){case"break-after-operator":return s([s(C),B,s(w([F,e]))]);case"never-break-after-operator":return s([s(C),B," ",e]);case"fluid":{let i=Symbol("assignment");return s([s(C),B,s(w(F),{id:i}),Eg,tI(e,{groupId:i})])}case"break-lhs":return s([C,B," ",s(e)]);case"chain":return[s(C),B,F,e];case"chain-tail":return[s(C),B,w([F,e])];case"chain-tail-arrow-chain":return[s(C),B,e];case"only-left":return C}}function Hr(A,g,I){let{node:C}=A;return rI(A,g,I,I("left"),[" ",C.operator],"right")}function fr(A,g,I){return rI(A,g,I,I("id")," =","init")}function Hk(A,g,I,C,B){let{node:Q}=A,E=Q[B];if(!E)return"only-left";let e=!xB(E);if(A.match(xB,Tr,D=>!e||D.type!=="ExpressionStatement"&&D.type!=="VariableDeclaration"))return e?E.type==="ArrowFunctionExpression"&&E.body.type==="ArrowFunctionExpression"?"chain-tail-arrow-chain":"chain-tail":"chain";if(!e&&xB(E.right)||pA(g.originalText,E))return"break-after-operator";if(Q.type==="ImportAttribute"||E.type==="CallExpression"&&E.callee.name==="require"||g.parser==="json5"||g.parser==="jsonc"||g.parser==="json")return"never-break-after-operator";let r=qt(C);if(Tk(Q)||Pk(Q)||le(Q)&&r)return"break-lhs";let a=zk(Q,C,g);return A.call(()=>fk(A,g,I,a),B)?"break-after-operator":xk(Q)?"break-lhs":!r&&(a||E.type==="TemplateLiteral"||E.type==="TaggedTemplateExpression"||St(E)||LA(E)||E.type==="ClassExpression")?"never-break-after-operator":"fluid"}function fk(A,g,I,C){let B=A.node;if(WA(B)&&!gC(B))return!0;switch(B.type){case"StringLiteralTypeAnnotation":case"SequenceExpression":return!0;case"TSConditionalType":case"ConditionalTypeAnnotation":if(!g.experimentalTernaries&&!Wk(B))break;return!0;case"ConditionalExpression":{if(!g.experimentalTernaries){let{test:o}=B;return WA(o)&&!gC(o)}let{consequent:e,alternate:i}=B;return e.type==="ConditionalExpression"||i.type==="ConditionalExpression"}case"ClassExpression":return b(B.decorators)}if(C)return!1;let Q=B,E=[];for(;;)if(Q.type==="UnaryExpression"||Q.type==="AwaitExpression"||Q.type==="YieldExpression"&&Q.argument!==null)Q=Q.argument,E.push("argument");else if(Q.type==="TSNonNullExpression")Q=Q.expression,E.push("expression");else break;return!!(sA(Q)||A.call(()=>xr(A,g,I),...E))}function Tk(A){if(Tr(A)){let g=A.left||A.id;return g.type==="ObjectPattern"&&g.properties.length>2&&g.properties.some(I=>PA(I)&&(!I.shorthand||I.value?.type==="AssignmentPattern"))}return!1}function xB(A){return A.type==="AssignmentExpression"}function Tr(A){return xB(A)||A.type==="VariableDeclarator"}function xk(A){let g=bk(A);if(b(g)){let I=A.type==="TSTypeAliasDeclaration"?"constraint":"bound";if(g.length>1&&g.some(C=>C[I]||C.default))return!0}return!1}var qk=x(["TSTypeAliasDeclaration","TypeAlias"]);function bk(A){if(qk(A))return A.typeParameters?.params}function Pk(A){if(A.type!=="VariableDeclarator")return!1;let{typeAnnotation:g}=A.id;if(!g||!g.typeAnnotation)return!1;let I=mr(g.typeAnnotation);return b(I)&&I.length>1&&I.some(C=>b(mr(C))||C.type==="TSConditionalType")}function le(A){return A.type==="VariableDeclarator"&&A.init?.type==="ArrowFunctionExpression"}var Ok=x(["TSTypeReference","GenericTypeAnnotation"]);function mr(A){if(Ok(A))return(A.typeArguments??A.typeParameters)?.params}function xr(A,g,I,C=!1){let{node:B}=A,Q=()=>xr(A,g,I,!0);if(B.type==="ChainExpression"||B.type==="TSNonNullExpression")return A.call(Q,"expression");if(O(B)){if(IC(A,g,I).label?.memberChain)return!1;let e=kA(B);return!(e.length===0||e.length===1&&KC(e[0],g))||jk(B,I)?!1:A.call(Q,"callee")}return X(B)?A.call(Q,"object"):C&&(B.type==="Identifier"||B.type==="ThisExpression")}function zk(A,g,I){return PA(A)?(g=_I(g),typeof g=="string"&&Ug(g)1)return!0;if(I.length===1){let B=I[0];if(Ig(B)||XI(B)||B.type==="TSTypeLiteral"||B.type==="ObjectTypeAnnotation")return!0}let C=A.typeParameters?"typeParameters":"typeArguments";if(cA(g(C)))return!0}return!1}function Zk(A){return(A.typeParameters??A.typeArguments)?.params}function Wk(A){function g(I){switch(I.type){case"FunctionTypeAnnotation":case"GenericTypeAnnotation":case"TSFunctionType":return!!I.typeParameters;case"TSTypeReference":return!!(I.typeArguments??I.typeParameters);default:return!1}}return g(A.checkType)||g(A.extendsType)}function ag(A,g,I,C,B){let Q=A.node,E=DA(Q),e=B?kg(A,g,I):"";if(E.length===0)return[e,"(",z(A,g,{filter:n=>_A(g.originalText,K(n))===")"}),")"];let{parent:i}=A,o=YI(i),r=he(Q),a=[];if(Jt(A,(n,M)=>{let R=M===E.length-1;R&&Q.rest&&a.push("..."),a.push(I()),!R&&(a.push(","),o||r?a.push(" "):NA(E[M],g)?a.push(p,p):a.push(F))}),C&&!Xk(A)){if(cA(e)||cA(a))throw new _g;return s([JC(e),"(",JC(a),")"])}let D=E.every(n=>!b(n.decorators));return r&&D?[e,"(",...a,")"]:o?[e,"(",...a,")"]:(pB(i)||Mt(i)||i.type==="TypeAlias"||i.type==="UnionTypeAnnotation"||i.type==="IntersectionTypeAnnotation"||i.type==="FunctionTypeAnnotation"&&i.returnType===Q)&&E.length===1&&E[0].name===null&&Q.this!==E[0]&&E[0].typeAnnotation&&Q.typeParameters===null&&VI(E[0].typeAnnotation)&&!Q.rest?g.arrowParens==="always"||Q.type==="HookTypeAnnotation"?["(",...a,")"]:a:[e,"(",w([u,...a]),L(!Ut(Q)&&MA(g,"all")?",":""),u,")"]}function he(A){if(!A)return!1;let g=DA(A);if(g.length!==1)return!1;let[I]=g;return!l(I)&&(I.type==="ObjectPattern"||I.type==="ArrayPattern"||I.type==="Identifier"&&I.typeAnnotation&&(I.typeAnnotation.type==="TypeAnnotation"||I.typeAnnotation.type==="TSTypeAnnotation")&&dg(I.typeAnnotation.typeAnnotation)||I.type==="FunctionTypeParam"&&dg(I.typeAnnotation)&&I!==A.rest||I.type==="AssignmentPattern"&&(I.left.type==="ObjectPattern"||I.left.type==="ArrayPattern")&&(I.right.type==="Identifier"||SA(I.right)&&I.right.properties.length===0||IA(I.right)&&I.right.elements.length===0))}function Vk(A){let g;return A.returnType?(g=A.returnType,g.typeAnnotation&&(g=g.typeAnnotation)):A.typeAnnotation&&(g=A.typeAnnotation),g}function qg(A,g){let I=Vk(A);if(!I)return!1;let C=A.typeParameters?.params;if(C){if(C.length>1)return!1;if(C.length===1){let B=C[0];if(B.constraint||B.default)return!1}}return DA(A).length===1&&(dg(I)||cA(g))}function Xk(A){return A.match(g=>g.type==="ArrowFunctionExpression"&&g.body.type==="BlockStatement",(g,I)=>{if(g.type==="CallExpression"&&I==="arguments"&&g.arguments.length===1&&g.callee.type==="CallExpression"){let C=g.callee.callee;return C.type==="Identifier"||C.type==="MemberExpression"&&!C.computed&&C.object.type==="Identifier"&&C.property.type==="Identifier"}return!1},(g,I)=>g.type==="VariableDeclarator"&&I==="init"||g.type==="ExportDefaultDeclaration"&&I==="declaration"||g.type==="TSExportAssignment"&&I==="expression"||g.type==="AssignmentExpression"&&I==="right"&&g.left.type==="MemberExpression"&&g.left.object.type==="Identifier"&&g.left.object.name==="module"&&g.left.property.type==="Identifier"&&g.left.property.name==="exports",g=>g.type!=="VariableDeclaration"||g.kind==="const"&&g.declarations.length===1)}function qr(A){let g=DA(A);return g.length>1&&g.some(I=>I.type==="TSParameterProperty")}var vk=x(["VoidTypeAnnotation","TSVoidKeyword","NullLiteralTypeAnnotation","TSNullKeyword"]),_k=x(["ObjectTypeAnnotation","TSTypeLiteral","GenericTypeAnnotation","TSTypeReference"]);function $k(A){let{types:g}=A;if(g.some(C=>l(C)))return!1;let I=g.find(C=>_k(C));return I?g.every(C=>C===I||vk(C)):!1}function br(A){return VI(A)||dg(A)?!0:Ig(A)?$k(A):!1}function Pr(A,g,I){let C=g.semi?";":"",{node:B}=A,Q=[EA(A),"opaque type ",I("id"),I("typeParameters")];if(B.supertype&&Q.push(": ",I("supertype")),B.lowerBound||B.upperBound){let E=[];B.lowerBound&&E.push(w([F,"super ",I("lowerBound")])),B.upperBound&&E.push(w([F,"extends ",I("upperBound")])),Q.push(s(E))}return B.impltype&&Q.push(" = ",I("impltype")),Q.push(C),Q}function qB(A,g,I){let C=g.semi?";":"",{node:B}=A,Q=[EA(A)];Q.push("type ",I("id"),I("typeParameters"));let E=B.type==="TSTypeAliasDeclaration"?"typeAnnotation":"right";return[rI(A,g,I,Q," =",E),C]}function bB(A,g,I){let C=!1,B=A.map(({isFirst:r,previous:a,node:D,index:y})=>{let n=I();if(r)return n;let M=!1,R=!1;return R&&M?[" & ",C?w(n):n]:!R&&!M||pA(g.originalText,D)?g.experimentalOperatorPosition==="start"?w([F,"& ",n]):[" &",F,n]:(y>1&&(C=!0),[" & ",y>1?w(n):n])},"types"),{node:Q,parent:E}=A,e=E.type!=="TypeParameterInstantiation"&&(E.type!=="TSConditionalType"||!g.experimentalTernaries)&&(E.type!=="ConditionalTypeAnnotation"||!g.experimentalTernaries)&&E.type!=="TSTypeParameterInstantiation"&&E.type!=="GenericTypeAnnotation"&&E.type!=="TSTypeReference"&&E.type!=="TSTypeAssertion"&&E.type!=="TupleTypeAnnotation"&&E.type!=="TSTupleType"&&!(E.type==="FunctionTypeParam"&&!E.name&&A.grandparent.this!==E)&&!((E.type==="TypeAlias"||E.type==="VariableDeclarator"||E.type==="TSTypeAliasDeclaration")&&pA(g.originalText,Q)),i=e&&!pA(g.originalText,Q),o=[L([i?F:""]),B];return zA(A,g)?s([w(o),u]):s(e?w(o):o)}function PB(A,g,I){let{node:C}=A,{parent:B}=A,Q=B.type!=="TypeParameterInstantiation"&&(!rg(B)||!g.experimentalTernaries)&&B.type!=="TSTypeParameterInstantiation"&&B.type!=="GenericTypeAnnotation"&&B.type!=="TSTypeReference"&&B.type!=="TSTypeAssertion"&&B.type!=="TupleTypeAnnotation"&&B.type!=="TSTupleType"&&!(B.type==="FunctionTypeParam"&&!B.name&&A.grandparent.this!==B)&&!((B.type==="TypeAlias"||B.type==="VariableDeclarator"||B.type==="TSTypeAliasDeclaration")&&pA(g.originalText,C)),E=!1,e=A.map(r=>{let a=I();return E||(a=Dg(2,a)),FA(r,a,g)},"types");if(E)return m(" | ",e);let i=Q&&!pA(g.originalText,C),o=[L([i?F:""]),m([" |",F],e)];return zA(A,g)?s([w(o),u]):(B.type==="TupleTypeAnnotation"||B.type==="TSTupleType")&&B[B.type==="TupleTypeAnnotation"&&B.types?"types":"elementTypes"].length>1?s([w([L(["(",u]),o]),u,L(")")]):s(Q?w(o):o)}function AR(A){let{node:g,parent:I}=A;return g.type==="FunctionTypeAnnotation"&&(pB(I)||!((I.type==="ObjectTypeProperty"||I.type==="ObjectTypeInternalSlot")&&!I.variance&&!I.optional&&FI(I,g)||I.type==="ObjectTypeCallProperty"||A.getParentNode(2)?.type==="DeclareFunction"))}function OB(A,g,I){let{node:C}=A,B=[CC(A)];(C.type==="TSConstructorType"||C.type==="TSConstructSignatureDeclaration")&&B.push("new ");let Q=ag(A,g,I,!1,!0),E=[];return C.type==="FunctionTypeAnnotation"?E.push(AR(A)?" => ":": ",I("returnType")):E.push(CA(A,I,C.returnType?"returnType":"typeAnnotation")),qg(C,E)&&(Q=s(Q)),B.push(Q,E),s(B)}function zB(A,g,I){return[I("objectType"),QA(A),"[",I("indexType"),"]"]}function jB(A,g,I){return["infer ",I("typeParameter")]}function Ye(A,g,I){let{node:C}=A;return[C.postfix?"":I,CA(A,g),C.postfix?I:""]}function ZB(A,g,I){let{node:C}=A;return["...",...C.type==="TupleTypeSpreadElement"&&C.label?[I("label"),": "]:[],I("typeAnnotation")]}function WB(A,g,I){let{node:C}=A;return[C.variance?I("variance"):"",I("label"),C.optional?"?":"",": ",I("elementType")]}var gR=new WeakSet;function CA(A,g,I="typeAnnotation"){let{node:{[I]:C}}=A;if(!C)return"";let B=!1;if(C.type==="TSTypeAnnotation"||C.type==="TypeAnnotation"){let Q=A.call(Or,I);(Q==="=>"||Q===":"&&l(C,Y.Leading))&&(B=!0),gR.add(C)}return B?[" ",g(I)]:g(I)}var Or=A=>A.match(g=>g.type==="TSTypeAnnotation",(g,I)=>(I==="returnType"||I==="typeAnnotation")&&(g.type==="TSFunctionType"||g.type==="TSConstructorType"))?"=>":A.match(g=>g.type==="TSTypeAnnotation",(g,I)=>I==="typeAnnotation"&&(g.type==="TSJSDocNullableType"||g.type==="TSJSDocNonNullableType"||g.type==="TSTypePredicate"))||A.match(g=>g.type==="TypeAnnotation",(g,I)=>I==="typeAnnotation"&&g.type==="Identifier",(g,I)=>I==="id"&&g.type==="DeclareFunction")||A.match(g=>g.type==="TypeAnnotation",(g,I)=>I==="typeAnnotation"&&g.type==="Identifier",(g,I)=>I==="id"&&g.type==="DeclareHook")||A.match(g=>g.type==="TypeAnnotation",(g,I)=>I==="bound"&&g.type==="TypeParameter"&&g.usesExtendsBound)?"":":";function VB(A,g,I){let C=Or(A);return C?[C," ",I("typeAnnotation")]:I("typeAnnotation")}function XB(A){return[A("elementType"),"[]"]}function vB({node:A},g){let I=A.type==="TSTypeQuery"?"exprName":"argument",C=A.type==="TypeofTypeAnnotation"||A.typeArguments?"typeArguments":"typeParameters";return["typeof ",g(I),g(C)]}function _B(A,g){let{node:I}=A;return[I.type==="TSTypePredicate"&&I.asserts?"asserts ":I.type==="TypePredicate"&&I.kind?`${I.kind} `:"",g("parameterName"),I.typeAnnotation?[" is ",CA(A,g)]:""]}function QA(A){let{node:g}=A;return!g.optional||g.type==="Identifier"&&g===A.parent.key?"":O(g)||X(g)&&g.computed||g.type==="OptionalIndexedAccessType"?"?.":"?"}function $B(A){return A.node.definite||A.match(void 0,(g,I)=>I==="id"&&g.type==="VariableDeclarator"&&g.definite)?"!":""}var IR=new Set(["DeclareClass","DeclareComponent","DeclareFunction","DeclareHook","DeclareVariable","DeclareExportDeclaration","DeclareExportAllDeclaration","DeclareOpaqueType","DeclareTypeAlias","DeclareEnum","DeclareInterface"]);function EA(A){let{node:g}=A;return g.declare||IR.has(g.type)&&A.parent.type!=="DeclareExportDeclaration"?"declare ":""}var CR=new Set(["TSAbstractMethodDefinition","TSAbstractPropertyDefinition","TSAbstractAccessorProperty"]);function CC({node:A}){return A.abstract||CR.has(A.type)?"abstract ":""}function kg(A,g,I){let{node:C}=A;return C.type==="TSImportType"?"":C.typeArguments?I("typeArguments"):C.typeParameters?I("typeParameters"):""}function TB(A,g,I){return["::",I("callee")]}function $g(A,g,I){return A.type==="EmptyStatement"?";":A.type==="BlockStatement"||I?[" ",g]:w([F,g])}function AQ(A,g){return["...",g("argument"),CA(A,g)]}function BC(A){return A.accessibility?A.accessibility+" ":""}function BR(A,g,I,C){let{node:B}=A,Q=B.inexact?"...":"";return l(B,Y.Dangling)?s([I,Q,z(A,g,{indent:!0}),u,C]):[I,Q,C]}function QC(A,g,I){let{node:C}=A,B=[],Q="[",E="]",e=C.type==="TupleTypeAnnotation"&&C.types?"types":C.type==="TSTupleType"||C.type==="TupleTypeAnnotation"?"elementTypes":"elements",i=C[e];if(i.length===0)B.push(BR(A,g,Q,E));else{let o=P(!1,i,-1),r=o?.type!=="RestElement"&&!C.inexact,a=o===null,D=Symbol("array"),y=!1,n=pe(C,g),M=r?a?",":MA(g)?n?L(",","",{groupId:D}):L(","):"":"";B.push(s([Q,w([u,n?ER(A,g,I,M):[QR(A,g,I,e,C.inexact),M],z(A,g)]),u,E],{shouldBreak:y,id:D}))}return B.push(QA(A),CA(A,I)),B}function pe(A,g){return IA(A)&&A.elements.length>1&&A.elements.every(I=>I&&(LA(I)||xE(I)&&!l(I.argument))&&!l(I,Y.Trailing|Y.Line,C=>!nA(g.originalText,H(C),{backwards:!0})))}function zr({node:A},{originalText:g}){let I=K(A);if(I===H(A))return!1;let{length:C}=g;for(;I{Q.push(E?s(I()):""),(!e||B)&&Q.push([",",F,E&&zr(A,g)?u:""])},C),B&&Q.push("..."),Q}function ER(A,g,I,C){let B=[];return A.each(({isLast:Q,next:E})=>{B.push([I(),Q?C:","]),Q||B.push(zr(A,g)?[p,p]:l(E,Y.Leading|Y.Line)?p:F)},"elements"),RB(B)}var eR=/^[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC][\$0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]*$/,iR=A=>eR.test(A),jr=iR;function oR(A){return A.length===1?A:A.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/u,"$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/u,"$1").replace(/^([+-])?0?\./u,"$1.").replace(/(\.\d+?)0+(?=e|$)/u,"$1").replace(/\.(?=e|$)/u,"")}var AI=oR;var gQ=new WeakMap;function Wr(A){return/^(?:\d+|\d+\.\d+)$/u.test(A)}function Zr(A,g){return g.parser==="json"||g.parser==="jsonc"||!sA(A.key)||Jg(wA(A.key),g).slice(1,-1)!==A.key.value?!1:!!(jr(A.key.value)&&!(g.parser==="babel-ts"&&A.type==="ClassProperty"||(g.parser==="typescript"||g.parser==="oxc-ts")&&A.type==="PropertyDefinition")||Wr(A.key.value)&&String(Number(A.key.value))===A.key.value&&A.type!=="ImportAttribute"&&(g.parser==="babel"||g.parser==="acorn"||g.parser==="oxc"||g.parser==="espree"||g.parser==="meriyah"||g.parser==="__babel_estree"))}function tR(A,g){let{key:I}=A.node;return(I.type==="Identifier"||LA(I)&&Wr(AI(wA(I)))&&String(I.value)===AI(wA(I))&&!(g.parser==="typescript"||g.parser==="babel-ts"||g.parser==="oxc-ts"))&&(g.parser==="json"||g.parser==="jsonc"||g.quoteProps==="consistent"&&gQ.get(A.parent))}function gI(A,g,I){let{node:C}=A;if(C.computed)return["[",I("key"),"]"];let{parent:B}=A,{key:Q}=C;if(g.quoteProps==="consistent"&&!gQ.has(B)){let E=A.siblings.some(e=>!e.computed&&sA(e.key)&&!Zr(e,g));gQ.set(B,E)}if(tR(A,g)){let E=Jg(JSON.stringify(Q.type==="Identifier"?Q.name:Q.value.toString()),g);return A.call(e=>FA(e,E,g),"key")}return Zr(C,g)&&(g.quoteProps==="as-needed"||g.quoteProps==="consistent"&&!gQ.get(B))?A.call(E=>FA(E,/^\d/u.test(Q.value)?AI(Q.value):Q.value,g),"key"):I("key")}function IQ(A,g,I){let{node:C}=A;return C.shorthand?I("value"):rI(A,g,I,gI(A,g,I),":","value")}var rR=({node:A,key:g,parent:I})=>g==="value"&&A.type==="FunctionExpression"&&(I.type==="ObjectMethod"||I.type==="ClassMethod"||I.type==="ClassPrivateMethod"||I.type==="MethodDefinition"||I.type==="TSAbstractMethodDefinition"||I.type==="TSDeclareMethod"||I.type==="Property"&&hI(I));function CQ(A,g,I,C){if(rR(A))return BQ(A,g,I);let{node:B}=A,Q=!1;if((B.type==="FunctionDeclaration"||B.type==="FunctionExpression")&&C?.expandLastArg){let{parent:r}=A;O(r)&&(kA(r).length>1||DA(B).every(a=>a.type==="Identifier"&&!a.typeAnnotation))&&(Q=!0)}let E=[EA(A),B.async?"async ":"",`function${B.generator?"*":""} `,B.id?I("id"):""],e=ag(A,g,I,Q),i=EC(A,I),o=qg(B,i);return E.push(kg(A,g,I),s([o?s(e):e,i]),B.body?" ":"",I("body")),g.semi&&(B.declare||!B.body)&&E.push(";"),E}function xC(A,g,I){let{node:C}=A,{kind:B}=C,Q=C.value||C,E=[];return!B||B==="init"||B==="method"||B==="constructor"?Q.async&&E.push("async "):(pI.ok(B==="get"||B==="set"),E.push(B," ")),Q.generator&&E.push("*"),E.push(gI(A,g,I),C.optional?"?":"",[" ",C===Q?BQ(A,g,I):I("value")]),E}function BQ(A,g,I){let{node:C}=A,B=ag(A,g,I),Q=EC(A,I),E=qr(C),e=qg(C,Q),i=[kg(A,g,I),s([E?s(B,{shouldBreak:!0}):e?s(B):B,Q])];return C.body?i.push(" ",I("body")):i.push(g.semi?";":""),i}function sR(A){let g=DA(A);return g.length===1&&!A.typeParameters&&!l(A,Y.Dangling)&&g[0].type==="Identifier"&&!g[0].typeAnnotation&&!l(g[0])&&!g[0].optional&&!A.predicate&&!A.returnType}function QQ(A,g){if(g.arrowParens==="always")return!1;if(g.arrowParens==="avoid"){let{node:I}=A;return sR(I)}return!1}function EC(A,g){let{node:I}=A,B=[CA(A,g,"returnType")];return I.predicate&&B.push(g("predicate")),B}function Vr(A,g,I){let{node:C}=A,B=g.semi?";":"",Q=[];if(C.argument){let i=I("argument");DR(g,C.argument)?i=["(",w([p,i]),p,")"]:(WA(C.argument)||g.experimentalTernaries&&C.argument.type==="ConditionalExpression"&&(C.argument.consequent.type==="ConditionalExpression"||C.argument.alternate.type==="ConditionalExpression"))&&(i=s([L("("),w([u,i]),u,L(")")])),Q.push(" ",i)}let E=l(C,Y.Dangling),e=B&&E&&l(C,Y.Last|Y.Line);return e&&Q.push(B),E&&Q.push(" ",z(A,g)),e||Q.push(B),Q}function Xr(A,g,I){return["return",Vr(A,g,I)]}function vr(A,g,I){return["throw",Vr(A,g,I)]}function DR(A,g){if(pA(A.originalText,g)||l(g,Y.Leading,I=>KA(A.originalText,H(I),K(I)))&&!tA(g))return!0;if(WI(g)){let I=g,C;for(;C=ht(I);)if(I=C,pA(A.originalText,I))return!0}return!1}var Se=new WeakMap;function _r(A){return!1}var aR=A=>A.type==="SequenceExpression";function $r(A,g,I,C={}){let B=[],Q,E=[],e=!1,i=!C.expandLastArg&&A.node.body.type==="ArrowFunctionExpression",o;(function d(){let{node:k}=A,S=nR(A,g,I,C);if(B.length===0)B.push(S);else{let{leading:f,trailing:J}=ne(A,g);B.push([f,S]),E.unshift(J)}i&&(e||=k.returnType&&DA(k).length>0||k.typeParameters||DA(k).some(f=>f.type!=="Identifier")),!i||k.body.type!=="ArrowFunctionExpression"?(Q=I("body",C),o=k.body):A.call(d,"body")})();let r=!pA(g.originalText,o)&&(aR(o)||cR(o,Q,g)||!e&&_r(o)),a=A.key==="callee"&&Xg(A.parent),D=Symbol("arrow-chain"),y=yR(A,C,{signatureDocs:B,shouldBreak:e}),n=!1,M=!1,R=!1;return i&&(a||C.assignmentLayout)&&(M=!0,R=!l(A.node,Y.Leading&Y.Line),n=C.assignmentLayout==="chain-tail-arrow-chain"||a&&!r),Q=wR(A,g,C,{bodyDoc:Q,bodyComments:E,functionBody:o,shouldPutBodyOnSameLine:r}),s([s(M?w([R?u:"",y]):y,{shouldBreak:n,id:D})," =>",i?tI(Q,{groupId:D}):s(Q),i&&a?L(u,"",{groupId:D}):""])}function nR(A,g,I,C){let{node:B}=A,Q=[];if(B.async&&Q.push("async "),QQ(A,g))Q.push(I(["params",0]));else{let e=C.expandLastArg||C.expandFirstArg,i=EC(A,I);if(e){if(cA(i))throw new _g;i=s(JC(i))}Q.push(s([ag(A,g,I,e,!0),i]))}let E=z(A,g,{filter(e){let i=fg(g.originalText,K(e));return i!==!1&&g.originalText.slice(i,i+2)==="=>"}});return E&&Q.push(" ",E),Q}function cR(A,g,I){return IA(A)||SA(A)||A.type==="ArrowFunctionExpression"||A.type==="DoExpression"||A.type==="BlockStatement"||tA(A)||g.label?.hug!==!1&&(g.label?.embed||FB(A,I.originalText))}function yR(A,g,{signatureDocs:I,shouldBreak:C}){if(I.length===1)return I[0];let{parent:B,key:Q}=A;return Q!=="callee"&&Xg(B)||WA(B)?s([I[0]," =>",w([F,m([" =>",F],I.slice(1))])],{shouldBreak:C}):Q==="callee"&&Xg(B)||g.assignmentLayout?s(m([" =>",F],I),{shouldBreak:C}):s(w(m([" =>",F],I)),{shouldBreak:C})}function wR(A,g,I,{bodyDoc:C,bodyComments:B,functionBody:Q,shouldPutBodyOnSameLine:E}){let{node:e,parent:i}=A,o=I.expandLastArg&&MA(g,"all")?L(","):"",r=(I.expandLastArg||i.type==="JSXExpressionContainer")&&!l(e)?u:"";return E&&_r(Q)?[" ",s([L("","("),w([u,C]),L("",")"),o,r]),B]:E?[" ",C,B]:[w([F,C,B]),o,r]}function qC(A,g,I,C){let{node:B}=A,Q=[],E=DB(!1,B[C],e=>e.type!=="EmptyStatement");return A.each(({node:e})=>{e.type!=="EmptyStatement"&&(Q.push(I()),e!==E&&(Q.push(p),NA(e,g)&&Q.push(p)))},C),Q}function EQ(A,g,I){let C=NR(A,g,I),{node:B,parent:Q}=A;if(B.type==="Program"&&Q?.type!=="ModuleExpression")return C?[C,p]:"";let E=[];if(B.type==="StaticBlock"&&E.push("static "),E.push("{"),C)E.push(w([p,C]),p);else{let e=A.grandparent;Q.type==="ArrowFunctionExpression"||Q.type==="FunctionExpression"||Q.type==="FunctionDeclaration"||Q.type==="ComponentDeclaration"||Q.type==="HookDeclaration"||Q.type==="ObjectMethod"||Q.type==="ClassMethod"||Q.type==="ClassPrivateMethod"||Q.type==="ForStatement"||Q.type==="WhileStatement"||Q.type==="DoWhileStatement"||Q.type==="DoExpression"||Q.type==="ModuleExpression"||Q.type==="CatchClause"&&!e.finalizer||Q.type==="TSModuleDeclaration"||Q.type==="MatchStatementCase"||B.type==="StaticBlock"||E.push(p)}return E.push("}"),E}function NR(A,g,I){let{node:C}=A,B=b(C.directives),Q=C.body.some(i=>i.type!=="EmptyStatement"),E=l(C,Y.Dangling);if(!B&&!Q&&!E)return"";let e=[];return B&&(e.push(qC(A,g,I,"directives")),(Q||E)&&(e.push(p),NA(P(!1,C.directives,-1),g)&&e.push(p))),Q&&e.push(qC(A,g,I,"body")),E&&e.push(z(A,g)),e}function uR(A){let g=new WeakMap;return function(I){return g.has(I)||g.set(I,Symbol(A)),g.get(I)}}var eQ=uR;var bC=eQ("typeParameters");function GR(A,g,I){let{node:C}=A;return DA(C).length===1&&C.type.startsWith("TS")&&!C[I][0].constraint&&A.parent.type==="ArrowFunctionExpression"&&!(g.filepath&&/\.ts$/u.test(g.filepath))}function RI(A,g,I,C){let{node:B}=A;if(!B[C])return"";if(!Array.isArray(B[C]))return I(C);let Q=YI(A.grandparent),E=A.match(o=>!(o[C].length===1&&dg(o[C][0])),void 0,(o,r)=>r==="typeAnnotation",o=>o.type==="Identifier",le);if(B[C].length===0||!E&&(Q||B[C].length===1&&(B[C][0].type==="NullableTypeAnnotation"||br(B[C][0]))))return["<",m(", ",A.map(I,C)),pR(A,g),">"];let i=B.type==="TSTypeParameterInstantiation"?"":GR(A,g,C)?",":MA(g)?L(","):"";return s(["<",w([u,m([",",F],A.map(I,C))]),i,u,">"],{id:bC(B)})}function pR(A,g){let{node:I}=A;if(!l(I,Y.Dangling))return"";let C=!l(I,Y.Line),B=z(A,g,{indent:!C});return C?B:[B,p]}function iQ(A,g,I){let{node:C}=A,B=[C.const?"const ":""],Q=C.type==="TSTypeParameter"?I("name"):C.name;if(C.variance&&B.push(I("variance")),C.in&&B.push("in "),C.out&&B.push("out "),B.push(Q),C.bound&&(C.usesExtendsBound&&B.push(" extends "),B.push(CA(A,I,"bound"))),C.constraint){let E=Symbol("constraint");B.push(" extends",s(w(F),{id:E}),Eg,tI(I("constraint"),{groupId:E}))}return C.default&&B.push(" = ",I("default")),s(B)}var As=x(["ClassProperty","PropertyDefinition","ClassPrivateProperty","ClassAccessorProperty","AccessorProperty","TSAbstractPropertyDefinition","TSAbstractAccessorProperty"]);function oQ(A,g,I){let{node:C}=A,B=[EA(A),CC(A),"class"],Q=l(C.id,Y.Trailing)||l(C.typeParameters,Y.Trailing)||l(C.superClass)||b(C.extends)||b(C.mixins)||b(C.implements),E=[],e=[];if(C.id&&E.push(" ",I("id")),E.push(I("typeParameters")),C.superClass){let r=[lR(A,g,I),I(C.superTypeArguments?"superTypeArguments":"superTypeParameters")],a=A.call(D=>["extends ",FA(D,r,g)],"superClass");Q?e.push(F,s(a)):e.push(" ",a)}else e.push(Me(A,g,I,"extends"));e.push(Me(A,g,I,"mixins"),Me(A,g,I,"implements"));let i;if(Q){let r;Cs(C)?r=[...E,w(e)]:r=w([...E,e]),i=gs(C),B.push(s(r,{id:i}))}else B.push(...E,...e);let o=C.body;return Q&&b(o.body)?B.push(L(p," ",{groupId:i})):B.push(" "),B.push(I("body")),B}var gs=eQ("heritageGroup");function Is(A){return L(p,"",{groupId:gs(A)})}function FR(A){return["extends","mixins","implements"].reduce((g,I)=>g+(Array.isArray(A[I])?A[I].length:0),A.superClass?1:0)>1}function Cs(A){return A.typeParameters&&!l(A.typeParameters,Y.Trailing|Y.Line)&&!FR(A)}function Me(A,g,I,C){let{node:B}=A;if(!b(B[C]))return"";let Q=z(A,g,{marker:C});return[Cs(B)?L(" ",F,{groupId:bC(B.typeParameters)}):F,Q,Q&&p,C,s(w([F,m([",",F],A.map(I,C))]))]}function lR(A,g,I){let C=I("superClass"),{parent:B}=A;return B.type==="AssignmentExpression"?s(L(["(",w([u,C]),u,")"],C)):C}function tQ(A,g,I){let{node:C}=A,B=[];return b(C.decorators)&&B.push(Ge(A,g,I)),B.push(BC(C)),C.static&&B.push("static "),B.push(CC(A)),C.override&&B.push("override "),B.push(xC(A,g,I)),B}function rQ(A,g,I){let{node:C}=A,B=[],Q=g.semi?";":"";b(C.decorators)&&B.push(Ge(A,g,I)),B.push(EA(A),BC(C)),C.static&&B.push("static "),B.push(CC(A)),C.override&&B.push("override "),C.readonly&&B.push("readonly "),C.variance&&B.push(I("variance")),(C.type==="ClassAccessorProperty"||C.type==="AccessorProperty"||C.type==="TSAbstractAccessorProperty")&&B.push("accessor "),B.push(gI(A,g,I),QA(A),$B(A),CA(A,I));let E=C.type==="TSAbstractPropertyDefinition"||C.type==="TSAbstractAccessorProperty";return[rI(A,g,I,B," =",E?void 0:"value"),Q]}function Bs(A,g,I){let{node:C}=A,B=[];return A.each(({node:Q,next:E,isLast:e})=>{B.push(I()),!g.semi&&As(Q)&&hR(Q,E)&&B.push(";"),e||(B.push(p),NA(Q,g)&&B.push(p))},"body"),l(C,Y.Dangling)&&B.push(z(A,g)),["{",B.length>0?[w([p,B]),p]:"","}"]}function hR(A,g){let{type:I,name:C}=A.key;if(!A.computed&&I==="Identifier"&&(C==="static"||C==="get"||C==="set")&&!A.value&&!A.typeAnnotation)return!0;if(!g||g.static||g.accessibility||g.readonly)return!1;if(!g.computed){let B=g.key?.name;if(B==="in"||B==="instanceof")return!0}if(As(g)&&g.variance&&!g.static&&!g.declare)return!0;switch(g.type){case"ClassProperty":case"PropertyDefinition":case"TSAbstractPropertyDefinition":return g.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{if((g.value?g.value.async:g.async)||g.kind==="get"||g.kind==="set")return!1;let Q=g.value?g.value.generator:g.generator;return!!(g.computed||Q)}case"TSIndexSignature":return!0}return!1}var YR=x(["TSAsExpression","TSTypeAssertion","TSNonNullExpression","TSInstantiationExpression","TSSatisfiesExpression"]);function ke(A){return YR(A)?ke(A.expression):A}var Qs=x(["FunctionExpression","ArrowFunctionExpression"]);function Es(A){return A.type==="MemberExpression"||A.type==="OptionalMemberExpression"||A.type==="Identifier"&&A.name!=="undefined"}function es(A,g){if(g.semi||Ke(A,g)||Je(A,g)||Ue(A,g))return!1;let{node:I,key:C,parent:B}=A;return!!(I.type==="ExpressionStatement"&&(C==="body"&&(B.type==="Program"||B.type==="BlockStatement"||B.type==="StaticBlock"||B.type==="TSModuleBlock")||C==="consequent"&&B.type==="SwitchCase")&&A.call(()=>is(A,g),"expression"))}function is(A,g){let{node:I}=A;switch(I.type){case"ParenthesizedExpression":case"TypeCastExpression":case"ArrayExpression":case"ArrayPattern":case"TemplateLiteral":case"TemplateElement":case"RegExpLiteral":return!0;case"ArrowFunctionExpression":if(!QQ(A,g))return!0;break;case"UnaryExpression":{let{prefix:C,operator:B}=I;if(C&&(B==="+"||B==="-"))return!0;break}case"BindExpression":if(!I.object)return!0;break;case"Literal":if(I.regex)return!0;break;default:if(tA(I))return!0}return zA(A,g)?!0:WI(I)?A.call(()=>is(A,g),...uB(I)):!1}var Re=({node:A,parent:g})=>A.type==="ExpressionStatement"&&g.type==="Program"&&g.body.length===1&&(Array.isArray(g.directives)&&g.directives.length===0||!g.directives);function Ke(A,g){return(g.parentParser==="markdown"||g.parentParser==="mdx")&&Re(A)&&tA(A.node.expression)}function Ue(A,g){return g.__isHtmlInlineEventHandler&&Re(A)}function Je(A,g){return(g.parser==="__vue_event_binding"||g.parser==="__vue_ts_event_binding")&&Re(A)}function SR(A,g){if(Je(A,g)){let I=ke(A.node.expression);return Qs(I)||Es(I)}return!(!g.semi||Ke(A,g)||Ue(A,g))}function os(A,g,I){return[I("expression"),SR(A,g)?";":""]}function ts(A,g,I){if(g.__isVueBindings||g.__isVueForBindingLeft){let C=A.map(I,"program","body",0,"params");if(C.length===1)return C[0];let B=m([",",F],C);return g.__isVueForBindingLeft?["(",w([u,s(B)]),u,")"]:B}if(g.__isEmbeddedTypescriptGenericParameters){let C=A.map(I,"program","body",0,"typeParameters","params");return m([",",F],C)}}function Ds(A,g){let{node:I}=A;switch(I.type){case"RegExpLiteral":return rs(I);case"BigIntLiteral":return sQ(I.extra.raw);case"NumericLiteral":return AI(I.extra.raw);case"StringLiteral":return Qg(Jg(I.extra.raw,g));case"NullLiteral":return"null";case"BooleanLiteral":return String(I.value);case"DirectiveLiteral":return ss(I.extra.raw,g);case"Literal":{if(I.regex)return rs(I.regex);if(I.bigint)return sQ(I.raw);let{value:C}=I;return typeof C=="number"?AI(I.raw):typeof C=="string"?MR(A)?ss(I.raw,g):Qg(Jg(I.raw,g)):String(C)}}}function MR(A){if(A.key!=="expression")return;let{parent:g}=A;return g.type==="ExpressionStatement"&&typeof g.directive=="string"}function sQ(A){return A.toLowerCase()}function rs({pattern:A,flags:g}){return g=[...g].sort().join(""),`/${A}/${g}`}function ss(A,g){let I=A.slice(1,-1);if(I.includes('"')||I.includes("'"))return A;let C=g.singleQuote?"'":'"';return C+I+C}function as(A,g,I){let{node:C}=A;return["import",C.phase?` ${C.phase}`:"",Le(C),ys(A,g,I),cs(A,g,I),Ns(A,g,I),g.semi?";":""]}var ns=A=>A.type==="ExportDefaultDeclaration"||A.type==="DeclareExportDeclaration"&&A.default;function DQ(A,g,I){let{node:C}=A,B=[Sr(A,g,I),EA(A),"export",ns(C)?" default":""],{declaration:Q,exported:E}=C;return l(C,Y.Dangling)&&(B.push(" ",z(A,g)),lB(C)&&B.push(p)),Q?B.push(" ",I("declaration")):(B.push(KR(C)),C.type==="ExportAllDeclaration"||C.type==="DeclareExportAllDeclaration"?(B.push(" *"),E&&B.push(" as ",I("exported"))):B.push(ys(A,g,I)),B.push(cs(A,g,I),Ns(A,g,I))),B.push(RR(C,g)),B}var kR=x(["ClassDeclaration","ComponentDeclaration","FunctionDeclaration","TSInterfaceDeclaration","DeclareClass","DeclareComponent","DeclareFunction","DeclareHook","HookDeclaration","TSDeclareFunction","EnumDeclaration"]);function RR(A,g){return g.semi&&(!A.declaration||ns(A)&&!kR(A.declaration))?";":""}function de(A,g=!0){return A&&A!=="value"?`${g?" ":""}${A}${g?"":" "}`:""}function Le(A,g){return de(A.importKind,g)}function KR(A){return de(A.exportKind)}function cs(A,g,I){let{node:C}=A;if(!C.source)return"";let B=[];return ws(C,g)&&B.push(" from"),B.push(" ",I("source")),B}function ys(A,g,I){let{node:C}=A;if(!ws(C,g))return"";let B=[" "];if(b(C.specifiers)){let Q=[],E=[];A.each(()=>{let e=A.node.type;if(e==="ExportNamespaceSpecifier"||e==="ExportDefaultSpecifier"||e==="ImportNamespaceSpecifier"||e==="ImportDefaultSpecifier")Q.push(I());else if(e==="ExportSpecifier"||e==="ImportSpecifier")E.push(I());else throw new xg(C,"specifier")},"specifiers"),B.push(m(", ",Q)),E.length>0&&(Q.length>0&&B.push(", "),E.length>1||Q.length>0||C.specifiers.some(i=>l(i))?B.push(s(["{",w([g.bracketSpacing?F:u,m([",",F],E)]),L(MA(g)?",":""),g.bracketSpacing?F:u,"}"])):B.push(["{",g.bracketSpacing?" ":"",...E,g.bracketSpacing?" ":"","}"]))}else B.push("{}");return B}function ws(A,g){return A.type!=="ImportDeclaration"||b(A.specifiers)||A.importKind==="type"?!0:lI(g,H(A),H(A.source)).trimEnd().endsWith("from")}function UR(A,g){if(A.extra?.deprecatedAssertSyntax)return"assert";let I=lI(g,K(A.source),A.attributes?.[0]?H(A.attributes[0]):K(A)).trimStart();return I.startsWith("assert")?"assert":I.startsWith("with")||b(A.attributes)?"with":void 0}function Ns(A,g,I){let{node:C}=A;if(!C.source)return"";let B=UR(C,g);if(!B)return"";let Q=[` ${B} {`];return b(C.attributes)&&(g.bracketSpacing&&Q.push(" "),Q.push(m(", ",A.map(I,"attributes"))),g.bracketSpacing&&Q.push(" ")),Q.push("}"),Q}function us(A,g,I){let{node:C}=A,{type:B}=C,Q=B.startsWith("Import"),E=Q?"imported":"local",e=Q?"local":"exported",i=C[E],o=C[e],r="",a="";return B==="ExportNamespaceSpecifier"||B==="ImportNamespaceSpecifier"?r="*":i&&(r=I(E)),o&&!JR(C)&&(a=I(e)),[de(B==="ImportSpecifier"?C.importKind:C.exportKind,!1),r,r&&a?" as ":"",a]}function JR(A){if(A.type!=="ImportSpecifier"&&A.type!=="ExportSpecifier")return!1;let{local:g,[A.type==="ImportSpecifier"?"imported":"exported"]:I}=A;if(g.type!==I.type||!bo(g,I))return!1;if(sA(g))return g.value===I.value&&wA(g)===wA(I);switch(g.type){case"Identifier":return g.name===I.name;default:return!1}}function sI(A,g,I){let C=g.semi?";":"",{node:B}=A,Q=B.type==="ObjectTypeAnnotation",E=B.type==="TSEnumBody"||B.type==="EnumBooleanBody"||B.type==="EnumNumberBody"||B.type==="EnumBigIntBody"||B.type==="EnumStringBody"||B.type==="EnumSymbolBody",e=[B.type==="TSTypeLiteral"||E?"members":B.type==="TSInterfaceBody"?"body":"properties"];Q&&e.push("indexers","callProperties","internalSlots");let i=e.flatMap(J=>A.map(({node:Z})=>({node:Z,printed:I(),loc:H(Z)}),J));e.length>1&&i.sort((J,Z)=>J.loc-Z.loc);let{parent:o,key:r}=A,a=Q&&r==="body"&&(o.type==="InterfaceDeclaration"||o.type==="DeclareInterface"||o.type==="DeclareClass"),D=!1,y=a?";":B.type==="TSInterfaceBody"||B.type==="TSTypeLiteral"?L("",","):",",n=B.exact?"{|":"{",M=B.exact?"|}":"}",R=[],d=i.map(J=>{let Z=[...R,s(J.printed)];return R=[y,F],(J.node.type==="TSPropertySignature"||J.node.type==="TSMethodSignature"||J.node.type==="TSConstructSignatureDeclaration"||J.node.type==="TSCallSignatureDeclaration")&&l(J.node,Y.PrettierIgnore)&&R.shift(),NA(J.node,g)&&R.push(p),Z});if(B.inexact||B.hasUnknownMembers){let J;if(l(B,Y.Dangling)){let Z=l(B,Y.Line);J=[z(A,g),Z||nA(g.originalText,K(P(!1,Vg(B),-1)))?p:F,"..."]}else J=["..."];d.push([...R,...J])}let k=P(!1,i,-1)?.node,S=!(B.inexact||B.hasUnknownMembers||k&&(k.type==="RestElement"||(k.type==="TSPropertySignature"||k.type==="TSCallSignatureDeclaration"||k.type==="TSMethodSignature"||k.type==="TSConstructSignatureDeclaration"||k.type==="TSIndexSignature")&&l(k,Y.PrettierIgnore))),f;if(d.length===0){if(!l(B,Y.Dangling))return[n,M,CA(A,I)];f=s([n,z(A,g,{indent:!0}),u,M,QA(A),CA(A,I)])}else f=[a&&b(B.properties)?Is(o):"",n,w([g.bracketSpacing?F:u,...d]),L(S&&(y!==","||MA(g))?y:""),g.bracketSpacing?F:u,M,QA(A),CA(A,I)];return A.match(J=>J.type==="ObjectPattern"&&!b(J.decorators),me)||dg(B)&&(A.match(void 0,(J,Z)=>Z==="typeAnnotation",(J,Z)=>Z==="typeAnnotation",me)||A.match(void 0,(J,Z)=>J.type==="FunctionTypeParam"&&Z==="typeAnnotation",me))||!D&&A.match(J=>J.type==="ObjectPattern",J=>J.type==="AssignmentExpression"||J.type==="VariableDeclarator")?f:s(f,{shouldBreak:D})}function me(A,g){return(g==="params"||g==="parameters"||g==="this"||g==="rest")&&he(A)}var He=(A,g)=>s(g);function dR(A,g,I){let{node:C}=A,B=C.type==="ConditionalExpression",Q=B?"alternate":"falseType",{parent:E}=A,e=B?I("test"):[I("checkType")," ","extends"," ",I("extendsType")];return E.type===C.type&&E[Q]===C?He(2,e):e}var LR=new Map([["AssignmentExpression","right"],["VariableDeclarator","init"],["ReturnStatement","argument"],["ThrowStatement","argument"],["UnaryExpression","argument"],["YieldExpression","argument"],["AwaitExpression","argument"]]);function mR(A){let{node:g}=A;if(g.type!=="ConditionalExpression")return!1;let I,C=g;for(let B=0;!I;B++){let Q=A.getParentNode(B);if(Q.type==="ChainExpression"&&Q.expression===C||O(Q)&&Q.callee===C||X(Q)&&Q.object===C||Q.type==="TSNonNullExpression"&&Q.expression===C){C=Q;continue}Q.type==="NewExpression"&&Q.callee===C||tg(Q)&&Q.expression===C?(I=A.getParentNode(B+1),C=Q):I=Q}return C===g?!1:I[LR.get(I.type)]===C}function Gs(A,g,I){let{node:C}=A,B=C.type==="ConditionalExpression",Q=B?"consequent":"trueType",E=B?"alternate":"falseType",e=B?["test"]:["checkType","extendsType"],i=C[Q],o=C[E],r=[],a=!1,{parent:D}=A,y=D.type===C.type&&e.some(AA=>D[AA]===C),n=!1,M,R,d=0;do R=M||C,M=A.getParentNode(d),d++;while(M&&M.type===C.type&&e.every(AA=>M[AA]!==R));let k=M||D,S=R,f=AA=>He(2,I(AA)),J=[F,"? ",f(Q),F,": ",f(E)];r.push(D.type!==C.type||D[E]===C||y?J:g.useTabs?kB(w(J)):He(Math.max(0,g.tabWidth-2),J));let Z=[Q,E,...e].some(AA=>l(C[AA],jA=>oA(jA)&&KA(g.originalText,H(jA),K(jA)))),uA=AA=>D===k?s(AA,{shouldBreak:Z}):Z?[AA,fA]:AA,UA=!a&&(X(D)||D.type==="NGPipeExpression"&&D.left===C)&&!D.computed,yA=mR(A),lA=uA([dR(A,g,I),n?r:w(r),B&&UA&&!yA?u:""]);return y||yA?s([w([u,lA]),u]):lA}function HR(A,g){return(X(g)||g.type==="NGPipeExpression"&&g.left===A)&&!g.computed}function fR(A,g,I,C){return[...A.map(Q=>Vg(Q)),Vg(g),Vg(I)].flat().some(Q=>oA(Q)&&KA(C.originalText,H(Q),K(Q)))}var TR=new Map([["AssignmentExpression","right"],["VariableDeclarator","init"],["ReturnStatement","argument"],["ThrowStatement","argument"],["UnaryExpression","argument"],["YieldExpression","argument"],["AwaitExpression","argument"]]);function xR(A){let{node:g}=A;if(g.type!=="ConditionalExpression")return!1;let I,C=g;for(let B=0;!I;B++){let Q=A.getParentNode(B);if(Q.type==="ChainExpression"&&Q.expression===C||O(Q)&&Q.callee===C||X(Q)&&Q.object===C||Q.type==="TSNonNullExpression"&&Q.expression===C){C=Q;continue}Q.type==="NewExpression"&&Q.callee===C||tg(Q)&&Q.expression===C?(I=A.getParentNode(B+1),C=Q):I=Q}return C===g?!1:I[TR.get(I.type)]===C}var fe=A=>[L("("),w([u,A]),u,L(")")];function eC(A,g,I,C){if(!g.experimentalTernaries)return Gs(A,g,I);let{node:B}=A,Q=B.type==="ConditionalExpression",E=rg(B),e=Q?"consequent":"trueType",i=Q?"alternate":"falseType",o=Q?["test"]:["checkType","extendsType"],r=B[e],a=B[i],D=o.map(TA=>B[TA]),{parent:y}=A,n=y.type===B.type,M=n&&o.some(TA=>y[TA]===B),R=n&&y[i]===B,d=r.type===B.type,k=a.type===B.type,S=k||R,f=g.tabWidth>2||g.useTabs,J,Z,uA=0;do Z=J||B,J=A.getParentNode(uA),uA++;while(J&&J.type===B.type&&o.every(TA=>J[TA]!==Z));let UA=J||y,yA=C&&C.assignmentLayout&&C.assignmentLayout!=="break-after-operator"&&(y.type==="AssignmentExpression"||y.type==="VariableDeclarator"||y.type==="ClassProperty"||y.type==="PropertyDefinition"||y.type==="ClassPrivateProperty"||y.type==="ObjectProperty"||y.type==="Property"),lA=(y.type==="ReturnStatement"||y.type==="ThrowStatement")&&!(d||k),AA=Q&&UA.type==="JSXExpressionContainer"&&A.grandparent.type!=="JSXAttribute",jA=xR(A),q=HR(B,y),rA=E&&zA(A,g),v=f?g.useTabs?" ":" ".repeat(g.tabWidth-1):"",bg=fR(D,r,a,g)||d||k,aI=!S&&!n&&!E&&(AA?r.type==="NullLiteral"||r.type==="Literal"&&r.value===null:KC(r,g)&&bE(B.test,3)),oC=S||R||E&&!n||n&&Q&&bE(B.test,1)||aI,tC=[];!d&&l(r,Y.Dangling)&&A.call(TA=>{tC.push(z(TA,g),p)},"consequent");let II=[];l(B.test,Y.Dangling)&&A.call(TA=>{II.push(z(TA,g))},"test"),!k&&l(a,Y.Dangling)&&A.call(TA=>{II.push(z(TA,g))},"alternate"),l(B,Y.Dangling)&&II.push(z(A,g));let rC=Symbol("test"),PC=Symbol("consequent"),KI=Symbol("test-and-consequent"),NQ=Q?[fe(I("test")),B.test.type==="ConditionalExpression"?fA:""]:[I("checkType")," ","extends"," ",rg(B.extendsType)||B.extendsType.type==="TSMappedType"?I("extendsType"):s(fe(I("extendsType")))],sC=s([NQ," ?"],{id:rC}),uQ=I(e),UI=w([d||AA&&(tA(r)||n||S)?p:F,tC,uQ]),GQ=oC?s([sC,S?UI:L(UI,s(UI,{id:PC}),{groupId:rC})],{id:KI}):[sC,UI],DC=I(i),OC=aI?L(DC,kB(fe(DC)),{groupId:KI}):DC,nI=[GQ,II.length>0?[w([p,II]),p]:k?p:aI?L(F," ",{groupId:KI}):F,":",k?" ":f?oC?L(v,L(S||aI?" ":v," "),{groupId:KI}):L(v," "):" ",k?OC:s([w(OC),AA&&!aI?u:""]),q&&!jA?u:"",bg?fA:""];return yA&&!bg?s(w([u,s(nI)])):yA||lA?s(w(nI)):jA||E&&M?s([w([u,nI]),rA?u:""]):y===UA?s(nI):nI}function ps(A,g,I,C){let{node:B}=A;if(GB(B))return Ds(A,g);let Q=g.semi?";":"",E=[];switch(B.type){case"JsExpressionRoot":return I("node");case"JsonRoot":return[z(A,g),I("node"),p];case"File":return ts(A,g,I)??I("program");case"EmptyStatement":return"";case"ExpressionStatement":return os(A,g,I);case"ChainExpression":return I("expression");case"ParenthesizedExpression":return!l(B.expression)&&(SA(B.expression)||IA(B.expression))?["(",I("expression"),")"]:s(["(",w([u,I("expression")]),u,")"]);case"AssignmentExpression":return Hr(A,g,I);case"VariableDeclarator":return fr(A,g,I);case"BinaryExpression":case"LogicalExpression":return fB(A,g,I);case"AssignmentPattern":return[I("left")," = ",I("right")];case"OptionalMemberExpression":case"MemberExpression":return Ur(A,g,I);case"MetaProperty":return[I("meta"),".",I("property")];case"BindExpression":return B.object&&E.push(I("object")),E.push(s(w([u,TB(A,g,I)]))),E;case"Identifier":return[B.name,QA(A),$B(A),CA(A,I)];case"V8IntrinsicIdentifier":return["%",B.name];case"SpreadElement":case"SpreadElementPattern":case"SpreadPropertyPattern":case"RestElement":return AQ(A,I);case"FunctionDeclaration":case"FunctionExpression":return CQ(A,g,I,C);case"ArrowFunctionExpression":return $r(A,g,I,C);case"YieldExpression":return E.push("yield"),B.delegate&&E.push("*"),B.argument&&E.push(" ",I("argument")),E;case"AwaitExpression":if(E.push("await"),B.argument){E.push(" ",I("argument"));let{parent:e}=A;if(O(e)&&e.callee===B||X(e)&&e.object===B){E=[w([u,...E]),u];let i=A.findAncestor(o=>o.type==="AwaitExpression"||o.type==="BlockStatement");if(i?.type!=="AwaitExpression"||!YA(i.argument,o=>o===B))return s(E)}}return E;case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return DQ(A,g,I);case"ImportDeclaration":return as(A,g,I);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return us(A,g,I);case"ImportAttribute":return IQ(A,g,I);case"Program":case"BlockStatement":case"StaticBlock":return EQ(A,g,I);case"ClassBody":return Bs(A,g,I);case"ThrowStatement":return vr(A,g,I);case"ReturnStatement":return Xr(A,g,I);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return IC(A,g,I);case"ObjectExpression":case"ObjectPattern":return sI(A,g,I);case"Property":return hI(B)?xC(A,g,I):IQ(A,g,I);case"ObjectProperty":return IQ(A,g,I);case"ObjectMethod":return xC(A,g,I);case"Decorator":return["@",I("expression")];case"ArrayExpression":case"ArrayPattern":return QC(A,g,I);case"SequenceExpression":{let{parent:e}=A;if(e.type==="ExpressionStatement"||e.type==="ForStatement"){let o=[];return A.each(({isFirst:r})=>{r?o.push(I()):o.push(",",w([F,I()]))},"expressions"),s(o)}let i=m([",",F],A.map(I,"expressions"));return(e.type==="ReturnStatement"||e.type==="ThrowStatement")&&A.key==="argument"||e.type==="ArrowFunctionExpression"&&A.key==="body"?s(L([w([u,i]),u],i)):s(i)}case"ThisExpression":return"this";case"Super":return"super";case"Directive":return[I("value"),Q];case"UnaryExpression":return E.push(B.operator),/[a-z]$/u.test(B.operator)&&E.push(" "),l(B.argument)?E.push(s(["(",w([u,I("argument")]),u,")"])):E.push(I("argument")),E;case"UpdateExpression":return[B.prefix?B.operator:"",I("argument"),B.prefix?"":B.operator];case"ConditionalExpression":return eC(A,g,I,C);case"VariableDeclaration":{let e=A.map(I,"declarations"),i=A.parent,o=i.type==="ForStatement"||i.type==="ForInStatement"||i.type==="ForOfStatement",r=B.declarations.some(D=>D.init),a;return e.length===1&&!l(B.declarations[0])&&(a=e[0]),E=[EA(A),B.kind,a?[" ",a]:"",w(e.filter(D=>D!==a).map((D,y)=>[y?",":"",r&&!o?p:F,D]))],o&&i.body!==B||E.push(Q),s(E)}case"WithStatement":return s(["with (",I("object"),")",$g(B.body,I("body"))]);case"IfStatement":{let e=$g(B.consequent,I("consequent")),i=s(["if (",s([w([u,I("test")]),u]),")",e]);if(E.push(i),B.alternate){let o=l(B.consequent,Y.Trailing|Y.Line)||lB(B);E.push(!1?" ":p),l(B,Y.Dangling)&&E.push(z(A,g),o?p:" "),E.push("else",s($g(B.alternate,I("alternate"),B.alternate.type==="IfStatement")))}return E}case"ForStatement":{let e=$g(B.body,I("body")),i=z(A,g),o=i?[i,u]:"";return!B.init&&!B.test&&!B.update?[o,s(["for (;;)",e])]:[o,s(["for (",s([w([u,I("init"),";",F,I("test"),";",F,I("update")]),u]),")",e])]}case"WhileStatement":return s(["while (",s([w([u,I("test")]),u]),")",$g(B.body,I("body"))]);case"ForInStatement":return s(["for (",I("left")," in ",I("right"),")",$g(B.body,I("body"))]);case"ForOfStatement":return s(["for",B.await?" await":""," (",I("left")," of ",I("right"),")",$g(B.body,I("body"))]);case"DoWhileStatement":{let e=$g(B.body,I("body"));return E=[s(["do",e])],B.body.type==="BlockStatement"?E.push(" "):E.push(p),E.push("while (",s([w([u,I("test")]),u]),")",Q),E}case"DoExpression":return[B.async?"async ":"","do ",I("body")];case"BreakStatement":case"ContinueStatement":return E.push(B.type==="BreakStatement"?"break":"continue"),B.label&&E.push(" ",I("label")),E.push(Q),E;case"LabeledStatement":return B.body.type==="EmptyStatement"?[I("label"),":;"]:[I("label"),": ",I("body")];case"TryStatement":return["try ",I("block"),B.handler?[F,I("handler")]:"",B.finalizer?[" finally ",I("finalizer")]:""];case"CatchClause":if(B.param){let e=l(B.param,o=>!oA(o)||o.leading&&nA(g.originalText,K(o))||o.trailing&&nA(g.originalText,H(o),{backwards:!0})),i=I("param");return["catch ",e?["(",w([u,i]),u,") "]:["(",i,") "],I("body")]}return["catch ",I("body")];case"SwitchStatement":return[s(["switch (",w([u,I("discriminant")]),u,")"])," {",B.cases.length>0?w([p,m(p,A.map(({node:e,isLast:i})=>[I(),!i&&NA(e,g)?p:""],"cases"))]):"",p,"}"];case"SwitchCase":{B.test?E.push("case ",I("test"),":"):E.push("default:"),l(B,Y.Dangling)&&E.push(" ",z(A,g));let e=B.consequent.filter(i=>i.type!=="EmptyStatement");if(e.length>0){let i=qC(A,g,I,"consequent");E.push(e.length===1&&e[0].type==="BlockStatement"?[" ",i]:w([p,i]))}return E}case"DebuggerStatement":return["debugger",Q];case"ClassDeclaration":case"ClassExpression":return oQ(A,g,I);case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":return tQ(A,g,I);case"ClassProperty":case"PropertyDefinition":case"ClassPrivateProperty":case"ClassAccessorProperty":case"AccessorProperty":return rQ(A,g,I);case"TemplateElement":return Qg(B.value.raw);case"TemplateLiteral":return UB(A,g,I);case"TaggedTemplateExpression":return Er(A,g,I);case"PrivateIdentifier":return["#",B.name];case"PrivateName":return["#",I("id")];case"TopicReference":return"%";case"ArgumentPlaceholder":return"?";case"ModuleExpression":return["module ",I("body")];case"VoidPattern":return"void";case"InterpreterDirective":default:throw new xg(B,"ESTree")}}function aQ(A,g,I){let{parent:C,node:B,key:Q}=A,E=[I("expression")];switch(B.type){case"AsConstExpression":E.push(" as const");break;case"AsExpression":case"TSAsExpression":E.push(" as ",I("typeAnnotation"));break;case"SatisfiesExpression":case"TSSatisfiesExpression":E.push(" satisfies ",I("typeAnnotation"));break}return Q==="callee"&&O(C)||Q==="object"&&X(C)?s([w([u,...E]),u]):E}function Fs(A,g,I){let{node:C}=A,B=[EA(A),"component"];C.id&&B.push(" ",I("id")),B.push(I("typeParameters"));let Q=qR(A,g,I);return C.rendersType?B.push(s([Q," ",I("rendersType")])):B.push(s([Q])),C.body&&B.push(" ",I("body")),g.semi&&C.type==="DeclareComponent"&&B.push(";"),B}function qR(A,g,I){let{node:C}=A,B=C.params;if(C.rest&&(B=[...B,C.rest]),B.length===0)return["(",z(A,g,{filter:E=>_A(g.originalText,K(E))===")"}),")"];let Q=[];return PR(A,(E,e)=>{let i=e===B.length-1;i&&C.rest&&Q.push("..."),Q.push(I()),!i&&(Q.push(","),NA(B[e],g)?Q.push(p,p):Q.push(F))}),["(",w([u,...Q]),L(MA(g,"all")&&!bR(C,B)?",":""),u,")"]}function bR(A,g){return A.rest||P(!1,g,-1)?.type==="RestElement"}function PR(A,g){let{node:I}=A,C=0,B=Q=>g(Q,C++);A.each(B,"params"),I.rest&&A.call(B,"rest")}function ls(A,g,I){let{node:C}=A;return C.shorthand?I("local"):[I("name")," as ",I("local")]}function hs(A,g,I){let{node:C}=A,B=[];return C.name&&B.push(I("name"),C.optional?"?: ":": "),B.push(I("typeAnnotation")),B}function nQ(A,g,I){return sI(A,g,I)}function cQ(A,g){let{node:I}=A,C=g("id");I.computed&&(C=["[",C,"]"]);let B="";return I.initializer&&(B=g("initializer")),I.init&&(B=g("init")),B?[C," = ",B]:C}function yQ(A,g){let{node:I}=A;return[EA(A),I.const?"const ":"","enum ",g("id")," ",g("body")]}function Ss(A,g,I){let{node:C}=A,B=["hook"];C.id&&B.push(" ",I("id"));let Q=ag(A,g,I,!1,!0),E=EC(A,I),e=qg(C,E);return B.push(s([e?s(Q):Q,E]),C.body?" ":"",I("body")),B}function Ms(A,g,I){let{node:C}=A,B=[EA(A),"hook"];return C.id&&B.push(" ",I("id")),g.semi&&B.push(";"),B}function Ys(A){let{node:g}=A;return g.type==="HookTypeAnnotation"&&A.getParentNode(2)?.type==="DeclareHook"}function ks(A,g,I){let{node:C}=A,B=[];B.push(Ys(A)?"":"hook ");let Q=ag(A,g,I,!1,!0),E=[];return E.push(Ys(A)?": ":" => ",I("returnType")),qg(C,E)&&(Q=s(Q)),B.push(Q,E),s(B)}function wQ(A,g,I){let{node:C}=A,B=[EA(A),"interface"],Q=[],E=[];C.type!=="InterfaceTypeAnnotation"&&Q.push(" ",I("id"),I("typeParameters"));let e=C.typeParameters&&!l(C.typeParameters,Y.Trailing|Y.Line);return b(C.extends)&&E.push(e?L(" ",F,{groupId:bC(C.typeParameters)}):F,"extends ",(C.extends.length===1?Kt:w)(m([",",F],A.map(I,"extends")))),l(C.id,Y.Trailing)||b(C.extends)?e?B.push(s([...Q,w(E)])):B.push(s(w([...Q,...E]))):B.push(...Q,...E),B.push(" ",I("body")),s(B)}function OR(A){switch(A){case null:return"";case"PlusOptional":return"+?";case"MinusOptional":return"-?";case"Optional":return"?"}}function Ks(A,g,I){let{node:C}=A;return s([C.variance?I("variance"):"","[",w([I("keyTparam")," in ",I("sourceType")]),"]",OR(C.optional),": ",I("propType")])}function Rs(A,g){return A==="+"||A==="-"?A+g:g}function Us(A,g,I){let{node:C}=A,B=!1;if(g.objectWrap==="preserve"){let Q=H(C),E=lI(g,Q+1,H(C.key)),e=Q+1+E.search(/\S/u);KA(g.originalText,Q,e)&&(B=!0)}return s(["{",w([g.bracketSpacing?F:u,l(C,Y.Dangling)?s([z(A,g),p]):"",s([C.readonly?[Rs(C.readonly,"readonly")," "]:"","[",I("key")," in ",I("constraint"),C.nameType?[" as ",I("nameType")]:"","]",C.optional?Rs(C.optional,"?"):"",C.typeAnnotation?": ":"",I("typeAnnotation")]),""]),g.bracketSpacing?F:u,"}"],{shouldBreak:B})}function Js(A,g,I){let{node:C}=A;return[s(["match (",w([u,I("argument")]),u,")"])," {",C.cases.length>0?w([p,m(p,A.map(({node:B,isLast:Q})=>[I(),!Q&&NA(B,g)?p:""],"cases"))]):"",p,"}"]}function ds(A,g,I){let{node:C}=A,B=l(C,Y.Dangling)?[" ",z(A,g)]:[],Q=C.type==="MatchStatementCase"?[" ",I("body")]:w([F,I("body"),","]);return[I("pattern"),C.guard?s([w([F,"if (",I("guard"),")"])]):"",s([" =>",B,Q])]}function Ls(A,g,I){let{node:C}=A;switch(C.type){case"MatchOrPattern":return ZR(A,g,I);case"MatchAsPattern":return[I("pattern")," as ",I("target")];case"MatchWildcardPattern":return["_"];case"MatchLiteralPattern":return I("literal");case"MatchUnaryPattern":return[C.operator,I("argument")];case"MatchIdentifierPattern":return I("id");case"MatchMemberPattern":{let B=C.property.type==="Identifier"?[".",I("property")]:["[",w([u,I("property")]),u,"]"];return s([I("base"),B])}case"MatchBindingPattern":return[C.kind," ",I("id")];case"MatchObjectPattern":{let B=A.map(I,"properties");return C.rest&&B.push(I("rest")),s(["{",w([u,m([",",F],B)]),C.rest?"":L(","),u,"}"])}case"MatchArrayPattern":{let B=A.map(I,"elements");return C.rest&&B.push(I("rest")),s(["[",w([u,m([",",F],B)]),C.rest?"":L(","),u,"]"])}case"MatchObjectPatternProperty":return C.shorthand?I("pattern"):s([I("key"),":",w([F,I("pattern")])]);case"MatchRestPattern":{let B=["..."];return C.argument&&B.push(I("argument")),B}}}var ms=x(["MatchWildcardPattern","MatchLiteralPattern","MatchUnaryPattern","MatchIdentifierPattern"]);function zR(A){let{patterns:g}=A;if(g.some(C=>l(C)))return!1;let I=g.find(C=>C.type==="MatchObjectPattern");return I?g.every(C=>C===I||ms(C)):!1}function jR(A){return ms(A)||A.type==="MatchObjectPattern"?!0:A.type==="MatchOrPattern"?zR(A):!1}function ZR(A,g,I){let{node:C}=A,{parent:B}=A,Q=B.type!=="MatchStatementCase"&&B.type!=="MatchExpressionCase"&&B.type!=="MatchArrayPattern"&&B.type!=="MatchObjectPatternProperty"&&!pA(g.originalText,C),E=jR(C),e=A.map(o=>{let r=I();return E||(r=Dg(2,r)),FA(o,r,g)},"patterns");if(E)return m(" | ",e);let i=[L(["| "]),m([F,"| "],e)];return zA(A,g)?s([w([L([u]),i]),u]):B.type==="MatchArrayPattern"&&B.elements.length>1?s([w([L(["(",u]),i]),u,L(")")]):s(Q?w(i):i)}function Hs(A,g,I){let{node:C}=A;if(cB(C))return C.type.slice(0,-14).toLowerCase();let B=g.semi?";":"";switch(C.type){case"ComponentDeclaration":case"DeclareComponent":case"ComponentTypeAnnotation":return Fs(A,g,I);case"ComponentParameter":return ls(A,g,I);case"ComponentTypeParameter":return hs(A,g,I);case"HookDeclaration":return Ss(A,g,I);case"DeclareHook":return Ms(A,g,I);case"HookTypeAnnotation":return ks(A,g,I);case"DeclareClass":return oQ(A,g,I);case"DeclareFunction":return[EA(A),"function ",I("id"),I("predicate"),B];case"DeclareModule":return["declare module ",I("id")," ",I("body")];case"DeclareModuleExports":return["declare module.exports",CA(A,I),B];case"DeclareNamespace":return["declare namespace ",I("id")," ",I("body")];case"DeclareVariable":return[EA(A),C.kind??"var"," ",I("id"),B];case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":return DQ(A,g,I);case"DeclareOpaqueType":case"OpaqueType":return Pr(A,g,I);case"DeclareTypeAlias":case"TypeAlias":return qB(A,g,I);case"IntersectionTypeAnnotation":return bB(A,g,I);case"UnionTypeAnnotation":return PB(A,g,I);case"ConditionalTypeAnnotation":return eC(A,g,I);case"InferTypeAnnotation":return jB(A,g,I);case"FunctionTypeAnnotation":return OB(A,g,I);case"TupleTypeAnnotation":return QC(A,g,I);case"TupleTypeLabeledElement":return WB(A,g,I);case"TupleTypeSpreadElement":return ZB(A,g,I);case"GenericTypeAnnotation":return[I("id"),RI(A,g,I,"typeParameters")];case"IndexedAccessType":case"OptionalIndexedAccessType":return zB(A,g,I);case"TypeAnnotation":return VB(A,g,I);case"TypeParameter":return iQ(A,g,I);case"TypeofTypeAnnotation":return vB(A,I);case"ExistsTypeAnnotation":return"*";case"ArrayTypeAnnotation":return XB(I);case"DeclareEnum":case"EnumDeclaration":return yQ(A,I);case"EnumBooleanBody":case"EnumNumberBody":case"EnumBigIntBody":case"EnumStringBody":case"EnumSymbolBody":return[C.type==="EnumSymbolBody"||C.explicitType?`of ${C.type.slice(4,-4).toLowerCase()} `:"",nQ(A,g,I)];case"EnumBooleanMember":case"EnumNumberMember":case"EnumBigIntMember":case"EnumStringMember":case"EnumDefaultedMember":return cQ(A,I);case"FunctionTypeParam":{let Q=C.name?I("name"):A.parent.this===C?"this":"";return[Q,QA(A),Q?": ":"",I("typeAnnotation")]}case"DeclareInterface":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return wQ(A,g,I);case"ClassImplements":case"InterfaceExtends":return[I("id"),I("typeParameters")];case"NullableTypeAnnotation":return["?",I("typeAnnotation")];case"Variance":{let{kind:Q}=C;return pI.ok(Q==="plus"||Q==="minus"),Q==="plus"?"+":"-"}case"KeyofTypeAnnotation":return["keyof ",I("argument")];case"ObjectTypeCallProperty":return[C.static?"static ":"",I("value")];case"ObjectTypeMappedTypeProperty":return Ks(A,g,I);case"ObjectTypeIndexer":return[C.static?"static ":"",C.variance?I("variance"):"","[",I("id"),C.id?": ":"",I("key"),"]: ",I("value")];case"ObjectTypeProperty":{let Q="";return C.proto?Q="proto ":C.static&&(Q="static "),[Q,C.kind!=="init"?C.kind+" ":"",C.variance?I("variance"):"",gI(A,g,I),QA(A),hI(C)?"":": ",I("value")]}case"ObjectTypeAnnotation":return sI(A,g,I);case"ObjectTypeInternalSlot":return[C.static?"static ":"","[[",I("id"),"]]",QA(A),C.method?"":": ",I("value")];case"ObjectTypeSpreadProperty":return AQ(A,I);case"QualifiedTypeofIdentifier":case"QualifiedTypeIdentifier":return[I("qualification"),".",I("id")];case"NullLiteralTypeAnnotation":return"null";case"BooleanLiteralTypeAnnotation":return String(C.value);case"StringLiteralTypeAnnotation":return Qg(Jg(wA(C),g));case"NumberLiteralTypeAnnotation":return AI(wA(C));case"BigIntLiteralTypeAnnotation":return sQ(wA(C));case"TypeCastExpression":return["(",I("expression"),CA(A,I),")"];case"TypePredicate":return _B(A,I);case"TypeOperator":return[C.operator," ",I("typeAnnotation")];case"TypeParameterDeclaration":case"TypeParameterInstantiation":return RI(A,g,I,"params");case"InferredPredicate":case"DeclaredPredicate":return[A.key==="predicate"&&A.parent.type!=="DeclareFunction"&&!A.parent.returnType?": ":" ","%checks",...C.type==="DeclaredPredicate"?["(",I("value"),")"]:[]];case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return aQ(A,g,I);case"MatchExpression":case"MatchStatement":return Js(A,g,I);case"MatchExpressionCase":case"MatchStatementCase":return ds(A,g,I);case"MatchOrPattern":case"MatchAsPattern":case"MatchWildcardPattern":case"MatchLiteralPattern":case"MatchUnaryPattern":case"MatchIdentifierPattern":case"MatchMemberPattern":case"MatchBindingPattern":case"MatchObjectPattern":case"MatchObjectPatternProperty":case"MatchRestPattern":case"MatchArrayPattern":return Ls(A,g,I)}}function fs(A,g,I){let{node:C}=A;if(!C.type.startsWith("TS"))return;if(yB(C))return C.type.slice(2,-7).toLowerCase();let B=g.semi?";":"",Q=[];switch(C.type){case"TSThisType":return"this";case"TSTypeAssertion":{let E=!(IA(C.expression)||SA(C.expression)),e=s(["<",w([u,I("typeAnnotation")]),u,">"]),i=[L("("),w([u,I("expression")]),u,L(")")];return E?Mg([[e,I("expression")],[e,s(i,{shouldBreak:!0})],[e,I("expression")]]):s([e,I("expression")])}case"TSDeclareFunction":return CQ(A,g,I);case"TSExportAssignment":return["export = ",I("expression"),B];case"TSModuleBlock":return EQ(A,g,I);case"TSInterfaceBody":case"TSTypeLiteral":return sI(A,g,I);case"TSTypeAliasDeclaration":return qB(A,g,I);case"TSQualifiedName":return[I("left"),".",I("right")];case"TSAbstractMethodDefinition":case"TSDeclareMethod":return tQ(A,g,I);case"TSAbstractAccessorProperty":case"TSAbstractPropertyDefinition":return rQ(A,g,I);case"TSInterfaceHeritage":case"TSClassImplements":case"TSExpressionWithTypeArguments":case"TSInstantiationExpression":return[I("expression"),I(C.typeArguments?"typeArguments":"typeParameters")];case"TSTemplateLiteralType":return UB(A,g,I);case"TSNamedTupleMember":return WB(A,g,I);case"TSRestType":return ZB(A,g,I);case"TSOptionalType":return[I("typeAnnotation"),"?"];case"TSInterfaceDeclaration":return wQ(A,g,I);case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return RI(A,g,I,"params");case"TSTypeParameter":return iQ(A,g,I);case"TSAsExpression":case"TSSatisfiesExpression":return aQ(A,g,I);case"TSArrayType":return XB(I);case"TSPropertySignature":return[C.readonly?"readonly ":"",gI(A,g,I),QA(A),CA(A,I)];case"TSParameterProperty":return[BC(C),C.static?"static ":"",C.override?"override ":"",C.readonly?"readonly ":"",I("parameter")];case"TSTypeQuery":return vB(A,I);case"TSIndexSignature":{let E=C.parameters.length>1?L(MA(g)?",":""):"",e=s([w([u,m([", ",u],A.map(I,"parameters"))]),E,u]),i=A.parent.type==="ClassBody"&&A.key==="body";return[i&&C.static?"static ":"",C.readonly?"readonly ":"","[",C.parameters?e:"","]",CA(A,I),i?B:""]}case"TSTypePredicate":return _B(A,I);case"TSNonNullExpression":return[I("expression"),"!"];case"TSImportType":return[IC(A,g,I),C.qualifier?[".",I("qualifier")]:"",RI(A,g,I,C.typeArguments?"typeArguments":"typeParameters")];case"TSLiteralType":return I("literal");case"TSIndexedAccessType":return zB(A,g,I);case"TSTypeOperator":return[C.operator," ",I("typeAnnotation")];case"TSMappedType":return Us(A,g,I);case"TSMethodSignature":{let E=C.kind&&C.kind!=="method"?`${C.kind} `:"";Q.push(BC(C),E,C.computed?"[":"",I("key"),C.computed?"]":"",QA(A));let e=ag(A,g,I,!1,!0),i=C.returnType?"returnType":"typeAnnotation",o=C[i],r=o?CA(A,I,i):"",a=qg(C,r);return Q.push(a?s(e):e),o&&Q.push(s(r)),s(Q)}case"TSNamespaceExportDeclaration":return["export as namespace ",I("id"),g.semi?";":""];case"TSEnumDeclaration":return yQ(A,I);case"TSEnumBody":return nQ(A,g,I);case"TSEnumMember":return cQ(A,I);case"TSImportEqualsDeclaration":return[C.isExport?"export ":"","import ",Le(C,!1),I("id")," = ",I("moduleReference"),g.semi?";":""];case"TSExternalModuleReference":return["require(",I("expression"),")"];case"TSModuleDeclaration":{let{parent:E}=A,e=E.type==="TSModuleDeclaration",i=C.body?.type==="TSModuleDeclaration";return e?Q.push("."):(Q.push(EA(A)),C.kind!=="global"&&Q.push(C.kind," ")),Q.push(I("id")),i?Q.push(I("body")):C.body?Q.push(" ",s(I("body"))):Q.push(B),Q}case"TSConditionalType":return eC(A,g,I);case"TSInferType":return jB(A,g,I);case"TSIntersectionType":return bB(A,g,I);case"TSUnionType":return PB(A,g,I);case"TSFunctionType":case"TSCallSignatureDeclaration":case"TSConstructorType":case"TSConstructSignatureDeclaration":return OB(A,g,I);case"TSTupleType":return QC(A,g,I);case"TSTypeReference":return[I("typeName"),RI(A,g,I,C.typeArguments?"typeArguments":"typeParameters")];case"TSTypeAnnotation":return VB(A,g,I);case"TSEmptyBodyFunctionExpression":return BQ(A,g,I);case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return Ye(A,I,"?");case"TSJSDocNonNullableType":return Ye(A,I,"!");case"TSParenthesizedType":default:throw new xg(C,"TypeScript")}}function WR(A,g,I,C){if(HB(A))return cr(A,g);for(let B of[Yr,pr,Hs,fs,ps]){let Q=B(A,g,I,C);if(Q!==void 0)return Q}}var VR=x(["ClassMethod","ClassPrivateMethod","ClassProperty","ClassAccessorProperty","AccessorProperty","TSAbstractAccessorProperty","PropertyDefinition","TSAbstractPropertyDefinition","ClassPrivateProperty","MethodDefinition","TSAbstractMethodDefinition","TSDeclareMethod"]);function XR(A,g,I,C){A.isRoot&&g.__onHtmlBindingRoot?.(A.node,g);let B=WR(A,g,I,C);if(!B)return"";let{node:Q}=A;if(VR(Q))return B;let E=b(Q.decorators),e=Mr(A,g,I),i=Q.type==="ClassExpression";if(E&&!i)return dC(B,a=>s([e,a]));let o=zA(A,g),r=es(A,g);return!e&&!o&&!r?B:dC(B,a=>[r?";":"",o?"(":"",o&&i&&E?[w([F,e,a]),F]:[e,a],o?")":""])}var Ts=XR;var vR={avoidAstMutation:!0};var iC={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},objectWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap object literals.",choices:[{value:"preserve",description:"Keep as multi-line, if there is a newline between the opening brace and first property."},{value:"collapse",description:"Fit to a single line when possible."}]},singleQuote:{category:"Common",type:"boolean",default:!0,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}};var DI="JavaScript",_R={arrowParens:{category:DI,type:"choice",default:"avoid",description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSameLine:iC.bracketSameLine,objectWrap:iC.objectWrap,bracketSpacing:iC.bracketSpacing,jsxBracketSameLine:{category:DI,type:"boolean",description:"Put > on the last line instead of at a new line.",deprecated:"2.4.0"},semi:{category:DI,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},experimentalOperatorPosition:{category:DI,type:"choice",default:"end",description:"Where to print operators when binary expressions wrap lines.",choices:[{value:"start",description:"Print operators at the start of new lines."},{value:"end",description:"Print operators at the end of previous lines."}]},experimentalTernaries:{category:DI,type:"boolean",default:!1,description:"Use curious ternaries, with the question mark after the condition.",oppositeDescription:"Default behavior of ternaries; keep question marks on the same line as the consequent."},singleQuote:iC.singleQuote,jsxSingleQuote:{category:DI,type:"boolean",default:!0,description:"Use single quotes in JSX."},quoteProps:{category:DI,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{category:DI,type:"choice",default:"none",description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"all",description:"Trailing commas wherever possible (including function arguments)."},{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."}]},singleAttributePerLine:iC.singleAttributePerLine},xs=_R;var qs=[{name:"JavaScript",type:"programming",aceMode:"javascript",extensions:[".js","._js",".bones",".cjs",".es",".es6",".gs",".jake",".javascript",".jsb",".jscad",".jsfl",".jslib",".jsm",".jspre",".jss",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib",".start.frag",".end.frag",".wxs"],filenames:["Jakefile","start.frag","end.frag"],tmScope:"source.js",aliases:["js","node"],codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell","zx"],parsers:["hermes"],vscodeLanguageIds:["javascript","mongo"],linguistLanguageId:183},{name:"Flow",type:"programming",aceMode:"javascript",extensions:[".js.flow"],filenames:[],tmScope:"source.js",aliases:[],codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],parsers:["hermes"],vscodeLanguageIds:["javascript"],linguistLanguageId:183},{name:"JSX",type:"programming",aceMode:"javascript",extensions:[".jsx"],filenames:void 0,tmScope:"source.js.jsx",aliases:void 0,codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",interpreters:void 0,parsers:["hermes"],vscodeLanguageIds:["javascriptreact"],group:"JavaScript",linguistLanguageId:183}];var bs="estree-hermes",$R=Object.fromEntries(Object.entries(dE).map(([A,g])=>[A,{...g,astFormat:bs}])),AK={[bs]:Te};var vb=xe;export{vb as default,qs as languages,xs as options,$R as parsers,AK as printers}; diff --git a/dist/plugin-hermes/package.json b/dist/plugin-hermes/package.json new file mode 100644 index 000000000000..5ec89ca68845 --- /dev/null +++ b/dist/plugin-hermes/package.json @@ -0,0 +1,37 @@ +{ + "name": "@prettier/plugin-hermes", + "version": "0.0.3", + "description": "Prettier Hermes plugin.", + "exports": { + ".": { + "types": "./index.d.ts", + "default": "./index.mjs" + }, + "./*": "./*" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/prettier/prettier.git", + "directory": "packages/plugin-hermes" + }, + "funding": "https://github.com/prettier/prettier?sponsor=1", + "homepage": "https://github.com/prettier/prettier/tree/main/packages/plugin-hermes", + "author": "fisker Cheung ", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "type": "commonjs", + "files": [ + "LICENSE", + "README.md", + "THIRD-PARTY-NOTICES.md", + "index.d.ts", + "index.mjs", + "package.json" + ], + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/dist/plugin-oxc/LICENSE b/dist/plugin-oxc/LICENSE new file mode 100644 index 000000000000..5767e34d30ab --- /dev/null +++ b/dist/plugin-oxc/LICENSE @@ -0,0 +1,7 @@ +Copyright © James Long and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dist/plugin-oxc/README.md b/dist/plugin-oxc/README.md new file mode 100644 index 000000000000..dbb90526c989 --- /dev/null +++ b/dist/plugin-oxc/README.md @@ -0,0 +1,41 @@ +# @prettier/plugin-oxc + +[![Npm Version](https://img.shields.io/npm/v/@prettier/plugin-oxc.svg?style=flat-square)](https://www.npmjs.com/package/@prettier/plugin-oxc) +[![MIT License](https://img.shields.io/npm/l/@prettier/plugin-oxc.svg?style=flat-square)](https://github.com/prettier/prettier/blob/main/license) + +> Prettier [Oxc](https://oxc.rs/) plugin. + +## Install + +```bash +yarn add --dev prettier @prettier/plugin-oxc +``` + +## Usage + +Create or modify your [prettier configuration file](https://prettier.io/docs/en/configuration) to use the plugin: + +```yaml +plugins: + - "@prettier/plugin-oxc" +``` + +**Requires prettier >= 3.6** + +Or config explicitly + +```yaml +overrides: + - files: + - "**/*.{js,mjs,cjs,jsx}" + options: + plugins: + - "@prettier/plugin-oxc" + parser: oxc + - files: + - "**/*.{ts,mts,cts,tsx}" + options: + plugins: + - "@prettier/plugin-oxc" + parser: oxc-ts +``` diff --git a/dist/plugin-oxc/THIRD-PARTY-NOTICES.md b/dist/plugin-oxc/THIRD-PARTY-NOTICES.md new file mode 100644 index 000000000000..29f818d3df36 --- /dev/null +++ b/dist/plugin-oxc/THIRD-PARTY-NOTICES.md @@ -0,0 +1,211 @@ +# Licenses of bundled dependencies + +The published @prettier/plugin-oxc artifact additionally contains code with the following licenses: +MIT. + +## emoji-regex@v10.5.0 + +> A regular expression to match all Emoji-only symbols as per the Unicode Standard. + +License: MIT +Homepage: +Repository: +Author: Mathias Bynens (https://mathiasbynens.be/) + +> Copyright Mathias Bynens +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## escape-string-regexp@v5.0.0 + +> Escape RegExp special characters + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## get-east-asian-width@v1.4.0 + +> Determine the East Asian Width of a Unicode character + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## index-to-position@v1.1.0 + +> Convert a string index to its line and column position + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-es5-identifier-name@v1.0.0 + +> Check if provided string is an `IdentifierName` as specified in ECMA262 edition 5.1 section 7.6. + +License: MIT +Author: fisker Cheung + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## jest-docblock@v30.0.1 + +License: MIT +Repository: + +> MIT License +> +> Copyright (c) Meta Platforms, Inc. and affiliates. +> Copyright Contributors to the Jest project. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## prettier@v3.7.0-82e57b781 + +> Prettier is an opinionated code formatter + +License: MIT +Homepage: +Author: James Long + +> Copyright © James Long and contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## to-fast-properties@v4.0.0 + +> Force V8 to use fast properties for an object + +License: MIT +Author: Sindre Sorhus (https:/sindresorhus.com) + +> MIT License +> +> Copyright (c) Petka Antonov +> Benjamin Gruenbaum +> John-David Dalton +> Sindre Sorhus +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## trim-newlines@v5.0.0 + +> Trim newlines from the start and/or end of a string + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dist/plugin-oxc/index.d.ts b/dist/plugin-oxc/index.d.ts new file mode 100644 index 000000000000..52742c05461d --- /dev/null +++ b/dist/plugin-oxc/index.d.ts @@ -0,0 +1,6 @@ +import { Parser } from "prettier"; + +export declare const parsers: { + oxc: Parser; + "oxc-ts": Parser; +}; diff --git a/dist/plugin-oxc/index.mjs b/dist/plugin-oxc/index.mjs new file mode 100644 index 000000000000..9a9be547fba8 --- /dev/null +++ b/dist/plugin-oxc/index.mjs @@ -0,0 +1,12773 @@ +import { createRequire as __prettierCreateRequire } from "module"; +import { fileURLToPath as __prettierFileUrlToPath } from "url"; +import { dirname as __prettierDirname } from "path"; +const require = __prettierCreateRequire(import.meta.url); +const __filename = __prettierFileUrlToPath(import.meta.url); +const __dirname = __prettierDirname(__filename); + +var __defProp = Object.defineProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; + +// packages/plugin-oxc/index.js +var index_exports = {}; +__export(index_exports, { + languages: () => languages_evaluate_default, + options: () => options_default, + parsers: () => parsers, + printers: () => printers +}); + +// src/language-js/parse/oxc.js +var oxc_exports = {}; +__export(oxc_exports, { + oxc: () => oxc, + "oxc-ts": () => oxcTs +}); + +// node_modules/index-to-position/index.js +function getPosition(text, textIndex) { + const lineBreakBefore = textIndex === 0 ? -1 : text.lastIndexOf("\n", textIndex - 1); + return { + line: lineBreakBefore === -1 ? 0 : text.slice(0, lineBreakBefore + 1).match(/\n/g).length, + column: textIndex - lineBreakBefore - 1 + }; +} +function indexToPosition(text, textIndex, { oneBased = false } = {}) { + if (typeof text !== "string") { + throw new TypeError("Text parameter should be a string"); + } + if (!Number.isInteger(textIndex)) { + throw new TypeError("Index parameter should be an integer"); + } + if (textIndex < 0 || textIndex > text.length) { + throw new RangeError("Index out of bounds"); + } + const position = getPosition(text, textIndex); + return oneBased ? { line: position.line + 1, column: position.column + 1 } : position; +} + +// src/language-js/parse/oxc.js +import * as oxcParser from "oxc-parser"; + +// src/common/parser-create-error.js +function createError(message, options2) { + const error = new SyntaxError( + message + " (" + options2.loc.start.line + ":" + options2.loc.start.column + ")" + ); + return Object.assign(error, options2); +} +var parser_create_error_default = createError; + +// src/utils/try-combinations.js +async function tryCombinationsAsync(combinations) { + const errors = []; + for (const fn of combinations) { + try { + return await fn(); + } catch (error) { + errors.push(error); + } + } + throw Object.assign(new Error("All combinations failed"), { errors }); +} + +// scripts/build/shims/array-find-last.js +var arrayFindLast = (isOptionalObject, array, callback) => { + if (isOptionalObject && (array === void 0 || array === null)) { + return; + } + if (array.findLast) { + return array.findLast(callback); + } + for (let index = array.length - 1; index >= 0; index--) { + const element = array[index]; + if (callback(element, index, array)) { + return element; + } + } +}; +var array_find_last_default = arrayFindLast; + +// scripts/build/shims/at.js +var at = (isOptionalObject, object, index) => { + if (isOptionalObject && (object === void 0 || object === null)) { + return; + } + if (Array.isArray(object) || typeof object === "string") { + return object[index < 0 ? object.length + index : index]; + } + return object.at(index); +}; +var at_default = at; + +// src/language-js/loc.js +var isIndex = (value) => Number.isInteger(value) && value >= 0; +function locStart(node) { + const start = node.range?.[0] ?? node.start; + if (false) { + throw new TypeError("Can't not locate node."); + } + const firstDecorator = (node.declaration?.decorators ?? node.decorators)?.[0]; + if (firstDecorator) { + return Math.min(locStart(firstDecorator), start); + } + return start; +} +function locEnd(node) { + const end = node.range?.[1] ?? node.end; + if (false) { + throw new TypeError("Can't not locate node."); + } + return end; +} +function hasSameLocStart(nodeA, nodeB) { + const nodeAStart = locStart(nodeA); + return isIndex(nodeAStart) && nodeAStart === locStart(nodeB); +} +function hasSameLocEnd(nodeA, nodeB) { + const nodeAEnd = locEnd(nodeA); + return isIndex(nodeAEnd) && nodeAEnd === locEnd(nodeB); +} +function hasSameLoc(nodeA, nodeB) { + return hasSameLocStart(nodeA, nodeB) && hasSameLocEnd(nodeA, nodeB); +} + +// src/language-js/utils/create-type-check-function.js +function createTypeCheckFunction(typesArray) { + const types = new Set(typesArray); + return (node) => types.has(node?.type); +} +var create_type_check_function_default = createTypeCheckFunction; + +// src/language-js/utils/get-raw.js +function getRaw(node) { + return node.extra?.raw ?? node.raw; +} +var get_raw_default = getRaw; + +// src/language-js/utils/get-text-without-comments.js +function getTextWithoutComments(options2, start, end) { + let text = options2.originalText.slice(start, end); + for (const comment of options2[Symbol.for("comments")]) { + const commentStart = locStart(comment); + if (commentStart > end) { + break; + } + const commentEnd = locEnd(comment); + if (commentEnd < start) { + continue; + } + const commentLength = commentEnd - commentStart; + text = text.slice(0, commentStart - start) + " ".repeat(commentLength) + text.slice(commentEnd - start); + } + if (false) { + assert.ok(text.length === end - start); + } + return text; +} +var get_text_without_comments_default = getTextWithoutComments; + +// src/language-js/utils/is-block-comment.js +var isBlockComment = create_type_check_function_default([ + "Block", + "CommentBlock", + // `meriyah` + "MultiLine" +]); +var is_block_comment_default = isBlockComment; + +// src/language-js/utils/is-line-comment.js +var isLineComment = create_type_check_function_default([ + "Line", + "CommentLine", + // `meriyah` has `SingleLine`, `HashbangComment`, `HTMLOpen`, and `HTMLClose` + "SingleLine", + "HashbangComment", + "HTMLOpen", + "HTMLClose", + // `espree`, and `oxc`(with `{astType: 'ts'}`) + "Hashbang", + // `babel` and `flow` hashbang + "InterpreterDirective" +]); +var is_line_comment_default = isLineComment; + +// src/language-js/utils/is-type-cast-comment.js +var cache = /* @__PURE__ */ new WeakMap(); +function isTypeCastComment(comment) { + if (!cache.has(comment)) { + cache.set( + comment, + is_block_comment_default(comment) && comment.value[0] === "*" && // TypeScript expects the type to be enclosed in curly brackets, however + // Closure Compiler accepts types in parens and even without any delimiters at all. + // That's why we just search for "@type" and "@satisfies". + /@(?:type|satisfies)\b/u.test(comment.value) + ); + } + return cache.get(comment); +} +var is_type_cast_comment_default = isTypeCastComment; + +// src/language-js/utils/is-indentable-block-comment.js +function isIndentableBlockCommentInternal(comment) { + if (!is_block_comment_default(comment)) { + return false; + } + const lines = `*${comment.value}*`.split("\n"); + return lines.length > 1 && lines.every((line2) => line2.trimStart()[0] === "*"); +} +var cache2 = /* @__PURE__ */ new WeakMap(); +function isIndentableBlockComment(comment) { + if (!cache2.has(comment)) { + cache2.set(comment, isIndentableBlockCommentInternal(comment)); + } + return cache2.get(comment); +} +var is_indentable_block_comment_default = isIndentableBlockComment; + +// src/language-js/parse/postprocess/merge-nestled-jsdoc-comments.js +function mergeNestledJsdocComments(comments) { + if (comments.length < 2) { + return; + } + let followingComment; + for (let i = comments.length - 1; i >= 0; i--) { + const comment = comments[i]; + if (followingComment && locEnd(comment) === locStart(followingComment) && is_indentable_block_comment_default(comment) && is_indentable_block_comment_default(followingComment)) { + comments.splice(i + 1, 1); + comment.value += "*//*" + followingComment.value; + comment.range = [locStart(comment), locEnd(followingComment)]; + } + if (!is_line_comment_default(comment) && !is_block_comment_default(comment)) { + throw new TypeError(`Unknown comment type: "${comment.type}".`); + } + followingComment = comment; + } +} +var merge_nestled_jsdoc_comments_default = mergeNestledJsdocComments; + +// node_modules/to-fast-properties/index.js +var fastProto = null; +function FastObject(object) { + if (fastProto !== null && typeof fastProto.property) { + const result = fastProto; + fastProto = FastObject.prototype = null; + return result; + } + fastProto = FastObject.prototype = object == null ? /* @__PURE__ */ Object.create(null) : object; + return new FastObject(); +} +var inlineCacheCutoff = 10; +for (let index = 0; index <= inlineCacheCutoff; index++) { + FastObject(); +} +function toFastproperties(object) { + return FastObject(object); +} + +// src/utils/create-get-visitor-keys.js +function createGetVisitorKeys(visitorKeys, typeProperty = "type") { + toFastproperties(visitorKeys); + function getVisitorKeys2(node) { + const type = node[typeProperty]; + if (false) { + throw new Error( + `Can't get node type, you must pass the wrong typeProperty '${typeProperty}'` + ); + } + const keys = visitorKeys[type]; + if (!Array.isArray(keys)) { + throw Object.assign(new Error(`Missing visitor keys for '${type}'.`), { + node + }); + } + return keys; + } + return getVisitorKeys2; +} +var create_get_visitor_keys_default = createGetVisitorKeys; + +// src/language-js/traverse/visitor-keys.evaluate.js +var visitor_keys_evaluate_default = { + "ArrayExpression": [ + "elements" + ], + "AssignmentExpression": [ + "left", + "right" + ], + "BinaryExpression": [ + "left", + "right" + ], + "InterpreterDirective": [], + "Directive": [ + "value" + ], + "DirectiveLiteral": [], + "BlockStatement": [ + "directives", + "body" + ], + "BreakStatement": [ + "label" + ], + "CallExpression": [ + "callee", + "typeParameters", + "typeArguments", + "arguments" + ], + "CatchClause": [ + "param", + "body" + ], + "ConditionalExpression": [ + "test", + "consequent", + "alternate" + ], + "ContinueStatement": [ + "label" + ], + "DebuggerStatement": [], + "DoWhileStatement": [ + "body", + "test" + ], + "EmptyStatement": [], + "ExpressionStatement": [ + "expression" + ], + "File": [ + "program" + ], + "ForInStatement": [ + "left", + "right", + "body" + ], + "ForStatement": [ + "init", + "test", + "update", + "body" + ], + "FunctionDeclaration": [ + "id", + "typeParameters", + "params", + "predicate", + "returnType", + "body" + ], + "FunctionExpression": [ + "id", + "typeParameters", + "params", + "returnType", + "body" + ], + "Identifier": [ + "typeAnnotation", + "decorators" + ], + "IfStatement": [ + "test", + "consequent", + "alternate" + ], + "LabeledStatement": [ + "label", + "body" + ], + "StringLiteral": [], + "NumericLiteral": [], + "NullLiteral": [], + "BooleanLiteral": [], + "RegExpLiteral": [], + "LogicalExpression": [ + "left", + "right" + ], + "MemberExpression": [ + "object", + "property" + ], + "NewExpression": [ + "callee", + "typeParameters", + "typeArguments", + "arguments" + ], + "Program": [ + "directives", + "body" + ], + "ObjectExpression": [ + "properties" + ], + "ObjectMethod": [ + "decorators", + "key", + "typeParameters", + "params", + "returnType", + "body" + ], + "ObjectProperty": [ + "decorators", + "key", + "value" + ], + "RestElement": [ + "argument", + "typeAnnotation", + "decorators" + ], + "ReturnStatement": [ + "argument" + ], + "SequenceExpression": [ + "expressions" + ], + "ParenthesizedExpression": [ + "expression" + ], + "SwitchCase": [ + "test", + "consequent" + ], + "SwitchStatement": [ + "discriminant", + "cases" + ], + "ThisExpression": [], + "ThrowStatement": [ + "argument" + ], + "TryStatement": [ + "block", + "handler", + "finalizer" + ], + "UnaryExpression": [ + "argument" + ], + "UpdateExpression": [ + "argument" + ], + "VariableDeclaration": [ + "declarations" + ], + "VariableDeclarator": [ + "id", + "init" + ], + "WhileStatement": [ + "test", + "body" + ], + "WithStatement": [ + "object", + "body" + ], + "AssignmentPattern": [ + "left", + "right", + "decorators", + "typeAnnotation" + ], + "ArrayPattern": [ + "elements", + "typeAnnotation", + "decorators" + ], + "ArrowFunctionExpression": [ + "typeParameters", + "params", + "predicate", + "returnType", + "body" + ], + "ClassBody": [ + "body" + ], + "ClassExpression": [ + "decorators", + "id", + "typeParameters", + "superClass", + "superTypeParameters", + "mixins", + "implements", + "body", + "superTypeArguments" + ], + "ClassDeclaration": [ + "decorators", + "id", + "typeParameters", + "superClass", + "superTypeParameters", + "mixins", + "implements", + "body", + "superTypeArguments" + ], + "ExportAllDeclaration": [ + "source", + "attributes", + "exported" + ], + "ExportDefaultDeclaration": [ + "declaration" + ], + "ExportNamedDeclaration": [ + "declaration", + "specifiers", + "source", + "attributes" + ], + "ExportSpecifier": [ + "local", + "exported" + ], + "ForOfStatement": [ + "left", + "right", + "body" + ], + "ImportDeclaration": [ + "specifiers", + "source", + "attributes" + ], + "ImportDefaultSpecifier": [ + "local" + ], + "ImportNamespaceSpecifier": [ + "local" + ], + "ImportSpecifier": [ + "imported", + "local" + ], + "ImportExpression": [ + "source", + "options" + ], + "MetaProperty": [ + "meta", + "property" + ], + "ClassMethod": [ + "decorators", + "key", + "typeParameters", + "params", + "returnType", + "body" + ], + "ObjectPattern": [ + "decorators", + "properties", + "typeAnnotation" + ], + "SpreadElement": [ + "argument" + ], + "Super": [], + "TaggedTemplateExpression": [ + "tag", + "typeParameters", + "quasi", + "typeArguments" + ], + "TemplateElement": [], + "TemplateLiteral": [ + "quasis", + "expressions" + ], + "YieldExpression": [ + "argument" + ], + "AwaitExpression": [ + "argument" + ], + "BigIntLiteral": [], + "ExportNamespaceSpecifier": [ + "exported" + ], + "OptionalMemberExpression": [ + "object", + "property" + ], + "OptionalCallExpression": [ + "callee", + "typeParameters", + "typeArguments", + "arguments" + ], + "ClassProperty": [ + "decorators", + "variance", + "key", + "typeAnnotation", + "value" + ], + "ClassAccessorProperty": [ + "decorators", + "key", + "typeAnnotation", + "value" + ], + "ClassPrivateProperty": [ + "decorators", + "variance", + "key", + "typeAnnotation", + "value" + ], + "ClassPrivateMethod": [ + "decorators", + "key", + "typeParameters", + "params", + "returnType", + "body" + ], + "PrivateName": [ + "id" + ], + "StaticBlock": [ + "body" + ], + "ImportAttribute": [ + "key", + "value" + ], + "AnyTypeAnnotation": [], + "ArrayTypeAnnotation": [ + "elementType" + ], + "BooleanTypeAnnotation": [], + "BooleanLiteralTypeAnnotation": [], + "NullLiteralTypeAnnotation": [], + "ClassImplements": [ + "id", + "typeParameters" + ], + "DeclareClass": [ + "id", + "typeParameters", + "extends", + "mixins", + "implements", + "body" + ], + "DeclareFunction": [ + "id", + "predicate" + ], + "DeclareInterface": [ + "id", + "typeParameters", + "extends", + "body" + ], + "DeclareModule": [ + "id", + "body" + ], + "DeclareModuleExports": [ + "typeAnnotation" + ], + "DeclareTypeAlias": [ + "id", + "typeParameters", + "right" + ], + "DeclareOpaqueType": [ + "id", + "typeParameters", + "supertype", + "lowerBound", + "upperBound" + ], + "DeclareVariable": [ + "id" + ], + "DeclareExportDeclaration": [ + "declaration", + "specifiers", + "source", + "attributes" + ], + "DeclareExportAllDeclaration": [ + "source", + "attributes" + ], + "DeclaredPredicate": [ + "value" + ], + "ExistsTypeAnnotation": [], + "FunctionTypeAnnotation": [ + "typeParameters", + "this", + "params", + "rest", + "returnType" + ], + "FunctionTypeParam": [ + "name", + "typeAnnotation" + ], + "GenericTypeAnnotation": [ + "id", + "typeParameters" + ], + "InferredPredicate": [], + "InterfaceExtends": [ + "id", + "typeParameters" + ], + "InterfaceDeclaration": [ + "id", + "typeParameters", + "extends", + "body" + ], + "InterfaceTypeAnnotation": [ + "extends", + "body" + ], + "IntersectionTypeAnnotation": [ + "types" + ], + "MixedTypeAnnotation": [], + "EmptyTypeAnnotation": [], + "NullableTypeAnnotation": [ + "typeAnnotation" + ], + "NumberLiteralTypeAnnotation": [], + "NumberTypeAnnotation": [], + "ObjectTypeAnnotation": [ + "properties", + "indexers", + "callProperties", + "internalSlots" + ], + "ObjectTypeInternalSlot": [ + "id", + "value" + ], + "ObjectTypeCallProperty": [ + "value" + ], + "ObjectTypeIndexer": [ + "variance", + "id", + "key", + "value" + ], + "ObjectTypeProperty": [ + "key", + "value", + "variance" + ], + "ObjectTypeSpreadProperty": [ + "argument" + ], + "OpaqueType": [ + "id", + "typeParameters", + "supertype", + "impltype", + "lowerBound", + "upperBound" + ], + "QualifiedTypeIdentifier": [ + "qualification", + "id" + ], + "StringLiteralTypeAnnotation": [], + "StringTypeAnnotation": [], + "SymbolTypeAnnotation": [], + "ThisTypeAnnotation": [], + "TupleTypeAnnotation": [ + "types", + "elementTypes" + ], + "TypeofTypeAnnotation": [ + "argument", + "typeArguments" + ], + "TypeAlias": [ + "id", + "typeParameters", + "right" + ], + "TypeAnnotation": [ + "typeAnnotation" + ], + "TypeCastExpression": [ + "expression", + "typeAnnotation" + ], + "TypeParameter": [ + "bound", + "default", + "variance" + ], + "TypeParameterDeclaration": [ + "params" + ], + "TypeParameterInstantiation": [ + "params" + ], + "UnionTypeAnnotation": [ + "types" + ], + "Variance": [], + "VoidTypeAnnotation": [], + "EnumDeclaration": [ + "id", + "body" + ], + "EnumBooleanBody": [ + "members" + ], + "EnumNumberBody": [ + "members" + ], + "EnumStringBody": [ + "members" + ], + "EnumSymbolBody": [ + "members" + ], + "EnumBooleanMember": [ + "id", + "init" + ], + "EnumNumberMember": [ + "id", + "init" + ], + "EnumStringMember": [ + "id", + "init" + ], + "EnumDefaultedMember": [ + "id" + ], + "IndexedAccessType": [ + "objectType", + "indexType" + ], + "OptionalIndexedAccessType": [ + "objectType", + "indexType" + ], + "JSXAttribute": [ + "name", + "value" + ], + "JSXClosingElement": [ + "name" + ], + "JSXElement": [ + "openingElement", + "children", + "closingElement" + ], + "JSXEmptyExpression": [], + "JSXExpressionContainer": [ + "expression" + ], + "JSXSpreadChild": [ + "expression" + ], + "JSXIdentifier": [], + "JSXMemberExpression": [ + "object", + "property" + ], + "JSXNamespacedName": [ + "namespace", + "name" + ], + "JSXOpeningElement": [ + "name", + "typeParameters", + "typeArguments", + "attributes" + ], + "JSXSpreadAttribute": [ + "argument" + ], + "JSXText": [], + "JSXFragment": [ + "openingFragment", + "children", + "closingFragment" + ], + "JSXOpeningFragment": [], + "JSXClosingFragment": [], + "Noop": [], + "Placeholder": [], + "V8IntrinsicIdentifier": [], + "ArgumentPlaceholder": [], + "BindExpression": [ + "object", + "callee" + ], + "Decorator": [ + "expression" + ], + "DoExpression": [ + "body" + ], + "ExportDefaultSpecifier": [ + "exported" + ], + "ModuleExpression": [ + "body" + ], + "TopicReference": [], + "PipelineTopicExpression": [ + "expression" + ], + "PipelineBareFunction": [ + "callee" + ], + "PipelinePrimaryTopicReference": [], + "VoidPattern": [], + "TSParameterProperty": [ + "parameter", + "decorators" + ], + "TSDeclareFunction": [ + "id", + "typeParameters", + "params", + "returnType", + "body" + ], + "TSDeclareMethod": [ + "decorators", + "key", + "typeParameters", + "params", + "returnType" + ], + "TSQualifiedName": [ + "left", + "right" + ], + "TSCallSignatureDeclaration": [ + "typeParameters", + "parameters", + "typeAnnotation", + "params", + "returnType" + ], + "TSConstructSignatureDeclaration": [ + "typeParameters", + "parameters", + "typeAnnotation", + "params", + "returnType" + ], + "TSPropertySignature": [ + "key", + "typeAnnotation" + ], + "TSMethodSignature": [ + "key", + "typeParameters", + "parameters", + "typeAnnotation", + "params", + "returnType" + ], + "TSIndexSignature": [ + "parameters", + "typeAnnotation" + ], + "TSAnyKeyword": [], + "TSBooleanKeyword": [], + "TSBigIntKeyword": [], + "TSIntrinsicKeyword": [], + "TSNeverKeyword": [], + "TSNullKeyword": [], + "TSNumberKeyword": [], + "TSObjectKeyword": [], + "TSStringKeyword": [], + "TSSymbolKeyword": [], + "TSUndefinedKeyword": [], + "TSUnknownKeyword": [], + "TSVoidKeyword": [], + "TSThisType": [], + "TSFunctionType": [ + "typeParameters", + "parameters", + "typeAnnotation", + "params", + "returnType" + ], + "TSConstructorType": [ + "typeParameters", + "parameters", + "typeAnnotation", + "params", + "returnType" + ], + "TSTypeReference": [ + "typeName", + "typeParameters", + "typeArguments" + ], + "TSTypePredicate": [ + "parameterName", + "typeAnnotation" + ], + "TSTypeQuery": [ + "exprName", + "typeParameters", + "typeArguments" + ], + "TSTypeLiteral": [ + "members" + ], + "TSArrayType": [ + "elementType" + ], + "TSTupleType": [ + "elementTypes" + ], + "TSOptionalType": [ + "typeAnnotation" + ], + "TSRestType": [ + "typeAnnotation" + ], + "TSNamedTupleMember": [ + "label", + "elementType" + ], + "TSUnionType": [ + "types" + ], + "TSIntersectionType": [ + "types" + ], + "TSConditionalType": [ + "checkType", + "extendsType", + "trueType", + "falseType" + ], + "TSInferType": [ + "typeParameter" + ], + "TSParenthesizedType": [ + "typeAnnotation" + ], + "TSTypeOperator": [ + "typeAnnotation" + ], + "TSIndexedAccessType": [ + "objectType", + "indexType" + ], + "TSMappedType": [ + "nameType", + "typeAnnotation", + "key", + "constraint" + ], + "TSTemplateLiteralType": [ + "quasis", + "types" + ], + "TSLiteralType": [ + "literal" + ], + "TSExpressionWithTypeArguments": [ + "expression", + "typeParameters" + ], + "TSInterfaceDeclaration": [ + "id", + "typeParameters", + "extends", + "body" + ], + "TSInterfaceBody": [ + "body" + ], + "TSTypeAliasDeclaration": [ + "id", + "typeParameters", + "typeAnnotation" + ], + "TSInstantiationExpression": [ + "expression", + "typeParameters", + "typeArguments" + ], + "TSAsExpression": [ + "expression", + "typeAnnotation" + ], + "TSSatisfiesExpression": [ + "expression", + "typeAnnotation" + ], + "TSTypeAssertion": [ + "typeAnnotation", + "expression" + ], + "TSEnumBody": [ + "members" + ], + "TSEnumDeclaration": [ + "id", + "body" + ], + "TSEnumMember": [ + "id", + "initializer" + ], + "TSModuleDeclaration": [ + "id", + "body" + ], + "TSModuleBlock": [ + "body" + ], + "TSImportType": [ + "argument", + "options", + "qualifier", + "typeParameters", + "typeArguments" + ], + "TSImportEqualsDeclaration": [ + "id", + "moduleReference" + ], + "TSExternalModuleReference": [ + "expression" + ], + "TSNonNullExpression": [ + "expression" + ], + "TSExportAssignment": [ + "expression" + ], + "TSNamespaceExportDeclaration": [ + "id" + ], + "TSTypeAnnotation": [ + "typeAnnotation" + ], + "TSTypeParameterInstantiation": [ + "params" + ], + "TSTypeParameterDeclaration": [ + "params" + ], + "TSTypeParameter": [ + "constraint", + "default", + "name" + ], + "ChainExpression": [ + "expression" + ], + "ExperimentalRestProperty": [ + "argument" + ], + "ExperimentalSpreadProperty": [ + "argument" + ], + "Literal": [], + "MethodDefinition": [ + "decorators", + "key", + "value" + ], + "PrivateIdentifier": [], + "Property": [ + "key", + "value" + ], + "PropertyDefinition": [ + "decorators", + "key", + "typeAnnotation", + "value", + "variance" + ], + "AccessorProperty": [ + "decorators", + "key", + "typeAnnotation", + "value" + ], + "TSAbstractAccessorProperty": [ + "decorators", + "key", + "typeAnnotation" + ], + "TSAbstractKeyword": [], + "TSAbstractMethodDefinition": [ + "key", + "value" + ], + "TSAbstractPropertyDefinition": [ + "decorators", + "key", + "typeAnnotation" + ], + "TSAsyncKeyword": [], + "TSClassImplements": [ + "expression", + "typeArguments", + "typeParameters" + ], + "TSDeclareKeyword": [], + "TSEmptyBodyFunctionExpression": [ + "id", + "typeParameters", + "params", + "returnType" + ], + "TSExportKeyword": [], + "TSInterfaceHeritage": [ + "expression", + "typeArguments", + "typeParameters" + ], + "TSPrivateKeyword": [], + "TSProtectedKeyword": [], + "TSPublicKeyword": [], + "TSReadonlyKeyword": [], + "TSStaticKeyword": [], + "AsConstExpression": [ + "expression" + ], + "AsExpression": [ + "expression", + "typeAnnotation" + ], + "BigIntLiteralTypeAnnotation": [], + "BigIntTypeAnnotation": [], + "ComponentDeclaration": [ + "id", + "params", + "body", + "typeParameters", + "rendersType" + ], + "ComponentParameter": [ + "name", + "local" + ], + "ComponentTypeAnnotation": [ + "params", + "rest", + "typeParameters", + "rendersType" + ], + "ComponentTypeParameter": [ + "name", + "typeAnnotation" + ], + "ConditionalTypeAnnotation": [ + "checkType", + "extendsType", + "trueType", + "falseType" + ], + "DeclareComponent": [ + "id", + "params", + "rest", + "typeParameters", + "rendersType" + ], + "DeclareEnum": [ + "id", + "body" + ], + "DeclareHook": [ + "id" + ], + "DeclareNamespace": [ + "id", + "body" + ], + "EnumBigIntBody": [ + "members" + ], + "EnumBigIntMember": [ + "id", + "init" + ], + "HookDeclaration": [ + "id", + "params", + "body", + "typeParameters", + "returnType" + ], + "HookTypeAnnotation": [ + "params", + "returnType", + "rest", + "typeParameters" + ], + "InferTypeAnnotation": [ + "typeParameter" + ], + "KeyofTypeAnnotation": [ + "argument" + ], + "MatchArrayPattern": [ + "elements", + "rest" + ], + "MatchAsPattern": [ + "pattern", + "target" + ], + "MatchBindingPattern": [ + "id" + ], + "MatchExpression": [ + "argument", + "cases" + ], + "MatchExpressionCase": [ + "pattern", + "body", + "guard" + ], + "MatchIdentifierPattern": [ + "id" + ], + "MatchLiteralPattern": [ + "literal" + ], + "MatchMemberPattern": [ + "base", + "property" + ], + "MatchObjectPattern": [ + "properties", + "rest" + ], + "MatchObjectPatternProperty": [ + "key", + "pattern" + ], + "MatchOrPattern": [ + "patterns" + ], + "MatchRestPattern": [ + "argument" + ], + "MatchStatement": [ + "argument", + "cases" + ], + "MatchStatementCase": [ + "pattern", + "body", + "guard" + ], + "MatchUnaryPattern": [ + "argument" + ], + "MatchWildcardPattern": [], + "ObjectTypeMappedTypeProperty": [ + "keyTparam", + "propType", + "sourceType", + "variance" + ], + "QualifiedTypeofIdentifier": [ + "qualification", + "id" + ], + "TupleTypeLabeledElement": [ + "label", + "elementType", + "variance" + ], + "TupleTypeSpreadElement": [ + "label", + "typeAnnotation" + ], + "TypeOperator": [ + "typeAnnotation" + ], + "TypePredicate": [ + "parameterName", + "typeAnnotation", + "asserts" + ], + "NGChainedExpression": [ + "expressions" + ], + "NGEmptyExpression": [], + "NGPipeExpression": [ + "left", + "right", + "arguments" + ], + "NGMicrosyntax": [ + "body" + ], + "NGMicrosyntaxAs": [ + "key", + "alias" + ], + "NGMicrosyntaxExpression": [ + "expression", + "alias" + ], + "NGMicrosyntaxKey": [], + "NGMicrosyntaxKeyedExpression": [ + "key", + "expression" + ], + "NGMicrosyntaxLet": [ + "key", + "value" + ], + "NGRoot": [ + "node" + ], + "JsExpressionRoot": [ + "node" + ], + "JsonRoot": [ + "node" + ], + "TSJSDocAllType": [], + "TSJSDocUnknownType": [], + "TSJSDocNullableType": [ + "typeAnnotation" + ], + "TSJSDocNonNullableType": [ + "typeAnnotation" + ], + "NeverTypeAnnotation": [], + "SatisfiesExpression": [ + "expression", + "typeAnnotation" + ], + "UndefinedTypeAnnotation": [], + "UnknownTypeAnnotation": [] +}; + +// src/language-js/traverse/get-visitor-keys.js +var getVisitorKeys = create_get_visitor_keys_default(visitor_keys_evaluate_default); +var get_visitor_keys_default = getVisitorKeys; + +// src/language-js/parse/postprocess/visit-node.js +function visitNode(node, fn) { + if (!(node !== null && typeof node === "object")) { + return node; + } + if (Array.isArray(node)) { + for (let i = 0; i < node.length; i++) { + node[i] = visitNode(node[i], fn); + } + return node; + } + const keys = get_visitor_keys_default(node); + for (let i = 0; i < keys.length; i++) { + node[keys[i]] = visitNode(node[keys[i]], fn); + } + return fn(node) || node; +} +var visit_node_default = visitNode; + +// src/language-js/parse/postprocess/index.js +var isNodeWithRaw = create_type_check_function_default([ + // Babel + "RegExpLiteral", + "BigIntLiteral", + "NumericLiteral", + "StringLiteral", + // "NullLiteral", + // "BooleanLiteral", + "DirectiveLiteral", + // ESTree + "Literal", + "JSXText", + "TemplateElement", + // Flow + "StringLiteralTypeAnnotation", + "NumberLiteralTypeAnnotation", + "BigIntLiteralTypeAnnotation" +]); +function postprocess(ast, options2) { + const { parser, text } = options2; + const { comments } = ast; + const isOxcTs = parser === "oxc" && options2.oxcAstType === "ts"; + merge_nestled_jsdoc_comments_default(comments); + let typeCastCommentsEnds; + ast = visit_node_default(ast, (node) => { + switch (node.type) { + case "ParenthesizedExpression": { + const { expression } = node; + const start = locStart(node); + if (expression.type === "TypeCastExpression") { + expression.range = [start, locEnd(node)]; + return expression; + } + let keepTypeCast = false; + if (!isOxcTs) { + if (!typeCastCommentsEnds) { + typeCastCommentsEnds = []; + for (const comment of comments) { + if (is_type_cast_comment_default(comment)) { + typeCastCommentsEnds.push(locEnd(comment)); + } + } + } + const previousCommentEnd = array_find_last_default( + /* isOptionalObject */ + false, + typeCastCommentsEnds, + (end) => end <= start + ); + keepTypeCast = previousCommentEnd && // check that there are only white spaces between the comment and the parenthesis + text.slice(previousCommentEnd, start).trim().length === 0; + } + if (!keepTypeCast) { + expression.extra = { ...expression.extra, parenthesized: true }; + return expression; + } + break; + } + case "LogicalExpression": + if (isUnbalancedLogicalTree(node)) { + return rebalanceLogicalTree(node); + } + break; + // This happens when use `oxc-parser` to parse `` `${foo satisfies bar}`; `` + // https://github.com/oxc-project/oxc/issues/11313 + case "TemplateLiteral": + if (node.expressions.length !== node.quasis.length - 1) { + throw new Error("Malformed template literal."); + } + break; + case "TemplateElement": + if (parser === "flow" || parser === "hermes" || parser === "espree" || parser === "typescript" || isOxcTs) { + const start = locStart(node) + 1; + const end = locEnd(node) - (node.tail ? 1 : 2); + node.range = [start, end]; + } + break; + // fix unexpected locEnd caused by --no-semi style + case "VariableDeclaration": { + const lastDeclaration = at_default( + /* isOptionalObject */ + false, + node.declarations, + -1 + ); + if (lastDeclaration?.init && text[locEnd(lastDeclaration)] !== ";") { + node.range = [locStart(node), locEnd(lastDeclaration)]; + } + break; + } + // remove redundant TypeScript nodes + case "TSParenthesizedType": + return node.typeAnnotation; + case "TSTypeParameter": + fixBabelTSTypeParameter(node); + break; + // For hack-style pipeline + case "TopicReference": + ast.extra = { ...ast.extra, __isUsingHackPipeline: true }; + break; + // In Flow parser, it doesn't generate union/intersection types for single type + case "TSUnionType": + case "TSIntersectionType": + if (node.types.length === 1) { + return node.types[0]; + } + break; + // Remove this when update `@babel/parser` to v8 + // https://github.com/typescript-eslint/typescript-eslint/pull/7065 + case "TSMappedType": + if (!node.constraint && !node.key) { + const { name: key, constraint } = fixBabelTSTypeParameter( + node.typeParameter + ); + node.constraint = constraint; + node.key = key; + delete node.typeParameter; + } + break; + // Remove this when update `@babel/parser` to v8 + // https://github.com/typescript-eslint/typescript-eslint/pull/8920 + case "TSEnumDeclaration": + if (!node.body) { + const idEnd = locEnd(node.id); + const { members } = node; + const textWithoutComments = get_text_without_comments_default( + { + originalText: text, + [Symbol.for("comments")]: comments + }, + idEnd, + members[0] ? locStart(members[0]) : locEnd(node) + ); + const start = idEnd + textWithoutComments.indexOf("{"); + node.body = { + type: "TSEnumBody", + members, + range: [start, locEnd(node)] + }; + delete node.members; + } + break; + // https://github.com/facebook/hermes/issues/1712 + case "ImportExpression": + if (parser === "hermes" && node.attributes && !node.options) { + node.options = node.attributes; + } + break; + } + if (false) { + assertRaw(node, text); + } + }); + const program = ast.type === "File" ? ast.program : ast; + if (program.interpreter) { + comments.unshift(program.interpreter); + delete program.interpreter; + } + if (isOxcTs && ast.hashbang) { + comments.unshift(ast.hashbang); + delete ast.hashbang; + } + if (false) { + assertComments(comments, text); + } + if (ast.type === "Program") { + ast.range = [0, text.length]; + } + return ast; +} +function fixBabelTSTypeParameter(node) { + if (node.type === "TSTypeParameter" && typeof node.name === "string") { + const start = locStart(node); + node.name = { + type: "Identifier", + name: node.name, + range: [start, start + node.name.length] + }; + } + return node; +} +function isUnbalancedLogicalTree(node) { + return node.type === "LogicalExpression" && node.right.type === "LogicalExpression" && node.operator === node.right.operator; +} +function rebalanceLogicalTree(node) { + if (!isUnbalancedLogicalTree(node)) { + return node; + } + return rebalanceLogicalTree({ + type: "LogicalExpression", + operator: node.operator, + left: rebalanceLogicalTree({ + type: "LogicalExpression", + operator: node.operator, + left: node.left, + right: node.right.left, + range: [locStart(node.left), locEnd(node.right.left)] + }), + right: node.right.right, + range: [locStart(node), locEnd(node)] + }); +} +var postprocess_default = postprocess; + +// scripts/build/shims/string-replace-all.js +var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => { + if (isOptionalObject && (original === void 0 || original === null)) { + return; + } + if (original.replaceAll) { + return original.replaceAll(pattern, replacement); + } + if (pattern.global) { + return original.replace(pattern, replacement); + } + return original.split(pattern).join(replacement); +}; +var string_replace_all_default = stringReplaceAll; + +// node_modules/jest-docblock/build/index.js +var commentEndRe = /\*\/$/; +var commentStartRe = /^\/\*\*?/; +var docblockRe = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/; +var lineCommentRe = /(^|\s+)\/\/([^\n\r]*)/g; +var ltrimNewlineRe = /^(\r?\n)+/; +var multilineRe = /(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g; +var propertyRe = /(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g; +var stringStartRe = /(\r?\n|^) *\* ?/g; +var STRING_ARRAY = []; +function extract(contents) { + const match = contents.match(docblockRe); + return match ? match[0].trimStart() : ""; +} +function strip(contents) { + const matchResult = contents.match(docblockRe); + const match = matchResult?.[0]; + return match == null ? contents : contents.slice(match.length); +} +function parseWithComments(docblock) { + const line2 = "\n"; + docblock = string_replace_all_default( + /* isOptionalObject */ + false, + docblock.replace(commentStartRe, "").replace(commentEndRe, ""), + stringStartRe, + "$1" + ); + let prev = ""; + while (prev !== docblock) { + prev = docblock; + docblock = string_replace_all_default( + /* isOptionalObject */ + false, + docblock, + multilineRe, + `${line2}$1 $2${line2}` + ); + } + docblock = docblock.replace(ltrimNewlineRe, "").trimEnd(); + const result = /* @__PURE__ */ Object.create(null); + const comments = string_replace_all_default( + /* isOptionalObject */ + false, + docblock, + propertyRe, + "" + ).replace(ltrimNewlineRe, "").trimEnd(); + let match; + while (match = propertyRe.exec(docblock)) { + const nextPragma = string_replace_all_default( + /* isOptionalObject */ + false, + match[2], + lineCommentRe, + "" + ); + if (typeof result[match[1]] === "string" || Array.isArray(result[match[1]])) { + const resultElement = result[match[1]]; + result[match[1]] = [...STRING_ARRAY, ...Array.isArray(resultElement) ? resultElement : [resultElement], nextPragma]; + } else { + result[match[1]] = nextPragma; + } + } + return { + comments, + pragmas: result + }; +} +function print({ + comments = "", + pragmas = {} +}) { + const line2 = "\n"; + const head = "/**"; + const start = " *"; + const tail = " */"; + const keys = Object.keys(pragmas); + const printedObject = keys.flatMap((key) => printKeyValues(key, pragmas[key])).map((keyValue) => `${start} ${keyValue}${line2}`).join(""); + if (!comments) { + if (keys.length === 0) { + return ""; + } + if (keys.length === 1 && !Array.isArray(pragmas[keys[0]])) { + const value = pragmas[keys[0]]; + return `${head} ${printKeyValues(keys[0], value)[0]}${tail}`; + } + } + const printedComments = comments.split(line2).map((textLine) => `${start} ${textLine}`).join(line2) + line2; + return head + line2 + (comments ? printedComments : "") + (comments && keys.length > 0 ? start + line2 : "") + printedObject + tail; +} +function printKeyValues(key, valueOrArray) { + return [...STRING_ARRAY, ...Array.isArray(valueOrArray) ? valueOrArray : [valueOrArray]].map((value) => `@${key} ${value}`.trim()); +} + +// src/common/end-of-line.js +function convertEndOfLineToChars(value) { + switch (value) { + case "cr": + return "\r"; + case "crlf": + return "\r\n"; + default: + return "\n"; + } +} + +// src/utils/pragma/pragma.evaluate.js +var FORMAT_IGNORE_PRAGMAS = [ + "noformat", + "noprettier" +]; +var FORMAT_PRAGMAS = [ + "format", + "prettier" +]; +var FORMAT_PRAGMA_TO_INSERT = "format"; + +// src/language-js/utils/get-shebang.js +function getShebang(text) { + if (!text.startsWith("#!")) { + return ""; + } + const index = text.indexOf("\n"); + if (index === -1) { + return text; + } + return text.slice(0, index); +} +var get_shebang_default = getShebang; + +// src/language-js/pragma.js +function parseDocBlock(text) { + const shebang = get_shebang_default(text); + if (shebang) { + text = text.slice(shebang.length + 1); + } + const docBlock = extract(text); + const { pragmas, comments } = parseWithComments(docBlock); + return { shebang, text, pragmas, comments }; +} +function hasPragma(text) { + const { pragmas } = parseDocBlock(text); + return FORMAT_PRAGMAS.some((pragma) => Object.prototype.hasOwnProperty.call(pragmas, pragma)); +} +function hasIgnorePragma(text) { + const { pragmas } = parseDocBlock(text); + return FORMAT_IGNORE_PRAGMAS.some((pragma) => Object.prototype.hasOwnProperty.call(pragmas, pragma)); +} +function insertPragma(originalText) { + const { shebang, text, pragmas, comments } = parseDocBlock(originalText); + const strippedText = strip(text); + let docBlock = print({ + pragmas: { + [FORMAT_PRAGMA_TO_INSERT]: "", + ...pragmas + }, + comments: comments.trimStart() + }); + if (false) { + docBlock = normalizeEndOfLine(docBlock); + } + return (shebang ? `${shebang} +` : "") + docBlock + (strippedText.startsWith("\n") ? "\n" : "\n\n") + strippedText; +} + +// src/language-js/parse/utils/create-parser.js +function createParser(options2) { + options2 = typeof options2 === "function" ? { parse: options2 } : options2; + return { + astFormat: "estree", + hasPragma, + hasIgnorePragma, + locStart, + locEnd, + ...options2 + }; +} +var create_parser_default = createParser; + +// src/language-js/parse/utils/jsx-regexp.evaluate.js +var jsx_regexp_evaluate_default = /^[^"'`]*<\/|^[^/]{2}.*\/>/mu; + +// src/language-js/parse/utils/source-types.js +var SOURCE_TYPE_MODULE = "module"; +var SOURCE_TYPE_SCRIPT = "script"; +function getSourceType(filepath) { + if (typeof filepath !== "string") { + return; + } + filepath = filepath.toLowerCase(); + if (/\.(?:mjs|mts)$/iu.test(filepath)) { + return SOURCE_TYPE_MODULE; + } + if (/\.(?:cjs|cts)$/iu.test(filepath)) { + return SOURCE_TYPE_SCRIPT; + } +} + +// src/language-js/parse/oxc.js +function createParseError(error, { text }) { + if (!error?.labels?.[0]) { + return error; + } + const { + message, + labels: [{ start: startIndex, end: endIndex }] + } = error; + const [start, end] = [startIndex, endIndex].map( + (index) => indexToPosition(text, index, { oneBased: true }) + ); + return parser_create_error_default(message, { + loc: { + start, + end + }, + cause: error + }); +} +async function parseWithOptions(filepath, text, options2) { + const result = await oxcParser.parseAsync(filepath, text, { + preserveParens: true, + showSemanticErrors: false, + ...options2 + }); + const { errors } = result; + for (const error of errors) { + if (error.severity === "Error" && (error.message === "A 'return' statement can only be used within a function body." || /^Identifier `.*` has already been declared$/u.test(error.message))) { + continue; + } + throw createParseError(error, { text }); + } + return result; +} +async function parseJs(text, options2) { + const filepath = options2?.filepath; + const sourceType = getSourceType(filepath); + const { program: ast, comments } = await parseWithOptions( + typeof filepath === "string" ? filepath : "prettier.jsx", + text, + { + sourceType, + lang: "jsx" + } + ); + ast.comments = comments; + return postprocess_default(ast, { text, parser: "oxc" }); +} +function getLanguageCombinations(text, options2) { + const filepath = options2?.filepath; + if (typeof filepath === "string") { + if (/\.(?:jsx|tsx)$/iu.test(filepath)) { + return ["tsx"]; + } + if (filepath.toLowerCase().endsWith(".d.ts")) { + return ["dts"]; + } + } + const shouldEnableJsx = jsx_regexp_evaluate_default.test(text); + return shouldEnableJsx ? ["tsx", "ts", "dts"] : ["ts", "tsx", "dts"]; +} +async function parseTs(text, options2) { + let filepath = options2?.filepath; + const sourceType = getSourceType(filepath); + const languageCombinations = getLanguageCombinations(text, options2); + if (typeof filepath !== "string") { + filepath = "prettier.tsx"; + } + let result; + try { + result = await tryCombinationsAsync( + languageCombinations.map( + (language) => () => parseWithOptions(filepath, text, { + sourceType, + astType: "ts", + lang: language + }) + ) + ); + } catch ({ + // @ts-expect-error -- expected + errors: [error] + }) { + throw error; + } + const { program: ast, comments } = result; + ast.comments = comments; + return postprocess_default(ast, { text, parser: "oxc", oxcAstType: "ts" }); +} +var oxc = create_parser_default(parseJs); +var oxcTs = create_parser_default(parseTs); + +// src/language-js/printer.js +var printer_exports = {}; +__export(printer_exports, { + canAttachComment: () => canAttachComment, + embed: () => embed_default, + experimentalFeatures: () => experimentalFeatures, + getCommentChildNodes: () => getCommentChildNodes, + getVisitorKeys: () => get_visitor_keys_default, + handleComments: () => handle_comments_exports, + insertPragma: () => insertPragma, + isBlockComment: () => is_block_comment_default, + isGap: () => isGap, + massageAstNode: () => clean_default, + print: () => print_default, + printComment: () => printComment, + willPrintOwnComments: () => willPrintOwnComments +}); + +// src/utils/is-object.js +function isObject(object) { + return object !== null && typeof object === "object"; +} +var is_object_default = isObject; + +// src/utils/ast-utils.js +function* getChildren(node, options2) { + const { getVisitorKeys: getVisitorKeys2, filter = () => true } = options2; + const isMatchedNode = (node2) => is_object_default(node2) && filter(node2); + for (const key of getVisitorKeys2(node)) { + const value = node[key]; + if (Array.isArray(value)) { + for (const child of value) { + if (isMatchedNode(child)) { + yield child; + } + } + } else if (isMatchedNode(value)) { + yield value; + } + } +} +function* getDescendants(node, options2) { + const queue = [node]; + for (let index = 0; index < queue.length; index++) { + const node2 = queue[index]; + for (const child of getChildren(node2, options2)) { + yield child; + queue.push(child); + } + } +} +function hasDescendant(node, { getVisitorKeys: getVisitorKeys2, predicate }) { + for (const descendant of getDescendants(node, { getVisitorKeys: getVisitorKeys2 })) { + if (predicate(descendant)) { + return true; + } + } + return false; +} + +// node_modules/emoji-regex/index.mjs +var emoji_regex_default = () => { + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; +}; + +// node_modules/get-east-asian-width/lookup.js +function isFullWidth(x) { + return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510; +} +function isWide(x) { + return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141; +} + +// src/utils/narrow-emojis.evaluate.js +var narrow_emojis_evaluate_default = "\xA9\xAE\u203C\u2049\u2122\u2139\u2194\u2195\u2196\u2197\u2198\u2199\u21A9\u21AA\u2328\u23CF\u23F1\u23F2\u23F8\u23F9\u23FA\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600\u2601\u2602\u2603\u2604\u260E\u2611\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694\u2695\u2696\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F1\u26F7\u26F8\u26F9\u2702\u2708\u2709\u270C\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05\u2B06\u2B07"; + +// src/utils/get-string-width.js +var notAsciiRegex = /[^\x20-\x7F]/u; +var narrowEmojisSet = new Set(narrow_emojis_evaluate_default); +function getStringWidth(text) { + if (!text) { + return 0; + } + if (!notAsciiRegex.test(text)) { + return text.length; + } + text = text.replace( + emoji_regex_default(), + (match) => narrowEmojisSet.has(match) ? " " : " " + ); + let width = 0; + for (const character of text) { + const codePoint = character.codePointAt(0); + if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { + continue; + } + if (codePoint >= 768 && codePoint <= 879) { + continue; + } + if (codePoint >= 65024 && codePoint <= 65039) { + continue; + } + width += isFullWidth(codePoint) || isWide(codePoint) ? 2 : 1; + } + return width; +} +var get_string_width_default = getStringWidth; + +// src/utils/skip.js +function skip(characters) { + return (text, startIndex, options2) => { + const backwards = Boolean(options2?.backwards); + if (startIndex === false) { + return false; + } + const { length } = text; + let cursor2 = startIndex; + while (cursor2 >= 0 && cursor2 < length) { + const character = text.charAt(cursor2); + if (characters instanceof RegExp) { + if (!characters.test(character)) { + return cursor2; + } + } else if (!characters.includes(character)) { + return cursor2; + } + backwards ? cursor2-- : cursor2++; + } + if (cursor2 === -1 || cursor2 === length) { + return cursor2; + } + return false; + }; +} +var skipWhitespace = skip(/\s/u); +var skipSpaces = skip(" "); +var skipToLineEnd = skip(",; "); +var skipEverythingButNewLine = skip(/[^\n\r]/u); + +// src/utils/skip-newline.js +function skipNewline(text, startIndex, options2) { + const backwards = Boolean(options2?.backwards); + if (startIndex === false) { + return false; + } + const character = text.charAt(startIndex); + if (backwards) { + if (text.charAt(startIndex - 1) === "\r" && character === "\n") { + return startIndex - 2; + } + if (character === "\n" || character === "\r" || character === "\u2028" || character === "\u2029") { + return startIndex - 1; + } + } else { + if (character === "\r" && text.charAt(startIndex + 1) === "\n") { + return startIndex + 2; + } + if (character === "\n" || character === "\r" || character === "\u2028" || character === "\u2029") { + return startIndex + 1; + } + } + return startIndex; +} +var skip_newline_default = skipNewline; + +// src/utils/has-newline.js +function hasNewline(text, startIndex, options2 = {}) { + const idx = skipSpaces( + text, + options2.backwards ? startIndex - 1 : startIndex, + options2 + ); + const idx2 = skip_newline_default(text, idx, options2); + return idx !== idx2; +} +var has_newline_default = hasNewline; + +// src/utils/skip-inline-comment.js +function skipInlineComment(text, startIndex) { + if (startIndex === false) { + return false; + } + if (text.charAt(startIndex) === "/" && text.charAt(startIndex + 1) === "*") { + for (let i = startIndex + 2; i < text.length; ++i) { + if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { + return i + 2; + } + } + } + return startIndex; +} +var skip_inline_comment_default = skipInlineComment; + +// src/utils/skip-trailing-comment.js +function skipTrailingComment(text, startIndex) { + if (startIndex === false) { + return false; + } + if (text.charAt(startIndex) === "/" && text.charAt(startIndex + 1) === "/") { + return skipEverythingButNewLine(text, startIndex); + } + return startIndex; +} +var skip_trailing_comment_default = skipTrailingComment; + +// src/utils/is-next-line-empty.js +function isNextLineEmpty(text, startIndex) { + let oldIdx = null; + let idx = startIndex; + while (idx !== oldIdx) { + oldIdx = idx; + idx = skipToLineEnd(text, idx); + idx = skip_inline_comment_default(text, idx); + idx = skipSpaces(text, idx); + } + idx = skip_trailing_comment_default(text, idx); + idx = skip_newline_default(text, idx); + return idx !== false && has_newline_default(text, idx); +} +var is_next_line_empty_default = isNextLineEmpty; + +// src/utils/is-non-empty-array.js +function isNonEmptyArray(object) { + return Array.isArray(object) && object.length > 0; +} +var is_non_empty_array_default = isNonEmptyArray; + +// src/utils/print-string.js +import assert from "assert"; + +// src/utils/get-preferred-quote.js +var SINGLE_QUOTE = "'"; +var DOUBLE_QUOTE = '"'; +function getPreferredQuote(text, preferredQuoteOrPreferSingleQuote) { + const preferred = preferredQuoteOrPreferSingleQuote === true || preferredQuoteOrPreferSingleQuote === SINGLE_QUOTE ? SINGLE_QUOTE : DOUBLE_QUOTE; + const alternate = preferred === SINGLE_QUOTE ? DOUBLE_QUOTE : SINGLE_QUOTE; + let preferredQuoteCount = 0; + let alternateQuoteCount = 0; + for (const character of text) { + if (character === preferred) { + preferredQuoteCount++; + } else if (character === alternate) { + alternateQuoteCount++; + } + } + return preferredQuoteCount > alternateQuoteCount ? alternate : preferred; +} +var get_preferred_quote_default = getPreferredQuote; + +// src/utils/make-string.js +function makeString(rawText, enclosingQuote, unescapeUnnecessaryEscapes) { + const otherQuote = enclosingQuote === '"' ? "'" : '"'; + const regex = /\\(.)|(["'])/gsu; + const raw = string_replace_all_default( + /* isOptionalObject */ + false, + rawText, + regex, + (match, escaped, quote) => { + if (escaped === otherQuote) { + return escaped; + } + if (quote === enclosingQuote) { + return "\\" + quote; + } + if (quote) { + return quote; + } + return unescapeUnnecessaryEscapes && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(escaped) ? escaped : "\\" + escaped; + } + ); + return enclosingQuote + raw + enclosingQuote; +} +var make_string_default = makeString; + +// src/utils/print-string.js +function printString(raw, options2) { + assert.ok(/^(?["']).*\k$/su.test(raw)); + const rawContent = raw.slice(1, -1); + const enclosingQuote = options2.parser === "json" || options2.parser === "jsonc" || // This was added before we have the `jsonc` parser + // If `{quoteProps: "preserve"}` and `{singleQuote: false}` (default value), + // and `{parser: "json5"}`, double quotes are always used for strings. + // This effectively allows using the `json5` parser for “JSON with comments and trailing commas”. + // See https://github.com/prettier/prettier/pull/10323 + // See https://github.com/prettier/prettier/pull/15831#discussion_r1431010636 + options2.parser === "json5" && options2.quoteProps === "preserve" && !options2.singleQuote ? '"' : options2.__isInHtmlAttribute ? "'" : get_preferred_quote_default(rawContent, options2.singleQuote); + const originalQuote = raw.charAt(0); + if (originalQuote === enclosingQuote) { + return raw; + } + return make_string_default( + rawContent, + enclosingQuote, + // Until Prettier 3.3.3, this option was set to true for most parsers, with some exceptions like CSS. + // Since Prettier 3.3.4, it is set to false for all parsers. + // For more details, please see https://github.com/prettier/prettier/issues/16542#issuecomment-2282249280. + false + ); +} +var print_string_default = printString; + +// src/language-js/utils/is-flow-keyword-type.js +var isFlowKeywordType = create_type_check_function_default([ + "AnyTypeAnnotation", + "ThisTypeAnnotation", + "NumberTypeAnnotation", + "VoidTypeAnnotation", + "BooleanTypeAnnotation", + "BigIntTypeAnnotation", + "SymbolTypeAnnotation", + "StringTypeAnnotation", + "NeverTypeAnnotation", + "UndefinedTypeAnnotation", + "UnknownTypeAnnotation", + // FLow only + "EmptyTypeAnnotation", + "MixedTypeAnnotation" +]); +var is_flow_keyword_type_default = isFlowKeywordType; + +// src/language-js/utils/is-node-matches.js +function isNodeMatchesNameOrPath(node, nameOrPath) { + const names = nameOrPath.split("."); + for (let index = names.length - 1; index >= 0; index--) { + const name = names[index]; + if (index === 0) { + return node.type === "Identifier" && node.name === name; + } + if (index === 1 && node.type === "MetaProperty" && node.property.type === "Identifier" && node.property.name === name) { + node = node.meta; + continue; + } + if (node.type === "MemberExpression" && !node.optional && !node.computed && node.property.type === "Identifier" && node.property.name === name) { + node = node.object; + continue; + } + return false; + } +} +function isNodeMatches(node, nameOrPaths) { + return nameOrPaths.some( + (nameOrPath) => isNodeMatchesNameOrPath(node, nameOrPath) + ); +} +var is_node_matches_default = isNodeMatches; + +// src/language-js/utils/is-ts-keyword-type.js +function isTsKeywordType({ type }) { + return type.startsWith("TS") && type.endsWith("Keyword"); +} +var is_ts_keyword_type_default = isTsKeywordType; + +// src/language-js/utils/index.js +function hasNode(node, predicate) { + return predicate(node) || hasDescendant(node, { getVisitorKeys: get_visitor_keys_default, predicate }); +} +function hasNakedLeftSide(node) { + return node.type === "AssignmentExpression" || node.type === "BinaryExpression" || node.type === "LogicalExpression" || node.type === "NGPipeExpression" || node.type === "ConditionalExpression" || isCallExpression(node) || isMemberExpression(node) || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "BindExpression" || node.type === "UpdateExpression" && !node.prefix || isBinaryCastExpression(node) || node.type === "TSNonNullExpression" || node.type === "ChainExpression"; +} +function getLeftSide(node) { + if (node.expressions) { + return node.expressions[0]; + } + return node.left ?? node.test ?? node.callee ?? node.object ?? node.tag ?? node.argument ?? node.expression; +} +function getLeftSidePathName(node) { + if (node.expressions) { + return ["expressions", 0]; + } + if (node.left) { + return ["left"]; + } + if (node.test) { + return ["test"]; + } + if (node.object) { + return ["object"]; + } + if (node.callee) { + return ["callee"]; + } + if (node.tag) { + return ["tag"]; + } + if (node.argument) { + return ["argument"]; + } + if (node.expression) { + return ["expression"]; + } + throw new Error("Unexpected node has no left side."); +} +var isExportDeclaration = create_type_check_function_default([ + "ExportDefaultDeclaration", + "DeclareExportDeclaration", + "ExportNamedDeclaration", + "ExportAllDeclaration", + "DeclareExportAllDeclaration" +]); +var isArrayExpression = create_type_check_function_default(["ArrayExpression"]); +var isObjectExpression = create_type_check_function_default(["ObjectExpression"]); +function isNumericLiteral(node) { + return node.type === "NumericLiteral" || node.type === "Literal" && typeof node.value === "number"; +} +function isBooleanLiteral(node) { + return node.type === "BooleanLiteral" || node.type === "Literal" && typeof node.value === "boolean"; +} +function isSignedNumericLiteral(node) { + return node.type === "UnaryExpression" && (node.operator === "+" || node.operator === "-") && isNumericLiteral(node.argument); +} +function isStringLiteral(node) { + return Boolean( + node && (node.type === "StringLiteral" || node.type === "Literal" && typeof node.value === "string") + ); +} +function isRegExpLiteral(node) { + return node.type === "RegExpLiteral" || node.type === "Literal" && Boolean(node.regex); +} +var isLiteral = create_type_check_function_default([ + "Literal", + "BooleanLiteral", + "BigIntLiteral", + // Babel, flow use `BigIntLiteral` too + "DirectiveLiteral", + "NullLiteral", + "NumericLiteral", + "RegExpLiteral", + "StringLiteral" +]); +var isSingleWordType = create_type_check_function_default([ + "Identifier", + "ThisExpression", + "Super", + "PrivateName", + "PrivateIdentifier" +]); +var isObjectType = create_type_check_function_default([ + "ObjectTypeAnnotation", + "TSTypeLiteral", + "TSMappedType" +]); +var isFunctionOrArrowExpression = create_type_check_function_default([ + "FunctionExpression", + "ArrowFunctionExpression" +]); +function isFunctionOrArrowExpressionWithBody(node) { + return node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression" && node.body.type === "BlockStatement"; +} +function isAngularTestWrapper(node) { + return isCallExpression(node) && node.callee.type === "Identifier" && ["async", "inject", "fakeAsync", "waitForAsync"].includes(node.callee.name); +} +var isJsxElement = create_type_check_function_default(["JSXElement", "JSXFragment"]); +function isMethod(node) { + return node.method && node.kind === "init" || node.kind === "get" || node.kind === "set"; +} +function isFlowObjectTypePropertyAFunction(node) { + return (node.type === "ObjectTypeProperty" || node.type === "ObjectTypeInternalSlot") && !node.static && !node.method && // @ts-expect-error -- exists on `ObjectTypeProperty` but not `ObjectTypeInternalSlot` + node.kind !== "get" && // @ts-expect-error -- exists on `ObjectTypeProperty` but not `ObjectTypeInternalSlot` + node.kind !== "set" && node.value.type === "FunctionTypeAnnotation"; +} +function isTypeAnnotationAFunction(node) { + return (node.type === "TypeAnnotation" || node.type === "TSTypeAnnotation") && node.typeAnnotation.type === "FunctionTypeAnnotation" && !node.static && !hasSameLocStart(node, node.typeAnnotation); +} +var isBinaryish = create_type_check_function_default([ + "BinaryExpression", + "LogicalExpression", + "NGPipeExpression" +]); +function isMemberish(node) { + return isMemberExpression(node) || node.type === "BindExpression" && Boolean(node.object); +} +var isSimpleTypeAnnotation = create_type_check_function_default([ + "TSThisType", + // literals + "NullLiteralTypeAnnotation", + "BooleanLiteralTypeAnnotation", + "StringLiteralTypeAnnotation", + "BigIntLiteralTypeAnnotation", + "NumberLiteralTypeAnnotation", + "TSLiteralType", + "TSTemplateLiteralType" +]); +function isSimpleType(node) { + return is_ts_keyword_type_default(node) || is_flow_keyword_type_default(node) || isSimpleTypeAnnotation(node) || (node.type === "GenericTypeAnnotation" || node.type === "TSTypeReference") && // @ts-expect-error -- `GenericTypeAnnotation` + !node.typeParameters && // @ts-expect-error -- `TSTypeReference` + !node.typeArguments; +} +function isUnitTestSetupIdentifier(node) { + return node.type === "Identifier" && (node.name === "beforeEach" || node.name === "beforeAll" || node.name === "afterEach" || node.name === "afterAll"); +} +var testCallCalleePatterns = [ + "it", + "it.only", + "it.skip", + "describe", + "describe.only", + "describe.skip", + "test", + "test.only", + "test.skip", + "test.fixme", + "test.step", + "test.describe", + "test.describe.only", + "test.describe.skip", + "test.describe.fixme", + "test.describe.parallel", + "test.describe.parallel.only", + "test.describe.serial", + "test.describe.serial.only", + "skip", + "xit", + "xdescribe", + "xtest", + "fit", + "fdescribe", + "ftest" +]; +function isTestCallCallee(node) { + return is_node_matches_default(node, testCallCalleePatterns); +} +function isTestCall(node, parent) { + if (node?.type !== "CallExpression" || node.optional) { + return false; + } + const args = getCallArguments(node); + if (args.length === 1) { + if (isAngularTestWrapper(node) && isTestCall(parent)) { + return isFunctionOrArrowExpression(args[0]); + } + if (isUnitTestSetupIdentifier(node.callee)) { + return isAngularTestWrapper(args[0]); + } + } else if ((args.length === 2 || args.length === 3) && (args[0].type === "TemplateLiteral" || isStringLiteral(args[0])) && isTestCallCallee(node.callee)) { + if (args[2] && !isNumericLiteral(args[2])) { + return false; + } + return (args.length === 2 ? isFunctionOrArrowExpression(args[1]) : isFunctionOrArrowExpressionWithBody(args[1]) && getFunctionParameters(args[1]).length <= 1) || isAngularTestWrapper(args[1]); + } + return false; +} +var skipChainExpression = (fn) => (node) => { + if (node?.type === "ChainExpression") { + node = node.expression; + } + return fn(node); +}; +var isCallExpression = skipChainExpression( + create_type_check_function_default(["CallExpression", "OptionalCallExpression"]) +); +var isMemberExpression = skipChainExpression( + create_type_check_function_default(["MemberExpression", "OptionalMemberExpression"]) +); +function isSimpleExpressionByNodeCount(node, maxInnerNodeCount = 5) { + const count = getExpressionInnerNodeCount(node, maxInnerNodeCount); + return count <= maxInnerNodeCount; +} +function getExpressionInnerNodeCount(node, maxCount) { + let count = 0; + for (const k in node) { + const prop = node[k]; + if (prop && typeof prop === "object" && typeof prop.type === "string") { + count++; + count += getExpressionInnerNodeCount(prop, maxCount - count); + } + if (count > maxCount) { + return count; + } + } + return count; +} +var LONE_SHORT_ARGUMENT_THRESHOLD_RATE = 0.25; +function isLoneShortArgument(node, options2) { + const { printWidth } = options2; + if (hasComment(node)) { + return false; + } + const threshold = printWidth * LONE_SHORT_ARGUMENT_THRESHOLD_RATE; + if (node.type === "ThisExpression" || node.type === "Identifier" && node.name.length <= threshold || isSignedNumericLiteral(node) && !hasComment(node.argument)) { + return true; + } + const regexpPattern = node.type === "Literal" && "regex" in node && node.regex.pattern || node.type === "RegExpLiteral" && node.pattern; + if (regexpPattern) { + return regexpPattern.length <= threshold; + } + if (isStringLiteral(node)) { + return print_string_default(get_raw_default(node), options2).length <= threshold; + } + if (node.type === "TemplateLiteral") { + return node.expressions.length === 0 && node.quasis[0].value.raw.length <= threshold && !node.quasis[0].value.raw.includes("\n"); + } + if (node.type === "UnaryExpression") { + return isLoneShortArgument(node.argument, { printWidth }); + } + if (node.type === "CallExpression" && node.arguments.length === 0 && node.callee.type === "Identifier") { + return node.callee.name.length <= threshold - 2; + } + return isLiteral(node); +} +function hasLeadingOwnLineComment(text, node) { + if (isJsxElement(node)) { + return hasNodeIgnoreComment(node); + } + return hasComment( + node, + CommentCheckFlags.Leading, + (comment) => has_newline_default(text, locEnd(comment)) + ); +} +function templateLiteralHasNewLines(template) { + return template.quasis.some((quasi) => quasi.value.raw.includes("\n")); +} +function isTemplateOnItsOwnLine(node, text) { + return (node.type === "TemplateLiteral" && templateLiteralHasNewLines(node) || node.type === "TaggedTemplateExpression" && templateLiteralHasNewLines(node.quasi)) && !has_newline_default(text, locStart(node), { backwards: true }); +} +function needsHardlineAfterDanglingComment(node) { + if (!hasComment(node)) { + return false; + } + const lastDanglingComment = at_default( + /* isOptionalObject */ + false, + getComments(node, CommentCheckFlags.Dangling), + -1 + ); + return lastDanglingComment && !is_block_comment_default(lastDanglingComment); +} +function isLongCurriedCallExpression(path) { + const { node, parent, key } = path; + return key === "callee" && isCallExpression(node) && isCallExpression(parent) && parent.arguments.length > 0 && node.arguments.length > parent.arguments.length; +} +var simpleCallArgumentUnaryOperators = /* @__PURE__ */ new Set(["!", "-", "+", "~"]); +function isSimpleCallArgument(node, depth = 2) { + if (depth <= 0) { + return false; + } + if (node.type === "ChainExpression" || node.type === "TSNonNullExpression") { + return isSimpleCallArgument(node.expression, depth); + } + const isChildSimple = (child) => isSimpleCallArgument(child, depth - 1); + if (isRegExpLiteral(node)) { + return get_string_width_default(node.pattern ?? node.regex.pattern) <= 5; + } + if (isLiteral(node) || isSingleWordType(node) || node.type === "ArgumentPlaceholder") { + return true; + } + if (node.type === "TemplateLiteral") { + return node.quasis.every((element) => !element.value.raw.includes("\n")) && node.expressions.every(isChildSimple); + } + if (isObjectExpression(node)) { + return node.properties.every( + (p) => !p.computed && (p.shorthand || p.value && isChildSimple(p.value)) + ); + } + if (isArrayExpression(node)) { + return node.elements.every((x) => x === null || isChildSimple(x)); + } + if (isCallLikeExpression(node)) { + if (node.type === "ImportExpression" || isSimpleCallArgument(node.callee, depth)) { + const args = getCallArguments(node); + return args.length <= depth && args.every(isChildSimple); + } + return false; + } + if (isMemberExpression(node)) { + return isSimpleCallArgument(node.object, depth) && isSimpleCallArgument(node.property, depth); + } + if (node.type === "UnaryExpression" && simpleCallArgumentUnaryOperators.has(node.operator) || node.type === "UpdateExpression") { + return isSimpleCallArgument(node.argument, depth); + } + return false; +} +function identity(x) { + return x; +} +function shouldPrintComma(options2, level = "es5") { + return options2.trailingComma === "es5" && level === "es5" || options2.trailingComma === "all" && (level === "all" || level === "es5"); +} +function startsWithNoLookaheadToken(node, predicate) { + switch (node.type) { + case "BinaryExpression": + case "LogicalExpression": + case "AssignmentExpression": + case "NGPipeExpression": + return startsWithNoLookaheadToken(node.left, predicate); + case "MemberExpression": + case "OptionalMemberExpression": + return startsWithNoLookaheadToken(node.object, predicate); + case "TaggedTemplateExpression": + if (node.tag.type === "FunctionExpression") { + return false; + } + return startsWithNoLookaheadToken(node.tag, predicate); + case "CallExpression": + case "OptionalCallExpression": + if (node.callee.type === "FunctionExpression") { + return false; + } + return startsWithNoLookaheadToken(node.callee, predicate); + case "ConditionalExpression": + return startsWithNoLookaheadToken(node.test, predicate); + case "UpdateExpression": + return !node.prefix && startsWithNoLookaheadToken(node.argument, predicate); + case "BindExpression": + return node.object && startsWithNoLookaheadToken(node.object, predicate); + case "SequenceExpression": + return startsWithNoLookaheadToken(node.expressions[0], predicate); + case "ChainExpression": + case "TSSatisfiesExpression": + case "TSAsExpression": + case "TSNonNullExpression": + case "AsExpression": + case "AsConstExpression": + case "SatisfiesExpression": + return startsWithNoLookaheadToken(node.expression, predicate); + default: + return predicate(node); + } +} +var equalityOperators = { + "==": true, + "!=": true, + "===": true, + "!==": true +}; +var multiplicativeOperators = { + "*": true, + "/": true, + "%": true +}; +var bitshiftOperators = { + ">>": true, + ">>>": true, + "<<": true +}; +function shouldFlatten(parentOp, nodeOp) { + if (getPrecedence(nodeOp) !== getPrecedence(parentOp)) { + return false; + } + if (parentOp === "**") { + return false; + } + if (equalityOperators[parentOp] && equalityOperators[nodeOp]) { + return false; + } + if (nodeOp === "%" && multiplicativeOperators[parentOp] || parentOp === "%" && multiplicativeOperators[nodeOp]) { + return false; + } + if (nodeOp !== parentOp && multiplicativeOperators[nodeOp] && multiplicativeOperators[parentOp]) { + return false; + } + if (bitshiftOperators[parentOp] && bitshiftOperators[nodeOp]) { + return false; + } + return true; +} +var PRECEDENCE = new Map( + [ + ["|>"], + ["??"], + ["||"], + ["&&"], + ["|"], + ["^"], + ["&"], + ["==", "===", "!=", "!=="], + ["<", ">", "<=", ">=", "in", "instanceof"], + [">>", "<<", ">>>"], + ["+", "-"], + ["*", "/", "%"], + ["**"] + ].flatMap( + (operators, index) => operators.map((operator) => [operator, index]) + ) +); +function getPrecedence(operator) { + return PRECEDENCE.get(operator); +} +function hasRestParameter(node) { + if (node.rest) { + return true; + } + const parameters = getFunctionParameters(node); + return at_default( + /* isOptionalObject */ + false, + parameters, + -1 + )?.type === "RestElement"; +} +var functionParametersCache = /* @__PURE__ */ new WeakMap(); +function getFunctionParameters(node) { + if (functionParametersCache.has(node)) { + return functionParametersCache.get(node); + } + const parameters = []; + if (node.this) { + parameters.push(node.this); + } + if (Array.isArray(node.parameters)) { + parameters.push(...node.parameters); + } else if (Array.isArray(node.params)) { + parameters.push(...node.params); + } + if (node.rest) { + parameters.push(node.rest); + } + functionParametersCache.set(node, parameters); + return parameters; +} +function iterateFunctionParametersPath(path, iteratee) { + const { node } = path; + let index = 0; + const callback = (childPath) => iteratee(childPath, index++); + if (node.this) { + path.call(callback, "this"); + } + if (Array.isArray(node.parameters)) { + path.each(callback, "parameters"); + } else if (Array.isArray(node.params)) { + path.each(callback, "params"); + } + if (node.rest) { + path.call(callback, "rest"); + } +} +var callArgumentsCache = /* @__PURE__ */ new WeakMap(); +function getCallArguments(node) { + if (callArgumentsCache.has(node)) { + return callArgumentsCache.get(node); + } + if (node.type === "ChainExpression") { + return getCallArguments(node.expression); + } + let args = node.arguments; + if (node.type === "ImportExpression" || node.type === "TSImportType") { + args = [node.type === "ImportExpression" ? node.source : node.argument]; + if (node.options) { + args.push(node.options); + } + } + callArgumentsCache.set(node, args); + return args; +} +function iterateCallArgumentsPath(path, iteratee) { + const { node } = path; + if (node.type === "ChainExpression") { + return path.call( + () => iterateCallArgumentsPath(path, iteratee), + "expression" + ); + } + if (node.type === "ImportExpression" || node.type === "TSImportType") { + path.call( + (sourcePath) => iteratee(sourcePath, 0), + node.type === "ImportExpression" ? "source" : "argument" + ); + if (node.options) { + path.call((sourcePath) => iteratee(sourcePath, 1), "options"); + } + } else { + path.each(iteratee, "arguments"); + } +} +function getCallArgumentSelector(node, index) { + const selectors = []; + if (node.type === "ChainExpression") { + node = node.expression; + selectors.push("expression"); + } + if (node.type === "ImportExpression" || node.type === "TSImportType") { + if (index === 0 || index === (node.options ? -2 : -1)) { + return [ + ...selectors, + node.type === "ImportExpression" ? "source" : "argument" + ]; + } + if (node.options && (index === 1 || index === -1)) { + return [...selectors, "options"]; + } + throw new RangeError("Invalid argument index"); + } + if (index < 0) { + index = node.arguments.length + index; + } + if (index < 0 || index >= node.arguments.length) { + throw new RangeError("Invalid argument index"); + } + return [...selectors, "arguments", index]; +} +function isPrettierIgnoreComment(comment) { + return comment.value.trim() === "prettier-ignore" && !comment.unignore; +} +function hasNodeIgnoreComment(node) { + return node?.prettierIgnore || hasComment(node, CommentCheckFlags.PrettierIgnore); +} +var CommentCheckFlags = { + /** Check comment is a leading comment */ + Leading: 1 << 1, + /** Check comment is a trailing comment */ + Trailing: 1 << 2, + /** Check comment is a dangling comment */ + Dangling: 1 << 3, + /** Check comment is a block comment */ + Block: 1 << 4, + /** Check comment is a line comment */ + Line: 1 << 5, + /** Check comment is a `prettier-ignore` comment */ + PrettierIgnore: 1 << 6, + /** Check comment is the first attached comment */ + First: 1 << 7, + /** Check comment is the last attached comment */ + Last: 1 << 8 +}; +var getCommentTestFunction = (flags, fn) => { + if (typeof flags === "function") { + fn = flags; + flags = 0; + } + if (flags || fn) { + return (comment, index, comments) => !(flags & CommentCheckFlags.Leading && !comment.leading || flags & CommentCheckFlags.Trailing && !comment.trailing || flags & CommentCheckFlags.Dangling && (comment.leading || comment.trailing) || flags & CommentCheckFlags.Block && !is_block_comment_default(comment) || flags & CommentCheckFlags.Line && !is_line_comment_default(comment) || flags & CommentCheckFlags.First && index !== 0 || flags & CommentCheckFlags.Last && index !== comments.length - 1 || flags & CommentCheckFlags.PrettierIgnore && !isPrettierIgnoreComment(comment) || fn && !fn(comment)); + } +}; +function hasComment(node, flags, fn) { + if (!is_non_empty_array_default(node?.comments)) { + return false; + } + const test = getCommentTestFunction(flags, fn); + return test ? node.comments.some(test) : true; +} +function getComments(node, flags, fn) { + if (!Array.isArray(node?.comments)) { + return []; + } + const test = getCommentTestFunction(flags, fn); + return test ? node.comments.filter(test) : node.comments; +} +var isNextLineEmpty2 = (node, { originalText }) => is_next_line_empty_default(originalText, locEnd(node)); +function isCallLikeExpression(node) { + return isCallExpression(node) || node.type === "NewExpression" || node.type === "ImportExpression"; +} +function isObjectProperty(node) { + return node && (node.type === "ObjectProperty" || node.type === "Property" && !isMethod(node)); +} +var isBinaryCastExpression = create_type_check_function_default([ + // TS + "TSAsExpression", + "TSSatisfiesExpression", + // Flow + "AsExpression", + "AsConstExpression", + "SatisfiesExpression" +]); +var isUnionType = create_type_check_function_default([ + "TSUnionType", + "UnionTypeAnnotation" +]); +var isIntersectionType = create_type_check_function_default([ + "TSIntersectionType", + "IntersectionTypeAnnotation" +]); +var isConditionalType = create_type_check_function_default([ + "TSConditionalType", + "ConditionalTypeAnnotation" +]); + +// src/language-js/clean.js +var ignoredProperties = /* @__PURE__ */ new Set([ + "range", + "raw", + "comments", + "leadingComments", + "trailingComments", + "innerComments", + "extra", + "start", + "end", + "loc", + "flags", + "errors", + "tokens" +]); +var removeTemplateElementsValue = (node) => { + for (const templateElement of node.quasis) { + delete templateElement.value; + } +}; +function clean(original, cloned) { + if (original.type === "Program") { + delete cloned.sourceType; + } + if ((original.type === "BigIntLiteral" || original.type === "BigIntLiteralTypeAnnotation") && original.value) { + cloned.value = original.value.toLowerCase(); + } + if ((original.type === "BigIntLiteral" || original.type === "Literal") && original.bigint) { + cloned.bigint = original.bigint.toLowerCase(); + } + if (original.type === "EmptyStatement") { + return null; + } + if (original.type === "JSXText") { + return null; + } + if (original.type === "JSXExpressionContainer" && (original.expression.type === "Literal" || original.expression.type === "StringLiteral") && original.expression.value === " ") { + return null; + } + if ((original.type === "Property" || original.type === "ObjectProperty" || original.type === "MethodDefinition" || original.type === "ClassProperty" || original.type === "ClassMethod" || original.type === "PropertyDefinition" || original.type === "TSDeclareMethod" || original.type === "TSPropertySignature" || original.type === "ObjectTypeProperty" || original.type === "ImportAttribute") && original.key && !original.computed) { + const { key } = original; + if (isStringLiteral(key) || isNumericLiteral(key)) { + cloned.key = String(key.value); + } else if (key.type === "Identifier") { + cloned.key = key.name; + } + } + if (original.type === "JSXElement" && original.openingElement.name.name === "style" && original.openingElement.attributes.some( + (attr) => attr.type === "JSXAttribute" && attr.name.name === "jsx" + )) { + for (const { type, expression: expression2 } of cloned.children) { + if (type === "JSXExpressionContainer" && expression2.type === "TemplateLiteral") { + removeTemplateElementsValue(expression2); + } + } + } + if (original.type === "JSXAttribute" && original.name.name === "css" && original.value.type === "JSXExpressionContainer" && original.value.expression.type === "TemplateLiteral") { + removeTemplateElementsValue(cloned.value.expression); + } + if (original.type === "JSXAttribute" && original.value?.type === "Literal" && /["']|"|'/u.test(original.value.value)) { + cloned.value.value = string_replace_all_default( + /* isOptionalObject */ + false, + original.value.value, + /["']|"|'/gu, + '"' + ); + } + const expression = original.expression || original.callee; + if (original.type === "Decorator" && expression.type === "CallExpression" && expression.callee.name === "Component" && expression.arguments.length === 1) { + const astProps = original.expression.arguments[0].properties; + for (const [ + index, + prop + ] of cloned.expression.arguments[0].properties.entries()) { + switch (astProps[index].key.name) { + case "styles": + if (isArrayExpression(prop.value)) { + removeTemplateElementsValue(prop.value.elements[0]); + } + break; + case "template": + if (prop.value.type === "TemplateLiteral") { + removeTemplateElementsValue(prop.value); + } + break; + } + } + } + if (original.type === "TaggedTemplateExpression" && (original.tag.type === "MemberExpression" || original.tag.type === "Identifier" && (original.tag.name === "gql" || original.tag.name === "graphql" || original.tag.name === "css" || original.tag.name === "md" || original.tag.name === "markdown" || original.tag.name === "html") || original.tag.type === "CallExpression")) { + removeTemplateElementsValue(cloned.quasi); + } + if (original.type === "TemplateLiteral") { + removeTemplateElementsValue(cloned); + } + if (original.type === "ChainExpression" && original.expression.type === "TSNonNullExpression") { + cloned.type = "TSNonNullExpression"; + cloned.expression.type = "ChainExpression"; + } +} +clean.ignoredProperties = ignoredProperties; +var clean_default = clean; + +// src/document/constants.js +var DOC_TYPE_STRING = "string"; +var DOC_TYPE_ARRAY = "array"; +var DOC_TYPE_CURSOR = "cursor"; +var DOC_TYPE_INDENT = "indent"; +var DOC_TYPE_ALIGN = "align"; +var DOC_TYPE_TRIM = "trim"; +var DOC_TYPE_GROUP = "group"; +var DOC_TYPE_FILL = "fill"; +var DOC_TYPE_IF_BREAK = "if-break"; +var DOC_TYPE_INDENT_IF_BREAK = "indent-if-break"; +var DOC_TYPE_LINE_SUFFIX = "line-suffix"; +var DOC_TYPE_LINE_SUFFIX_BOUNDARY = "line-suffix-boundary"; +var DOC_TYPE_LINE = "line"; +var DOC_TYPE_LABEL = "label"; +var DOC_TYPE_BREAK_PARENT = "break-parent"; +var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([ + DOC_TYPE_CURSOR, + DOC_TYPE_INDENT, + DOC_TYPE_ALIGN, + DOC_TYPE_TRIM, + DOC_TYPE_GROUP, + DOC_TYPE_FILL, + DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LINE_SUFFIX, + DOC_TYPE_LINE_SUFFIX_BOUNDARY, + DOC_TYPE_LINE, + DOC_TYPE_LABEL, + DOC_TYPE_BREAK_PARENT +]); + +// src/document/utils/get-doc-type.js +function getDocType(doc) { + if (typeof doc === "string") { + return DOC_TYPE_STRING; + } + if (Array.isArray(doc)) { + return DOC_TYPE_ARRAY; + } + if (!doc) { + return; + } + const { type } = doc; + if (VALID_OBJECT_DOC_TYPES.has(type)) { + return type; + } +} +var get_doc_type_default = getDocType; + +// src/document/invalid-doc-error.js +var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list); +function getDocErrorMessage(doc) { + const type = doc === null ? "null" : typeof doc; + if (type !== "string" && type !== "object") { + return `Unexpected doc '${type}', +Expected it to be 'string' or 'object'.`; + } + if (get_doc_type_default(doc)) { + throw new Error("doc is valid."); + } + const objectType = Object.prototype.toString.call(doc); + if (objectType !== "[object Object]") { + return `Unexpected doc '${objectType}'.`; + } + const EXPECTED_TYPE_VALUES = disjunctionListFormat( + [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`) + ); + return `Unexpected doc.type '${doc.type}'. +Expected it to be ${EXPECTED_TYPE_VALUES}.`; +} +var InvalidDocError = class extends Error { + name = "InvalidDocError"; + constructor(doc) { + super(getDocErrorMessage(doc)); + this.doc = doc; + } +}; +var invalid_doc_error_default = InvalidDocError; + +// src/document/utils/traverse-doc.js +var traverseDocOnExitStackMarker = {}; +function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { + const docsStack = [doc]; + while (docsStack.length > 0) { + const doc2 = docsStack.pop(); + if (doc2 === traverseDocOnExitStackMarker) { + onExit(docsStack.pop()); + continue; + } + if (onExit) { + docsStack.push(doc2, traverseDocOnExitStackMarker); + } + const docType = get_doc_type_default(doc2); + if (!docType) { + throw new invalid_doc_error_default(doc2); + } + if (onEnter?.(doc2) === false) { + continue; + } + switch (docType) { + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts; + for (let ic = parts.length, i = ic - 1; i >= 0; --i) { + docsStack.push(parts[i]); + } + break; + } + case DOC_TYPE_IF_BREAK: + docsStack.push(doc2.flatContents, doc2.breakContents); + break; + case DOC_TYPE_GROUP: + if (shouldTraverseConditionalGroups && doc2.expandedStates) { + for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) { + docsStack.push(doc2.expandedStates[i]); + } + } else { + docsStack.push(doc2.contents); + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + docsStack.push(doc2.contents); + break; + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + } +} +var traverse_doc_default = traverseDoc; + +// src/document/utils.js +function mapDoc(doc, cb) { + if (typeof doc === "string") { + return cb(doc); + } + const mapped = /* @__PURE__ */ new Map(); + return rec(doc); + function rec(doc2) { + if (mapped.has(doc2)) { + return mapped.get(doc2); + } + const result = process2(doc2); + mapped.set(doc2, result); + return result; + } + function process2(doc2) { + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_ARRAY: + return cb(doc2.map(rec)); + case DOC_TYPE_FILL: + return cb({ ...doc2, parts: doc2.parts.map(rec) }); + case DOC_TYPE_IF_BREAK: + return cb({ + ...doc2, + breakContents: rec(doc2.breakContents), + flatContents: rec(doc2.flatContents) + }); + case DOC_TYPE_GROUP: { + let { expandedStates, contents } = doc2; + if (expandedStates) { + expandedStates = expandedStates.map(rec); + contents = expandedStates[0]; + } else { + contents = rec(contents); + } + return cb({ ...doc2, contents, expandedStates }); + } + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + return cb({ ...doc2, contents: rec(doc2.contents) }); + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + return cb(doc2); + default: + throw new invalid_doc_error_default(doc2); + } + } +} +function findInDoc(doc, fn, defaultValue) { + let result = defaultValue; + let shouldSkipFurtherProcessing = false; + function findInDocOnEnterFn(doc2) { + if (shouldSkipFurtherProcessing) { + return false; + } + const maybeResult = fn(doc2); + if (maybeResult !== void 0) { + shouldSkipFurtherProcessing = true; + result = maybeResult; + } + } + traverse_doc_default(doc, findInDocOnEnterFn); + return result; +} +function willBreakFn(doc) { + if (doc.type === DOC_TYPE_GROUP && doc.break) { + return true; + } + if (doc.type === DOC_TYPE_LINE && doc.hard) { + return true; + } + if (doc.type === DOC_TYPE_BREAK_PARENT) { + return true; + } +} +function willBreak(doc) { + return findInDoc(doc, willBreakFn, false); +} +function breakParentGroup(groupStack) { + if (groupStack.length > 0) { + const parentGroup = at_default( + /* isOptionalObject */ + false, + groupStack, + -1 + ); + if (!parentGroup.expandedStates && !parentGroup.break) { + parentGroup.break = "propagated"; + } + } + return null; +} +function propagateBreaks(doc) { + const alreadyVisitedSet = /* @__PURE__ */ new Set(); + const groupStack = []; + function propagateBreaksOnEnterFn(doc2) { + if (doc2.type === DOC_TYPE_BREAK_PARENT) { + breakParentGroup(groupStack); + } + if (doc2.type === DOC_TYPE_GROUP) { + groupStack.push(doc2); + if (alreadyVisitedSet.has(doc2)) { + return false; + } + alreadyVisitedSet.add(doc2); + } + } + function propagateBreaksOnExitFn(doc2) { + if (doc2.type === DOC_TYPE_GROUP) { + const group2 = groupStack.pop(); + if (group2.break) { + breakParentGroup(groupStack); + } + } + } + traverse_doc_default( + doc, + propagateBreaksOnEnterFn, + propagateBreaksOnExitFn, + /* shouldTraverseConditionalGroups */ + true + ); +} +function removeLinesFn(doc) { + if (doc.type === DOC_TYPE_LINE && !doc.hard) { + return doc.soft ? "" : " "; + } + if (doc.type === DOC_TYPE_IF_BREAK) { + return doc.flatContents; + } + return doc; +} +function removeLines(doc) { + return mapDoc(doc, removeLinesFn); +} +function cleanDocFn(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_FILL: + if (doc.parts.every((part) => part === "")) { + return ""; + } + break; + case DOC_TYPE_GROUP: + if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) { + return ""; + } + if (doc.contents.type === DOC_TYPE_GROUP && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) { + return doc.contents; + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LINE_SUFFIX: + if (!doc.contents) { + return ""; + } + break; + case DOC_TYPE_IF_BREAK: + if (!doc.flatContents && !doc.breakContents) { + return ""; + } + break; + case DOC_TYPE_ARRAY: { + const parts = []; + for (const part of doc) { + if (!part) { + continue; + } + const [currentPart, ...restParts] = Array.isArray(part) ? part : [part]; + if (typeof currentPart === "string" && typeof at_default( + /* isOptionalObject */ + false, + parts, + -1 + ) === "string") { + parts[parts.length - 1] += currentPart; + } else { + parts.push(currentPart); + } + parts.push(...restParts); + } + if (parts.length === 0) { + return ""; + } + if (parts.length === 1) { + return parts[0]; + } + return parts; + } + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_LABEL: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); + } + return doc; +} +function cleanDoc(doc) { + return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc)); +} +function replaceEndOfLine(doc, replacement = literalline) { + return mapDoc( + doc, + (currentDoc) => typeof currentDoc === "string" ? join(replacement, currentDoc.split("\n")) : currentDoc + ); +} +function canBreakFn(doc) { + if (doc.type === DOC_TYPE_LINE) { + return true; + } +} +function canBreak(doc) { + return findInDoc(doc, canBreakFn, false); +} +function inheritLabel(doc, fn) { + return doc.type === DOC_TYPE_LABEL ? { ...doc, contents: fn(doc.contents) } : fn(doc); +} + +// src/document/utils/assert-doc.js +var noop = () => { +}; +var assertDoc = true ? noop : function(doc) { + traverse_doc_default(doc, (doc2) => { + if (checked.has(doc2)) { + return false; + } + if (typeof doc2 !== "string") { + checked.add(doc2); + } + }); +}; +var assertDocArray = true ? noop : function(docs, optional = false) { + if (optional && !docs) { + return; + } + if (!Array.isArray(docs)) { + throw new TypeError("Unexpected doc array."); + } + for (const doc of docs) { + assertDoc(doc); + } +}; +var assertDocFillParts = true ? noop : ( + /** + * @param {Doc[]} parts + */ + function(parts) { + assertDocArray(parts); + if (parts.length > 1 && isEmptyDoc(at_default( + /* isOptionalObject */ + false, + parts, + -1 + ))) { + parts = parts.slice(0, -1); + } + for (const [i, doc] of parts.entries()) { + if (i % 2 === 1 && !isValidSeparator(doc)) { + const type = get_doc_type_default(doc); + throw new Error( + `Unexpected non-line-break doc at ${i}. Doc type is ${type}.` + ); + } + } + } +); + +// src/document/builders.js +function indent(contents) { + assertDoc(contents); + return { type: DOC_TYPE_INDENT, contents }; +} +function align(widthOrString, contents) { + assertDoc(contents); + return { type: DOC_TYPE_ALIGN, contents, n: widthOrString }; +} +function group(contents, opts = {}) { + assertDoc(contents); + assertDocArray( + opts.expandedStates, + /* optional */ + true + ); + return { + type: DOC_TYPE_GROUP, + id: opts.id, + contents, + break: Boolean(opts.shouldBreak), + expandedStates: opts.expandedStates + }; +} +function dedentToRoot(contents) { + return align(Number.NEGATIVE_INFINITY, contents); +} +function dedent(contents) { + return align(-1, contents); +} +function conditionalGroup(states, opts) { + return group(states[0], { ...opts, expandedStates: states }); +} +function fill(parts) { + assertDocFillParts(parts); + return { type: DOC_TYPE_FILL, parts }; +} +function ifBreak(breakContents, flatContents = "", opts = {}) { + assertDoc(breakContents); + if (flatContents !== "") { + assertDoc(flatContents); + } + return { + type: DOC_TYPE_IF_BREAK, + breakContents, + flatContents, + groupId: opts.groupId + }; +} +function indentIfBreak(contents, opts) { + assertDoc(contents); + return { + type: DOC_TYPE_INDENT_IF_BREAK, + contents, + groupId: opts.groupId, + negate: opts.negate + }; +} +function lineSuffix(contents) { + assertDoc(contents); + return { type: DOC_TYPE_LINE_SUFFIX, contents }; +} +var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY }; +var breakParent = { type: DOC_TYPE_BREAK_PARENT }; +var hardlineWithoutBreakParent = { type: DOC_TYPE_LINE, hard: true }; +var literallineWithoutBreakParent = { + type: DOC_TYPE_LINE, + hard: true, + literal: true +}; +var line = { type: DOC_TYPE_LINE }; +var softline = { type: DOC_TYPE_LINE, soft: true }; +var hardline = [hardlineWithoutBreakParent, breakParent]; +var literalline = [literallineWithoutBreakParent, breakParent]; +var cursor = { type: DOC_TYPE_CURSOR }; +function join(separator, docs) { + assertDoc(separator); + assertDocArray(docs); + const parts = []; + for (let i = 0; i < docs.length; i++) { + if (i !== 0) { + parts.push(separator); + } + parts.push(docs[i]); + } + return parts; +} +function addAlignmentToDoc(doc, size, tabWidth) { + assertDoc(doc); + let aligned = doc; + if (size > 0) { + for (let i = 0; i < Math.floor(size / tabWidth); ++i) { + aligned = indent(aligned); + } + aligned = align(size % tabWidth, aligned); + aligned = align(Number.NEGATIVE_INFINITY, aligned); + } + return aligned; +} +function label(label2, contents) { + assertDoc(contents); + return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents; +} + +// src/language-js/print/comment.js +function printComment(path, options2) { + const comment = path.node; + if (is_line_comment_default(comment)) { + return options2.originalText.slice(locStart(comment), locEnd(comment)).trimEnd(); + } + if (is_indentable_block_comment_default(comment)) { + return printIndentableBlockComment(comment); + } + if (is_block_comment_default(comment)) { + return ["/*", replaceEndOfLine(comment.value), "*/"]; + } + throw new Error("Not a comment: " + JSON.stringify(comment)); +} +function printIndentableBlockComment(comment) { + const lines = comment.value.split("\n"); + return [ + "/*", + join( + hardline, + lines.map( + (line2, index) => index === 0 ? line2.trimEnd() : " " + (index < lines.length - 1 ? line2.trim() : line2.trimStart()) + ) + ), + "*/" + ]; +} + +// src/language-js/comments/handle-comments.js +var handle_comments_exports = {}; +__export(handle_comments_exports, { + endOfLine: () => handleEndOfLineComment, + ownLine: () => handleOwnLineComment, + remaining: () => handleRemainingComment +}); + +// src/main/comments/utils.js +function describeNodeForDebugging(node) { + const nodeType = node.type || node.kind || "(unknown type)"; + let nodeName = String( + node.name || node.id && (typeof node.id === "object" ? node.id.name : node.id) || node.key && (typeof node.key === "object" ? node.key.name : node.key) || node.value && (typeof node.value === "object" ? "" : String(node.value)) || node.operator || "" + ); + if (nodeName.length > 20) { + nodeName = nodeName.slice(0, 19) + "\u2026"; + } + return nodeType + (nodeName ? " " + nodeName : ""); +} +function addCommentHelper(node, comment) { + const comments = node.comments ??= []; + comments.push(comment); + comment.printed = false; + comment.nodeDescription = describeNodeForDebugging(node); +} +function addLeadingComment(node, comment) { + comment.leading = true; + comment.trailing = false; + addCommentHelper(node, comment); +} +function addDanglingComment(node, comment, marker) { + comment.leading = false; + comment.trailing = false; + if (marker) { + comment.marker = marker; + } + addCommentHelper(node, comment); +} +function addTrailingComment(node, comment) { + comment.leading = false; + comment.trailing = true; + addCommentHelper(node, comment); +} + +// src/utils/get-next-non-space-non-comment-character-index.js +function getNextNonSpaceNonCommentCharacterIndex(text, startIndex) { + let oldIdx = null; + let nextIdx = startIndex; + while (nextIdx !== oldIdx) { + oldIdx = nextIdx; + nextIdx = skipSpaces(text, nextIdx); + nextIdx = skip_inline_comment_default(text, nextIdx); + nextIdx = skip_trailing_comment_default(text, nextIdx); + nextIdx = skip_newline_default(text, nextIdx); + } + return nextIdx; +} +var get_next_non_space_non_comment_character_index_default = getNextNonSpaceNonCommentCharacterIndex; + +// src/utils/get-next-non-space-non-comment-character.js +function getNextNonSpaceNonCommentCharacter(text, startIndex) { + const index = get_next_non_space_non_comment_character_index_default(text, startIndex); + return index === false ? "" : text.charAt(index); +} +var get_next_non_space_non_comment_character_default = getNextNonSpaceNonCommentCharacter; + +// src/utils/has-newline-in-range.js +function hasNewlineInRange(text, startIndex, endIndex) { + for (let i = startIndex; i < endIndex; ++i) { + if (text.charAt(i) === "\n") { + return true; + } + } + return false; +} +var has_newline_in_range_default = hasNewlineInRange; + +// src/language-js/comments/handle-comments.js +var isSingleLineComment = (comment, text) => is_line_comment_default(comment) || !has_newline_in_range_default(text, locStart(comment), locEnd(comment)); +function handleOwnLineComment(context) { + return [ + handleIgnoreComments, + handleConditionalExpressionComments, + handleLastFunctionArgComments, + handleLastComponentArgComments, + handleMemberExpressionComments, + handleIfStatementComments, + handleWhileComments, + handleTryStatementComments, + handleClassComments, + handleForComments, + handleUnionTypeComments, + handleMatchOrPatternComments, + handleOnlyComments, + handleModuleSpecifiersComments, + handleAssignmentPatternComments, + handleMethodNameComments, + handleLabeledStatementComments, + handleBreakAndContinueStatementComments, + handleNestedConditionalExpressionComments, + handleCommentsInDestructuringPattern, + handleTSMappedTypeComments + ].some((fn) => fn(context)); +} +function handleEndOfLineComment(context) { + return [ + handleClosureTypeCastComments, + handleLastFunctionArgComments, + handleConditionalExpressionComments, + handleModuleSpecifiersComments, + handleIfStatementComments, + handleWhileComments, + handleTryStatementComments, + handleClassComments, + handleLabeledStatementComments, + handleCallExpressionComments, + handlePropertyComments, + handleOnlyComments, + handleVariableDeclaratorComments, + handleBreakAndContinueStatementComments, + handleSwitchDefaultCaseComments, + handleLastUnionElementInExpression, + handleLastBinaryOperatorOperand, + handleTSMappedTypeComments + ].some((fn) => fn(context)); +} +function handleRemainingComment(context) { + return [ + handleIgnoreComments, + handleIfStatementComments, + handleWhileComments, + handleObjectPropertyAssignment, + handleCommentInEmptyParens, + handleMethodNameComments, + handleOnlyComments, + handleCommentAfterArrowParams, + handleFunctionNameComments, + handleBreakAndContinueStatementComments, + handleTSFunctionTrailingComments + ].some((fn) => fn(context)); +} +function addBlockStatementFirstComment(node, comment) { + const firstNonEmptyNode = (node.body || node.properties).find( + ({ type }) => type !== "EmptyStatement" + ); + if (firstNonEmptyNode) { + addLeadingComment(firstNonEmptyNode, comment); + } else { + addDanglingComment(node, comment); + } +} +function addBlockOrNotComment(node, comment) { + if (node.type === "BlockStatement") { + addBlockStatementFirstComment(node, comment); + } else { + addLeadingComment(node, comment); + } +} +function handleClosureTypeCastComments({ comment, followingNode }) { + if (followingNode && is_type_cast_comment_default(comment)) { + addLeadingComment(followingNode, comment); + return true; + } + return false; +} +function handleIfStatementComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + if (enclosingNode?.type !== "IfStatement" || !followingNode) { + return false; + } + const nextCharacter = get_next_non_space_non_comment_character_default( + text, + locEnd(comment) + ); + if (nextCharacter === ")") { + addTrailingComment(precedingNode, comment); + return true; + } + if (precedingNode === enclosingNode.consequent && followingNode === enclosingNode.alternate) { + const maybeElseTokenIndex = get_next_non_space_non_comment_character_index_default( + text, + locEnd(enclosingNode.consequent) + ); + if (locStart(comment) < maybeElseTokenIndex || enclosingNode.alternate.type === "BlockStatement") { + if (precedingNode.type === "BlockStatement") { + addTrailingComment(precedingNode, comment); + return true; + } + if (isSingleLineComment(comment, text) && // Comment and `precedingNode` are on same line + !has_newline_in_range_default(text, locStart(precedingNode), locStart(comment))) { + addTrailingComment(precedingNode, comment); + return true; + } + addDanglingComment(enclosingNode, comment); + return true; + } + } + if (followingNode.type === "BlockStatement") { + addBlockStatementFirstComment(followingNode, comment); + return true; + } + if (followingNode.type === "IfStatement") { + addBlockOrNotComment(followingNode.consequent, comment); + return true; + } + if (enclosingNode.consequent === followingNode) { + addLeadingComment(followingNode, comment); + return true; + } + return false; +} +function handleWhileComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + if (enclosingNode?.type !== "WhileStatement" || !followingNode) { + return false; + } + const nextCharacter = get_next_non_space_non_comment_character_default( + text, + locEnd(comment) + ); + if (nextCharacter === ")") { + addTrailingComment(precedingNode, comment); + return true; + } + if (followingNode.type === "BlockStatement") { + addBlockStatementFirstComment(followingNode, comment); + return true; + } + if (enclosingNode.body === followingNode) { + addLeadingComment(followingNode, comment); + return true; + } + return false; +} +function handleTryStatementComments({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (enclosingNode?.type !== "TryStatement" && enclosingNode?.type !== "CatchClause" || !followingNode) { + return false; + } + if (enclosingNode.type === "CatchClause" && precedingNode) { + addTrailingComment(precedingNode, comment); + return true; + } + if (followingNode.type === "BlockStatement") { + addBlockStatementFirstComment(followingNode, comment); + return true; + } + if (followingNode.type === "TryStatement") { + addBlockOrNotComment(followingNode.finalizer, comment); + return true; + } + if (followingNode.type === "CatchClause") { + addBlockOrNotComment(followingNode.body, comment); + return true; + } + return false; +} +function handleMemberExpressionComments({ + comment, + enclosingNode, + followingNode +}) { + if (isMemberExpression(enclosingNode) && followingNode?.type === "Identifier") { + addLeadingComment(enclosingNode, comment); + return true; + } + return false; +} +function handleNestedConditionalExpressionComments({ + comment, + enclosingNode, + followingNode, + options: options2 +}) { + if (!options2.experimentalTernaries) { + return false; + } + const enclosingIsCond = enclosingNode?.type === "ConditionalExpression" || isConditionalType(enclosingNode); + if (!enclosingIsCond) { + return false; + } + const followingIsCond = followingNode?.type === "ConditionalExpression" || isConditionalType(followingNode); + if (followingIsCond) { + addDanglingComment(enclosingNode, comment); + return true; + } + return false; +} +function handleConditionalExpressionComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text, + options: options2 +}) { + const isSameLineAsPrecedingNode = precedingNode && !has_newline_in_range_default(text, locEnd(precedingNode), locStart(comment)); + if ((!precedingNode || !isSameLineAsPrecedingNode) && (enclosingNode?.type === "ConditionalExpression" || isConditionalType(enclosingNode)) && followingNode) { + if (options2.experimentalTernaries && enclosingNode.alternate === followingNode && !(is_block_comment_default(comment) && !has_newline_in_range_default( + options2.originalText, + locStart(comment), + locEnd(comment) + ))) { + addDanglingComment(enclosingNode, comment); + return true; + } + addLeadingComment(followingNode, comment); + return true; + } + return false; +} +function handleObjectPropertyAssignment({ + comment, + precedingNode, + enclosingNode +}) { + if (isObjectProperty(enclosingNode) && enclosingNode.shorthand && enclosingNode.key === precedingNode && enclosingNode.value.type === "AssignmentPattern") { + addTrailingComment(enclosingNode.value.left, comment); + return true; + } + return false; +} +var classLikeNodeTypes = /* @__PURE__ */ new Set([ + "ClassDeclaration", + "ClassExpression", + "DeclareClass", + "DeclareInterface", + "InterfaceDeclaration", + "TSInterfaceDeclaration" +]); +function handleClassComments({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (classLikeNodeTypes.has(enclosingNode?.type)) { + if (is_non_empty_array_default(enclosingNode.decorators) && !(followingNode?.type === "Decorator")) { + addTrailingComment(at_default( + /* isOptionalObject */ + false, + enclosingNode.decorators, + -1 + ), comment); + return true; + } + if (enclosingNode.body && followingNode === enclosingNode.body) { + addBlockStatementFirstComment(enclosingNode.body, comment); + return true; + } + if (followingNode) { + if (enclosingNode.superClass && followingNode === enclosingNode.superClass && precedingNode && (precedingNode === enclosingNode.id || precedingNode === enclosingNode.typeParameters)) { + addTrailingComment(precedingNode, comment); + return true; + } + for (const prop of ["implements", "extends", "mixins"]) { + if (enclosingNode[prop] && followingNode === enclosingNode[prop][0]) { + if (precedingNode && (precedingNode === enclosingNode.id || precedingNode === enclosingNode.typeParameters || precedingNode === enclosingNode.superClass)) { + addTrailingComment(precedingNode, comment); + } else { + addDanglingComment(enclosingNode, comment, prop); + } + return true; + } + } + } + } + return false; +} +var propertyLikeNodeTypes = /* @__PURE__ */ new Set([ + "ClassMethod", + "ClassProperty", + "PropertyDefinition", + "TSAbstractPropertyDefinition", + "TSAbstractMethodDefinition", + "TSDeclareMethod", + "MethodDefinition", + "ClassAccessorProperty", + "AccessorProperty", + "TSAbstractAccessorProperty", + "TSParameterProperty" +]); +function handleMethodNameComments({ + comment, + precedingNode, + enclosingNode, + text +}) { + if (enclosingNode && precedingNode && get_next_non_space_non_comment_character_default(text, locEnd(comment)) === "(" && // "MethodDefinition" is handled in getCommentChildNodes + (enclosingNode.type === "Property" || enclosingNode.type === "TSDeclareMethod" || enclosingNode.type === "TSAbstractMethodDefinition") && precedingNode.type === "Identifier" && enclosingNode.key === precedingNode && // special Property case: { key: /*comment*/(value) }; + // comment should be attached to value instead of key + get_next_non_space_non_comment_character_default(text, locEnd(precedingNode)) !== ":") { + addTrailingComment(precedingNode, comment); + return true; + } + if (precedingNode?.type === "Decorator" && propertyLikeNodeTypes.has(enclosingNode?.type) && (is_line_comment_default(comment) || comment.placement === "ownLine")) { + addTrailingComment(precedingNode, comment); + return true; + } + return false; +} +var functionLikeNodeTypes = /* @__PURE__ */ new Set([ + "FunctionDeclaration", + "FunctionExpression", + "ClassMethod", + "MethodDefinition", + "ObjectMethod" +]); +function handleFunctionNameComments({ + comment, + precedingNode, + enclosingNode, + text +}) { + if (get_next_non_space_non_comment_character_default(text, locEnd(comment)) !== "(") { + return false; + } + if (precedingNode && functionLikeNodeTypes.has(enclosingNode?.type)) { + addTrailingComment(precedingNode, comment); + return true; + } + return false; +} +function handleCommentAfterArrowParams({ comment, enclosingNode, text }) { + if (enclosingNode?.type !== "ArrowFunctionExpression") { + return false; + } + const index = get_next_non_space_non_comment_character_index_default(text, locEnd(comment)); + if (index !== false && text.slice(index, index + 2) === "=>") { + addDanglingComment(enclosingNode, comment); + return true; + } + return false; +} +function handleCommentInEmptyParens({ comment, enclosingNode, text }) { + if (get_next_non_space_non_comment_character_default(text, locEnd(comment)) !== ")") { + return false; + } + if (enclosingNode && (isRealFunctionLikeNode(enclosingNode) && getFunctionParameters(enclosingNode).length === 0 || isCallLikeExpression(enclosingNode) && getCallArguments(enclosingNode).length === 0)) { + addDanglingComment(enclosingNode, comment); + return true; + } + if ((enclosingNode?.type === "MethodDefinition" || enclosingNode?.type === "TSAbstractMethodDefinition") && getFunctionParameters(enclosingNode.value).length === 0) { + addDanglingComment(enclosingNode.value, comment); + return true; + } + return false; +} +function handleLastComponentArgComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + if (precedingNode?.type === "ComponentTypeParameter" && (enclosingNode?.type === "DeclareComponent" || enclosingNode?.type === "ComponentTypeAnnotation") && followingNode?.type !== "ComponentTypeParameter") { + addTrailingComment(precedingNode, comment); + return true; + } + if ((precedingNode?.type === "ComponentParameter" || precedingNode?.type === "RestElement") && enclosingNode?.type === "ComponentDeclaration" && get_next_non_space_non_comment_character_default(text, locEnd(comment)) === ")") { + addTrailingComment(precedingNode, comment); + return true; + } + return false; +} +function handleLastFunctionArgComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + if (precedingNode?.type === "FunctionTypeParam" && enclosingNode?.type === "FunctionTypeAnnotation" && followingNode?.type !== "FunctionTypeParam") { + addTrailingComment(precedingNode, comment); + return true; + } + if ((precedingNode?.type === "Identifier" || precedingNode?.type === "AssignmentPattern" || precedingNode?.type === "ObjectPattern" || precedingNode?.type === "ArrayPattern" || precedingNode?.type === "RestElement" || precedingNode?.type === "TSParameterProperty") && isRealFunctionLikeNode(enclosingNode) && get_next_non_space_non_comment_character_default(text, locEnd(comment)) === ")") { + addTrailingComment(precedingNode, comment); + return true; + } + if (!is_block_comment_default(comment) && (enclosingNode?.type === "FunctionDeclaration" || enclosingNode?.type === "FunctionExpression" || enclosingNode?.type === "ObjectMethod") && followingNode?.type === "BlockStatement" && enclosingNode.body === followingNode) { + const characterAfterCommentIndex = get_next_non_space_non_comment_character_index_default( + text, + locEnd(comment) + ); + if (characterAfterCommentIndex === locStart(followingNode)) { + addBlockStatementFirstComment(followingNode, comment); + return true; + } + } + return false; +} +function handleLabeledStatementComments({ comment, enclosingNode }) { + if (enclosingNode?.type === "LabeledStatement") { + addLeadingComment(enclosingNode, comment); + return true; + } + return false; +} +function handleBreakAndContinueStatementComments({ comment, enclosingNode }) { + if ((enclosingNode?.type === "ContinueStatement" || enclosingNode?.type === "BreakStatement") && !enclosingNode.label) { + addTrailingComment(enclosingNode, comment); + return true; + } + return false; +} +function handleCallExpressionComments({ + comment, + precedingNode, + enclosingNode +}) { + if (isCallExpression(enclosingNode) && precedingNode && enclosingNode.callee === precedingNode && enclosingNode.arguments.length > 0) { + addLeadingComment(enclosingNode.arguments[0], comment); + return true; + } + return false; +} +function handleUnionTypeComments({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (isUnionType(enclosingNode)) { + if (isPrettierIgnoreComment(comment)) { + followingNode.prettierIgnore = true; + comment.unignore = true; + } + if (precedingNode) { + addTrailingComment(precedingNode, comment); + return true; + } + return false; + } + if (isUnionType(followingNode) && isPrettierIgnoreComment(comment)) { + followingNode.types[0].prettierIgnore = true; + comment.unignore = true; + } + return false; +} +function handleMatchOrPatternComments({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (enclosingNode && enclosingNode.type === "MatchOrPattern") { + if (isPrettierIgnoreComment(comment)) { + followingNode.prettierIgnore = true; + comment.unignore = true; + } + if (precedingNode) { + addTrailingComment(precedingNode, comment); + return true; + } + return false; + } + if (followingNode && followingNode.type === "MatchOrPattern" && isPrettierIgnoreComment(comment)) { + followingNode.types[0].prettierIgnore = true; + comment.unignore = true; + } + return false; +} +function handlePropertyComments({ comment, enclosingNode }) { + if (isObjectProperty(enclosingNode)) { + addLeadingComment(enclosingNode, comment); + return true; + } + return false; +} +function handleOnlyComments({ comment, enclosingNode, ast, isLastComment }) { + if (ast?.body?.length === 0) { + if (isLastComment) { + addDanglingComment(ast, comment); + } else { + addLeadingComment(ast, comment); + } + return true; + } + if (enclosingNode?.type === "Program" && enclosingNode.body.length === 0 && !is_non_empty_array_default(enclosingNode.directives)) { + if (isLastComment) { + addDanglingComment(enclosingNode, comment); + } else { + addLeadingComment(enclosingNode, comment); + } + return true; + } + return false; +} +function handleForComments({ comment, enclosingNode }) { + if (enclosingNode?.type === "ForInStatement" || enclosingNode?.type === "ForOfStatement") { + addLeadingComment(enclosingNode, comment); + return true; + } + return false; +} +function handleModuleSpecifiersComments({ + comment, + precedingNode, + enclosingNode, + text +}) { + if (enclosingNode?.type === "ImportSpecifier" || enclosingNode?.type === "ExportSpecifier") { + addLeadingComment(enclosingNode, comment); + return true; + } + const isImportDeclaration = precedingNode?.type === "ImportSpecifier" && enclosingNode?.type === "ImportDeclaration"; + const isExportDeclaration2 = precedingNode?.type === "ExportSpecifier" && enclosingNode?.type === "ExportNamedDeclaration"; + if ((isImportDeclaration || isExportDeclaration2) && has_newline_default(text, locEnd(comment))) { + addTrailingComment(precedingNode, comment); + return true; + } + return false; +} +function handleAssignmentPatternComments({ comment, enclosingNode }) { + if (enclosingNode?.type === "AssignmentPattern") { + addLeadingComment(enclosingNode, comment); + return true; + } + return false; +} +var assignmentLikeNodeTypes = /* @__PURE__ */ new Set([ + "VariableDeclarator", + "AssignmentExpression", + "TypeAlias", + "TSTypeAliasDeclaration" +]); +var complexExprNodeTypes = /* @__PURE__ */ new Set([ + "ObjectExpression", + "ArrayExpression", + "TemplateLiteral", + "TaggedTemplateExpression", + "ObjectTypeAnnotation", + "TSTypeLiteral" +]); +function handleVariableDeclaratorComments({ + comment, + enclosingNode, + followingNode +}) { + if (assignmentLikeNodeTypes.has(enclosingNode?.type) && followingNode && (complexExprNodeTypes.has(followingNode.type) || is_block_comment_default(comment))) { + addLeadingComment(followingNode, comment); + return true; + } + return false; +} +function handleTSFunctionTrailingComments({ + comment, + enclosingNode, + followingNode, + text +}) { + if (!followingNode && (enclosingNode?.type === "TSMethodSignature" || enclosingNode?.type === "TSDeclareFunction" || enclosingNode?.type === "TSAbstractMethodDefinition") && get_next_non_space_non_comment_character_default(text, locEnd(comment)) === ";") { + addTrailingComment(enclosingNode, comment); + return true; + } + return false; +} +function handleIgnoreComments({ comment, enclosingNode, followingNode }) { + if (isPrettierIgnoreComment(comment) && enclosingNode?.type === "TSMappedType" && followingNode === enclosingNode.key) { + enclosingNode.prettierIgnore = true; + comment.unignore = true; + return true; + } +} +function handleTSMappedTypeComments({ comment, precedingNode, enclosingNode }) { + if (enclosingNode?.type !== "TSMappedType") { + return; + } + if (!precedingNode) { + addDanglingComment(enclosingNode, comment); + return true; + } +} +function handleSwitchDefaultCaseComments({ + comment, + enclosingNode, + followingNode +}) { + if (!enclosingNode || enclosingNode.type !== "SwitchCase" || enclosingNode.test || !followingNode || followingNode !== enclosingNode.consequent[0]) { + return false; + } + if (followingNode.type === "BlockStatement" && is_line_comment_default(comment)) { + addBlockStatementFirstComment(followingNode, comment); + } else { + addDanglingComment(enclosingNode, comment); + } + return true; +} +function handleLastUnionElementInExpression({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (isUnionType(precedingNode) && ((enclosingNode.type === "TSArrayType" || enclosingNode.type === "ArrayTypeAnnotation") && !followingNode || isIntersectionType(enclosingNode))) { + addTrailingComment(at_default( + /* isOptionalObject */ + false, + precedingNode.types, + -1 + ), comment); + return true; + } + return false; +} +function handleCommentsInDestructuringPattern({ + comment, + enclosingNode, + precedingNode, + followingNode +}) { + if ((enclosingNode?.type === "ObjectPattern" || enclosingNode?.type === "ArrayPattern") && followingNode?.type === "TSTypeAnnotation") { + if (precedingNode) { + addTrailingComment(precedingNode, comment); + } else { + addDanglingComment(enclosingNode, comment); + } + return true; + } +} +function handleLastBinaryOperatorOperand({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + if (!followingNode && enclosingNode?.type === "UnaryExpression" && (precedingNode?.type === "LogicalExpression" || precedingNode?.type === "BinaryExpression")) { + if ( + // Multiline expression + has_newline_in_range_default( + text, + locStart(enclosingNode.argument), + locStart(precedingNode.right) + ) && isSingleLineComment(comment, text) && // Comment and `precedingNode.right` are on same line + !has_newline_in_range_default(text, locStart(precedingNode.right), locStart(comment)) + ) { + addTrailingComment(precedingNode.right, comment); + return true; + } + } + return false; +} +var isRealFunctionLikeNode = create_type_check_function_default([ + "ArrowFunctionExpression", + "FunctionExpression", + "FunctionDeclaration", + "ObjectMethod", + "ClassMethod", + "TSDeclareFunction", + "TSCallSignatureDeclaration", + "TSConstructSignatureDeclaration", + "TSMethodSignature", + "TSConstructorType", + "TSFunctionType", + "TSDeclareMethod" +]); + +// src/language-js/comments/printer-methods.js +var nodeTypesCanNotAttachComment = /* @__PURE__ */ new Set([ + "EmptyStatement", + "TemplateElement", + // There is no similar node in Babel AST + // ```ts + // class Foo { + // bar(); + // ^^^ TSEmptyBodyFunctionExpression + // } + // ``` + "TSEmptyBodyFunctionExpression", + // There is no similar node in Babel AST, `a?.b` + "ChainExpression" +]); +function canAttachComment(node) { + return !nodeTypesCanNotAttachComment.has(node.type); +} +function getCommentChildNodes(node, options2) { + if ((options2.parser === "typescript" || options2.parser === "flow" || options2.parser === "hermes" || options2.parser === "acorn" || options2.parser === "oxc" || options2.parser === "oxc-ts" || options2.parser === "espree" || options2.parser === "meriyah" || options2.parser === "__babel_estree") && node.type === "MethodDefinition" && node.value?.type === "FunctionExpression" && getFunctionParameters(node.value).length === 0 && !node.value.returnType && !is_non_empty_array_default(node.value.typeParameters) && node.value.body) { + return [...node.decorators || [], node.key, node.value.body]; + } +} +function willPrintOwnComments(path) { + const { node, parent } = path; + return (isJsxElement(node) || parent && (parent.type === "JSXSpreadAttribute" || parent.type === "JSXSpreadChild" || isUnionType(parent) || parent.type === "MatchOrPattern" || (parent.type === "ClassDeclaration" || parent.type === "ClassExpression") && parent.superClass === node)) && (!hasNodeIgnoreComment(node) || isUnionType(parent)); +} +function isGap(text, { parser }) { + if (parser === "flow" || parser === "hermes" || parser === "babel-flow") { + text = string_replace_all_default( + /* isOptionalObject */ + false, + text, + /[\s(]/gu, + "" + ); + return text === "" || text === "/*" || text === "/*::"; + } +} + +// src/document/printer.js +var MODE_BREAK = Symbol("MODE_BREAK"); +var MODE_FLAT = Symbol("MODE_FLAT"); +var CURSOR_PLACEHOLDER = Symbol("cursor"); +var DOC_FILL_PRINTED_LENGTH = Symbol("DOC_FILL_PRINTED_LENGTH"); +function rootIndent() { + return { value: "", length: 0, queue: [] }; +} +function makeIndent(ind, options2) { + return generateInd(ind, { type: "indent" }, options2); +} +function makeAlign(indent2, widthOrDoc, options2) { + if (widthOrDoc === Number.NEGATIVE_INFINITY) { + return indent2.root || rootIndent(); + } + if (widthOrDoc < 0) { + return generateInd(indent2, { type: "dedent" }, options2); + } + if (!widthOrDoc) { + return indent2; + } + if (widthOrDoc.type === "root") { + return { ...indent2, root: indent2 }; + } + const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign"; + return generateInd(indent2, { type: alignType, n: widthOrDoc }, options2); +} +function generateInd(ind, newPart, options2) { + const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart]; + let value = ""; + let length = 0; + let lastTabs = 0; + let lastSpaces = 0; + for (const part of queue) { + switch (part.type) { + case "indent": + flush(); + if (options2.useTabs) { + addTabs(1); + } else { + addSpaces(options2.tabWidth); + } + break; + case "stringAlign": + flush(); + value += part.n; + length += part.n.length; + break; + case "numberAlign": + lastTabs += 1; + lastSpaces += part.n; + break; + default: + throw new Error(`Unexpected type '${part.type}'`); + } + } + flushSpaces(); + return { ...ind, value, length, queue }; + function addTabs(count) { + value += " ".repeat(count); + length += options2.tabWidth * count; + } + function addSpaces(count) { + value += " ".repeat(count); + length += count; + } + function flush() { + if (options2.useTabs) { + flushTabs(); + } else { + flushSpaces(); + } + } + function flushTabs() { + if (lastTabs > 0) { + addTabs(lastTabs); + } + resetLast(); + } + function flushSpaces() { + if (lastSpaces > 0) { + addSpaces(lastSpaces); + } + resetLast(); + } + function resetLast() { + lastTabs = 0; + lastSpaces = 0; + } +} +function trim(out) { + let trimCount = 0; + let cursorCount = 0; + let outIndex = out.length; + outer: while (outIndex--) { + const last = out[outIndex]; + if (last === CURSOR_PLACEHOLDER) { + cursorCount++; + continue; + } + if (false) { + throw new Error(`Unexpected value in trim: '${typeof last}'`); + } + for (let charIndex = last.length - 1; charIndex >= 0; charIndex--) { + const char = last[charIndex]; + if (char === " " || char === " ") { + trimCount++; + } else { + out[outIndex] = last.slice(0, charIndex + 1); + break outer; + } + } + } + if (trimCount > 0 || cursorCount > 0) { + out.length = outIndex + 1; + while (cursorCount-- > 0) { + out.push(CURSOR_PLACEHOLDER); + } + } + return trimCount; +} +function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat) { + if (width === Number.POSITIVE_INFINITY) { + return true; + } + let restIdx = restCommands.length; + const cmds = [next]; + const out = []; + while (width >= 0) { + if (cmds.length === 0) { + if (restIdx === 0) { + return true; + } + cmds.push(restCommands[--restIdx]); + continue; + } + const { mode, doc } = cmds.pop(); + const docType = get_doc_type_default(doc); + switch (docType) { + case DOC_TYPE_STRING: + out.push(doc); + width -= get_string_width_default(doc); + break; + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = docType === DOC_TYPE_ARRAY ? doc : doc.parts; + const end = doc[DOC_FILL_PRINTED_LENGTH] ?? 0; + for (let i = parts.length - 1; i >= end; i--) { + cmds.push({ mode, doc: parts[i] }); + } + break; + } + case DOC_TYPE_INDENT: + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + cmds.push({ mode, doc: doc.contents }); + break; + case DOC_TYPE_TRIM: + width += trim(out); + break; + case DOC_TYPE_GROUP: { + if (mustBeFlat && doc.break) { + return false; + } + const groupMode = doc.break ? MODE_BREAK : mode; + const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default( + /* isOptionalObject */ + false, + doc.expandedStates, + -1 + ) : doc.contents; + cmds.push({ mode: groupMode, doc: contents }); + break; + } + case DOC_TYPE_IF_BREAK: { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode; + const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents; + if (contents) { + cmds.push({ mode, doc: contents }); + } + break; + } + case DOC_TYPE_LINE: + if (mode === MODE_BREAK || doc.hard) { + return true; + } + if (!doc.soft) { + out.push(" "); + width--; + } + break; + case DOC_TYPE_LINE_SUFFIX: + hasLineSuffix = true; + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (hasLineSuffix) { + return false; + } + break; + } + } + return false; +} +function printDocToString(doc, options2) { + const groupModeMap = {}; + const width = options2.printWidth; + const newLine = convertEndOfLineToChars(options2.endOfLine); + let pos = 0; + const cmds = [{ ind: rootIndent(), mode: MODE_BREAK, doc }]; + const out = []; + let shouldRemeasure = false; + const lineSuffix2 = []; + let printedCursorCount = 0; + propagateBreaks(doc); + while (cmds.length > 0) { + const { ind, mode, doc: doc2 } = cmds.pop(); + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_STRING: { + const formatted = newLine !== "\n" ? string_replace_all_default( + /* isOptionalObject */ + false, + doc2, + "\n", + newLine + ) : doc2; + out.push(formatted); + if (cmds.length > 0) { + pos += get_string_width_default(formatted); + } + break; + } + case DOC_TYPE_ARRAY: + for (let i = doc2.length - 1; i >= 0; i--) { + cmds.push({ ind, mode, doc: doc2[i] }); + } + break; + case DOC_TYPE_CURSOR: + if (printedCursorCount >= 2) { + throw new Error("There are too many 'cursor' in doc."); + } + out.push(CURSOR_PLACEHOLDER); + printedCursorCount++; + break; + case DOC_TYPE_INDENT: + cmds.push({ ind: makeIndent(ind, options2), mode, doc: doc2.contents }); + break; + case DOC_TYPE_ALIGN: + cmds.push({ + ind: makeAlign(ind, doc2.n, options2), + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_TRIM: + pos -= trim(out); + break; + case DOC_TYPE_GROUP: + switch (mode) { + case MODE_FLAT: + if (!shouldRemeasure) { + cmds.push({ + ind, + mode: doc2.break ? MODE_BREAK : MODE_FLAT, + doc: doc2.contents + }); + break; + } + // fallthrough + case MODE_BREAK: { + shouldRemeasure = false; + const next = { ind, mode: MODE_FLAT, doc: doc2.contents }; + const rem = width - pos; + const hasLineSuffix = lineSuffix2.length > 0; + if (!doc2.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(next); + } else { + if (doc2.expandedStates) { + const mostExpanded = at_default( + /* isOptionalObject */ + false, + doc2.expandedStates, + -1 + ); + if (doc2.break) { + cmds.push({ ind, mode: MODE_BREAK, doc: mostExpanded }); + break; + } else { + for (let i = 1; i < doc2.expandedStates.length + 1; i++) { + if (i >= doc2.expandedStates.length) { + cmds.push({ ind, mode: MODE_BREAK, doc: mostExpanded }); + break; + } else { + const state = doc2.expandedStates[i]; + const cmd = { ind, mode: MODE_FLAT, doc: state }; + if (fits(cmd, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(cmd); + break; + } + } + } + } + } else { + cmds.push({ ind, mode: MODE_BREAK, doc: doc2.contents }); + } + } + break; + } + } + if (doc2.id) { + groupModeMap[doc2.id] = at_default( + /* isOptionalObject */ + false, + cmds, + -1 + ).mode; + } + break; + // Fills each line with as much code as possible before moving to a new + // line with the same indentation. + // + // Expects doc.parts to be an array of alternating content and + // whitespace. The whitespace contains the linebreaks. + // + // For example: + // ["I", line, "love", line, "monkeys"] + // or + // [{ type: group, ... }, softline, { type: group, ... }] + // + // It uses this parts structure to handle three main layout cases: + // * The first two content items fit on the same line without + // breaking + // -> output the first content item and the whitespace "flat". + // * Only the first content item fits on the line without breaking + // -> output the first content item "flat" and the whitespace with + // "break". + // * Neither content item fits on the line without breaking + // -> output the first content item and the whitespace with "break". + case DOC_TYPE_FILL: { + const rem = width - pos; + const offset = doc2[DOC_FILL_PRINTED_LENGTH] ?? 0; + const { parts } = doc2; + const length = parts.length - offset; + if (length === 0) { + break; + } + const content = parts[offset + 0]; + const whitespace = parts[offset + 1]; + const contentFlatCmd = { ind, mode: MODE_FLAT, doc: content }; + const contentBreakCmd = { ind, mode: MODE_BREAK, doc: content }; + const contentFits = fits( + contentFlatCmd, + [], + rem, + lineSuffix2.length > 0, + groupModeMap, + true + ); + if (length === 1) { + if (contentFits) { + cmds.push(contentFlatCmd); + } else { + cmds.push(contentBreakCmd); + } + break; + } + const whitespaceFlatCmd = { ind, mode: MODE_FLAT, doc: whitespace }; + const whitespaceBreakCmd = { ind, mode: MODE_BREAK, doc: whitespace }; + if (length === 2) { + if (contentFits) { + cmds.push(whitespaceFlatCmd, contentFlatCmd); + } else { + cmds.push(whitespaceBreakCmd, contentBreakCmd); + } + break; + } + const secondContent = parts[offset + 2]; + const remainingCmd = { + ind, + mode, + doc: { ...doc2, [DOC_FILL_PRINTED_LENGTH]: offset + 2 } + }; + const firstAndSecondContentFlatCmd = { + ind, + mode: MODE_FLAT, + doc: [content, whitespace, secondContent] + }; + const firstAndSecondContentFits = fits( + firstAndSecondContentFlatCmd, + [], + rem, + lineSuffix2.length > 0, + groupModeMap, + true + ); + if (firstAndSecondContentFits) { + cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd); + } else if (contentFits) { + cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd); + } else { + cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd); + } + break; + } + case DOC_TYPE_IF_BREAK: + case DOC_TYPE_INDENT_IF_BREAK: { + const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode; + if (groupMode === MODE_BREAK) { + const breakContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents); + if (breakContents) { + cmds.push({ ind, mode, doc: breakContents }); + } + } + if (groupMode === MODE_FLAT) { + const flatContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents; + if (flatContents) { + cmds.push({ ind, mode, doc: flatContents }); + } + } + break; + } + case DOC_TYPE_LINE_SUFFIX: + lineSuffix2.push({ ind, mode, doc: doc2.contents }); + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (lineSuffix2.length > 0) { + cmds.push({ ind, mode, doc: hardlineWithoutBreakParent }); + } + break; + case DOC_TYPE_LINE: + switch (mode) { + case MODE_FLAT: + if (!doc2.hard) { + if (!doc2.soft) { + out.push(" "); + pos += 1; + } + break; + } else { + shouldRemeasure = true; + } + // fallthrough + case MODE_BREAK: + if (lineSuffix2.length > 0) { + cmds.push({ ind, mode, doc: doc2 }, ...lineSuffix2.reverse()); + lineSuffix2.length = 0; + break; + } + if (doc2.literal) { + if (ind.root) { + out.push(newLine, ind.root.value); + pos = ind.root.length; + } else { + out.push(newLine); + pos = 0; + } + } else { + pos -= trim(out); + out.push(newLine + ind.value); + pos = ind.length; + } + break; + } + break; + case DOC_TYPE_LABEL: + cmds.push({ ind, mode, doc: doc2.contents }); + break; + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + if (cmds.length === 0 && lineSuffix2.length > 0) { + cmds.push(...lineSuffix2.reverse()); + lineSuffix2.length = 0; + } + } + const cursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER); + if (cursorPlaceholderIndex !== -1) { + const otherCursorPlaceholderIndex = out.indexOf( + CURSOR_PLACEHOLDER, + cursorPlaceholderIndex + 1 + ); + if (otherCursorPlaceholderIndex === -1) { + return { + formatted: out.filter((char) => char !== CURSOR_PLACEHOLDER).join("") + }; + } + const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); + const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); + const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); + return { + formatted: beforeCursor + aroundCursor + afterCursor, + cursorNodeStart: beforeCursor.length, + cursorNodeText: aroundCursor + }; + } + return { formatted: out.join("") }; +} + +// src/utils/get-alignment-size.js +function getAlignmentSize(text, tabWidth, startIndex = 0) { + let size = 0; + for (let i = startIndex; i < text.length; ++i) { + if (text[i] === " ") { + size = size + tabWidth - size % tabWidth; + } else { + size++; + } + } + return size; +} +var get_alignment_size_default = getAlignmentSize; + +// src/utils/get-indent-size.js +function getIndentSize(value, tabWidth) { + const lastNewlineIndex = value.lastIndexOf("\n"); + if (lastNewlineIndex === -1) { + return 0; + } + return get_alignment_size_default( + // All the leading whitespaces + value.slice(lastNewlineIndex + 1).match(/^[\t ]*/u)[0], + tabWidth + ); +} +var get_indent_size_default = getIndentSize; + +// src/language-js/print/template-literal.js +function printTemplateLiteral(path, options2, print3) { + const { node } = path; + const isTemplateLiteral = node.type === "TemplateLiteral"; + if (isTemplateLiteral && isJestEachTemplateLiteral(path)) { + const printed = printJestEachTemplateLiteral(path, options2, print3); + if (printed) { + return printed; + } + } + let expressionsKey = "expressions"; + if (node.type === "TSTemplateLiteralType") { + expressionsKey = "types"; + } + const parts = []; + const expressionDocs = path.map(print3, expressionsKey); + parts.push(lineSuffixBoundary, "`"); + let previousQuasiIndentSize = 0; + path.each(({ index, node: quasi }) => { + parts.push(print3()); + if (quasi.tail) { + return; + } + const { tabWidth } = options2; + const text = quasi.value.raw; + const indentSize = text.includes("\n") ? get_indent_size_default(text, tabWidth) : previousQuasiIndentSize; + previousQuasiIndentSize = indentSize; + let expressionDoc = expressionDocs[index]; + const expression = node[expressionsKey][index]; + let interpolationHasNewline = has_newline_in_range_default( + options2.originalText, + locEnd(quasi), + locStart(node.quasis[index + 1]) + ); + if (!interpolationHasNewline) { + const renderedExpression = printDocToString(expressionDoc, { + ...options2, + printWidth: Number.POSITIVE_INFINITY + }).formatted; + if (renderedExpression.includes("\n")) { + interpolationHasNewline = true; + } else { + expressionDoc = renderedExpression; + } + } + expressionDoc = [indent([softline, expressionDoc]), softline]; + const aligned = indentSize === 0 && text.endsWith("\n") ? align(Number.NEGATIVE_INFINITY, expressionDoc) : addAlignmentToDoc(expressionDoc, indentSize, tabWidth); + parts.push(group(["${", aligned, lineSuffixBoundary, "}"])); + }, "quasis"); + parts.push("`"); + return parts; +} +function printTaggedTemplateLiteral(path, options2, print3) { + const quasiDoc = print3("quasi"); + const { node } = path; + let space = ""; + const quasiLeadingComment = getComments( + node.quasi, + CommentCheckFlags.Leading + )[0]; + if (quasiLeadingComment) { + if (has_newline_in_range_default( + options2.originalText, + locEnd(node.typeArguments ?? node.typeParameters ?? node.tag), + locStart(quasiLeadingComment) + )) { + space = softline; + } else { + space = " "; + } + } + return label(quasiDoc.label && { tagged: true, ...quasiDoc.label }, [ + print3("tag"), + print3(node.typeArguments ? "typeArguments" : "typeParameters"), + space, + lineSuffixBoundary, + quasiDoc + ]); +} +function printJestEachTemplateLiteral(path, options2, print3) { + const { node } = path; + const headerNames = node.quasis[0].value.raw.trim().split(/\s*\|\s*/u); + if (headerNames.length > 1 || headerNames.some((headerName) => headerName.length > 0)) { + options2.__inJestEach = true; + const expressions = path.map(print3, "expressions"); + options2.__inJestEach = false; + const parts = []; + const stringifiedExpressions = expressions.map( + (doc) => "${" + printDocToString(doc, { + ...options2, + printWidth: Number.POSITIVE_INFINITY, + endOfLine: "lf" + }).formatted + "}" + ); + const tableBody = [{ hasLineBreak: false, cells: [] }]; + for (let i = 1; i < node.quasis.length; i++) { + const row = at_default( + /* isOptionalObject */ + false, + tableBody, + -1 + ); + const correspondingExpression = stringifiedExpressions[i - 1]; + row.cells.push(correspondingExpression); + if (correspondingExpression.includes("\n")) { + row.hasLineBreak = true; + } + if (node.quasis[i].value.raw.includes("\n")) { + tableBody.push({ hasLineBreak: false, cells: [] }); + } + } + const maxColumnCount = Math.max( + headerNames.length, + ...tableBody.map((row) => row.cells.length) + ); + const maxColumnWidths = Array.from({ length: maxColumnCount }).fill(0); + const table = [ + { cells: headerNames }, + ...tableBody.filter((row) => row.cells.length > 0) + ]; + for (const { cells } of table.filter((row) => !row.hasLineBreak)) { + for (const [index, cell] of cells.entries()) { + maxColumnWidths[index] = Math.max( + maxColumnWidths[index], + get_string_width_default(cell) + ); + } + } + parts.push( + lineSuffixBoundary, + "`", + indent([ + hardline, + join( + hardline, + table.map( + (row) => join( + " | ", + row.cells.map( + (cell, index) => row.hasLineBreak ? cell : cell + " ".repeat(maxColumnWidths[index] - get_string_width_default(cell)) + ) + ) + ) + ) + ]), + hardline, + "`" + ); + return parts; + } +} +function printTemplateExpression(path, print3) { + const { node } = path; + let printed = print3(); + if (hasComment(node)) { + printed = group([indent([softline, printed]), softline]); + } + return ["${", printed, lineSuffixBoundary, "}"]; +} +function printTemplateExpressions(path, print3) { + return path.map( + (path2) => printTemplateExpression(path2, print3), + "expressions" + ); +} +function escapeTemplateCharacters(doc, raw) { + return mapDoc(doc, (currentDoc) => { + if (typeof currentDoc === "string") { + return raw ? string_replace_all_default( + /* isOptionalObject */ + false, + currentDoc, + /(\\*)`/gu, + "$1$1\\`" + ) : uncookTemplateElementValue(currentDoc); + } + return currentDoc; + }); +} +function uncookTemplateElementValue(cookedValue) { + return string_replace_all_default( + /* isOptionalObject */ + false, + cookedValue, + /([\\`]|\$\{)/gu, + String.raw`\$1` + ); +} +function isJestEachTemplateLiteral({ node, parent }) { + const jestEachTriggerRegex = /^[fx]?(?:describe|it|test)$/u; + return parent.type === "TaggedTemplateExpression" && parent.quasi === node && parent.tag.type === "MemberExpression" && parent.tag.property.type === "Identifier" && parent.tag.property.name === "each" && (parent.tag.object.type === "Identifier" && jestEachTriggerRegex.test(parent.tag.object.name) || parent.tag.object.type === "MemberExpression" && parent.tag.object.property.type === "Identifier" && (parent.tag.object.property.name === "only" || parent.tag.object.property.name === "skip") && parent.tag.object.object.type === "Identifier" && jestEachTriggerRegex.test(parent.tag.object.object.name)); +} + +// src/language-js/embed/utils.js +var angularComponentObjectExpressionPredicates = [ + (node, name) => node.type === "ObjectExpression" && name === "properties", + (node, name) => node.type === "CallExpression" && node.callee.type === "Identifier" && node.callee.name === "Component" && name === "arguments", + (node, name) => node.type === "Decorator" && name === "expression" +]; +function isAngularComponentStyles(path) { + const isTemplateLiteral = (node) => node.type === "TemplateLiteral"; + const isObjectPropertyNamedStyles = (node, key) => isObjectProperty(node) && !node.computed && node.key.type === "Identifier" && node.key.name === "styles" && key === "value"; + return path.match( + isTemplateLiteral, + (node, name) => isArrayExpression(node) && name === "elements", + isObjectPropertyNamedStyles, + ...angularComponentObjectExpressionPredicates + ) || path.match( + isTemplateLiteral, + isObjectPropertyNamedStyles, + ...angularComponentObjectExpressionPredicates + ); +} +function isAngularComponentTemplate(path) { + return path.match( + (node) => node.type === "TemplateLiteral", + (node, name) => isObjectProperty(node) && !node.computed && node.key.type === "Identifier" && node.key.name === "template" && name === "value", + ...angularComponentObjectExpressionPredicates + ); +} +function hasLeadingBlockCommentWithName(node, languageName) { + return hasComment( + node, + CommentCheckFlags.Block | CommentCheckFlags.Leading, + ({ value }) => value === ` ${languageName} ` + ); +} +function hasLanguageComment({ node, parent }, languageName) { + return hasLeadingBlockCommentWithName(node, languageName) || isAsConstExpression(parent) && hasLeadingBlockCommentWithName(parent, languageName) || parent.type === "ExpressionStatement" && hasLeadingBlockCommentWithName(parent, languageName); +} +function isAsConstExpression(node) { + return node.type === "AsConstExpression" || node.type === "TSAsExpression" && node.typeAnnotation.type === "TSTypeReference" && node.typeAnnotation.typeName.type === "Identifier" && node.typeAnnotation.typeName.name === "const"; +} + +// src/language-js/embed/css.js +async function printEmbedCss(textToDoc, print3, path) { + const { node } = path; + const rawQuasis = node.quasis.map((q) => q.value.raw); + let placeholderID = 0; + const text = rawQuasis.reduce( + (prevVal, currVal, idx) => idx === 0 ? currVal : prevVal + "@prettier-placeholder-" + placeholderID++ + "-id" + currVal, + "" + ); + const quasisDoc = await textToDoc(text, { parser: "scss" }); + const expressionDocs = printTemplateExpressions(path, print3); + const newDoc = replacePlaceholders(quasisDoc, expressionDocs); + if (!newDoc) { + throw new Error("Couldn't insert all the expressions"); + } + return ["`", indent([hardline, newDoc]), softline, "`"]; +} +function replacePlaceholders(quasisDoc, expressionDocs) { + if (!is_non_empty_array_default(expressionDocs)) { + return quasisDoc; + } + let replaceCounter = 0; + const newDoc = mapDoc(cleanDoc(quasisDoc), (doc) => { + if (typeof doc !== "string" || !doc.includes("@prettier-placeholder")) { + return doc; + } + return doc.split(/@prettier-placeholder-(\d+)-id/u).map((component, idx) => { + if (idx % 2 === 0) { + return replaceEndOfLine(component); + } + replaceCounter++; + return expressionDocs[component]; + }); + }); + return expressionDocs.length === replaceCounter ? newDoc : null; +} +function isStyledJsx({ node, parent, grandparent }) { + return grandparent && node.quasis && parent.type === "JSXExpressionContainer" && grandparent.type === "JSXElement" && grandparent.openingElement.name.name === "style" && grandparent.openingElement.attributes.some( + (attribute) => attribute.type === "JSXAttribute" && attribute.name.name === "jsx" + ) || parent?.type === "TaggedTemplateExpression" && parent.tag.type === "Identifier" && parent.tag.name === "css" || parent?.type === "TaggedTemplateExpression" && parent.tag.type === "MemberExpression" && parent.tag.object.name === "css" && (parent.tag.property.name === "global" || parent.tag.property.name === "resolve"); +} +function isStyledIdentifier(node) { + return node.type === "Identifier" && node.name === "styled"; +} +function isStyledExtend(node) { + return /^[A-Z]/u.test(node.object.name) && node.property.name === "extend"; +} +function isStyledComponents({ parent }) { + if (!parent || parent.type !== "TaggedTemplateExpression") { + return false; + } + const tag = parent.tag.type === "ParenthesizedExpression" ? parent.tag.expression : parent.tag; + switch (tag.type) { + case "MemberExpression": + return ( + // styled.foo`` + isStyledIdentifier(tag.object) || // Component.extend`` + isStyledExtend(tag) + ); + case "CallExpression": + return ( + // styled(Component)`` + isStyledIdentifier(tag.callee) || tag.callee.type === "MemberExpression" && (tag.callee.object.type === "MemberExpression" && // styled.foo.attrs({})`` + (isStyledIdentifier(tag.callee.object.object) || // Component.extend.attrs({})`` + isStyledExtend(tag.callee.object)) || // styled(Component).attrs({})`` + tag.callee.object.type === "CallExpression" && isStyledIdentifier(tag.callee.object.callee)) + ); + case "Identifier": + return tag.name === "css"; + default: + return false; + } +} +function isCssProp({ parent, grandparent }) { + return grandparent?.type === "JSXAttribute" && parent.type === "JSXExpressionContainer" && grandparent.name.type === "JSXIdentifier" && grandparent.name.name === "css"; +} +function printCss(path) { + if (isStyledJsx(path) || isStyledComponents(path) || isCssProp(path) || isAngularComponentStyles(path)) { + return printEmbedCss; + } +} +var css_default = printCss; + +// src/language-js/embed/graphql.js +async function printEmbedGraphQL(textToDoc, print3, path) { + const { node } = path; + const numQuasis = node.quasis.length; + const expressionDocs = printTemplateExpressions(path, print3); + const parts = []; + for (let i = 0; i < numQuasis; i++) { + const templateElement = node.quasis[i]; + const isFirst = i === 0; + const isLast = i === numQuasis - 1; + const text = templateElement.value.cooked; + const lines = text.split("\n"); + const numLines = lines.length; + const expressionDoc = expressionDocs[i]; + const startsWithBlankLine = numLines > 2 && lines[0].trim() === "" && lines[1].trim() === ""; + const endsWithBlankLine = numLines > 2 && lines[numLines - 1].trim() === "" && lines[numLines - 2].trim() === ""; + const commentsAndWhitespaceOnly = lines.every( + (line2) => /^\s*(?:#[^\n\r]*)?$/u.test(line2) + ); + if (!isLast && /#[^\n\r]*$/u.test(lines[numLines - 1])) { + return null; + } + let doc = null; + if (commentsAndWhitespaceOnly) { + doc = printGraphqlComments(lines); + } else { + doc = await textToDoc(text, { parser: "graphql" }); + } + if (doc) { + doc = escapeTemplateCharacters(doc, false); + if (!isFirst && startsWithBlankLine) { + parts.push(""); + } + parts.push(doc); + if (!isLast && endsWithBlankLine) { + parts.push(""); + } + } else if (!isFirst && !isLast && startsWithBlankLine) { + parts.push(""); + } + if (expressionDoc) { + parts.push(expressionDoc); + } + } + return ["`", indent([hardline, join(hardline, parts)]), hardline, "`"]; +} +function printGraphqlComments(lines) { + const parts = []; + let seenComment = false; + const array = lines.map((textLine) => textLine.trim()); + for (const [i, textLine] of array.entries()) { + if (textLine === "") { + continue; + } + if (array[i - 1] === "" && seenComment) { + parts.push([hardline, textLine]); + } else { + parts.push(textLine); + } + seenComment = true; + } + return parts.length === 0 ? null : join(hardline, parts); +} +function isGraphQL({ node, parent }) { + return hasLanguageComment({ node, parent }, "GraphQL") || parent && (parent.type === "TaggedTemplateExpression" && (parent.tag.type === "MemberExpression" && parent.tag.object.name === "graphql" && parent.tag.property.name === "experimental" || parent.tag.type === "Identifier" && (parent.tag.name === "gql" || parent.tag.name === "graphql")) || parent.type === "CallExpression" && parent.callee.type === "Identifier" && parent.callee.name === "graphql"); +} +function printGraphql(path) { + if (isGraphQL(path)) { + return printEmbedGraphQL; + } +} +var graphql_default = printGraphql; + +// src/language-js/embed/html.js +var htmlTemplateLiteralCounter = 0; +async function printEmbedHtmlLike(parser, textToDoc, print3, path, options2) { + const { node } = path; + const counter = htmlTemplateLiteralCounter; + htmlTemplateLiteralCounter = htmlTemplateLiteralCounter + 1 >>> 0; + const composePlaceholder = (index) => `PRETTIER_HTML_PLACEHOLDER_${index}_${counter}_IN_JS`; + const text = node.quasis.map( + (quasi, index, quasis) => index === quasis.length - 1 ? quasi.value.cooked : quasi.value.cooked + composePlaceholder(index) + ).join(""); + const expressionDocs = printTemplateExpressions(path, print3); + const placeholderRegex = new RegExp( + composePlaceholder(String.raw`(\d+)`), + "gu" + ); + let topLevelCount = 0; + const doc = await textToDoc(text, { + parser, + __onHtmlRoot(root) { + topLevelCount = root.children.length; + } + }); + const contentDoc = mapDoc(doc, (doc2) => { + if (typeof doc2 !== "string") { + return doc2; + } + const parts = []; + const components = doc2.split(placeholderRegex); + for (let i = 0; i < components.length; i++) { + let component = components[i]; + if (i % 2 === 0) { + if (component) { + component = uncookTemplateElementValue(component); + if (options2.__embeddedInHtml) { + component = string_replace_all_default( + /* isOptionalObject */ + false, + component, + /<\/(?=script\b)/giu, + String.raw`<\/` + ); + } + parts.push(component); + } + continue; + } + const placeholderIndex = Number(component); + parts.push(expressionDocs[placeholderIndex]); + } + return parts; + }); + const leadingWhitespace = /^\s/u.test(text) ? " " : ""; + const trailingWhitespace = /\s$/u.test(text) ? " " : ""; + const linebreak = options2.htmlWhitespaceSensitivity === "ignore" ? hardline : leadingWhitespace && trailingWhitespace ? line : null; + if (linebreak) { + return group(["`", indent([linebreak, group(contentDoc)]), linebreak, "`"]); + } + return label( + { hug: false }, + group([ + "`", + leadingWhitespace, + topLevelCount > 1 ? indent(group(contentDoc)) : group(contentDoc), + trailingWhitespace, + "`" + ]) + ); +} +function isHtml(path) { + return hasLanguageComment(path, "HTML") || path.match( + (node) => node.type === "TemplateLiteral", + (node, name) => node.type === "TaggedTemplateExpression" && node.tag.type === "Identifier" && node.tag.name === "html" && name === "quasi" + ); +} +var printEmbedHtml = printEmbedHtmlLike.bind(void 0, "html"); +var printEmbedAngular = printEmbedHtmlLike.bind(void 0, "angular"); +function printHtml(path) { + if (isHtml(path)) { + return printEmbedHtml; + } + if (isAngularComponentTemplate(path)) { + return printEmbedAngular; + } +} +var html_default = printHtml; + +// src/language-js/embed/markdown.js +async function printEmbedMarkdown(textToDoc, print3, path) { + const { node } = path; + let text = string_replace_all_default( + /* isOptionalObject */ + false, + node.quasis[0].value.raw, + /((?:\\\\)*)\\`/gu, + (_, backslashes) => "\\".repeat(backslashes.length / 2) + "`" + ); + const indentation = getIndentation(text); + const hasIndent = indentation !== ""; + if (hasIndent) { + text = string_replace_all_default( + /* isOptionalObject */ + false, + text, + new RegExp(`^${indentation}`, "gmu"), + "" + ); + } + const doc = escapeTemplateCharacters( + await textToDoc(text, { parser: "markdown", __inJsTemplate: true }), + true + ); + return [ + "`", + hasIndent ? indent([softline, doc]) : [literalline, dedentToRoot(doc)], + softline, + "`" + ]; +} +function getIndentation(str) { + const firstMatchedIndent = str.match(/^([^\S\n]*)\S/mu); + return firstMatchedIndent === null ? "" : firstMatchedIndent[1]; +} +function printMarkdown(path) { + if (isMarkdown(path)) { + return printEmbedMarkdown; + } +} +function isMarkdown({ node, parent }) { + return parent?.type === "TaggedTemplateExpression" && node.quasis.length === 1 && parent.tag.type === "Identifier" && (parent.tag.name === "md" || parent.tag.name === "markdown"); +} +var markdown_default = printMarkdown; + +// src/language-js/embed/index.js +function embed(path) { + const { node } = path; + if (node.type !== "TemplateLiteral" || // Bail out if any of the quasis have an invalid escape sequence + // (which would make the `cooked` value be `null`) + hasInvalidCookedValue(node)) { + return; + } + let embedder; + for (const getEmbedder of [ + css_default, + graphql_default, + html_default, + markdown_default + ]) { + embedder = getEmbedder(path); + if (!embedder) { + continue; + } + if (node.quasis.length === 1 && node.quasis[0].value.raw.trim() === "") { + return "``"; + } + return async (...args) => { + const doc = await embedder(...args); + return doc && label({ embed: true, ...doc.label }, doc); + }; + } +} +function hasInvalidCookedValue({ quasis }) { + return quasis.some(({ value: { cooked } }) => cooked === null); +} +var embed_default = embed; + +// src/main/print-ignored.js +function printIgnored(path, options2) { + const { + originalText, + [Symbol.for("comments")]: comments, + locStart: locStart2, + locEnd: locEnd2, + [Symbol.for("printedComments")]: printedComments + } = options2; + const { node } = path; + const start = locStart2(node); + const end = locEnd2(node); + for (const comment of comments) { + if (locStart2(comment) >= start && locEnd2(comment) <= end) { + printedComments.add(comment); + } + } + return originalText.slice(start, end); +} +var print_ignored_default = printIgnored; + +// src/language-js/needs-parens.js +function needsParens(path, options2) { + if (path.isRoot) { + return false; + } + const { node, key, parent } = path; + if (options2.__isInHtmlInterpolation && !options2.bracketSpacing && endsWithRightBracket(node) && isFollowedByRightBracket(path)) { + return true; + } + if (isStatement(node)) { + return false; + } + if (node.type === "Identifier") { + if (node.extra?.parenthesized && /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(node.name)) { + return true; + } + if (key === "left" && (node.name === "async" && !parent.await || node.name === "let") && parent.type === "ForOfStatement") { + return true; + } + if (node.name === "let") { + const expression = path.findAncestor( + (node2) => node2.type === "ForOfStatement" + )?.left; + if (expression && startsWithNoLookaheadToken( + expression, + (leftmostNode) => leftmostNode === node + )) { + return true; + } + } + if (key === "object" && node.name === "let" && parent.type === "MemberExpression" && parent.computed && !parent.optional) { + const statement = path.findAncestor( + (node2) => node2.type === "ExpressionStatement" || node2.type === "ForStatement" || node2.type === "ForInStatement" + ); + const expression = !statement ? void 0 : statement.type === "ExpressionStatement" ? statement.expression : statement.type === "ForStatement" ? statement.init : statement.left; + if (expression && startsWithNoLookaheadToken( + expression, + (leftmostNode) => leftmostNode === node + )) { + return true; + } + } + if (key === "expression") { + switch (node.name) { + case "await": + case "interface": + case "module": + case "using": + case "yield": + case "let": + case "component": + case "hook": + case "type": { + const ancestorNeitherAsNorSatisfies = path.findAncestor( + (node2) => !isBinaryCastExpression(node2) + ); + if (ancestorNeitherAsNorSatisfies !== parent && ancestorNeitherAsNorSatisfies.type === "ExpressionStatement") { + return true; + } + } + } + } + return false; + } + if (node.type === "ObjectExpression" || node.type === "FunctionExpression" || node.type === "ClassExpression" || node.type === "DoExpression") { + const expression = path.findAncestor( + (node2) => node2.type === "ExpressionStatement" + )?.expression; + if (expression && startsWithNoLookaheadToken( + expression, + (leftmostNode) => leftmostNode === node + )) { + return true; + } + } + if (node.type === "ObjectExpression") { + const arrowFunctionBody = path.findAncestor( + (node2) => node2.type === "ArrowFunctionExpression" + )?.body; + if (arrowFunctionBody && arrowFunctionBody.type !== "SequenceExpression" && // these have parens added anyway + arrowFunctionBody.type !== "AssignmentExpression" && startsWithNoLookaheadToken( + arrowFunctionBody, + (leftmostNode) => leftmostNode === node + )) { + return true; + } + } + switch (parent.type) { + case "ParenthesizedExpression": + return false; + case "ClassDeclaration": + case "ClassExpression": + if (key === "superClass" && (node.type === "ArrowFunctionExpression" || node.type === "AssignmentExpression" || node.type === "AwaitExpression" || node.type === "BinaryExpression" || node.type === "ConditionalExpression" || node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || node.type === "UpdateExpression" || node.type === "YieldExpression" || node.type === "TSNonNullExpression" || node.type === "ClassExpression" && is_non_empty_array_default(node.decorators))) { + return true; + } + break; + case "ExportDefaultDeclaration": + return ( + // `export default function` or `export default class` can't be followed by + // anything after. So an expression like `export default (function(){}).toString()` + // needs to be followed by a parentheses + shouldWrapFunctionForExportDefault(path, options2) || // `export default (foo, bar)` also needs parentheses + node.type === "SequenceExpression" + ); + case "Decorator": + if (key === "expression" && !canDecoratorExpressionUnparenthesized(node)) { + return true; + } + break; + case "TypeAnnotation": + if (path.match( + void 0, + void 0, + (node2, key2) => key2 === "returnType" && node2.type === "ArrowFunctionExpression" + ) && includesFunctionTypeInObjectType(node)) { + return true; + } + break; + // A user typing `!foo instanceof Bar` probably intended + // `!(foo instanceof Bar)`, so format to `(!foo) instance Bar` to what is + // really happening + case "BinaryExpression": + if (key === "left" && (parent.operator === "in" || parent.operator === "instanceof") && node.type === "UnaryExpression") { + return true; + } + break; + case "VariableDeclarator": + if (key === "init" && path.match( + void 0, + void 0, + (node2, key2) => key2 === "declarations" && node2.type === "VariableDeclaration", + (node2, key2) => key2 === "left" && node2.type === "ForInStatement" + )) { + return true; + } + break; + } + switch (node.type) { + case "UpdateExpression": + if (parent.type === "UnaryExpression") { + return node.prefix && (node.operator === "++" && parent.operator === "+" || node.operator === "--" && parent.operator === "-"); + } + // else fallthrough + case "UnaryExpression": + switch (parent.type) { + case "UnaryExpression": + return node.operator === parent.operator && (node.operator === "+" || node.operator === "-"); + case "BindExpression": + return true; + case "MemberExpression": + case "OptionalMemberExpression": + return key === "object"; + case "TaggedTemplateExpression": + return true; + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return key === "callee"; + case "BinaryExpression": + return key === "left" && parent.operator === "**"; + case "TSNonNullExpression": + return true; + default: + return false; + } + case "BinaryExpression": + if (parent.type === "UpdateExpression") { + return true; + } + if (node.operator === "in" && isPathInForStatementInitializer(path)) { + return true; + } + if (node.operator === "|>" && node.extra?.parenthesized) { + const grandParent = path.grandparent; + if (grandParent.type === "BinaryExpression" && grandParent.operator === "|>") { + return true; + } + } + // fallthrough + case "TSTypeAssertion": + case "TSAsExpression": + case "TSSatisfiesExpression": + case "AsExpression": + case "AsConstExpression": + case "SatisfiesExpression": + case "LogicalExpression": + switch (parent.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "AsExpression": + case "AsConstExpression": + case "SatisfiesExpression": + return !isBinaryCastExpression(node) && node.type !== "BinaryExpression"; + case "ConditionalExpression": + return false; + //isBinaryCastExpression(node) || isNullishCoalescing(node); + case "CallExpression": + case "NewExpression": + case "OptionalCallExpression": + return key === "callee"; + case "ClassExpression": + case "ClassDeclaration": + return key === "superClass"; + case "TSTypeAssertion": + case "TaggedTemplateExpression": + case "UnaryExpression": + /*case "JSXSpreadAttribute": + case "SpreadElement":*/ + case "BindExpression": + case "AwaitExpression": + case "TSNonNullExpression": + case "UpdateExpression": + return true; + case "MemberExpression": + case "OptionalMemberExpression": + return key === "object"; + case "AssignmentExpression": + case "AssignmentPattern": + return key === "left" && (node.type === "TSTypeAssertion" || isBinaryCastExpression(node)); + case "LogicalExpression": + if (node.type === "LogicalExpression") { + return getPrecedence(node.operator) < getPrecedence(parent.operator) || [node, parent].some(({ operator }) => operator === "??"); + } + // else fallthrough + case "BinaryExpression": { + const { operator, type } = node; + if (!operator && type !== "TSTypeAssertion") { + const precedence2 = getPrecedence(parent.operator); + const parentPrecedence2 = getPrecedence(path.grandparent.operator); + return key === "right" && parent.type === "BinaryExpression" || path.grandparent.type === "BinaryExpression" && parentPrecedence2 < precedence2 && path.grandparent.right === parent; + } + const precedence = getPrecedence(operator); + const parentOperator = parent.operator; + const parentPrecedence = getPrecedence(parentOperator); + if (parentPrecedence > precedence) { + return true; + } + if (key === "right" && parentPrecedence === precedence) { + return true; + } + return false; + } + default: + return false; + } + case "SequenceExpression": + if (parent.type === "ForStatement") { + return false; + } + return true; + case "YieldExpression": + if (parent.type === "AwaitExpression" || parent.type === "TSTypeAssertion") { + return true; + } + // else fallthrough + case "AwaitExpression": + switch (parent.type) { + case "TaggedTemplateExpression": + /*case "UnaryExpression": + case "LogicalExpression": + case "SpreadElement": + case "TSAsExpression": + case "TSSatisfiesExpression":*/ + case "TSNonNullExpression": + case "AsExpression": + case "AsConstExpression": + case "SatisfiesExpression": + case "BindExpression": + return true; + case "MemberExpression": + case "OptionalMemberExpression": + return key === "object"; + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return key === "callee"; + case "ConditionalExpression": + return ( + /*key === "test"*/ + false + ); + case "BinaryExpression": + return false; + /*} + + return true;*/ + default: + return false; + } + case "TSFunctionType": + if (path.match( + (node2) => node2.type === "TSFunctionType", + (node2, key2) => key2 === "typeAnnotation" && node2.type === "TSTypeAnnotation", + (node2, key2) => key2 === "returnType" && node2.type === "ArrowFunctionExpression" + )) { + return true; + } + // fallthrough + case "TSConditionalType": + case "TSConstructorType": + case "ConditionalTypeAnnotation": + if (key === "extendsType" && isConditionalType(node) && parent.type === node.type) { + return true; + } + if (key === "checkType" && isConditionalType(parent)) { + return true; + } + if (key === "extendsType" && parent.type === "TSConditionalType") { + let { typeAnnotation } = node.returnType || node.typeAnnotation; + if (typeAnnotation.type === "TSTypePredicate" && typeAnnotation.typeAnnotation) { + typeAnnotation = typeAnnotation.typeAnnotation.typeAnnotation; + } + if (typeAnnotation.type === "TSInferType" && typeAnnotation.typeParameter.constraint) { + return true; + } + } + // fallthrough + case "TSUnionType": + if ((isUnionType(parent) || isIntersectionType(parent)) && parent.types.length > 1 && (!node.types || node.types.length > 1)) { + return true; + } + // fallthrough + case "TSIntersectionType": + // is this correct? unsure + case "TSInferType": + if (node.type === "TSInferType") { + if (parent.type === "TSRestType") { + return false; + } + if (key === "types" && (parent.type === "TSUnionType" || parent.type === "TSIntersectionType") && node.typeParameter.type === "TSTypeParameter" && node.typeParameter.constraint) { + return true; + } + } + // fallthrough + case "TSTypeOperator": + return parent.type === "TSArrayType" || parent.type === "TSOptionalType" || parent.type === "TSRestType" || key === "objectType" && parent.type === "TSIndexedAccessType" || parent.type === "TSTypeOperator" || parent.type === "TSTypeAnnotation" && path.grandparent.type.startsWith("TSJSDoc"); + case "TSTypeQuery": + return ( + //(key === "objectType" && parent.type === "TSIndexedAccessType") || + key === "elementType" && parent.type === "TSArrayType" + ); + // Same as `TSTypeOperator`, but for Flow syntax + case "TypeOperator": + return parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || key === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType") || parent.type === "TypeOperator"; + // Same as `TSTypeQuery`, but for Flow syntax + case "TypeofTypeAnnotation": + return key === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType") || key === "elementType" && parent.type === "ArrayTypeAnnotation"; + case "ArrayTypeAnnotation": + return parent.type === "NullableTypeAnnotation"; + case "IntersectionTypeAnnotation": + case "UnionTypeAnnotation": + return parent.type === "TypeOperator" || parent.type === "KeyofTypeAnnotation" || parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "UnionTypeAnnotation" || key === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); + case "InferTypeAnnotation": + case "NullableTypeAnnotation": + return parent.type === "ArrayTypeAnnotation" || key === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); + case "ComponentTypeAnnotation": + case "FunctionTypeAnnotation": { + if (node.type === "ComponentTypeAnnotation" && (node.rendersType === null || node.rendersType === void 0)) { + return false; + } + if (path.match( + void 0, + (node2, key2) => key2 === "typeAnnotation" && node2.type === "TypeAnnotation", + (node2, key2) => key2 === "returnType" && node2.type === "ArrowFunctionExpression" + )) { + return true; + } + if (path.match( + void 0, + (node2, key2) => key2 === "typeAnnotation" && node2.type === "TypePredicate", + (node2, key2) => key2 === "typeAnnotation" && node2.type === "TypeAnnotation", + (node2, key2) => key2 === "returnType" && node2.type === "ArrowFunctionExpression" + )) { + return true; + } + const ancestor = parent.type === "NullableTypeAnnotation" ? path.grandparent : parent; + return ancestor.type === "UnionTypeAnnotation" || ancestor.type === "IntersectionTypeAnnotation" || ancestor.type === "ArrayTypeAnnotation" || key === "objectType" && (ancestor.type === "IndexedAccessType" || ancestor.type === "OptionalIndexedAccessType") || key === "checkType" && parent.type === "ConditionalTypeAnnotation" || key === "extendsType" && parent.type === "ConditionalTypeAnnotation" && node.returnType?.type === "InferTypeAnnotation" && node.returnType?.typeParameter.bound || // We should check ancestor's parent to know whether the parentheses + // are really needed, but since ??T doesn't make sense this check + // will almost never be true. + ancestor.type === "NullableTypeAnnotation" || // See #5283 + parent.type === "FunctionTypeParam" && parent.name === null && getFunctionParameters(node).some( + (param) => param.typeAnnotation?.type === "NullableTypeAnnotation" + ); + } + // fallthrough + case "OptionalIndexedAccessType": + return key === "objectType" && parent.type === "IndexedAccessType"; + case "StringLiteral": + case "NumericLiteral": + case "Literal": + if (typeof node.value === "string" && parent.type === "ExpressionStatement" && typeof parent.directive !== "string") { + const grandParent = path.grandparent; + return grandParent.type === "Program" || grandParent.type === "BlockStatement"; + } + return key === "object" && isMemberExpression(parent) && isNumericLiteral(node); + case "AssignmentExpression": + return key === "callee" && parent.type === "CallExpression" || key === "test" && parent.type === "ConditionalExpression" || ["ArrowFunctionExpression", "ExpressionStatement"].includes( + parent.type + ) && node.left.type === "ObjectPattern" || key === "object" && parent.type === "MemberExpression" || [ + "AwaitExpression", + "BinaryExpression", + "LogicalExpression", + "UnaryExpression", + "TSAsExpression", + "TSSatisfiesExpression" + ].includes(parent.type); + if ((key === "init" || key === "update") && parent.type === "ForStatement") { + return false; + } + if (key === "expression" && node.left.type !== "ObjectPattern" && parent.type === "ExpressionStatement") { + return false; + } + if (key === "key" && parent.type === "TSPropertySignature") { + return false; + } + if (parent.type === "AssignmentExpression") { + return false; + } + if (key === "expressions" && parent.type === "SequenceExpression" && path.match( + void 0, + void 0, + (node2, name) => (name === "init" || name === "update") && node2.type === "ForStatement" + )) { + return false; + } + if (key === "value" && parent.type === "Property" && path.match( + void 0, + void 0, + (node2, name) => name === "properties" && node2.type === "ObjectPattern" + )) { + return false; + } + if (parent.type === "NGChainedExpression") { + return false; + } + if (key === "node" && parent.type === "JsExpressionRoot") { + return false; + } + return true; + case "ConditionalExpression": + switch (parent.type) { + case "TaggedTemplateExpression": + case "UnaryExpression": + //case "SpreadElement": + case "BinaryExpression": + case "LogicalExpression": + case "NGPipeExpression": + case "ExportDefaultDeclaration": + case "AwaitExpression": + //case "JSXSpreadAttribute": + case "TSTypeAssertion": + case "TypeCastExpression": + case "TSAsExpression": + case "TSSatisfiesExpression": + case "AsExpression": + case "AsConstExpression": + case "SatisfiesExpression": + case "TSNonNullExpression": + return true; + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return key === "callee"; + case "ConditionalExpression": + if (!options2.experimentalTernaries) { + return key === "test"; + } + return false; + case "MemberExpression": + case "OptionalMemberExpression": + return key === "object"; + default: + return false; + } + case "FunctionExpression": + switch (parent.type) { + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return key === "callee"; + case "TaggedTemplateExpression": + return true; + // This is basically a kind of IIFE. + default: + return false; + } + case "ArrowFunctionExpression": + switch (parent.type) { + case "BinaryExpression": + return parent.operator !== "|>" || node.extra?.parenthesized; + case "NewExpression": + case "CallExpression": + case "OptionalCallExpression": + return key === "callee"; + case "MemberExpression": + case "OptionalMemberExpression": + return key === "object"; + case "TSAsExpression": + case "TSSatisfiesExpression": + case "AsExpression": + case "AsConstExpression": + case "SatisfiesExpression": + case "TSNonNullExpression": + case "BindExpression": + case "TaggedTemplateExpression": + case "UnaryExpression": + case "LogicalExpression": + case "AwaitExpression": + case "TSTypeAssertion": + case "MatchExpressionCase": + return true; + case "TSInstantiationExpression": + return key === "expression"; + case "ConditionalExpression": + return key === "test"; + default: + return false; + } + case "ClassExpression": + switch (parent.type) { + case "NewExpression": + return key === "callee"; + default: + return false; + } + case "OptionalMemberExpression": + case "OptionalCallExpression": + case "CallExpression": + case "MemberExpression": + if (shouldAddParenthesesToChainElement(path)) { + return true; + } + // fallthrough + case "TaggedTemplateExpression": + case "TSNonNullExpression": + if (key === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression")) { + let object = node; + while (object) { + switch (object.type) { + case "CallExpression": + case "OptionalCallExpression": + return true; + case "MemberExpression": + case "OptionalMemberExpression": + case "BindExpression": + object = object.object; + break; + // tagged templates are basically member expressions from a grammar perspective + // see https://tc39.github.io/ecma262/#prod-MemberExpression + case "TaggedTemplateExpression": + object = object.tag; + break; + case "TSNonNullExpression": + object = object.expression; + break; + default: + return false; + } + } + } + return false; + case "BindExpression": + return key === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression") || key === "object" && isMemberExpression(parent); + case "NGPipeExpression": + if (parent.type === "NGRoot" || parent.type === "NGMicrosyntaxExpression" || parent.type === "ObjectProperty" && // Preserve parens for compatibility with AngularJS expressions + !node.extra?.parenthesized || isArrayExpression(parent) || key === "arguments" && isCallExpression(parent) || key === "right" && parent.type === "NGPipeExpression" || key === "property" && parent.type === "MemberExpression" || parent.type === "AssignmentExpression") { + return false; + } + return true; + case "JSXFragment": + case "JSXElement": + return key === "callee" || key === "left" && parent.type === "BinaryExpression" && parent.operator === "<" || !isArrayExpression(parent) && parent.type !== "ArrowFunctionExpression" && parent.type !== "AssignmentExpression" && parent.type !== "AssignmentPattern" && parent.type !== "BinaryExpression" && parent.type !== "NewExpression" && parent.type !== "ConditionalExpression" && parent.type !== "ExpressionStatement" && parent.type !== "JsExpressionRoot" && parent.type !== "JSXAttribute" && parent.type !== "JSXElement" && parent.type !== "JSXExpressionContainer" && parent.type !== "JSXFragment" && parent.type !== "LogicalExpression" && !isCallExpression(parent) && !isObjectProperty(parent) && parent.type !== "ReturnStatement" && parent.type !== "ThrowStatement" && parent.type !== "TypeCastExpression" && parent.type !== "VariableDeclarator" && parent.type !== "YieldExpression" && parent.type !== "MatchExpressionCase"; + case "TSInstantiationExpression": + return key === "object" && isMemberExpression(parent); + case "MatchOrPattern": + return parent.type === "MatchAsPattern"; + } + return false; +} +var isStatement = create_type_check_function_default([ + "BlockStatement", + "BreakStatement", + "ComponentDeclaration", + "ClassBody", + "ClassDeclaration", + "ClassMethod", + "ClassProperty", + "PropertyDefinition", + "ClassPrivateProperty", + "ContinueStatement", + "DebuggerStatement", + "DeclareComponent", + "DeclareClass", + "DeclareExportAllDeclaration", + "DeclareExportDeclaration", + "DeclareFunction", + "DeclareHook", + "DeclareInterface", + "DeclareModule", + "DeclareModuleExports", + "DeclareNamespace", + "DeclareVariable", + "DeclareEnum", + "DoWhileStatement", + "EnumDeclaration", + "ExportAllDeclaration", + "ExportDefaultDeclaration", + "ExportNamedDeclaration", + "ExpressionStatement", + "ForInStatement", + "ForOfStatement", + "ForStatement", + "FunctionDeclaration", + "HookDeclaration", + "IfStatement", + "ImportDeclaration", + "InterfaceDeclaration", + "LabeledStatement", + "MethodDefinition", + "ReturnStatement", + "SwitchStatement", + "ThrowStatement", + "TryStatement", + "TSDeclareFunction", + "TSEnumDeclaration", + "TSImportEqualsDeclaration", + "TSInterfaceDeclaration", + "TSModuleDeclaration", + "TSNamespaceExportDeclaration", + "TypeAlias", + "VariableDeclaration", + "WhileStatement", + "WithStatement" +]); +function isPathInForStatementInitializer(path) { + let i = 0; + let { node } = path; + while (node) { + const parent = path.getParentNode(i++); + if (parent?.type === "ForStatement" && parent.init === node) { + return true; + } + node = parent; + } + return false; +} +function includesFunctionTypeInObjectType(node) { + return hasNode( + node, + (node2) => node2.type === "ObjectTypeAnnotation" && hasNode(node2, (node3) => node3.type === "FunctionTypeAnnotation") + ); +} +function endsWithRightBracket(node) { + return isObjectExpression(node); +} +function isFollowedByRightBracket(path) { + const { parent, key } = path; + switch (parent.type) { + case "NGPipeExpression": + if (key === "arguments" && path.isLast) { + return path.callParent(isFollowedByRightBracket); + } + break; + case "ObjectProperty": + if (key === "value") { + return path.callParent(() => path.key === "properties" && path.isLast); + } + break; + case "BinaryExpression": + case "LogicalExpression": + if (key === "right") { + return path.callParent(isFollowedByRightBracket); + } + break; + case "ConditionalExpression": + if (key === "alternate") { + return path.callParent(isFollowedByRightBracket); + } + break; + case "UnaryExpression": + if (parent.prefix) { + return path.callParent(isFollowedByRightBracket); + } + break; + } + return false; +} +function shouldWrapFunctionForExportDefault(path, options2) { + const { node, parent } = path; + if (node.type === "FunctionExpression" || node.type === "ClassExpression") { + return parent.type === "ExportDefaultDeclaration" || // in some cases the function is already wrapped + // (e.g. `export default (function() {})();`) + // in this case we don't need to add extra parens + !needsParens(path, options2); + } + if (!hasNakedLeftSide(node) || parent.type !== "ExportDefaultDeclaration" && needsParens(path, options2)) { + return false; + } + return path.call( + () => shouldWrapFunctionForExportDefault(path, options2), + ...getLeftSidePathName(node) + ); +} +function shouldAddParenthesesToChainElement(path) { + if ( + // ESTree + path.match( + void 0, + (node, name) => name === "expression" && node.type === "ChainExpression", + (node, name) => name === "tag" && node.type === "TaggedTemplateExpression" + ) || // Babel + path.match( + (node) => node.type === "OptionalCallExpression" || node.type === "OptionalMemberExpression", + (node, name) => name === "tag" && node.type === "TaggedTemplateExpression" + ) || // Babel-ts + // (a?.b)!``; + // (a?.b!)``; + path.match( + (node) => node.type === "OptionalCallExpression" || node.type === "OptionalMemberExpression", + (node, name) => name === "expression" && node.type === "TSNonNullExpression", + (node, name) => name === "tag" && node.type === "TaggedTemplateExpression" + ) || // case (a?.b)!``; in Typescript + path.match( + void 0, + (node, name) => name === "expression" && node.type === "ChainExpression", + (node, name) => name === "expression" && node.type === "TSNonNullExpression", + (node, name) => name === "tag" && node.type === "TaggedTemplateExpression" + ) || // case (a?.b!)``; in Typescript + path.match( + void 0, + (node, name) => name === "expression" && node.type === "TSNonNullExpression", + (node, name) => name === "expression" && node.type === "ChainExpression", + (node, name) => name === "tag" && node.type === "TaggedTemplateExpression" + ) + ) { + return true; + } + if (path.match( + (node) => node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression", + (node, name) => name === "object" && node.type === "MemberExpression" || name === "callee" && (node.type === "CallExpression" || node.type === "NewExpression") + ) || path.match( + (node) => node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression", + (node, name) => name === "expression" && node.type === "TSNonNullExpression", + (node, name) => name === "object" && node.type === "MemberExpression" || name === "callee" && node.type === "CallExpression" + )) { + return true; + } + if (path.match( + (node) => node.type === "CallExpression" || node.type === "MemberExpression", + (node, name) => name === "expression" && node.type === "ChainExpression" + ) && (path.match( + void 0, + void 0, + (node, name) => name === "callee" && (node.type === "CallExpression" && !node.optional || node.type === "NewExpression") || name === "object" && node.type === "MemberExpression" && !node.optional + ) || path.match( + void 0, + void 0, + (node, name) => name === "expression" && node.type === "TSNonNullExpression", + (node, name) => name === "object" && node.type === "MemberExpression" || name === "callee" && node.type === "CallExpression" + ))) { + return true; + } + if (path.match( + (node) => node.type === "CallExpression" || node.type === "MemberExpression", + (node, name) => name === "expression" && node.type === "TSNonNullExpression", + (node, name) => name === "expression" && node.type === "ChainExpression", + (node, name) => name === "object" && node.type === "MemberExpression" || name === "callee" && node.type === "CallExpression" + )) { + return true; + } + return false; +} +function isDecoratorMemberExpression(node) { + if (node.type === "Identifier") { + return true; + } + if (isMemberExpression(node)) { + return !node.computed && !node.optional && node.property.type === "Identifier" && isDecoratorMemberExpression(node.object); + } + return false; +} +function canDecoratorExpressionUnparenthesized(node) { + if (node.type === "ChainExpression") { + node = node.expression; + } + return isDecoratorMemberExpression(node) || isCallExpression(node) && !node.optional && isDecoratorMemberExpression(node.callee); +} +var needs_parens_default = needsParens; + +// src/utils/is-previous-line-empty.js +function isPreviousLineEmpty(text, startIndex) { + let idx = startIndex - 1; + idx = skipSpaces(text, idx, { backwards: true }); + idx = skip_newline_default(text, idx, { backwards: true }); + idx = skipSpaces(text, idx, { backwards: true }); + const idx2 = skip_newline_default(text, idx, { backwards: true }); + return idx !== idx2; +} +var is_previous_line_empty_default = isPreviousLineEmpty; + +// src/main/comments/print.js +var returnTrue = () => true; +function printComment2(path, options2) { + const comment = path.node; + comment.printed = true; + return options2.printer.printComment(path, options2); +} +function printLeadingComment(path, options2) { + const comment = path.node; + const parts = [printComment2(path, options2)]; + const { printer, originalText, locStart: locStart2, locEnd: locEnd2 } = options2; + const isBlock = printer.isBlockComment?.(comment); + if (isBlock) { + const lineBreak = has_newline_default(originalText, locEnd2(comment)) ? has_newline_default(originalText, locStart2(comment), { + backwards: true + }) ? hardline : line : " "; + parts.push(lineBreak); + } else { + parts.push(hardline); + } + const index = skip_newline_default( + originalText, + skipSpaces(originalText, locEnd2(comment)) + ); + if (index !== false && has_newline_default(originalText, index)) { + parts.push(hardline); + } + return parts; +} +function printTrailingComment(path, options2, previousComment) { + const comment = path.node; + const printed = printComment2(path, options2); + const { printer, originalText, locStart: locStart2 } = options2; + const isBlock = printer.isBlockComment?.(comment); + if (previousComment?.hasLineSuffix && !previousComment?.isBlock || has_newline_default(originalText, locStart2(comment), { backwards: true })) { + const isLineBeforeEmpty = is_previous_line_empty_default( + originalText, + locStart2(comment) + ); + return { + doc: lineSuffix([hardline, isLineBeforeEmpty ? hardline : "", printed]), + isBlock, + hasLineSuffix: true + }; + } + if (!isBlock || previousComment?.hasLineSuffix) { + return { + doc: [lineSuffix([" ", printed]), breakParent], + isBlock, + hasLineSuffix: true + }; + } + return { doc: [" ", printed], isBlock, hasLineSuffix: false }; +} +function printDanglingComments(path, options2, danglingCommentsPrintOptions = {}) { + const { node } = path; + if (!is_non_empty_array_default(node?.comments)) { + return ""; + } + const { + indent: shouldIndent = false, + marker, + filter = returnTrue + } = danglingCommentsPrintOptions; + const parts = []; + path.each(({ node: comment }) => { + if (comment.leading || comment.trailing || comment.marker !== marker || !filter(comment)) { + return; + } + parts.push(printComment2(path, options2)); + }, "comments"); + if (parts.length === 0) { + return ""; + } + const doc = join(hardline, parts); + return shouldIndent ? indent([hardline, doc]) : doc; +} +function printCommentsSeparately(path, options2) { + const value = path.node; + if (!value) { + return {}; + } + const ignored = options2[Symbol.for("printedComments")]; + const comments = (value.comments || []).filter( + (comment) => !ignored.has(comment) + ); + if (comments.length === 0) { + return { leading: "", trailing: "" }; + } + const leadingParts = []; + const trailingParts = []; + let printedTrailingComment; + path.each(() => { + const comment = path.node; + if (ignored?.has(comment)) { + return; + } + const { leading, trailing } = comment; + if (leading) { + leadingParts.push(printLeadingComment(path, options2)); + } else if (trailing) { + printedTrailingComment = printTrailingComment( + path, + options2, + printedTrailingComment + ); + trailingParts.push(printedTrailingComment.doc); + } + }, "comments"); + return { leading: leadingParts, trailing: trailingParts }; +} +function printComments(path, doc, options2) { + const { leading, trailing } = printCommentsSeparately(path, options2); + if (!leading && !trailing) { + return doc; + } + return inheritLabel(doc, (doc2) => [leading, doc2, trailing]); +} + +// src/utils/unexpected-node-error.js +var UnexpectedNodeError = class extends Error { + name = "UnexpectedNodeError"; + constructor(node, language, typeProperty = "type") { + super( + `Unexpected ${language} node ${typeProperty}: ${JSON.stringify( + node[typeProperty] + )}.` + ); + this.node = node; + } +}; +var unexpected_node_error_default = UnexpectedNodeError; + +// node_modules/escape-string-regexp/index.js +function escapeStringRegexp(string) { + if (typeof string !== "string") { + throw new TypeError("Expected a string"); + } + return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d"); +} + +// src/utils/whitespace-utils.js +var WhitespaceUtils = class { + #whitespaceCharacters; + constructor(whitespaceCharacters) { + this.#whitespaceCharacters = new Set(whitespaceCharacters); + if (false) { + throw new TypeError( + `Invalid characters: ${JSON.stringify(whitespaceCharacters)}` + ); + } + } + getLeadingWhitespaceCount(text) { + const whitespaceCharacters = this.#whitespaceCharacters; + let count = 0; + for (let index = 0; index < text.length && whitespaceCharacters.has(text.charAt(index)); index++) { + count++; + } + return count; + } + getTrailingWhitespaceCount(text) { + const whitespaceCharacters = this.#whitespaceCharacters; + let count = 0; + for (let index = text.length - 1; index >= 0 && whitespaceCharacters.has(text.charAt(index)); index--) { + count++; + } + return count; + } + getLeadingWhitespace(text) { + const count = this.getLeadingWhitespaceCount(text); + return text.slice(0, count); + } + getTrailingWhitespace(text) { + const count = this.getTrailingWhitespaceCount(text); + return text.slice(text.length - count); + } + hasLeadingWhitespace(text) { + return this.#whitespaceCharacters.has(text.charAt(0)); + } + hasTrailingWhitespace(text) { + return this.#whitespaceCharacters.has(at_default( + /* isOptionalObject */ + false, + text, + -1 + )); + } + trimStart(text) { + const count = this.getLeadingWhitespaceCount(text); + return text.slice(count); + } + trimEnd(text) { + const count = this.getTrailingWhitespaceCount(text); + return text.slice(0, text.length - count); + } + trim(text) { + return this.trimEnd(this.trimStart(text)); + } + split(text, captureWhitespace = false) { + const pattern = `[${escapeStringRegexp( + [...this.#whitespaceCharacters].join("") + )}]+`; + const regexp = new RegExp( + captureWhitespace ? `(${pattern})` : pattern, + "u" + ); + return text.split(regexp); + } + hasWhitespaceCharacter(text) { + const whitespaceCharacters = this.#whitespaceCharacters; + return Array.prototype.some.call( + text, + (character) => whitespaceCharacters.has(character) + ); + } + hasNonWhitespaceCharacter(text) { + const whitespaceCharacters = this.#whitespaceCharacters; + return Array.prototype.some.call( + text, + (character) => !whitespaceCharacters.has(character) + ); + } + isWhitespaceOnly(text) { + const whitespaceCharacters = this.#whitespaceCharacters; + return Array.prototype.every.call( + text, + (character) => whitespaceCharacters.has(character) + ); + } +}; +var whitespace_utils_default = WhitespaceUtils; + +// src/language-js/print/jsx.js +var jsxWhitespaceUtils = new whitespace_utils_default(" \n\r "); +var isEmptyStringOrAnyLine = (doc) => doc === "" || doc === line || doc === hardline || doc === softline; +function printJsxElementInternal(path, options2, print3) { + const { node } = path; + if (node.type === "JSXElement" && isEmptyJsxElement(node)) { + return [print3("openingElement"), print3("closingElement")]; + } + const openingLines = node.type === "JSXElement" ? print3("openingElement") : print3("openingFragment"); + const closingLines = node.type === "JSXElement" ? print3("closingElement") : print3("closingFragment"); + if (node.children.length === 1 && node.children[0].type === "JSXExpressionContainer" && (node.children[0].expression.type === "TemplateLiteral" || node.children[0].expression.type === "TaggedTemplateExpression")) { + return [openingLines, ...path.map(print3, "children"), closingLines]; + } + node.children = node.children.map((child) => { + if (isJsxWhitespaceExpression(child)) { + return { + type: "JSXText", + value: " ", + raw: " " + }; + } + return child; + }); + const containsTag = node.children.some(isJsxElement); + const containsMultipleExpressions = node.children.filter((child) => child.type === "JSXExpressionContainer").length > 1; + const containsMultipleAttributes = node.type === "JSXElement" && node.openingElement.attributes.length > 1; + let forcedBreak = willBreak(openingLines) || containsTag || containsMultipleAttributes || containsMultipleExpressions; + const isMdxBlock = path.parent.rootMarker === "mdx"; + const rawJsxWhitespace = options2.singleQuote ? "{' '}" : '{" "}'; + const jsxWhitespace = isMdxBlock ? line : ifBreak([rawJsxWhitespace, softline], " "); + const isFacebookTranslationTag = node.openingElement?.name?.name === "fbt"; + const children = printJsxChildren( + path, + options2, + print3, + jsxWhitespace, + isFacebookTranslationTag + ); + const containsText = node.children.some( + (child) => isMeaningfulJsxText(child) + ); + for (let i = children.length - 2; i >= 0; i--) { + const isPairOfEmptyStrings = children[i] === "" && children[i + 1] === ""; + const isPairOfHardlines = children[i] === hardline && children[i + 1] === "" && children[i + 2] === hardline; + const isLineFollowedByJsxWhitespace = (children[i] === softline || children[i] === hardline) && children[i + 1] === "" && children[i + 2] === jsxWhitespace; + const isJsxWhitespaceFollowedByLine = children[i] === jsxWhitespace && children[i + 1] === "" && (children[i + 2] === softline || children[i + 2] === hardline); + const isDoubleJsxWhitespace = children[i] === jsxWhitespace && children[i + 1] === "" && children[i + 2] === jsxWhitespace; + const isPairOfHardOrSoftLines = children[i] === softline && children[i + 1] === "" && children[i + 2] === hardline || children[i] === hardline && children[i + 1] === "" && children[i + 2] === softline; + if (isPairOfHardlines && containsText || isPairOfEmptyStrings || isLineFollowedByJsxWhitespace || isDoubleJsxWhitespace || isPairOfHardOrSoftLines) { + children.splice(i, 2); + } else if (isJsxWhitespaceFollowedByLine) { + children.splice(i + 1, 2); + } + } + while (children.length > 0 && isEmptyStringOrAnyLine(at_default( + /* isOptionalObject */ + false, + children, + -1 + ))) { + children.pop(); + } + while (children.length > 1 && isEmptyStringOrAnyLine(children[0]) && isEmptyStringOrAnyLine(children[1])) { + children.shift(); + children.shift(); + } + const multilineChildren = [""]; + for (const [i, child] of children.entries()) { + if (i % 2 === 0) { + multilineChildren.push([multilineChildren.pop(), child]); + } else { + multilineChildren.push(child, ""); + } + if (willBreak(child)) { + forcedBreak = true; + } + } + let content = containsText ? fill(multilineChildren) : group(multilineChildren, { shouldBreak: true }); + if (options2.cursorNode?.type === "JSXText" && node.children.includes(options2.cursorNode)) { + content = [cursor, content, cursor]; + } else if (options2.nodeBeforeCursor?.type === "JSXText" && node.children.includes(options2.nodeBeforeCursor)) { + content = [cursor, content]; + } else if (options2.nodeAfterCursor?.type === "JSXText" && node.children.includes(options2.nodeAfterCursor)) { + content = [content, cursor]; + } + if (isMdxBlock) { + return content; + } + const multiLineElem = group([ + openingLines, + indent([hardline, content]), + hardline, + closingLines + ]); + if (forcedBreak) { + return multiLineElem; + } + return conditionalGroup([ + group([openingLines, ...children, closingLines]), + multiLineElem + ]); +} +function printJsxChildren(path, options2, print3, jsxWhitespace, isFacebookTranslationTag) { + let prevPart = ""; + const parts = [prevPart]; + function push(doc) { + prevPart = doc; + parts.push([parts.pop(), doc]); + } + function pushLine(doc) { + if (doc === "") { + return; + } + prevPart = doc; + parts.push(doc, ""); + } + path.each(({ node, next }) => { + if (node.type === "JSXText") { + const text = get_raw_default(node); + if (isMeaningfulJsxText(node)) { + const words = jsxWhitespaceUtils.split( + text, + /* captureWhitespace */ + true + ); + if (words[0] === "") { + words.shift(); + if (/\n/u.test(words[0])) { + pushLine( + separatorWithWhitespace( + isFacebookTranslationTag, + words[1], + node, + next + ) + ); + } else { + pushLine(jsxWhitespace); + } + words.shift(); + } + let endWhitespace; + if (at_default( + /* isOptionalObject */ + false, + words, + -1 + ) === "") { + words.pop(); + endWhitespace = words.pop(); + } + if (words.length === 0) { + return; + } + for (const [i, word] of words.entries()) { + if (i % 2 === 1) { + pushLine(line); + } else { + push(word); + } + } + if (endWhitespace !== void 0) { + if (/\n/u.test(endWhitespace)) { + pushLine( + separatorWithWhitespace( + isFacebookTranslationTag, + prevPart, + node, + next + ) + ); + } else { + pushLine(jsxWhitespace); + } + } else { + pushLine( + separatorNoWhitespace( + isFacebookTranslationTag, + prevPart, + node, + next + ) + ); + } + } else if (/\n/u.test(text)) { + if (text.match(/\n/gu).length > 1) { + pushLine(hardline); + } + } else { + pushLine(jsxWhitespace); + } + } else { + const printedChild = print3(); + push(printedChild); + const directlyFollowedByMeaningfulText = next && isMeaningfulJsxText(next); + if (directlyFollowedByMeaningfulText) { + const trimmed = jsxWhitespaceUtils.trim(get_raw_default(next)); + const [firstWord] = jsxWhitespaceUtils.split(trimmed); + pushLine( + separatorNoWhitespace( + isFacebookTranslationTag, + firstWord, + node, + next + ) + ); + } else { + pushLine(hardline); + } + } + }, "children"); + return parts; +} +function separatorNoWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { + if (isFacebookTranslationTag) { + return ""; + } + if (childNode.type === "JSXElement" && !childNode.closingElement || nextNode?.type === "JSXElement" && !nextNode.closingElement) { + return child.length === 1 ? softline : hardline; + } + return softline; +} +function separatorWithWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { + if (isFacebookTranslationTag) { + return hardline; + } + if (child.length === 1) { + return childNode.type === "JSXElement" && !childNode.closingElement || nextNode?.type === "JSXElement" && !nextNode.closingElement ? hardline : softline; + } + return hardline; +} +var NO_WRAP_PARENTS = /* @__PURE__ */ new Set([ + "ArrayExpression", + "JSXAttribute", + "JSXElement", + "JSXExpressionContainer", + "JSXFragment", + "ExpressionStatement", + "CallExpression", + "OptionalCallExpression", + "ConditionalExpression", + "JsExpressionRoot", + "MatchExpressionCase" +]); +function maybeWrapJsxElementInParens(path, elem, options2) { + const { parent } = path; + if (NO_WRAP_PARENTS.has(parent.type)) { + return elem; + } + const shouldBreak = shouldBreakJsxElement(path); + const needsParens2 = parent.type !== "ReturnStatement"; + return group( + [ + needsParens2 ? "" : ifBreak("("), + indent([softline, elem]), + softline, + needsParens2 ? "" : ifBreak(")") + ], + { shouldBreak } + ); +} +function shouldBreakJsxElement(path) { + return path.match( + void 0, + (node) => node.type === "ArrowFunctionExpression", + isCallExpression + ) && // Babel + (path.match( + void 0, + void 0, + void 0, + (node) => node.type === "JSXExpressionContainer" + ) || // Estree + path.match( + void 0, + void 0, + void 0, + (node) => node.type === "ChainExpression", + (node) => node.type === "JSXExpressionContainer" + )); +} +function printJsxAttribute(path, options2, print3) { + const { node } = path; + const parts = []; + parts.push(print3("name")); + if (node.value) { + let res; + if (isStringLiteral(node.value)) { + const raw = get_raw_default(node.value); + let final = string_replace_all_default( + /* isOptionalObject */ + false, + string_replace_all_default( + /* isOptionalObject */ + false, + raw.slice(1, -1), + "'", + "'" + ), + """, + '"' + ); + const quote = get_preferred_quote_default(final, options2.jsxSingleQuote); + final = quote === '"' ? string_replace_all_default( + /* isOptionalObject */ + false, + final, + '"', + """ + ) : string_replace_all_default( + /* isOptionalObject */ + false, + final, + "'", + "'" + ); + res = path.call( + () => printComments(path, replaceEndOfLine(quote + final + quote), options2), + "value" + ); + } else { + res = print3("value"); + } + parts.push("=", res); + } + return parts; +} +function printJsxExpressionContainer(path, options2, print3) { + const { node } = path; + const shouldInline = (node2, parent) => node2.type === "JSXEmptyExpression" || !hasComment(node2) && (isArrayExpression(node2) || isObjectExpression(node2) || node2.type === "ArrowFunctionExpression" || node2.type === "AwaitExpression" && (shouldInline(node2.argument, node2) || node2.argument.type === "JSXElement") || //isCallExpression(node) || + node2.type === "ChainExpression" && isCallExpression(node2.expression) || node2.type === "FunctionExpression" || node2.type === "TemplateLiteral" || node2.type === "TaggedTemplateExpression" || node2.type === "DoExpression"); + if (shouldInline(node.expression, path.parent)) { + return group(["{", print3("expression"), lineSuffixBoundary, "}"]); + } + return group([ + "{", + indent([softline, print3("expression")]), + isJsxElement(path.parent) && isBinaryish(node.expression) && isJsxElement(node.expression.right) ? [] : softline, + lineSuffixBoundary, + "}" + ]); +} +function printJsxOpeningElement(path, options2, print3) { + const { node } = path; + const nameHasComments = hasComment(node.name) || hasComment(node.typeParameters) || hasComment(node.typeArguments); + if (node.selfClosing && node.attributes.length === 0 && !nameHasComments) { + return [ + "<", + print3("name"), + node.typeArguments ? print3("typeArguments") : print3("typeParameters"), + " />" + ]; + } + if (node.attributes?.length === 1 && isStringLiteral(node.attributes[0].value) && !node.attributes[0].value.value.includes("\n") && // We should break for the following cases: + //
+ //
+ !nameHasComments && !hasComment(node.attributes[0])) { + return group([ + "<", + print3("name"), + node.typeArguments ? print3("typeArguments") : print3("typeParameters"), + " ", + ...path.map(print3, "attributes"), + node.selfClosing ? " />" : ">" + ]); + } + const shouldBreak = node.attributes?.some( + (attr) => isStringLiteral(attr.value) && attr.value.value.includes("\n") + ); + const attributeLine = options2.singleAttributePerLine && node.attributes.length > 1 ? hardline : line; + return group( + [ + "<", + print3("name"), + node.typeArguments ? print3("typeArguments") : print3("typeParameters"), + indent(path.map(() => [attributeLine, print3()], "attributes")), + ...printEndOfOpeningTag(node, options2, nameHasComments) + ], + { shouldBreak } + ); +} +function printEndOfOpeningTag(node, options2, nameHasComments) { + if (node.selfClosing) { + return [line, "/>"]; + } + const bracketSameLine = shouldPrintBracketSameLine( + node, + options2, + nameHasComments + ); + if (bracketSameLine) { + return [">"]; + } + return [softline, ">"]; +} +function shouldPrintBracketSameLine(node, options2, nameHasComments) { + const lastAttrHasTrailingComments = node.attributes.length > 0 && hasComment(at_default( + /* isOptionalObject */ + false, + node.attributes, + -1 + ), CommentCheckFlags.Trailing); + return ( + // Simple tags (no attributes and no comment in tag name) should be + // kept unbroken regardless of `bracketSameLine`. + // jsxBracketSameLine is deprecated in favour of bracketSameLine, + // but is still needed for backwards compatibility. + node.attributes.length === 0 && !nameHasComments || (options2.bracketSameLine || options2.jsxBracketSameLine) && // We should print the bracket in a new line for the following cases: + //
+ //
+ (!nameHasComments || node.attributes.length > 0) && !lastAttrHasTrailingComments + ); +} +function printJsxClosingElement(path, options2, print3) { + const { node } = path; + const parts = []; + parts.push(""); + return parts; +} +function printJsxOpeningClosingFragment(path, options2) { + const { node } = path; + const nodeHasComment = hasComment(node); + const hasOwnLineComment = hasComment(node, CommentCheckFlags.Line); + const isOpeningFragment = node.type === "JSXOpeningFragment"; + return [ + isOpeningFragment ? "<" : "" + ]; +} +function printJsxElement(path, options2, print3) { + const elem = printComments( + path, + printJsxElementInternal(path, options2, print3), + options2 + ); + return maybeWrapJsxElementInParens(path, elem, options2); +} +function printJsxEmptyExpression(path, options2) { + const { node } = path; + const requiresHardline = hasComment(node, CommentCheckFlags.Line); + return [ + printDanglingComments(path, options2, { indent: requiresHardline }), + requiresHardline ? hardline : "" + ]; +} +function printJsxSpreadAttributeOrChild(path, options2, print3) { + const { node } = path; + return [ + "{", + path.call( + ({ node: node2 }) => { + const printed = ["...", print3()]; + if (!hasComment(node2) || !willPrintOwnComments(path)) { + return printed; + } + return [ + indent([softline, printComments(path, printed, options2)]), + softline + ]; + }, + node.type === "JSXSpreadAttribute" ? "argument" : "expression" + ), + "}" + ]; +} +function printJsx(path, options2, print3) { + const { node } = path; + if (!node.type.startsWith("JSX")) { + return; + } + switch (node.type) { + case "JSXAttribute": + return printJsxAttribute(path, options2, print3); + case "JSXIdentifier": + return node.name; + case "JSXNamespacedName": + return join(":", [print3("namespace"), print3("name")]); + case "JSXMemberExpression": + return join(".", [print3("object"), print3("property")]); + case "JSXSpreadAttribute": + case "JSXSpreadChild": + return printJsxSpreadAttributeOrChild(path, options2, print3); + case "JSXExpressionContainer": + return printJsxExpressionContainer(path, options2, print3); + case "JSXFragment": + case "JSXElement": + return printJsxElement(path, options2, print3); + case "JSXOpeningElement": + return printJsxOpeningElement(path, options2, print3); + case "JSXClosingElement": + return printJsxClosingElement(path, options2, print3); + case "JSXOpeningFragment": + case "JSXClosingFragment": + return printJsxOpeningClosingFragment( + path, + options2 + /* , print*/ + ); + case "JSXEmptyExpression": + return printJsxEmptyExpression( + path, + options2 + /* , print*/ + ); + case "JSXText": + throw new Error("JSXText should be handled by JSXElement"); + default: + throw new unexpected_node_error_default(node, "JSX"); + } +} +function isEmptyJsxElement(node) { + if (node.children.length === 0) { + return true; + } + if (node.children.length > 1) { + return false; + } + const child = node.children[0]; + return child.type === "JSXText" && !isMeaningfulJsxText(child); +} +function isMeaningfulJsxText(node) { + return node.type === "JSXText" && (jsxWhitespaceUtils.hasNonWhitespaceCharacter(get_raw_default(node)) || !/\n/u.test(get_raw_default(node))); +} +function isJsxWhitespaceExpression(node) { + return node.type === "JSXExpressionContainer" && isStringLiteral(node.expression) && node.expression.value === " " && !hasComment(node.expression); +} +function hasJsxIgnoreComment(path) { + const { node, parent } = path; + if (!isJsxElement(node) || !isJsxElement(parent)) { + return false; + } + const { index, siblings } = path; + let prevSibling; + for (let i = index; i > 0; i--) { + const candidate = siblings[i - 1]; + if (candidate.type === "JSXText" && !isMeaningfulJsxText(candidate)) { + continue; + } + prevSibling = candidate; + break; + } + return prevSibling?.type === "JSXExpressionContainer" && prevSibling.expression.type === "JSXEmptyExpression" && hasNodeIgnoreComment(prevSibling.expression); +} + +// src/language-js/utils/is-ignored.js +function isIgnored(path) { + return hasNodeIgnoreComment(path.node) || hasJsxIgnoreComment(path); +} +var is_ignored_default = isIgnored; + +// src/language-js/print/binaryish.js +var uid = 0; +function printBinaryishExpression(path, options2, print3) { + const { node, parent, grandparent, key } = path; + const isInsideParenthesis = key !== "body" && (parent.type === "IfStatement" || parent.type === "WhileStatement" || parent.type === "SwitchStatement" || parent.type === "DoWhileStatement"); + const isHackPipeline = node.operator === "|>" && path.root.extra?.__isUsingHackPipeline; + const parts = printBinaryishExpressions( + path, + options2, + print3, + /* isNested */ + false, + isInsideParenthesis + ); + if (isInsideParenthesis) { + return parts; + } + if (isHackPipeline) { + return group(parts); + } + if (isCallExpression(parent) && parent.callee === node || parent.type === "UnaryExpression" || isMemberExpression(parent) && !parent.computed) { + return group([indent([softline, ...parts]), softline]); + } + const shouldNotIndent = parent.type === "ReturnStatement" || parent.type === "ThrowStatement" || parent.type === "JSXExpressionContainer" && grandparent.type === "JSXAttribute" || node.operator !== "|" && parent.type === "JsExpressionRoot" || node.type !== "NGPipeExpression" && (parent.type === "NGRoot" && options2.parser === "__ng_binding" || parent.type === "NGMicrosyntaxExpression" && grandparent.type === "NGMicrosyntax" && grandparent.body.length === 1) || node === parent.body && parent.type === "ArrowFunctionExpression" || node !== parent.body && parent.type === "ForStatement" || parent.type === "ConditionalExpression" && grandparent.type !== "ReturnStatement" && grandparent.type !== "ThrowStatement" && !isCallExpression(grandparent) || parent.type === "TemplateLiteral"; + const shouldIndentIfInlining = parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || parent.type === "ClassProperty" || parent.type === "PropertyDefinition" || parent.type === "TSAbstractPropertyDefinition" || parent.type === "ClassPrivateProperty" || isObjectProperty(parent); + const samePrecedenceSubExpression = isBinaryish(node.left) && shouldFlatten(node.operator, node.left.operator); + if (shouldNotIndent || shouldInlineLogicalExpression(node) && !samePrecedenceSubExpression || !shouldInlineLogicalExpression(node) && shouldIndentIfInlining) { + return group(parts); + } + if (parts.length === 0) { + return ""; + } + const hasJsx = isJsxElement(node.right); + const firstGroupIndex = parts.findIndex( + (part) => typeof part !== "string" && !Array.isArray(part) && part.type === DOC_TYPE_GROUP + ); + const headParts = parts.slice( + 0, + firstGroupIndex === -1 ? 1 : firstGroupIndex + 1 + ); + const rest = parts.slice(headParts.length, hasJsx ? -1 : void 0); + const groupId = Symbol("logicalChain-" + ++uid); + const chain = group( + [ + // Don't include the initial expression in the indentation + // level. The first item is guaranteed to be the first + // left-most expression. + ...headParts, + indent(rest) + ], + { id: groupId } + ); + if (!hasJsx) { + return chain; + } + const jsxPart = at_default( + /* isOptionalObject */ + false, + parts, + -1 + ); + return group([chain, indentIfBreak(jsxPart, { groupId })]); +} +function printBinaryishExpressions(path, options2, print3, isNested, isInsideParenthesis) { + const { node } = path; + if (!isBinaryish(node)) { + return [group(print3())]; + } + let parts = []; + if (shouldFlatten(node.operator, node.left.operator)) { + parts = path.call( + (left) => printBinaryishExpressions( + left, + options2, + print3, + /* isNested */ + true, + isInsideParenthesis + ), + "left" + ); + } else { + parts.push(group(print3("left"))); + } + const shouldInline = shouldInlineLogicalExpression(node); + const rightNodeToCheckComments = node.right.type === "ChainExpression" ? node.right.expression : node.right; + const lineBeforeOperator = (node.operator === "|>" || node.type === "NGPipeExpression" || isVueFilterSequenceExpression(path, options2)) && !hasLeadingOwnLineComment(options2.originalText, rightNodeToCheckComments); + const hasTypeCastComment = hasComment( + rightNodeToCheckComments, + CommentCheckFlags.Leading, + is_type_cast_comment_default + ); + const commentBeforeOperator = !hasTypeCastComment && hasLeadingOwnLineComment(options2.originalText, rightNodeToCheckComments); + const operator = node.type === "NGPipeExpression" ? "|" : node.operator; + const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length > 0 ? group( + indent([ + softline, + ": ", + join( + [line, ": "], + path.map(() => align(2, group(print3())), "arguments") + ) + ]) + ) : ""; + let right; + if (shouldInline) { + right = [ + operator, + hasLeadingOwnLineComment(options2.originalText, rightNodeToCheckComments) ? indent([line, print3("right"), rightSuffix]) : [" ", print3("right"), rightSuffix] + ]; + } else { + const isHackPipeline = operator === "|>" && path.root.extra?.__isUsingHackPipeline; + const rightContent = isHackPipeline ? path.call( + (left) => printBinaryishExpressions( + left, + options2, + print3, + /* isNested */ + true, + isInsideParenthesis + ), + "right" + ) : print3("right"); + if (options2.experimentalOperatorPosition === "start") { + let comment = ""; + if (commentBeforeOperator) { + switch (get_doc_type_default(rightContent)) { + case DOC_TYPE_ARRAY: + comment = rightContent.splice(0, 1)[0]; + break; + case DOC_TYPE_LABEL: + comment = rightContent.contents.splice(0, 1)[0]; + break; + } + } + right = [line, comment, operator, " ", rightContent, rightSuffix]; + } else { + right = [ + lineBeforeOperator ? line : "", + operator, + lineBeforeOperator ? " " : line, + rightContent, + rightSuffix + ]; + } + } + const { parent } = path; + const shouldBreak = hasComment( + node.left, + CommentCheckFlags.Trailing | CommentCheckFlags.Line + ); + const shouldGroup = shouldBreak || !(isInsideParenthesis && node.type === "LogicalExpression") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type; + if (shouldGroup) { + right = group(right, { shouldBreak }); + } + if (options2.experimentalOperatorPosition === "start") { + parts.push(shouldInline || commentBeforeOperator ? " " : "", right); + } else { + parts.push(lineBeforeOperator ? "" : " ", right); + } + if (isNested && hasComment(node)) { + const printed = cleanDoc(printComments(path, parts, options2)); + if (printed.type === DOC_TYPE_FILL) { + return printed.parts; + } + return Array.isArray(printed) ? printed : [printed]; + } + return parts; +} +function shouldInlineLogicalExpression(node) { + if (node.type !== "LogicalExpression") { + return false; + } + if (isObjectExpression(node.right) && node.right.properties.length > 0) { + return true; + } + if (isArrayExpression(node.right) && node.right.elements.length > 0) { + return true; + } + if (isJsxElement(node.right)) { + return true; + } + return false; +} +var isBitwiseOrExpression = (node) => node.type === "BinaryExpression" && node.operator === "|"; +function isVueFilterSequenceExpression(path, options2) { + return (options2.parser === "__vue_expression" || options2.parser === "__vue_ts_expression") && isBitwiseOrExpression(path.node) && !path.hasAncestor( + (node) => !isBitwiseOrExpression(node) && node.type !== "JsExpressionRoot" + ); +} + +// src/language-js/print/angular.js +function printAngular(path, options2, print3) { + const { node } = path; + if (!node.type.startsWith("NG")) { + return; + } + switch (node.type) { + case "NGRoot": + return print3("node"); + case "NGPipeExpression": + return printBinaryishExpression(path, options2, print3); + case "NGChainedExpression": + return group( + join( + [";", line], + path.map( + () => hasNgSideEffect(path) ? print3() : ["(", print3(), ")"], + "expressions" + ) + ) + ); + case "NGEmptyExpression": + return ""; + case "NGMicrosyntax": + return path.map( + () => [ + path.isFirst ? "" : isNgForOf(path) ? " " : [";", line], + print3() + ], + "body" + ); + case "NGMicrosyntaxKey": + return /^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/iu.test(node.name) ? node.name : JSON.stringify(node.name); + case "NGMicrosyntaxExpression": + return [ + print3("expression"), + node.alias === null ? "" : [" as ", print3("alias")] + ]; + case "NGMicrosyntaxKeyedExpression": { + const { index, parent } = path; + const shouldNotPrintColon = isNgForOf(path) || isNgForOfTrack(path) || (index === 1 && (node.key.name === "then" || node.key.name === "else" || node.key.name === "as") || index === 2 && (node.key.name === "else" && parent.body[index - 1].type === "NGMicrosyntaxKeyedExpression" && parent.body[index - 1].key.name === "then" || node.key.name === "track")) && parent.body[0].type === "NGMicrosyntaxExpression"; + return [ + print3("key"), + shouldNotPrintColon ? " " : ": ", + print3("expression") + ]; + } + case "NGMicrosyntaxLet": + return [ + "let ", + print3("key"), + node.value === null ? "" : [" = ", print3("value")] + ]; + case "NGMicrosyntaxAs": + return [print3("key"), " as ", print3("alias")]; + default: + throw new unexpected_node_error_default(node, "Angular"); + } +} +function isNgForOf({ node, index }) { + return node.type === "NGMicrosyntaxKeyedExpression" && node.key.name === "of" && index === 1; +} +function isNgForOfTrack(path) { + const { node } = path; + return path.parent.body[1].key.name === "of" && node.type === "NGMicrosyntaxKeyedExpression" && node.key.name === "track" && node.key.type === "NGMicrosyntaxKey"; +} +var hasSideEffect = create_type_check_function_default([ + "CallExpression", + "OptionalCallExpression", + "AssignmentExpression" +]); +function hasNgSideEffect({ node }) { + return hasNode(node, hasSideEffect); +} + +// src/language-js/print/decorators.js +function printClassMemberDecorators(path, options2, print3) { + const { node } = path; + return group([ + join(line, path.map(print3, "decorators")), + hasNewlineBetweenOrAfterDecorators(node, options2) ? hardline : line + ]); +} +function printDecoratorsBeforeExport(path, options2, print3) { + if (!hasDecoratorsBeforeExport(path.node)) { + return ""; + } + return [ + join(hardline, path.map(print3, "declaration", "decorators")), + hardline + ]; +} +function printDecorators(path, options2, print3) { + const { node, parent } = path; + const { decorators } = node; + if (!is_non_empty_array_default(decorators) || // If the parent node is an export declaration and the decorator + // was written before the export, the export will be responsible + // for printing the decorators. + hasDecoratorsBeforeExport(parent) || // Decorators already printed in ignored node + is_ignored_default(path)) { + return ""; + } + const shouldBreak = node.type === "ClassExpression" || node.type === "ClassDeclaration" || hasNewlineBetweenOrAfterDecorators(node, options2); + return [ + path.key === "declaration" && isExportDeclaration(parent) ? hardline : shouldBreak ? breakParent : "", + join(line, path.map(print3, "decorators")), + line + ]; +} +function hasNewlineBetweenOrAfterDecorators(node, options2) { + return node.decorators.some( + (decorator) => has_newline_default(options2.originalText, locEnd(decorator)) + ); +} +function hasDecoratorsBeforeExport(node) { + if (node.type !== "ExportDefaultDeclaration" && node.type !== "ExportNamedDeclaration" && node.type !== "DeclareExportDeclaration") { + return false; + } + const decorators = node.declaration?.decorators; + return is_non_empty_array_default(decorators) && hasSameLocStart(node, decorators[0]); +} + +// src/common/errors.js +var ArgExpansionBailout = class extends Error { + name = "ArgExpansionBailout"; +}; + +// src/language-js/print/call-arguments.js +function printCallArguments(path, options2, print3) { + const { node } = path; + const args = getCallArguments(node); + if (args.length === 0) { + return ["(", printDanglingComments(path, options2), ")"]; + } + const lastArgIndex = args.length - 1; + let anyArgEmptyLine = false; + const printedArguments = []; + iterateCallArgumentsPath(path, ({ node: arg }, index) => { + let argDoc = print3(); + if (index === lastArgIndex) { + } else if (isNextLineEmpty2(arg, options2)) { + anyArgEmptyLine = true; + argDoc = [argDoc, ",", hardline, hardline]; + } else { + argDoc = [argDoc, ",", line]; + } + printedArguments.push(argDoc); + }); + const maybeTrailingComma = ( + // Angular does not allow trailing comma + !options2.parser.startsWith("__ng_") && // Dynamic imports cannot have trailing commas + node.type !== "ImportExpression" && node.type !== "TSImportType" && shouldPrintComma(options2, "all") ? "," : "" + ); + function allArgsBrokenOut() { + return group( + ["(", indent([line, ...printedArguments]), maybeTrailingComma, line, ")"], + { shouldBreak: true } + ); + } + if (shouldExpandFirstArg(args)) { + const tailArgs = printedArguments.slice(1); + if (tailArgs.some(willBreak)) { + return allArgsBrokenOut(); + } + let firstArg; + try { + firstArg = print3(getCallArgumentSelector(node, 0), { + expandFirstArg: true + }); + } catch (caught) { + if (caught instanceof ArgExpansionBailout) { + return allArgsBrokenOut(); + } + throw caught; + } + if (willBreak(firstArg)) { + return [ + breakParent, + conditionalGroup([ + ["(", group(firstArg, { shouldBreak: true }), ", ", ...tailArgs, ")"], + allArgsBrokenOut() + ]) + ]; + } + return conditionalGroup([ + ["(", firstArg, ", ", ...tailArgs, ")"], + ["(", group(firstArg, { shouldBreak: true }), ", ", ...tailArgs, ")"], + allArgsBrokenOut() + ]); + } + if (shouldExpandLastArg(args, printedArguments, options2)) { + const headArgs = printedArguments.slice(0, -1); + if (headArgs.some(willBreak)) { + return allArgsBrokenOut(); + } + let lastArg; + try { + lastArg = print3(getCallArgumentSelector(node, -1), { + expandLastArg: true + }); + } catch (caught) { + if (caught instanceof ArgExpansionBailout) { + return allArgsBrokenOut(); + } + throw caught; + } + if (willBreak(lastArg)) { + return [ + breakParent, + conditionalGroup([ + ["(", ...headArgs, group(lastArg, { shouldBreak: true }), ")"], + allArgsBrokenOut() + ]) + ]; + } + return conditionalGroup([ + ["(", ...headArgs, lastArg, ")"], + ["(", ...headArgs, group(lastArg, { shouldBreak: true }), ")"], + allArgsBrokenOut() + ]); + } + const contents = [ + "(", + indent([softline, ...printedArguments]), + ifBreak(maybeTrailingComma), + softline, + ")" + ]; + if (isLongCurriedCallExpression(path)) { + return contents; + } + return group(contents, { + shouldBreak: printedArguments.some(willBreak) || anyArgEmptyLine + }); +} +function couldExpandArg(arg, arrowChainRecursion = false) { + return isObjectExpression(arg) && (arg.properties.length > 0 || hasComment(arg)) || isArrayExpression(arg) && (arg.elements.length > 0 || hasComment(arg)) || arg.type === "TSTypeAssertion" && couldExpandArg(arg.expression) || isBinaryCastExpression(arg) && couldExpandArg(arg.expression) || arg.type === "FunctionExpression" || arg.type === "ArrowFunctionExpression" && // we want to avoid breaking inside composite return types but not simple keywords + // https://github.com/prettier/prettier/issues/4070 + // export class Thing implements OtherThing { + // do: (type: Type) => Provider = memoize( + // (type: ObjectType): Provider => {} + // ); + // } + // https://github.com/prettier/prettier/issues/6099 + // app.get("/", (req, res): void => { + // res.send("Hello World!"); + // }); + (!arg.returnType || !arg.returnType.typeAnnotation || arg.returnType.typeAnnotation.type !== "TSTypeReference" || // https://github.com/prettier/prettier/issues/7542 + isNonEmptyBlockStatement(arg.body)) && (arg.body.type === "BlockStatement" || arg.body.type === "ArrowFunctionExpression" && couldExpandArg(arg.body, true) || isObjectExpression(arg.body) || isArrayExpression(arg.body) || !arrowChainRecursion && (isCallExpression(arg.body) || arg.body.type === "ConditionalExpression") || isJsxElement(arg.body)) || arg.type === "DoExpression" || arg.type === "ModuleExpression"; +} +function shouldExpandLastArg(args, argDocs, options2) { + const lastArg = at_default( + /* isOptionalObject */ + false, + args, + -1 + ); + if (args.length === 1) { + const lastArgDoc = at_default( + /* isOptionalObject */ + false, + argDocs, + -1 + ); + if (lastArgDoc.label?.embed && lastArgDoc.label?.hug !== false) { + return true; + } + } + const penultimateArg = at_default( + /* isOptionalObject */ + false, + args, + -2 + ); + return !hasComment(lastArg, CommentCheckFlags.Leading) && !hasComment(lastArg, CommentCheckFlags.Trailing) && couldExpandArg(lastArg) && // If the last two arguments are of the same type, + // disable last element expansion. + !penultimateArg && // useMemo(() => func(), [foo, bar, baz]) + (args.length !== 2 || penultimateArg.type !== "ArrowFunctionExpression" || !isArrayExpression(lastArg)) && !(args.length > 1 && isConciselyPrintedArray(lastArg, options2)); +} +function shouldExpandFirstArg(args) { + return false; + if (args.length !== 2) { + return false; + } + const [firstArg, secondArg] = args; + if (firstArg.type === "ModuleExpression" && isTypeModuleObjectExpression(secondArg)) { + return true; + } + return !hasComment(firstArg) && (firstArg.type === "FunctionExpression" || firstArg.type === "ArrowFunctionExpression" && firstArg.body.type === "BlockStatement") && secondArg.type !== "FunctionExpression" && secondArg.type !== "ArrowFunctionExpression" && secondArg.type !== "ConditionalExpression" && isHopefullyShortCallArgument(secondArg) && !couldExpandArg(secondArg); +} +function isHopefullyShortCallArgument(node) { + if (node.type === "ParenthesizedExpression") { + return isHopefullyShortCallArgument(node.expression); + } + if (isBinaryCastExpression(node) || node.type === "TypeCastExpression") { + let { typeAnnotation } = node; + if (typeAnnotation.type === "TypeAnnotation") { + typeAnnotation = typeAnnotation.typeAnnotation; + } + if (typeAnnotation.type === "TSArrayType") { + typeAnnotation = typeAnnotation.elementType; + if (typeAnnotation.type === "TSArrayType") { + typeAnnotation = typeAnnotation.elementType; + } + } + if (typeAnnotation.type === "GenericTypeAnnotation" || typeAnnotation.type === "TSTypeReference") { + const typeArguments = typeAnnotation.typeArguments ?? typeAnnotation.typeParameters; + if (typeArguments?.params.length === 1) { + typeAnnotation = typeArguments.params[0]; + } + } + return isSimpleType(typeAnnotation) && isSimpleCallArgument(node.expression, 1); + } + if (isCallLikeExpression(node) && getCallArguments(node).length > 1) { + return false; + } + if (isBinaryish(node)) { + return isSimpleCallArgument(node.left, 1) && isSimpleCallArgument(node.right, 1); + } + return isRegExpLiteral(node) || isSimpleCallArgument(node); +} +function isNonEmptyBlockStatement(node) { + return node.type === "BlockStatement" && (node.body.some((node2) => node2.type !== "EmptyStatement") || hasComment(node, CommentCheckFlags.Dangling)); +} +function isTypeModuleObjectExpression(node) { + if (!(node.type === "ObjectExpression" && node.properties.length === 1)) { + return false; + } + const [property] = node.properties; + if (!isObjectProperty(property)) { + return false; + } + return !property.computed && (property.key.type === "Identifier" && property.key.name === "type" || isStringLiteral(property.key) && property.key.value === "type") && isStringLiteral(property.value) && property.value.value === "module"; +} +var call_arguments_default = printCallArguments; + +// src/language-js/print/member.js +var isCallExpressionWithArguments = (node) => { + if (node.type === "ChainExpression" || node.type === "TSNonNullExpression") { + node = node.expression; + } + return isCallExpression(node) && getCallArguments(node).length > 0; +}; +function printMemberExpression(path, options2, print3) { + const objectDoc = print3("object"); + const lookupDoc = printMemberLookup(path, options2, print3); + const { node } = path; + const firstNonMemberParent = path.findAncestor( + (node2) => !(isMemberExpression(node2) || node2.type === "TSNonNullExpression") + ); + const firstNonChainElementWrapperParent = path.findAncestor( + (node2) => !(node2.type === "ChainExpression" || node2.type === "TSNonNullExpression") + ); + const shouldInline = firstNonMemberParent && (firstNonMemberParent.type === "NewExpression" || firstNonMemberParent.type === "BindExpression" || firstNonMemberParent.type === "AssignmentExpression" && firstNonMemberParent.left.type !== "Identifier") || node.computed || node.object.type === "Identifier" && node.property.type === "Identifier" && !isMemberExpression(firstNonChainElementWrapperParent) || (firstNonChainElementWrapperParent.type === "AssignmentExpression" || firstNonChainElementWrapperParent.type === "VariableDeclarator") && (isCallExpressionWithArguments(node.object) || objectDoc.label?.memberChain); + return label(objectDoc.label, [ + objectDoc, + shouldInline ? lookupDoc : group(indent([softline, lookupDoc])) + ]); +} +function printMemberLookup(path, options2, print3) { + const property = print3("property"); + const { node } = path; + const optional = printOptionalToken(path); + if (!node.computed) { + return [optional, ".", property]; + } + if (!node.property || isNumericLiteral(node.property)) { + return [optional, "[", property, "]"]; + } + return group([optional, "[", indent([softline, property]), softline, "]"]); +} + +// src/language-js/print/member-chain.js +function printMemberChain(path, options2, print3) { + if (path.node.type === "ChainExpression") { + return path.call( + () => printMemberChain(path, options2, print3), + "expression" + ); + } + const isExpressionStatement = (path.parent.type === "ChainExpression" ? path.grandparent : path.parent).type === "ExpressionStatement"; + const printedNodes = []; + function shouldInsertEmptyLineAfter(node2) { + const { originalText } = options2; + const nextCharIndex = get_next_non_space_non_comment_character_index_default( + originalText, + locEnd(node2) + ); + const nextChar = originalText.charAt(nextCharIndex); + if (nextChar === ")") { + return nextCharIndex !== false && is_next_line_empty_default(originalText, nextCharIndex + 1); + } + return isNextLineEmpty2(node2, options2); + } + function rec() { + const { node: node2 } = path; + if (node2.type === "ChainExpression") { + return path.call(rec, "expression"); + } + if (isCallExpression(node2) && (isMemberish(node2.callee) || isCallExpression(node2.callee))) { + const hasTrailingEmptyLine = shouldInsertEmptyLineAfter(node2); + printedNodes.unshift({ + node: node2, + hasTrailingEmptyLine, + printed: [ + printComments( + path, + [ + printOptionalToken(path), + printFunctionTypeParameters(path, options2, print3), + call_arguments_default(path, options2, print3) + ], + options2 + ), + hasTrailingEmptyLine ? hardline : "" + ] + }); + path.call(rec, "callee"); + } else if (isMemberish(node2)) { + printedNodes.unshift({ + node: node2, + needsParens: needs_parens_default(path, options2), + printed: printComments( + path, + isMemberExpression(node2) ? printMemberLookup(path, options2, print3) : printBindExpressionCallee(path, options2, print3), + options2 + ) + }); + path.call(rec, "object"); + } else if (node2.type === "TSNonNullExpression") { + printedNodes.unshift({ + node: node2, + printed: printComments(path, "!", options2) + }); + path.call(rec, "expression"); + } else { + printedNodes.unshift({ + node: node2, + printed: print3() + }); + } + } + const { node } = path; + printedNodes.unshift({ + node, + printed: [ + printOptionalToken(path), + printFunctionTypeParameters(path, options2, print3), + call_arguments_default(path, options2, print3) + ] + }); + if (node.callee) { + path.call(rec, "callee"); + } + const groups = []; + let currentGroup = [printedNodes[0]]; + let i = 1; + for (; i < printedNodes.length; ++i) { + if (printedNodes[i].node.type === "TSNonNullExpression" || isCallExpression(printedNodes[i].node) || isMemberExpression(printedNodes[i].node) && printedNodes[i].node.computed && isNumericLiteral(printedNodes[i].node.property)) { + currentGroup.push(printedNodes[i]); + } else { + break; + } + } + if (!isCallExpression(printedNodes[0].node)) { + for (; i + 1 < printedNodes.length; ++i) { + if (isMemberish(printedNodes[i].node) && isMemberish(printedNodes[i + 1].node)) { + currentGroup.push(printedNodes[i]); + } else { + break; + } + } + } + groups.push(currentGroup); + currentGroup = []; + let hasSeenCallExpression = false; + for (; i < printedNodes.length; ++i) { + if (hasSeenCallExpression && isMemberish(printedNodes[i].node)) { + if (printedNodes[i].node.computed && isNumericLiteral(printedNodes[i].node.property)) { + currentGroup.push(printedNodes[i]); + continue; + } + groups.push(currentGroup); + currentGroup = []; + hasSeenCallExpression = false; + } + if (isCallExpression(printedNodes[i].node) || printedNodes[i].node.type === "ImportExpression") { + hasSeenCallExpression = true; + } + currentGroup.push(printedNodes[i]); + if (hasComment(printedNodes[i].node, CommentCheckFlags.Trailing)) { + groups.push(currentGroup); + currentGroup = []; + hasSeenCallExpression = false; + } + } + if (currentGroup.length > 0) { + groups.push(currentGroup); + } + function isFactory(name) { + return false; + return /^[A-Z]|^[$_]+$/u.test(name); + } + function isShort(name) { + return name.length <= options2.tabWidth; + } + function shouldNotWrap(groups2) { + const hasComputed = groups2[1][0]?.node.computed; + if (groups2[0].length === 1) { + const firstNode = groups2[0][0].node; + return firstNode.type === "ThisExpression" || firstNode.type === "Identifier" && (groups2.length === 2 || isExpressionStatement && isShort(firstNode.name) || hasComputed); + } + const lastNode = at_default( + /* isOptionalObject */ + false, + groups2[0], + -1 + ).node; + return isMemberExpression(lastNode) && lastNode.property.type === "Identifier" && (isFactory(lastNode.property.name) || hasComputed); + } + const shouldMerge = groups.length >= 2 && !hasComment(groups[1][0].node) && shouldNotWrap(groups); + function printGroup(printedGroup) { + const printed = printedGroup.map((tuple) => tuple.printed); + if (printedGroup.length > 0 && at_default( + /* isOptionalObject */ + false, + printedGroup, + -1 + ).needsParens) { + return ["(", ...printed, ")"]; + } + return printed; + } + function printIndentedGroup(groups2) { + if (groups2.length === 0) { + return ""; + } + return indent([hardline, join(hardline, groups2.map(printGroup))]); + } + const printedGroups = groups.map(printGroup); + const oneLine = printedGroups; + const cutoff = shouldMerge ? 3 : 1; + const flatGroups = groups.flat(); + const nodeHasComment = flatGroups.slice(1, -1).some((node2) => hasComment(node2.node, CommentCheckFlags.Leading)) || flatGroups.slice(0, -1).some((node2) => hasComment(node2.node, CommentCheckFlags.Trailing)) || groups[cutoff] && hasComment(groups[cutoff][0].node, CommentCheckFlags.Leading); + if (groups.length <= cutoff && !nodeHasComment && !groups.some((g) => at_default( + /* isOptionalObject */ + false, + g, + -1 + ).hasTrailingEmptyLine)) { + if (isLongCurriedCallExpression(path)) { + return oneLine; + } + return group(oneLine); + } + const lastNodeBeforeIndent = at_default( + /* isOptionalObject */ + false, + groups[shouldMerge ? 1 : 0], + -1 + ).node; + const shouldHaveEmptyLineBeforeIndent = !isCallExpression(lastNodeBeforeIndent) && shouldInsertEmptyLineAfter(lastNodeBeforeIndent); + const expanded = [ + printGroup(groups[0]), + shouldMerge ? groups.slice(1, 2).map(printGroup) : "", + shouldHaveEmptyLineBeforeIndent ? hardline : "", + printIndentedGroup(groups.slice(shouldMerge ? 2 : 1)) + ]; + const callExpressions = printedNodes.map(({ node: node2 }) => node2).filter(isCallExpression); + function lastGroupWillBreakAndOtherCallsHaveFunctionArguments() { + const lastGroupNode = at_default( + /* isOptionalObject */ + false, + at_default( + /* isOptionalObject */ + false, + groups, + -1 + ), + -1 + ).node; + const lastGroupDoc = at_default( + /* isOptionalObject */ + false, + printedGroups, + -1 + ); + return isCallExpression(lastGroupNode) && willBreak(lastGroupDoc) && callExpressions.slice(0, -1).some((node2) => node2.arguments.some(isFunctionOrArrowExpression)); + } + let result; + if (nodeHasComment || /*(callExpressions.length > 2 && + callExpressions.some( + (expr) => !expr.arguments.every((arg) => isSimpleCallArgument(arg)), + )) ||*/ + printedGroups.slice(0, -1).some(willBreak) || lastGroupWillBreakAndOtherCallsHaveFunctionArguments()) { + result = group(expanded); + } else { + result = [ + // We only need to check `oneLine` because if `expanded` is chosen + // that means that the parent group has already been broken + // naturally + willBreak(oneLine) || shouldHaveEmptyLineBeforeIndent ? breakParent : "", + conditionalGroup([oneLine, expanded]) + ]; + } + return label({ memberChain: true }, result); +} +var member_chain_default = printMemberChain; + +// src/language-js/print/call-expression.js +function printCallExpression(path, options2, print3) { + const { node } = path; + const isNewExpression = node.type === "NewExpression"; + const optional = printOptionalToken(path); + const args = getCallArguments(node); + const isTemplateLiteralSingleArg = args.length === 1 && isTemplateOnItsOwnLine(args[0], options2.originalText); + if (isTemplateLiteralSingleArg || // Don't break simple `import()` with long module name + isSimpleModuleImport(path) || // Dangling comments are not handled, all these special cases should have arguments #9668 + // We want to keep CommonJS- and AMD-style require calls, and AMD-style + // define calls, as a unit. + // e.g. `define(["some/lib"], (lib) => {` + isCommonsJsOrAmdModuleDefinition(path) || // Keep test declarations on a single line + // e.g. `it('long name', () => {` + isTestCall(node, path.parent)) { + const printed = []; + iterateCallArgumentsPath(path, () => { + printed.push(print3()); + }); + if (!(isTemplateLiteralSingleArg && printed[0].label?.embed)) { + return [ + isNewExpression ? "new " : "", + printCallee(path, print3), + optional, + printFunctionTypeParameters(path, options2, print3), + "(", + join(", ", printed), + ")" + ]; + } + } + const isDynamicImport = node.type === "ImportExpression" || node.type === "TSImportType"; + if (!isDynamicImport && !isNewExpression && isMemberish(node.callee) && !path.call( + (path2) => needs_parens_default(path2, options2), + "callee", + ...node.callee.type === "ChainExpression" ? ["expression"] : [] + )) { + return member_chain_default(path, options2, print3); + } + const contents = [ + isNewExpression ? "new " : "", + printCallee(path, print3), + optional, + printFunctionTypeParameters(path, options2, print3), + isNewExpression && args.length === 0 && path.parent.type !== "MemberExpression" ? "" : call_arguments_default(path, options2, print3) + ]; + if (isDynamicImport || isCallExpression(node.callee)) { + return group(contents); + } + return contents; +} +function printCallee(path, print3) { + const { node } = path; + if (node.type === "ImportExpression" || node.type === "TSImportType") { + return `import${node.phase ? `.${node.phase}` : ""}`; + } + return print3("callee"); +} +var moduleImportCallees = [ + "require", + "require.resolve", + "require.resolve.paths", + "import.meta.resolve" +]; +function isSimpleModuleImport(path) { + const { node } = path; + if (!// `import("foo")` + (node.type === "ImportExpression" || // `type foo = import("foo")` + node.type === "TSImportType" || // `require("foo")` + // `require.resolve("foo")` + // `require.resolve.paths("foo")` + // `import.meta.resolve("foo")` + node.type === "CallExpression" && !node.optional && is_node_matches_default(node.callee, moduleImportCallees))) { + return false; + } + const args = getCallArguments(node); + if (args.length !== 1 || hasComment(args[0])) { + return false; + } + let source = args[0]; + if (node.type === "TSImportType" && source.type === "TSLiteralType") { + source = source.literal; + } + return isStringLiteral(source); +} +function isCommonsJsOrAmdModuleDefinition(path) { + const { node } = path; + if (node.type !== "CallExpression" || node.optional) { + return false; + } + if (node.callee.type !== "Identifier") { + return false; + } + const args = getCallArguments(node); + if (node.callee.name === "require") { + return args.length === 1 && isStringLiteral(args[0]) || args.length > 1; + } + if (node.callee.name === "define" && path.parent.type === "ExpressionStatement") { + return args.length === 1 || args.length === 2 && args[0].type === "ArrayExpression" || args.length === 3 && isStringLiteral(args[0]) && args[1].type === "ArrayExpression"; + } + return false; +} + +// src/language-js/print/assignment.js +function printAssignment(path, options2, print3, leftDoc, operator, rightPropertyName) { + const layout = chooseLayout(path, options2, print3, leftDoc, rightPropertyName); + const rightDoc = rightPropertyName ? print3(rightPropertyName, { assignmentLayout: layout }) : ""; + switch (layout) { + // First break after operator, then the sides are broken independently on their own lines + case "break-after-operator": + return group([group(leftDoc), operator, group(indent([line, rightDoc]))]); + // First break right-hand side, then left-hand side + case "never-break-after-operator": + return group([group(leftDoc), operator, " ", rightDoc]); + // First break right-hand side, then after operator + case "fluid": { + const groupId = Symbol("assignment"); + return group([ + group(leftDoc), + operator, + group(indent(line), { id: groupId }), + lineSuffixBoundary, + indentIfBreak(rightDoc, { groupId }) + ]); + } + case "break-lhs": + return group([leftDoc, operator, " ", group(rightDoc)]); + // Parts of assignment chains aren't wrapped in groups. + // Once one of them breaks, the chain breaks too. + case "chain": + return [group(leftDoc), operator, line, rightDoc]; + case "chain-tail": + return [group(leftDoc), operator, indent([line, rightDoc])]; + case "chain-tail-arrow-chain": + return [group(leftDoc), operator, rightDoc]; + case "only-left": + return leftDoc; + } +} +function printAssignmentExpression(path, options2, print3) { + const { node } = path; + return printAssignment( + path, + options2, + print3, + print3("left"), + [" ", node.operator], + "right" + ); +} +function printVariableDeclarator(path, options2, print3) { + return printAssignment(path, options2, print3, print3("id"), " =", "init"); +} +function chooseLayout(path, options2, print3, leftDoc, rightPropertyName) { + const { node } = path; + const rightNode = node[rightPropertyName]; + if (!rightNode) { + return "only-left"; + } + const isTail = !isAssignment(rightNode); + const shouldUseChainFormatting = path.match( + isAssignment, + isAssignmentOrVariableDeclarator, + (node2) => !isTail || node2.type !== "ExpressionStatement" && node2.type !== "VariableDeclaration" + ); + if (shouldUseChainFormatting) { + return !isTail ? "chain" : rightNode.type === "ArrowFunctionExpression" && rightNode.body.type === "ArrowFunctionExpression" ? "chain-tail-arrow-chain" : "chain-tail"; + } + const isHeadOfLongChain = !isTail && isAssignment(rightNode.right); + if (isHeadOfLongChain || hasLeadingOwnLineComment(options2.originalText, rightNode)) { + return "break-after-operator"; + } + if (node.type === "ImportAttribute" || rightNode.type === "CallExpression" && rightNode.callee.name === "require" || // do not put values on a separate line from the key in json + options2.parser === "json5" || options2.parser === "jsonc" || options2.parser === "json") { + return "never-break-after-operator"; + } + const canBreakLeftDoc = canBreak(leftDoc); + if (isComplexDestructuring(node) || hasComplexTypeAnnotation(node) || isArrowFunctionVariableDeclarator(node) && canBreakLeftDoc) { + return "break-lhs"; + } + const hasShortKey = isObjectPropertyWithShortKey(node, leftDoc, options2); + if (path.call( + () => shouldBreakAfterOperator(path, options2, print3, hasShortKey), + rightPropertyName + )) { + return "break-after-operator"; + } + if (isComplexTypeAliasParams(node)) { + return "break-lhs"; + } + if (!canBreakLeftDoc && (hasShortKey || rightNode.type === "TemplateLiteral" || rightNode.type === "TaggedTemplateExpression" || isBooleanLiteral(rightNode) || isNumericLiteral(rightNode) || rightNode.type === "ClassExpression")) { + return "never-break-after-operator"; + } + return "fluid"; +} +function shouldBreakAfterOperator(path, options2, print3, hasShortKey) { + const rightNode = path.node; + if (isBinaryish(rightNode) && !shouldInlineLogicalExpression(rightNode)) { + return true; + } + switch (rightNode.type) { + case "StringLiteralTypeAnnotation": + case "SequenceExpression": + return true; + case "TSConditionalType": + case "ConditionalTypeAnnotation": + if (!options2.experimentalTernaries && !shouldBreakBeforeConditionalType(rightNode)) { + break; + } + return true; + case "ConditionalExpression": { + if (!options2.experimentalTernaries) { + const { test } = rightNode; + return isBinaryish(test) && !shouldInlineLogicalExpression(test); + } + const { consequent, alternate } = rightNode; + return consequent.type === "ConditionalExpression" || alternate.type === "ConditionalExpression"; + } + case "ClassExpression": + return is_non_empty_array_default(rightNode.decorators); + } + if (hasShortKey) { + return false; + } + let node = rightNode; + const propertiesForPath = []; + while (true) { + if (node.type === "UnaryExpression" || node.type === "AwaitExpression" || node.type === "YieldExpression" && node.argument !== null) { + node = node.argument; + propertiesForPath.push("argument"); + } else if (node.type === "TSNonNullExpression") { + node = node.expression; + propertiesForPath.push("expression"); + } else { + break; + } + } + if (isStringLiteral(node) || path.call( + () => isPoorlyBreakableMemberOrCallChain(path, options2, print3), + ...propertiesForPath + )) { + return true; + } + return false; +} +function isComplexDestructuring(node) { + if (isAssignmentOrVariableDeclarator(node)) { + const leftNode = node.left || node.id; + return leftNode.type === "ObjectPattern" && leftNode.properties.length > 2 && leftNode.properties.some( + (property) => isObjectProperty(property) && (!property.shorthand || property.value?.type === "AssignmentPattern") + ); + } + return false; +} +function isAssignment(node) { + return node.type === "AssignmentExpression"; +} +function isAssignmentOrVariableDeclarator(node) { + return isAssignment(node) || node.type === "VariableDeclarator"; +} +function isComplexTypeAliasParams(node) { + const typeParams = getTypeParametersFromTypeAlias(node); + if (is_non_empty_array_default(typeParams)) { + const constraintPropertyName = node.type === "TSTypeAliasDeclaration" ? "constraint" : "bound"; + if (typeParams.length > 1 && typeParams.some((param) => param[constraintPropertyName] || param.default)) { + return true; + } + } + return false; +} +var isTypeAlias = create_type_check_function_default([ + "TSTypeAliasDeclaration", + "TypeAlias" +]); +function getTypeParametersFromTypeAlias(node) { + if (isTypeAlias(node)) { + return node.typeParameters?.params; + } +} +function hasComplexTypeAnnotation(node) { + if (node.type !== "VariableDeclarator") { + return false; + } + const { typeAnnotation } = node.id; + if (!typeAnnotation || !typeAnnotation.typeAnnotation) { + return false; + } + const typeParams = getTypeParametersFromTypeReference( + typeAnnotation.typeAnnotation + ); + return is_non_empty_array_default(typeParams) && typeParams.length > 1 && typeParams.some( + (param) => is_non_empty_array_default(getTypeParametersFromTypeReference(param)) || param.type === "TSConditionalType" + ); +} +function isArrowFunctionVariableDeclarator(node) { + return node.type === "VariableDeclarator" && node.init?.type === "ArrowFunctionExpression"; +} +var isTypeReference = create_type_check_function_default([ + "TSTypeReference", + "GenericTypeAnnotation" +]); +function getTypeParametersFromTypeReference(node) { + if (isTypeReference(node)) { + return (node.typeArguments ?? node.typeParameters)?.params; + } +} +function isPoorlyBreakableMemberOrCallChain(path, options2, print3, deep = false) { + const { node } = path; + const goDeeper = () => isPoorlyBreakableMemberOrCallChain(path, options2, print3, true); + if (node.type === "ChainExpression" || node.type === "TSNonNullExpression") { + return path.call(goDeeper, "expression"); + } + if (isCallExpression(node)) { + const doc = printCallExpression(path, options2, print3); + if (doc.label?.memberChain) { + return false; + } + const args = getCallArguments(node); + const isPoorlyBreakableCall = args.length === 0 || args.length === 1 && isLoneShortArgument(args[0], options2); + if (!isPoorlyBreakableCall) { + return false; + } + if (isCallExpressionWithComplexTypeArguments(node, print3)) { + return false; + } + return path.call(goDeeper, "callee"); + } + if (isMemberExpression(node)) { + return path.call(goDeeper, "object"); + } + return deep && (node.type === "Identifier" || node.type === "ThisExpression"); +} +function isObjectPropertyWithShortKey(node, keyDoc, options2) { + if (!isObjectProperty(node)) { + return false; + } + keyDoc = cleanDoc(keyDoc); + const MIN_OVERLAP_FOR_BREAK = 3; + return typeof keyDoc === "string" && get_string_width_default(keyDoc) < options2.tabWidth + MIN_OVERLAP_FOR_BREAK; +} +function isCallExpressionWithComplexTypeArguments(node, print3) { + const typeArgs = getTypeArgumentsFromCallExpression(node); + if (is_non_empty_array_default(typeArgs)) { + if (typeArgs.length > 1) { + return true; + } + if (typeArgs.length === 1) { + const firstArg = typeArgs[0]; + if (isUnionType(firstArg) || isIntersectionType(firstArg) || firstArg.type === "TSTypeLiteral" || firstArg.type === "ObjectTypeAnnotation") { + return true; + } + } + const typeArgsKeyName = node.typeParameters ? "typeParameters" : "typeArguments"; + if (willBreak(print3(typeArgsKeyName))) { + return true; + } + } + return false; +} +function getTypeArgumentsFromCallExpression(node) { + return (node.typeParameters ?? node.typeArguments)?.params; +} +function shouldBreakBeforeConditionalType(node) { + function isGeneric(subNode) { + switch (subNode.type) { + case "FunctionTypeAnnotation": + case "GenericTypeAnnotation": + case "TSFunctionType": + return Boolean(subNode.typeParameters); + case "TSTypeReference": + return Boolean( + // TODO: Use `typeArguments` only when babel align with TS. + subNode.typeArguments ?? subNode.typeParameters + ); + default: + return false; + } + } + return isGeneric(node.checkType) || isGeneric(node.extendsType); +} + +// src/language-js/print/function-parameters.js +function printFunctionParameters(path, options2, print3, expandArg, printTypeParams) { + const functionNode = path.node; + const parameters = getFunctionParameters(functionNode); + const typeParams = printTypeParams ? printFunctionTypeParameters(path, options2, print3) : ""; + if (parameters.length === 0) { + return [ + typeParams, + "(", + printDanglingComments(path, options2, { + filter: (comment) => get_next_non_space_non_comment_character_default( + options2.originalText, + locEnd(comment) + ) === ")" + }), + ")" + ]; + } + const { parent } = path; + const isParametersInTestCall = isTestCall(parent); + const shouldHugParameters = shouldHugTheOnlyFunctionParameter(functionNode); + const printed = []; + iterateFunctionParametersPath(path, (parameterPath, index) => { + const isLastParameter = index === parameters.length - 1; + if (isLastParameter && functionNode.rest) { + printed.push("..."); + } + printed.push(print3()); + if (isLastParameter) { + return; + } + printed.push(","); + if (isParametersInTestCall || shouldHugParameters) { + printed.push(" "); + } else if (isNextLineEmpty2(parameters[index], options2)) { + printed.push(hardline, hardline); + } else { + printed.push(line); + } + }); + if (expandArg && !isDecoratedFunction(path)) { + if (willBreak(typeParams) || willBreak(printed)) { + throw new ArgExpansionBailout(); + } + return group([removeLines(typeParams), "(", removeLines(printed), ")"]); + } + const hasNotParameterDecorator = parameters.every( + (node) => !is_non_empty_array_default(node.decorators) + ); + if (shouldHugParameters && hasNotParameterDecorator) { + return [typeParams, "(", ...printed, ")"]; + } + if (isParametersInTestCall) { + return [typeParams, "(", ...printed, ")"]; + } + const isFlowShorthandWithOneArg = (isFlowObjectTypePropertyAFunction(parent) || isTypeAnnotationAFunction(parent) || parent.type === "TypeAlias" || parent.type === "UnionTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "FunctionTypeAnnotation" && parent.returnType === functionNode) && parameters.length === 1 && parameters[0].name === null && // `type q = (this: string) => void;` + functionNode.this !== parameters[0] && parameters[0].typeAnnotation && functionNode.typeParameters === null && isSimpleType(parameters[0].typeAnnotation) && !functionNode.rest; + if (isFlowShorthandWithOneArg) { + if (options2.arrowParens === "always" || functionNode.type === "HookTypeAnnotation") { + return ["(", ...printed, ")"]; + } + return printed; + } + return [ + typeParams, + "(", + indent([softline, ...printed]), + ifBreak( + !hasRestParameter(functionNode) && shouldPrintComma(options2, "all") ? "," : "" + ), + softline, + ")" + ]; +} +function shouldHugTheOnlyFunctionParameter(node) { + if (!node) { + return false; + } + const parameters = getFunctionParameters(node); + if (parameters.length !== 1) { + return false; + } + const [parameter] = parameters; + return !hasComment(parameter) && (parameter.type === "ObjectPattern" || parameter.type === "ArrayPattern" || parameter.type === "Identifier" && parameter.typeAnnotation && (parameter.typeAnnotation.type === "TypeAnnotation" || parameter.typeAnnotation.type === "TSTypeAnnotation") && isObjectType(parameter.typeAnnotation.typeAnnotation) || parameter.type === "FunctionTypeParam" && isObjectType(parameter.typeAnnotation) && parameter !== node.rest || parameter.type === "AssignmentPattern" && (parameter.left.type === "ObjectPattern" || parameter.left.type === "ArrayPattern") && (parameter.right.type === "Identifier" || isObjectExpression(parameter.right) && parameter.right.properties.length === 0 || isArrayExpression(parameter.right) && parameter.right.elements.length === 0)); +} +function getReturnTypeNode(functionNode) { + let returnTypeNode; + if (functionNode.returnType) { + returnTypeNode = functionNode.returnType; + if (returnTypeNode.typeAnnotation) { + returnTypeNode = returnTypeNode.typeAnnotation; + } + } else if (functionNode.typeAnnotation) { + returnTypeNode = functionNode.typeAnnotation; + } + return returnTypeNode; +} +function shouldGroupFunctionParameters(functionNode, returnTypeDoc) { + const returnTypeNode = getReturnTypeNode(functionNode); + if (!returnTypeNode) { + return false; + } + const typeParameters = functionNode.typeParameters?.params; + if (typeParameters) { + if (typeParameters.length > 1) { + return false; + } + if (typeParameters.length === 1) { + const typeParameter = typeParameters[0]; + if (typeParameter.constraint || typeParameter.default) { + return false; + } + } + } + return getFunctionParameters(functionNode).length === 1 && (isObjectType(returnTypeNode) || willBreak(returnTypeDoc)); +} +function isDecoratedFunction(path) { + return path.match( + (node) => node.type === "ArrowFunctionExpression" && node.body.type === "BlockStatement", + (node, name) => { + if (node.type === "CallExpression" && name === "arguments" && node.arguments.length === 1 && node.callee.type === "CallExpression") { + const decorator = node.callee.callee; + return decorator.type === "Identifier" || decorator.type === "MemberExpression" && !decorator.computed && decorator.object.type === "Identifier" && decorator.property.type === "Identifier"; + } + return false; + }, + (node, name) => node.type === "VariableDeclarator" && name === "init" || node.type === "ExportDefaultDeclaration" && name === "declaration" || node.type === "TSExportAssignment" && name === "expression" || node.type === "AssignmentExpression" && name === "right" && node.left.type === "MemberExpression" && node.left.object.type === "Identifier" && node.left.object.name === "module" && node.left.property.type === "Identifier" && node.left.property.name === "exports", + (node) => node.type !== "VariableDeclaration" || node.kind === "const" && node.declarations.length === 1 + ); +} +function shouldBreakFunctionParameters(functionNode) { + const parameters = getFunctionParameters(functionNode); + return parameters.length > 1 && parameters.some((parameter) => parameter.type === "TSParameterProperty"); +} + +// src/language-js/print/type-annotation.js +var isVoidType = create_type_check_function_default([ + "VoidTypeAnnotation", + "TSVoidKeyword", + "NullLiteralTypeAnnotation", + "TSNullKeyword" +]); +var isObjectLikeType = create_type_check_function_default([ + "ObjectTypeAnnotation", + "TSTypeLiteral", + // This is a bit aggressive but captures Array<{x}> + "GenericTypeAnnotation", + "TSTypeReference" +]); +function shouldHugUnionType(node) { + const { types } = node; + if (types.some((node2) => hasComment(node2))) { + return false; + } + const objectType = types.find((node2) => isObjectLikeType(node2)); + if (!objectType) { + return false; + } + return types.every((node2) => node2 === objectType || isVoidType(node2)); +} +function shouldHugType(node) { + if (isSimpleType(node) || isObjectType(node)) { + return true; + } + if (isUnionType(node)) { + return shouldHugUnionType(node); + } + return false; +} +function printOpaqueType(path, options2, print3) { + const semi = options2.semi ? ";" : ""; + const { node } = path; + const parts = [ + printDeclareToken(path), + "opaque type ", + print3("id"), + print3("typeParameters") + ]; + if (node.supertype) { + parts.push(": ", print3("supertype")); + } + if (node.lowerBound || node.upperBound) { + const lowerAndUpperBoundParts = []; + if (node.lowerBound) { + lowerAndUpperBoundParts.push( + indent([line, "super ", print3("lowerBound")]) + ); + } + if (node.upperBound) { + lowerAndUpperBoundParts.push( + indent([line, "extends ", print3("upperBound")]) + ); + } + parts.push(group(lowerAndUpperBoundParts)); + } + if (node.impltype) { + parts.push(" = ", print3("impltype")); + } + parts.push(semi); + return parts; +} +function printTypeAlias(path, options2, print3) { + const semi = options2.semi ? ";" : ""; + const { node } = path; + const parts = [printDeclareToken(path)]; + parts.push("type ", print3("id"), print3("typeParameters")); + const rightPropertyName = node.type === "TSTypeAliasDeclaration" ? "typeAnnotation" : "right"; + return [ + printAssignment(path, options2, print3, parts, " =", rightPropertyName), + semi + ]; +} +function printIntersectionType(path, options2, print3) { + let wasIndented = false; + const printed = path.map(({ isFirst, previous, node: node2, index }) => { + const doc = print3(); + if (isFirst) { + return doc; + } + const currentIsObjectType = false; + const previousIsObjectType = false; + if (previousIsObjectType && currentIsObjectType) { + return [" & ", wasIndented ? indent(doc) : doc]; + } + if ( + // If no object is involved, go to the next line if it breaks + !previousIsObjectType && !currentIsObjectType || hasLeadingOwnLineComment(options2.originalText, node2) + ) { + if (options2.experimentalOperatorPosition === "start") { + return indent([line, "& ", doc]); + } + return ( + /*indent(*/ + [" &", line, doc] + ); + } + if (index > 1) { + wasIndented = true; + } + return [" & ", index > 1 ? indent(doc) : doc]; + }, "types"); + const { node, parent } = path; + const shouldIndent = parent.type !== "TypeParameterInstantiation" && (parent.type !== "TSConditionalType" || !options2.experimentalTernaries) && (parent.type !== "ConditionalTypeAnnotation" || !options2.experimentalTernaries) && parent.type !== "TSTypeParameterInstantiation" && parent.type !== "GenericTypeAnnotation" && parent.type !== "TSTypeReference" && parent.type !== "TSTypeAssertion" && parent.type !== "TupleTypeAnnotation" && parent.type !== "TSTupleType" && !(parent.type === "FunctionTypeParam" && !parent.name && path.grandparent.this !== parent) && !((parent.type === "TypeAlias" || parent.type === "VariableDeclarator" || parent.type === "TSTypeAliasDeclaration") && hasLeadingOwnLineComment(options2.originalText, node)); + const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment(options2.originalText, node); + const code = [ifBreak([shouldAddStartLine ? line : ""]), printed]; + if (needs_parens_default(path, options2)) { + return group([indent(code), softline]); + } + return group(shouldIndent ? indent(code) : code); +} +function printUnionType(path, options2, print3) { + const { node } = path; + const { parent } = path; + const shouldIndent = parent.type !== "TypeParameterInstantiation" && (!isConditionalType(parent) || !options2.experimentalTernaries) && parent.type !== "TSTypeParameterInstantiation" && parent.type !== "GenericTypeAnnotation" && parent.type !== "TSTypeReference" && parent.type !== "TSTypeAssertion" && parent.type !== "TupleTypeAnnotation" && parent.type !== "TSTupleType" && !(parent.type === "FunctionTypeParam" && !parent.name && path.grandparent.this !== parent) && !((parent.type === "TypeAlias" || parent.type === "VariableDeclarator" || parent.type === "TSTypeAliasDeclaration") && hasLeadingOwnLineComment(options2.originalText, node)); + const shouldHug = false; + const printed = path.map((typePath) => { + let printedType = print3(); + if (!shouldHug) { + printedType = align(2, printedType); + } + return printComments(typePath, printedType, options2); + }, "types"); + if (shouldHug) { + return join(" | ", printed); + } + const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment(options2.originalText, node); + const code = [ + ifBreak([shouldAddStartLine ? line : ""]), + join([" |", line], printed) + ]; + if (needs_parens_default(path, options2)) { + return group([indent(code), softline]); + } + if (parent.type === "TupleTypeAnnotation" || parent.type === "TSTupleType") { + const elementTypes = parent[ + // TODO: Remove `types` when babel changes AST of `TupleTypeAnnotation` + parent.type === "TupleTypeAnnotation" && parent.types ? "types" : "elementTypes" + ]; + if (elementTypes.length > 1) { + return group([ + indent([ifBreak(["(", softline]), code]), + softline, + ifBreak(")") + ]); + } + } + return group(shouldIndent ? indent(code) : code); +} +function isFlowArrowFunctionTypeAnnotation(path) { + const { node, parent } = path; + return node.type === "FunctionTypeAnnotation" && (isFlowObjectTypePropertyAFunction(parent) || !((parent.type === "ObjectTypeProperty" || parent.type === "ObjectTypeInternalSlot") && !parent.variance && !parent.optional && hasSameLocStart(parent, node) || parent.type === "ObjectTypeCallProperty" || path.getParentNode(2)?.type === "DeclareFunction")); +} +function printFunctionType(path, options2, print3) { + const { node } = path; + const parts = [ + // `TSConstructorType` only + printAbstractToken(path) + ]; + if (node.type === "TSConstructorType" || node.type === "TSConstructSignatureDeclaration") { + parts.push("new "); + } + let parametersDoc = printFunctionParameters( + path, + options2, + print3, + /* expandArg */ + false, + /* printTypeParams */ + true + ); + const returnTypeDoc = []; + if (node.type === "FunctionTypeAnnotation") { + returnTypeDoc.push( + isFlowArrowFunctionTypeAnnotation(path) ? " => " : ": ", + print3("returnType") + ); + } else { + returnTypeDoc.push( + printTypeAnnotationProperty( + path, + print3, + node.returnType ? "returnType" : "typeAnnotation" + ) + ); + } + if (shouldGroupFunctionParameters(node, returnTypeDoc)) { + parametersDoc = group(parametersDoc); + } + parts.push(parametersDoc, returnTypeDoc); + return group(parts); +} +function printIndexedAccessType(path, options2, print3) { + return [ + print3("objectType"), + printOptionalToken(path), + "[", + print3("indexType"), + "]" + ]; +} +function printInferType(path, options2, print3) { + return ["infer ", print3("typeParameter")]; +} +function printJSDocType(path, print3, token) { + const { node } = path; + return [ + node.postfix ? "" : token, + printTypeAnnotationProperty(path, print3), + node.postfix ? token : "" + ]; +} +function printRestType(path, options2, print3) { + const { node } = path; + return [ + "...", + ...node.type === "TupleTypeSpreadElement" && node.label ? [print3("label"), ": "] : [], + print3("typeAnnotation") + ]; +} +function printNamedTupleMember(path, options2, print3) { + const { node } = path; + return [ + // `TupleTypeLabeledElement` only + node.variance ? print3("variance") : "", + print3("label"), + node.optional ? "?" : "", + ": ", + print3("elementType") + ]; +} +var typeAnnotationNodesCheckedLeadingComments = /* @__PURE__ */ new WeakSet(); +function printTypeAnnotationProperty(path, print3, propertyName = "typeAnnotation") { + const { + node: { [propertyName]: typeAnnotation } + } = path; + if (!typeAnnotation) { + return ""; + } + let shouldPrintLeadingSpace = false; + if (typeAnnotation.type === "TSTypeAnnotation" || typeAnnotation.type === "TypeAnnotation") { + const firstToken = path.call(getTypeAnnotationFirstToken, propertyName); + if (firstToken === "=>" || firstToken === ":" && hasComment(typeAnnotation, CommentCheckFlags.Leading)) { + shouldPrintLeadingSpace = true; + } + typeAnnotationNodesCheckedLeadingComments.add(typeAnnotation); + } + return shouldPrintLeadingSpace ? [" ", print3(propertyName)] : print3(propertyName); +} +var getTypeAnnotationFirstToken = (path) => { + if ( + // TypeScript + path.match( + (node) => node.type === "TSTypeAnnotation", + (node, key) => (key === "returnType" || key === "typeAnnotation") && (node.type === "TSFunctionType" || node.type === "TSConstructorType") + ) + ) { + return "=>"; + } + if ( + // TypeScript + path.match( + (node) => node.type === "TSTypeAnnotation", + (node, key) => key === "typeAnnotation" && (node.type === "TSJSDocNullableType" || node.type === "TSJSDocNonNullableType" || node.type === "TSTypePredicate") + ) || /* + Flow + + ```js + declare function foo(): void; + ^^^^^^^^ `TypeAnnotation` + ``` + */ + path.match( + (node) => node.type === "TypeAnnotation", + (node, key) => key === "typeAnnotation" && node.type === "Identifier", + (node, key) => key === "id" && node.type === "DeclareFunction" + ) || /* + Flow + ```js + declare hook foo(): void; + ^^^^^^^^ `TypeAnnotation` + ``` + */ + path.match( + (node) => node.type === "TypeAnnotation", + (node, key) => key === "typeAnnotation" && node.type === "Identifier", + (node, key) => key === "id" && node.type === "DeclareHook" + ) || /* + Flow + + ```js + type A = () => infer R extends string; + ^^^^^^ `TypeAnnotation` + ``` + */ + path.match( + (node) => node.type === "TypeAnnotation", + (node, key) => key === "bound" && node.type === "TypeParameter" && node.usesExtendsBound + ) + ) { + return ""; + } + return ":"; +}; +function printTypeAnnotation(path, options2, print3) { + if (false) { + const { node } = path; + if (!typeAnnotationNodesCheckedLeadingComments.has(node)) { + throw Object.assign( + new Error( + `'${node.type}' should be printed by '${printTypeAnnotationProperty.name}' function.` + ), + { parentNode: path.parent, propertyName: path.key } + ); + } + } + const token = getTypeAnnotationFirstToken(path); + return token ? [token, " ", print3("typeAnnotation")] : print3("typeAnnotation"); +} +function printArrayType(print3) { + return [print3("elementType"), "[]"]; +} +function printTypeQuery({ node }, print3) { + const argumentPropertyName = node.type === "TSTypeQuery" ? "exprName" : "argument"; + const typeArgsPropertyName = ( + // TODO: Use `typeArguments` only when babel align with TS. + node.type === "TypeofTypeAnnotation" || node.typeArguments ? "typeArguments" : "typeParameters" + ); + return ["typeof ", print3(argumentPropertyName), print3(typeArgsPropertyName)]; +} +function printTypePredicate(path, print3) { + const { node } = path; + const prefix = node.type === "TSTypePredicate" && node.asserts ? "asserts " : node.type === "TypePredicate" && node.kind ? `${node.kind} ` : ""; + return [ + prefix, + print3("parameterName"), + node.typeAnnotation ? [" is ", printTypeAnnotationProperty(path, print3)] : "" + ]; +} + +// src/language-js/print/misc.js +function printOptionalToken(path) { + const { node } = path; + if (!node.optional || // It's an optional computed method parsed by typescript-estree. + // "?" is printed in `printMethod`. + node.type === "Identifier" && node === path.parent.key) { + return ""; + } + if (isCallExpression(node) || isMemberExpression(node) && node.computed || node.type === "OptionalIndexedAccessType") { + return "?."; + } + return "?"; +} +function printDefiniteToken(path) { + return path.node.definite || path.match( + void 0, + (node, name) => name === "id" && node.type === "VariableDeclarator" && node.definite + ) ? "!" : ""; +} +var flowDeclareNodeTypes = /* @__PURE__ */ new Set([ + "DeclareClass", + "DeclareComponent", + "DeclareFunction", + "DeclareHook", + "DeclareVariable", + "DeclareExportDeclaration", + "DeclareExportAllDeclaration", + "DeclareOpaqueType", + "DeclareTypeAlias", + "DeclareEnum", + "DeclareInterface" +]); +function printDeclareToken(path) { + const { node } = path; + return ( + // TypeScript + node.declare || // Flow + flowDeclareNodeTypes.has(node.type) && path.parent.type !== "DeclareExportDeclaration" ? "declare " : "" + ); +} +var tsAbstractNodeTypes = /* @__PURE__ */ new Set([ + "TSAbstractMethodDefinition", + "TSAbstractPropertyDefinition", + "TSAbstractAccessorProperty" +]); +function printAbstractToken({ node }) { + return node.abstract || tsAbstractNodeTypes.has(node.type) ? "abstract " : ""; +} +function printFunctionTypeParameters(path, options2, print3) { + const { node } = path; + if (node.type === "TSImportType") { + return ""; + } + if (node.typeArguments) { + return print3("typeArguments"); + } + if (node.typeParameters) { + return print3("typeParameters"); + } + return ""; +} +function printBindExpressionCallee(path, options2, print3) { + return ["::", print3("callee")]; +} +function adjustClause(node, clause, forceSpace) { + if (node.type === "EmptyStatement") { + return ";"; + } + if (node.type === "BlockStatement" || forceSpace) { + return [" ", clause]; + } + return indent([line, clause]); +} +function printRestSpread(path, print3) { + return ["...", print3("argument"), printTypeAnnotationProperty(path, print3)]; +} +function printTypeScriptAccessibilityToken(node) { + return node.accessibility ? node.accessibility + " " : ""; +} + +// src/language-js/print/array.js +function printEmptyArrayElements(path, options2, openBracket, closeBracket) { + const { node } = path; + const inexact = node.inexact ? "..." : ""; + if (!hasComment(node, CommentCheckFlags.Dangling)) { + return [openBracket, inexact, closeBracket]; + } + return group([ + openBracket, + inexact, + printDanglingComments(path, options2, { indent: true }), + softline, + closeBracket + ]); +} +function printArray(path, options2, print3) { + const { node } = path; + const parts = []; + const openBracket = "["; + const closeBracket = "]"; + const elementsProperty = ( + // TODO: Remove `types` when babel changes AST of `TupleTypeAnnotation` + node.type === "TupleTypeAnnotation" && node.types ? "types" : node.type === "TSTupleType" || node.type === "TupleTypeAnnotation" ? "elementTypes" : "elements" + ); + const elements = node[elementsProperty]; + if (elements.length === 0) { + parts.push( + printEmptyArrayElements(path, options2, openBracket, closeBracket) + ); + } else { + const lastElem = at_default( + /* isOptionalObject */ + false, + elements, + -1 + ); + const canHaveTrailingComma = lastElem?.type !== "RestElement" && !node.inexact; + const needsForcedTrailingComma = lastElem === null; + const groupId = Symbol("array"); + const shouldBreak = ( + /*!options.__inJestEach && + elements.length > 1 && + elements.every((element, i, elements) => { + const elementType = element?.type; + if (!isArrayExpression(element) && !isObjectExpression(element)) { + return false; + } + + const nextElement = elements[i + 1]; + if (nextElement && elementType !== nextElement.type) { + return false; + } + + const itemsKey = isArrayExpression(element) ? "elements" : "properties"; + + return element[itemsKey] && element[itemsKey].length > 1; + })*/ + false + ); + const shouldUseConciseFormatting = isConciselyPrintedArray(node, options2); + const trailingComma = !canHaveTrailingComma ? "" : needsForcedTrailingComma ? "," : !shouldPrintComma(options2) ? "" : shouldUseConciseFormatting ? ifBreak(",", "", { groupId }) : ifBreak(","); + parts.push( + group( + [ + openBracket, + indent([ + softline, + shouldUseConciseFormatting ? printArrayElementsConcisely(path, options2, print3, trailingComma) : [ + printArrayElements( + path, + options2, + print3, + elementsProperty, + node.inexact + ), + trailingComma + ], + printDanglingComments(path, options2) + ]), + softline, + closeBracket + ], + { shouldBreak, id: groupId } + ) + ); + } + parts.push( + printOptionalToken(path), + printTypeAnnotationProperty(path, print3) + ); + return parts; +} +function isConciselyPrintedArray(node, options2) { + return isArrayExpression(node) && node.elements.length > 1 && node.elements.every( + (element) => element && (isNumericLiteral(element) || isSignedNumericLiteral(element) && !hasComment(element.argument)) && !hasComment( + element, + CommentCheckFlags.Trailing | CommentCheckFlags.Line, + (comment) => !has_newline_default(options2.originalText, locStart(comment), { + backwards: true + }) + ) + ); +} +function isLineAfterElementEmpty({ node }, { originalText: text }) { + let currentIdx = locEnd(node); + if (currentIdx === locStart(node)) { + return false; + } + const { length } = text; + while (currentIdx < length) { + if (text[currentIdx] === ",") { + break; + } + currentIdx = skip_inline_comment_default( + text, + skip_trailing_comment_default(text, currentIdx + 1) + ); + } + return is_next_line_empty_default(text, currentIdx); +} +function printArrayElements(path, options2, print3, elementsProperty, inexact) { + const parts = []; + path.each(({ node, isLast }) => { + parts.push(node ? group(print3()) : ""); + if (!isLast || inexact) { + parts.push([ + ",", + line, + node && isLineAfterElementEmpty(path, options2) ? softline : "" + ]); + } + }, elementsProperty); + if (inexact) { + parts.push("..."); + } + return parts; +} +function printArrayElementsConcisely(path, options2, print3, trailingComma) { + const parts = []; + path.each(({ isLast, next }) => { + parts.push([print3(), isLast ? trailingComma : ","]); + if (!isLast) { + parts.push( + isLineAfterElementEmpty(path, options2) ? [hardline, hardline] : hasComment(next, CommentCheckFlags.Leading | CommentCheckFlags.Line) ? hardline : line + ); + } + }, "elements"); + return fill(parts); +} + +// src/language-js/print/function.js +import assert2 from "assert"; + +// node_modules/is-es5-identifier-name/index.js +var identifierRegexp = /^[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC][\$0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]*$/; +var isEs5IdentifierName = (id) => identifierRegexp.test(id); +var is_es5_identifier_name_default = isEs5IdentifierName; + +// src/utils/print-number.js +function printNumber(rawNumber) { + if (rawNumber.length === 1) { + return rawNumber; + } + return rawNumber.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/u, "$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/u, "$1").replace(/^([+-])?0?\./u, "$1.").replace(/(\.\d+?)0+(?=e|$)/u, "$1").replace(/\.(?=e|$)/u, ""); +} +var print_number_default = printNumber; + +// src/language-js/print/property.js +var needsQuoteProps = /* @__PURE__ */ new WeakMap(); +function isSimpleNumber(numberString) { + return /^(?:\d+|\d+\.\d+)$/u.test(numberString); +} +function isStringKeySafeToUnquote(node, options2) { + if (options2.parser === "json" || options2.parser === "jsonc" || !isStringLiteral(node.key) || print_string_default(get_raw_default(node.key), options2).slice(1, -1) !== node.key.value) { + return false; + } + if (is_es5_identifier_name_default(node.key.value) && // With `--strictPropertyInitialization`, TS treats properties with quoted names differently than unquoted ones. + // See https://github.com/microsoft/TypeScript/pull/20075 + !(options2.parser === "babel-ts" && node.type === "ClassProperty" || (options2.parser === "typescript" || options2.parser === "oxc-ts") && node.type === "PropertyDefinition")) { + return true; + } + if (isSimpleNumber(node.key.value) && String(Number(node.key.value)) === node.key.value && node.type !== "ImportAttribute" && (options2.parser === "babel" || options2.parser === "acorn" || options2.parser === "oxc" || options2.parser === "espree" || options2.parser === "meriyah" || options2.parser === "__babel_estree")) { + return true; + } + return false; +} +function shouldQuotePropertyKey(path, options2) { + const { key } = path.node; + return (key.type === "Identifier" || isNumericLiteral(key) && isSimpleNumber(print_number_default(get_raw_default(key))) && // Avoid converting 999999999999999999999 to 1e+21, 0.99999999999999999 to 1 and 1.0 to 1. + String(key.value) === print_number_default(get_raw_default(key)) && // Quoting number keys is safe in JS and Flow, but not in TypeScript (as + // mentioned in `isStringKeySafeToUnquote`). + !(options2.parser === "typescript" || options2.parser === "babel-ts" || options2.parser === "oxc-ts")) && (options2.parser === "json" || options2.parser === "jsonc" || options2.quoteProps === "consistent" && needsQuoteProps.get(path.parent)); +} +function printPropertyKey(path, options2, print3) { + const { node } = path; + if (node.computed) { + return ["[", print3("key"), "]"]; + } + const { parent } = path; + const { key } = node; + if (options2.quoteProps === "consistent" && !needsQuoteProps.has(parent)) { + const objectHasStringProp = path.siblings.some( + (prop) => !prop.computed && isStringLiteral(prop.key) && !isStringKeySafeToUnquote(prop, options2) + ); + needsQuoteProps.set(parent, objectHasStringProp); + } + if (shouldQuotePropertyKey(path, options2)) { + const prop = print_string_default( + JSON.stringify( + key.type === "Identifier" ? key.name : key.value.toString() + ), + options2 + ); + return path.call((keyPath) => printComments(keyPath, prop, options2), "key"); + } + if (isStringKeySafeToUnquote(node, options2) && (options2.quoteProps === "as-needed" || options2.quoteProps === "consistent" && !needsQuoteProps.get(parent))) { + return path.call( + (keyPath) => printComments( + keyPath, + /^\d/u.test(key.value) ? print_number_default(key.value) : key.value, + options2 + ), + "key" + ); + } + return print3("key"); +} +function printProperty(path, options2, print3) { + const { node } = path; + if (node.shorthand) { + return print3("value"); + } + return printAssignment( + path, + options2, + print3, + printPropertyKey(path, options2, print3), + ":", + "value" + ); +} + +// src/language-js/print/function.js +var isMethodValue = ({ node, key, parent }) => key === "value" && node.type === "FunctionExpression" && (parent.type === "ObjectMethod" || parent.type === "ClassMethod" || parent.type === "ClassPrivateMethod" || parent.type === "MethodDefinition" || parent.type === "TSAbstractMethodDefinition" || parent.type === "TSDeclareMethod" || parent.type === "Property" && isMethod(parent)); +function printFunction(path, options2, print3, args) { + if (isMethodValue(path)) { + return printMethodValue(path, options2, print3); + } + const { node } = path; + let expandArg = false; + if ((node.type === "FunctionDeclaration" || node.type === "FunctionExpression") && args?.expandLastArg) { + const { parent } = path; + if (isCallExpression(parent) && (getCallArguments(parent).length > 1 || getFunctionParameters(node).every( + (param) => param.type === "Identifier" && !param.typeAnnotation + ))) { + expandArg = true; + } + } + const parts = [ + printDeclareToken(path), + node.async ? "async " : "", + `function${node.generator ? "*" : ""} `, + node.id ? print3("id") : "" + ]; + const parametersDoc = printFunctionParameters( + path, + options2, + print3, + expandArg + ); + const returnTypeDoc = printReturnType(path, print3); + const shouldGroupParameters = shouldGroupFunctionParameters( + node, + returnTypeDoc + ); + parts.push( + printFunctionTypeParameters(path, options2, print3), + group([ + shouldGroupParameters ? group(parametersDoc) : parametersDoc, + returnTypeDoc + ]), + node.body ? " " : "", + print3("body") + ); + if (options2.semi && (node.declare || !node.body)) { + parts.push(";"); + } + return parts; +} +function printMethod(path, options2, print3) { + const { node } = path; + const { kind } = node; + const value = node.value || node; + const parts = []; + if (!kind || kind === "init" || kind === "method" || kind === "constructor") { + if (value.async) { + parts.push("async "); + } + } else { + assert2.ok(kind === "get" || kind === "set"); + parts.push(kind, " "); + } + if (value.generator) { + parts.push("*"); + } + parts.push( + printPropertyKey(path, options2, print3), + node.optional ? "?" : "", + [ + " ", + node === value ? printMethodValue(path, options2, print3) : print3("value") + ] + ); + return parts; +} +function printMethodValue(path, options2, print3) { + const { node } = path; + const parametersDoc = printFunctionParameters(path, options2, print3); + const returnTypeDoc = printReturnType(path, print3); + const shouldBreakParameters = shouldBreakFunctionParameters(node); + const shouldGroupParameters = shouldGroupFunctionParameters( + node, + returnTypeDoc + ); + const parts = [ + printFunctionTypeParameters(path, options2, print3), + group([ + shouldBreakParameters ? group(parametersDoc, { shouldBreak: true }) : shouldGroupParameters ? group(parametersDoc) : parametersDoc, + returnTypeDoc + ]) + ]; + if (node.body) { + parts.push(" ", print3("body")); + } else { + parts.push(options2.semi ? ";" : ""); + } + return parts; +} +function canPrintParamsWithoutParens(node) { + const parameters = getFunctionParameters(node); + return parameters.length === 1 && !node.typeParameters && !hasComment(node, CommentCheckFlags.Dangling) && parameters[0].type === "Identifier" && !parameters[0].typeAnnotation && !hasComment(parameters[0]) && !parameters[0].optional && !node.predicate && !node.returnType; +} +function shouldPrintParamsWithoutParens(path, options2) { + if (options2.arrowParens === "always") { + return false; + } + if (options2.arrowParens === "avoid") { + const { node } = path; + return canPrintParamsWithoutParens(node); + } + return false; +} +function printReturnType(path, print3) { + const { node } = path; + const returnType = printTypeAnnotationProperty(path, print3, "returnType"); + const parts = [returnType]; + if (node.predicate) { + parts.push(print3("predicate")); + } + return parts; +} +function printReturnOrThrowArgument(path, options2, print3) { + const { node } = path; + const semi = options2.semi ? ";" : ""; + const parts = []; + if (node.argument) { + let argumentDoc = print3("argument"); + if (returnArgumentHasLeadingComment(options2, node.argument)) { + argumentDoc = ["(", indent([hardline, argumentDoc]), hardline, ")"]; + } else if (isBinaryish(node.argument) || options2.experimentalTernaries && node.argument.type === "ConditionalExpression" && (node.argument.consequent.type === "ConditionalExpression" || node.argument.alternate.type === "ConditionalExpression")) { + argumentDoc = group([ + ifBreak("("), + indent([softline, argumentDoc]), + softline, + ifBreak(")") + ]); + } + parts.push(" ", argumentDoc); + } + const hasDanglingComments = hasComment(node, CommentCheckFlags.Dangling); + const shouldPrintSemiBeforeComments = semi && hasDanglingComments && hasComment(node, CommentCheckFlags.Last | CommentCheckFlags.Line); + if (shouldPrintSemiBeforeComments) { + parts.push(semi); + } + if (hasDanglingComments) { + parts.push(" ", printDanglingComments(path, options2)); + } + if (!shouldPrintSemiBeforeComments) { + parts.push(semi); + } + return parts; +} +function printReturnStatement(path, options2, print3) { + return ["return", printReturnOrThrowArgument(path, options2, print3)]; +} +function printThrowStatement(path, options2, print3) { + return ["throw", printReturnOrThrowArgument(path, options2, print3)]; +} +function returnArgumentHasLeadingComment(options2, argument) { + if (hasLeadingOwnLineComment(options2.originalText, argument) || hasComment( + argument, + CommentCheckFlags.Leading, + (comment) => has_newline_in_range_default( + options2.originalText, + locStart(comment), + locEnd(comment) + ) + ) && !isJsxElement(argument)) { + return true; + } + if (hasNakedLeftSide(argument)) { + let leftMost = argument; + let newLeftMost; + while (newLeftMost = getLeftSide(leftMost)) { + leftMost = newLeftMost; + if (hasLeadingOwnLineComment(options2.originalText, leftMost)) { + return true; + } + } + } + return false; +} + +// src/language-js/print/arrow-function.js +var shouldAddParensIfNotBreakCache = /* @__PURE__ */ new WeakMap(); +function shouldAddParensIfNotBreak(node) { + return false; + if (!shouldAddParensIfNotBreakCache.has(node)) { + shouldAddParensIfNotBreakCache.set( + node, + node.type === "ConditionalExpression" && !startsWithNoLookaheadToken( + node, + (node2) => node2.type === "ObjectExpression" + ) + ); + } + return shouldAddParensIfNotBreakCache.get(node); +} +var shouldAlwaysAddParens = (node) => node.type === "SequenceExpression"; +function printArrowFunction(path, options2, print3, args = {}) { + const signatureDocs = []; + let bodyDoc; + const bodyComments = []; + let shouldBreakChain = false; + const shouldPrintAsChain = !args.expandLastArg && path.node.body.type === "ArrowFunctionExpression"; + let functionBody; + (function rec() { + const { node } = path; + const signatureDoc = printArrowFunctionSignature( + path, + options2, + print3, + args + ); + if (signatureDocs.length === 0) { + signatureDocs.push(signatureDoc); + } else { + const { leading, trailing } = printCommentsSeparately(path, options2); + signatureDocs.push([leading, signatureDoc]); + bodyComments.unshift(trailing); + } + if (shouldPrintAsChain) { + shouldBreakChain ||= // Always break the chain if: + node.returnType && getFunctionParameters(node).length > 0 || node.typeParameters || getFunctionParameters(node).some( + (param) => param.type !== "Identifier" + ); + } + if (!shouldPrintAsChain || node.body.type !== "ArrowFunctionExpression") { + bodyDoc = print3("body", args); + functionBody = node.body; + } else { + path.call(rec, "body"); + } + })(); + const shouldPutBodyOnSameLine = !hasLeadingOwnLineComment(options2.originalText, functionBody) && (shouldAlwaysAddParens(functionBody) || mayBreakAfterShortPrefix(functionBody, bodyDoc, options2) || !shouldBreakChain && shouldAddParensIfNotBreak(functionBody)); + const isCallee = path.key === "callee" && isCallLikeExpression(path.parent); + const chainGroupId = Symbol("arrow-chain"); + const signaturesDoc = printArrowFunctionSignatures(path, args, { + signatureDocs, + shouldBreak: shouldBreakChain + }); + let shouldBreakSignatures = false; + let shouldIndentSignatures = false; + let shouldPrintSoftlineInIndent = false; + if (shouldPrintAsChain && (isCallee || // isAssignmentRhs + args.assignmentLayout)) { + shouldIndentSignatures = true; + shouldPrintSoftlineInIndent = !hasComment( + path.node, + CommentCheckFlags.Leading & CommentCheckFlags.Line + ); + shouldBreakSignatures = args.assignmentLayout === "chain-tail-arrow-chain" || isCallee && !shouldPutBodyOnSameLine; + } + bodyDoc = printArrowFunctionBody(path, options2, args, { + bodyDoc, + bodyComments, + functionBody, + shouldPutBodyOnSameLine + }); + return group([ + group( + shouldIndentSignatures ? indent([shouldPrintSoftlineInIndent ? softline : "", signaturesDoc]) : signaturesDoc, + { shouldBreak: shouldBreakSignatures, id: chainGroupId } + ), + " =>", + shouldPrintAsChain ? indentIfBreak(bodyDoc, { groupId: chainGroupId }) : group(bodyDoc), + shouldPrintAsChain && isCallee ? ifBreak(softline, "", { groupId: chainGroupId }) : "" + ]); +} +function printArrowFunctionSignature(path, options2, print3, args) { + const { node } = path; + const parts = []; + if (node.async) { + parts.push("async "); + } + if (shouldPrintParamsWithoutParens(path, options2)) { + parts.push(print3(["params", 0])); + } else { + const expandArg = args.expandLastArg || args.expandFirstArg; + let returnTypeDoc = printReturnType(path, print3); + if (expandArg) { + if (willBreak(returnTypeDoc)) { + throw new ArgExpansionBailout(); + } + returnTypeDoc = group(removeLines(returnTypeDoc)); + } + parts.push( + group([ + printFunctionParameters( + path, + options2, + print3, + expandArg, + /* printTypeParams */ + true + ), + returnTypeDoc + ]) + ); + } + const dangling = printDanglingComments(path, options2, { + filter(comment) { + const nextCharacter = get_next_non_space_non_comment_character_index_default( + options2.originalText, + locEnd(comment) + ); + return nextCharacter !== false && options2.originalText.slice(nextCharacter, nextCharacter + 2) === "=>"; + } + }); + if (dangling) { + parts.push(" ", dangling); + } + return parts; +} +function mayBreakAfterShortPrefix(functionBody, bodyDoc, options2) { + return isArrayExpression(functionBody) || isObjectExpression(functionBody) || functionBody.type === "ArrowFunctionExpression" || functionBody.type === "DoExpression" || functionBody.type === "BlockStatement" || isJsxElement(functionBody) || bodyDoc.label?.hug !== false && (bodyDoc.label?.embed || isTemplateOnItsOwnLine(functionBody, options2.originalText)); +} +function printArrowFunctionSignatures(path, args, { signatureDocs, shouldBreak }) { + if (signatureDocs.length === 1) { + return signatureDocs[0]; + } + const { parent, key } = path; + if (key !== "callee" && isCallLikeExpression(parent) || isBinaryish(parent)) { + return group( + [ + signatureDocs[0], + " =>", + indent([line, join([" =>", line], signatureDocs.slice(1))]) + ], + { shouldBreak } + ); + } + if (key === "callee" && isCallLikeExpression(parent) || // isAssignmentRhs + args.assignmentLayout) { + return group(join([" =>", line], signatureDocs), { shouldBreak }); + } + return group(indent(join([" =>", line], signatureDocs)), { shouldBreak }); +} +function printArrowFunctionBody(path, options2, args, { bodyDoc, bodyComments, functionBody, shouldPutBodyOnSameLine }) { + const { node, parent } = path; + const trailingComma = args.expandLastArg && shouldPrintComma(options2, "all") ? ifBreak(",") : ""; + const trailingSpace = (args.expandLastArg || parent.type === "JSXExpressionContainer") && !hasComment(node) ? softline : ""; + if (shouldPutBodyOnSameLine && shouldAddParensIfNotBreak(functionBody)) { + return [ + " ", + group([ + ifBreak("", "("), + indent([softline, bodyDoc]), + ifBreak("", ")"), + trailingComma, + trailingSpace + ]), + bodyComments + ]; + } + return shouldPutBodyOnSameLine ? [" ", bodyDoc, bodyComments] : [indent([line, bodyDoc, bodyComments]), trailingComma, trailingSpace]; +} + +// src/language-js/print/statement.js +function printStatementSequence(path, options2, print3, property) { + const { node } = path; + const parts = []; + const lastStatement = array_find_last_default( + /* isOptionalObject */ + false, + node[property], + (statement) => statement.type !== "EmptyStatement" + ); + path.each(({ node: node2 }) => { + if (node2.type === "EmptyStatement") { + return; + } + parts.push(print3()); + if (node2 !== lastStatement) { + parts.push(hardline); + if (isNextLineEmpty2(node2, options2)) { + parts.push(hardline); + } + } + }, property); + return parts; +} + +// src/language-js/print/block.js +function printBlock(path, options2, print3) { + const bodyDoc = printBlockBody(path, options2, print3); + const { node, parent } = path; + if (node.type === "Program" && parent?.type !== "ModuleExpression") { + return bodyDoc ? [bodyDoc, hardline] : ""; + } + const parts = []; + if (node.type === "StaticBlock") { + parts.push("static "); + } + parts.push("{"); + if (bodyDoc) { + parts.push(indent([hardline, bodyDoc]), hardline); + } else { + const parentParent = path.grandparent; + if (!(parent.type === "ArrowFunctionExpression" || parent.type === "FunctionExpression" || parent.type === "FunctionDeclaration" || parent.type === "ComponentDeclaration" || parent.type === "HookDeclaration" || parent.type === "ObjectMethod" || parent.type === "ClassMethod" || parent.type === "ClassPrivateMethod" || parent.type === "ForStatement" || parent.type === "WhileStatement" || parent.type === "DoWhileStatement" || parent.type === "DoExpression" || parent.type === "ModuleExpression" || parent.type === "CatchClause" && !parentParent.finalizer || parent.type === "TSModuleDeclaration" || parent.type === "MatchStatementCase" || node.type === "StaticBlock")) { + parts.push(hardline); + } + } + parts.push("}"); + return parts; +} +function printBlockBody(path, options2, print3) { + const { node } = path; + const hasDirectives = is_non_empty_array_default(node.directives); + const hasBody = node.body.some((node2) => node2.type !== "EmptyStatement"); + const hasDanglingComments = hasComment(node, CommentCheckFlags.Dangling); + if (!hasDirectives && !hasBody && !hasDanglingComments) { + return ""; + } + const parts = []; + if (hasDirectives) { + parts.push(printStatementSequence(path, options2, print3, "directives")); + if (hasBody || hasDanglingComments) { + parts.push(hardline); + if (isNextLineEmpty2(at_default( + /* isOptionalObject */ + false, + node.directives, + -1 + ), options2)) { + parts.push(hardline); + } + } + } + if (hasBody) { + parts.push(printStatementSequence(path, options2, print3, "body")); + } + if (hasDanglingComments) { + parts.push(printDanglingComments(path, options2)); + } + return parts; +} + +// src/utils/create-group-id-mapper.js +function createGroupIdMapper(description) { + const groupIds = /* @__PURE__ */ new WeakMap(); + return function(node) { + if (!groupIds.has(node)) { + groupIds.set(node, Symbol(description)); + } + return groupIds.get(node); + }; +} +var create_group_id_mapper_default = createGroupIdMapper; + +// src/language-js/print/type-parameters.js +var getTypeParametersGroupId = create_group_id_mapper_default("typeParameters"); +function shouldForceTrailingComma(path, options2, paramsKey) { + const { node } = path; + return getFunctionParameters(node).length === 1 && node.type.startsWith("TS") && !node[paramsKey][0].constraint && path.parent.type === "ArrowFunctionExpression" && !(options2.filepath && /\.ts$/u.test(options2.filepath)); +} +function printTypeParameters(path, options2, print3, paramsKey) { + const { node } = path; + if (!node[paramsKey]) { + return ""; + } + if (!Array.isArray(node[paramsKey])) { + return print3(paramsKey); + } + const isParameterInTestCall = isTestCall(path.grandparent); + const isArrowFunctionVariable = path.match( + (node2) => !(node2[paramsKey].length === 1 && isObjectType(node2[paramsKey][0])), + void 0, + (node2, name) => name === "typeAnnotation", + (node2) => node2.type === "Identifier", + isArrowFunctionVariableDeclarator + ); + const shouldInline = node[paramsKey].length === 0 || !isArrowFunctionVariable && (isParameterInTestCall || node[paramsKey].length === 1 && (node[paramsKey][0].type === "NullableTypeAnnotation" || shouldHugType(node[paramsKey][0]))); + if (shouldInline) { + return [ + "<", + join(", ", path.map(print3, paramsKey)), + printDanglingCommentsForInline(path, options2), + ">" + ]; + } + const trailingComma = node.type === "TSTypeParameterInstantiation" ? "" : shouldForceTrailingComma(path, options2, paramsKey) ? "," : shouldPrintComma(options2) ? ifBreak(",") : ""; + return group( + [ + "<", + indent([softline, join([",", line], path.map(print3, paramsKey))]), + trailingComma, + softline, + ">" + ], + { id: getTypeParametersGroupId(node) } + ); +} +function printDanglingCommentsForInline(path, options2) { + const { node } = path; + if (!hasComment(node, CommentCheckFlags.Dangling)) { + return ""; + } + const hasOnlyBlockComments = !hasComment(node, CommentCheckFlags.Line); + const printed = printDanglingComments(path, options2, { + indent: !hasOnlyBlockComments + }); + if (hasOnlyBlockComments) { + return printed; + } + return [printed, hardline]; +} +function printTypeParameter(path, options2, print3) { + const { node } = path; + const parts = [node.const ? "const " : ""]; + const name = node.type === "TSTypeParameter" ? print3("name") : node.name; + if (node.variance) { + parts.push(print3("variance")); + } + if (node.in) { + parts.push("in "); + } + if (node.out) { + parts.push("out "); + } + parts.push(name); + if (node.bound) { + if (node.usesExtendsBound) { + parts.push(" extends "); + } + parts.push(printTypeAnnotationProperty(path, print3, "bound")); + } + if (node.constraint) { + const groupId = Symbol("constraint"); + parts.push( + " extends", + group(indent(line), { id: groupId }), + lineSuffixBoundary, + indentIfBreak(print3("constraint"), { groupId }) + ); + } + if (node.default) { + parts.push(" = ", print3("default")); + } + return group(parts); +} + +// src/language-js/print/class.js +var isClassProperty = create_type_check_function_default([ + "ClassProperty", + "PropertyDefinition", + "ClassPrivateProperty", + "ClassAccessorProperty", + "AccessorProperty", + "TSAbstractPropertyDefinition", + "TSAbstractAccessorProperty" +]); +function printClass(path, options2, print3) { + const { node } = path; + const parts = [printDeclareToken(path), printAbstractToken(path), "class"]; + const groupMode = hasComment(node.id, CommentCheckFlags.Trailing) || hasComment(node.typeParameters, CommentCheckFlags.Trailing) || hasComment(node.superClass) || is_non_empty_array_default(node.extends) || // DeclareClass + is_non_empty_array_default(node.mixins) || is_non_empty_array_default(node.implements); + const partsGroup = []; + const extendsParts = []; + if (node.id) { + partsGroup.push(" ", print3("id")); + } + partsGroup.push(print3("typeParameters")); + if (node.superClass) { + const printed = [ + printSuperClass(path, options2, print3), + print3( + // TODO: Use `superTypeArguments` only when babel align with TS. + node.superTypeArguments ? "superTypeArguments" : "superTypeParameters" + ) + ]; + const printedWithComments = path.call( + (superClass) => ["extends ", printComments(superClass, printed, options2)], + "superClass" + ); + if (groupMode) { + extendsParts.push(line, group(printedWithComments)); + } else { + extendsParts.push(" ", printedWithComments); + } + } else { + extendsParts.push(printHeritageClauses(path, options2, print3, "extends")); + } + extendsParts.push( + printHeritageClauses(path, options2, print3, "mixins"), + printHeritageClauses(path, options2, print3, "implements") + ); + let heritageGroupId; + if (groupMode) { + let printedPartsGroup; + if (shouldIndentOnlyHeritageClauses(node)) { + printedPartsGroup = [...partsGroup, indent(extendsParts)]; + } else { + printedPartsGroup = indent([...partsGroup, extendsParts]); + } + heritageGroupId = getHeritageGroupId(node); + parts.push(group(printedPartsGroup, { id: heritageGroupId })); + } else { + parts.push(...partsGroup, ...extendsParts); + } + const classBody = node.body; + if (groupMode && is_non_empty_array_default(classBody.body)) { + parts.push(ifBreak(hardline, " ", { groupId: heritageGroupId })); + } else { + parts.push(" "); + } + parts.push(print3("body")); + return parts; +} +var getHeritageGroupId = create_group_id_mapper_default("heritageGroup"); +function printHardlineAfterHeritage(node) { + return ifBreak(hardline, "", { groupId: getHeritageGroupId(node) }); +} +function hasMultipleHeritage(node) { + return ["extends", "mixins", "implements"].reduce( + (count, key) => count + (Array.isArray(node[key]) ? node[key].length : 0), + node.superClass ? 1 : 0 + ) > 1; +} +function shouldIndentOnlyHeritageClauses(node) { + return node.typeParameters && !hasComment( + node.typeParameters, + CommentCheckFlags.Trailing | CommentCheckFlags.Line + ) && !hasMultipleHeritage(node); +} +function printHeritageClauses(path, options2, print3, listName) { + const { node } = path; + if (!is_non_empty_array_default(node[listName])) { + return ""; + } + const printedLeadingComments = printDanglingComments(path, options2, { + marker: listName + }); + return [ + shouldIndentOnlyHeritageClauses(node) ? ifBreak(" ", line, { + groupId: getTypeParametersGroupId(node.typeParameters) + }) : line, + printedLeadingComments, + printedLeadingComments && hardline, + listName, + group(indent([line, join([",", line], path.map(print3, listName))])) + ]; +} +function printSuperClass(path, options2, print3) { + const printed = print3("superClass"); + const { parent } = path; + if (parent.type === "AssignmentExpression") { + return group( + ifBreak(["(", indent([softline, printed]), softline, ")"], printed) + ); + } + return printed; +} +function printClassMethod(path, options2, print3) { + const { node } = path; + const parts = []; + if (is_non_empty_array_default(node.decorators)) { + parts.push(printClassMemberDecorators(path, options2, print3)); + } + parts.push(printTypeScriptAccessibilityToken(node)); + if (node.static) { + parts.push("static "); + } + parts.push(printAbstractToken(path)); + if (node.override) { + parts.push("override "); + } + parts.push(printMethod(path, options2, print3)); + return parts; +} +function printClassProperty(path, options2, print3) { + const { node } = path; + const parts = []; + const semi = options2.semi ? ";" : ""; + if (is_non_empty_array_default(node.decorators)) { + parts.push(printClassMemberDecorators(path, options2, print3)); + } + parts.push(printDeclareToken(path), printTypeScriptAccessibilityToken(node)); + if (node.static) { + parts.push("static "); + } + parts.push(printAbstractToken(path)); + if (node.override) { + parts.push("override "); + } + if (node.readonly) { + parts.push("readonly "); + } + if (node.variance) { + parts.push(print3("variance")); + } + if (node.type === "ClassAccessorProperty" || node.type === "AccessorProperty" || node.type === "TSAbstractAccessorProperty") { + parts.push("accessor "); + } + parts.push( + printPropertyKey(path, options2, print3), + printOptionalToken(path), + printDefiniteToken(path), + printTypeAnnotationProperty(path, print3) + ); + const isAbstractProperty = node.type === "TSAbstractPropertyDefinition" || node.type === "TSAbstractAccessorProperty"; + return [ + printAssignment( + path, + options2, + print3, + parts, + " =", + isAbstractProperty ? void 0 : "value" + ), + semi + ]; +} +function printClassBody(path, options2, print3) { + const { node } = path; + const parts = []; + path.each(({ node: node2, next, isLast }) => { + parts.push(print3()); + if (!options2.semi && isClassProperty(node2) && shouldPrintSemicolonAfterClassProperty(node2, next)) { + parts.push(";"); + } + if (!isLast) { + parts.push(hardline); + if (isNextLineEmpty2(node2, options2)) { + parts.push(hardline); + } + } + }, "body"); + if (hasComment(node, CommentCheckFlags.Dangling)) { + parts.push(printDanglingComments(path, options2)); + } + return [ + "{", + parts.length > 0 ? [indent([hardline, parts]), hardline] : "", + "}" + ]; +} +function shouldPrintSemicolonAfterClassProperty(node, nextNode) { + const { type, name } = node.key; + if (!node.computed && type === "Identifier" && (name === "static" || name === "get" || name === "set") && !node.value && !node.typeAnnotation) { + return true; + } + if (!nextNode) { + return false; + } + if (nextNode.static || nextNode.accessibility || // TypeScript + nextNode.readonly) { + return false; + } + if (!nextNode.computed) { + const name2 = nextNode.key?.name; + if (name2 === "in" || name2 === "instanceof") { + return true; + } + } + if (isClassProperty(nextNode) && nextNode.variance && !nextNode.static && !nextNode.declare) { + return true; + } + switch (nextNode.type) { + case "ClassProperty": + case "PropertyDefinition": + case "TSAbstractPropertyDefinition": + return nextNode.computed; + case "MethodDefinition": + case "TSAbstractMethodDefinition": + case "ClassMethod": + case "ClassPrivateMethod": { + const isAsync = nextNode.value ? nextNode.value.async : nextNode.async; + if (isAsync || nextNode.kind === "get" || nextNode.kind === "set") { + return false; + } + const isGenerator = nextNode.value ? nextNode.value.generator : nextNode.generator; + if (nextNode.computed || isGenerator) { + return true; + } + return false; + } + case "TSIndexSignature": + return true; + } + return false; +} + +// src/language-js/utils/vue-event-binding.js +var isVueEventBindingTsNode = create_type_check_function_default([ + "TSAsExpression", + // `foo as number` + "TSTypeAssertion", + // `(foo)` + "TSNonNullExpression", + // `foo!` + "TSInstantiationExpression", + // `foo` + "TSSatisfiesExpression" + // `foo satisfies T` +]); +function unwrapVueEventBindingTsNode(node) { + if (isVueEventBindingTsNode(node)) { + return unwrapVueEventBindingTsNode(node.expression); + } + return node; +} +var isVueEventBindingFunctionExpression = create_type_check_function_default([ + "FunctionExpression", + "ArrowFunctionExpression" +]); +function isVueEventBindingMemberExpression(node) { + return node.type === "MemberExpression" || node.type === "OptionalMemberExpression" || node.type === "Identifier" && node.name !== "undefined"; +} + +// src/language-js/print/semicolon.js +function shouldPrintLeadingSemicolon(path, options2) { + if (options2.semi || isSingleJsxExpressionStatementInMarkdown(path, options2) || isSingleVueEventBindingExpressionStatement(path, options2) || isSingleHtmlEventHandlerExpressionStatement(path, options2)) { + return false; + } + const { node, key, parent } = path; + if (node.type === "ExpressionStatement" && // `Program.directives` don't need leading semicolon + (key === "body" && (parent.type === "Program" || parent.type === "BlockStatement" || parent.type === "StaticBlock" || parent.type === "TSModuleBlock") || key === "consequent" && parent.type === "SwitchCase") && path.call(() => expressionNeedsASIProtection(path, options2), "expression")) { + return true; + } + return false; +} +function expressionNeedsASIProtection(path, options2) { + const { node } = path; + switch (node.type) { + case "ParenthesizedExpression": + case "TypeCastExpression": + case "ArrayExpression": + case "ArrayPattern": + case "TemplateLiteral": + case "TemplateElement": + case "RegExpLiteral": + return true; + case "ArrowFunctionExpression": + if (!shouldPrintParamsWithoutParens(path, options2)) { + return true; + } + break; + case "UnaryExpression": { + const { prefix, operator } = node; + if (prefix && (operator === "+" || operator === "-")) { + return true; + } + break; + } + case "BindExpression": + if (!node.object) { + return true; + } + break; + case "Literal": + if (node.regex) { + return true; + } + break; + default: + if (isJsxElement(node)) { + return true; + } + } + if (needs_parens_default(path, options2)) { + return true; + } + if (!hasNakedLeftSide(node)) { + return false; + } + return path.call( + () => expressionNeedsASIProtection(path, options2), + ...getLeftSidePathName(node) + ); +} +var isSingleExpressionStatement = ({ node, parent }) => node.type === "ExpressionStatement" && parent.type === "Program" && parent.body.length === 1 && // In non-Babel parser, directives are `ExpressionStatement`s +(Array.isArray(parent.directives) && parent.directives.length === 0 || !parent.directives); +function isSingleJsxExpressionStatementInMarkdown(path, options2) { + return (options2.parentParser === "markdown" || options2.parentParser === "mdx") && isSingleExpressionStatement(path) && isJsxElement(path.node.expression); +} +function isSingleHtmlEventHandlerExpressionStatement(path, options2) { + return options2.__isHtmlInlineEventHandler && isSingleExpressionStatement(path); +} +function isSingleVueEventBindingExpressionStatement(path, options2) { + return (options2.parser === "__vue_event_binding" || options2.parser === "__vue_ts_event_binding") && isSingleExpressionStatement(path); +} + +// src/language-js/print/expression-statement.js +function shouldPrintSemicolon(path, options2) { + if (isSingleVueEventBindingExpressionStatement(path, options2)) { + const expression = unwrapVueEventBindingTsNode(path.node.expression); + return isVueEventBindingFunctionExpression(expression) || isVueEventBindingMemberExpression(expression); + } + if (!options2.semi) { + return false; + } + if ( + // Do not append semicolon after the only JSX element in a program + isSingleJsxExpressionStatementInMarkdown(path, options2) || // Do not append semicolon after the only HTML event binding expression in a program + isSingleHtmlEventHandlerExpressionStatement(path, options2) + ) { + return false; + } + return true; +} +function printExpressionStatement(path, options2, print3) { + return [print3("expression"), shouldPrintSemicolon(path, options2) ? ";" : ""]; +} + +// src/language-js/print/html-binding.js +function printHtmlBinding(path, options2, print3) { + if (options2.__isVueBindings || options2.__isVueForBindingLeft) { + const parameterDocs = path.map(print3, "program", "body", 0, "params"); + if (parameterDocs.length === 1) { + return parameterDocs[0]; + } + const doc = join([",", line], parameterDocs); + return options2.__isVueForBindingLeft ? ["(", indent([softline, group(doc)]), softline, ")"] : doc; + } + if (options2.__isEmbeddedTypescriptGenericParameters) { + const parameterDocs = path.map( + print3, + "program", + "body", + 0, + "typeParameters", + "params" + ); + return join([",", line], parameterDocs); + } +} + +// src/language-js/print/literal.js +function printLiteral(path, options2) { + const { node } = path; + switch (node.type) { + case "RegExpLiteral": + return printRegex(node); + case "BigIntLiteral": + return printBigInt(node.extra.raw); + case "NumericLiteral": + return print_number_default(node.extra.raw); + case "StringLiteral": + return replaceEndOfLine(print_string_default(node.extra.raw, options2)); + case "NullLiteral": + return "null"; + case "BooleanLiteral": + return String(node.value); + case "DirectiveLiteral": + return printDirective(node.extra.raw, options2); + case "Literal": { + if (node.regex) { + return printRegex(node.regex); + } + if (node.bigint) { + return printBigInt(node.raw); + } + const { value } = node; + if (typeof value === "number") { + return print_number_default(node.raw); + } + if (typeof value === "string") { + return isDirective(path) ? printDirective(node.raw, options2) : replaceEndOfLine(print_string_default(node.raw, options2)); + } + return String(value); + } + } +} +function isDirective(path) { + if (path.key !== "expression") { + return; + } + const { parent } = path; + return parent.type === "ExpressionStatement" && typeof parent.directive === "string"; +} +function printBigInt(raw) { + return raw.toLowerCase(); +} +function printRegex({ pattern, flags }) { + flags = [...flags].sort().join(""); + return `/${pattern}/${flags}`; +} +function printDirective(rawText, options2) { + const rawContent = rawText.slice(1, -1); + if (rawContent.includes('"') || rawContent.includes("'")) { + return rawText; + } + const enclosingQuote = options2.singleQuote ? "'" : '"'; + return enclosingQuote + rawContent + enclosingQuote; +} + +// src/language-js/print/module.js +function printImportDeclaration(path, options2, print3) { + const { node } = path; + return [ + "import", + node.phase ? ` ${node.phase}` : "", + printImportKind(node), + printModuleSpecifiers(path, options2, print3), + printModuleSource(path, options2, print3), + printImportAttributes(path, options2, print3), + options2.semi ? ";" : "" + ]; +} +var isDefaultExport = (node) => node.type === "ExportDefaultDeclaration" || node.type === "DeclareExportDeclaration" && node.default; +function printExportDeclaration(path, options2, print3) { + const { node } = path; + const parts = [ + printDecoratorsBeforeExport(path, options2, print3), + printDeclareToken(path), + "export", + isDefaultExport(node) ? " default" : "" + ]; + const { declaration, exported } = node; + if (hasComment(node, CommentCheckFlags.Dangling)) { + parts.push(" ", printDanglingComments(path, options2)); + if (needsHardlineAfterDanglingComment(node)) { + parts.push(hardline); + } + } + if (declaration) { + parts.push(" ", print3("declaration")); + } else { + parts.push(printExportKind(node)); + if (node.type === "ExportAllDeclaration" || node.type === "DeclareExportAllDeclaration") { + parts.push(" *"); + if (exported) { + parts.push(" as ", print3("exported")); + } + } else { + parts.push(printModuleSpecifiers(path, options2, print3)); + } + parts.push( + printModuleSource(path, options2, print3), + printImportAttributes(path, options2, print3) + ); + } + parts.push(printSemicolonAfterExportDeclaration(node, options2)); + return parts; +} +var shouldOmitSemicolon = create_type_check_function_default([ + "ClassDeclaration", + "ComponentDeclaration", + "FunctionDeclaration", + "TSInterfaceDeclaration", + "DeclareClass", + "DeclareComponent", + "DeclareFunction", + "DeclareHook", + "HookDeclaration", + "TSDeclareFunction", + "EnumDeclaration" +]); +function printSemicolonAfterExportDeclaration(node, options2) { + if (options2.semi && (!node.declaration || isDefaultExport(node) && !shouldOmitSemicolon(node.declaration))) { + return ";"; + } + return ""; +} +function printImportOrExportKind(kind, spaceBeforeKind = true) { + return kind && kind !== "value" ? `${spaceBeforeKind ? " " : ""}${kind}${spaceBeforeKind ? "" : " "}` : ""; +} +function printImportKind(node, spaceBeforeKind) { + return printImportOrExportKind(node.importKind, spaceBeforeKind); +} +function printExportKind(node) { + return printImportOrExportKind(node.exportKind); +} +function printModuleSource(path, options2, print3) { + const { node } = path; + if (!node.source) { + return ""; + } + const parts = []; + if (shouldPrintSpecifiers(node, options2)) { + parts.push(" from"); + } + parts.push(" ", print3("source")); + return parts; +} +function printModuleSpecifiers(path, options2, print3) { + const { node } = path; + if (!shouldPrintSpecifiers(node, options2)) { + return ""; + } + const parts = [" "]; + if (is_non_empty_array_default(node.specifiers)) { + const standaloneSpecifiers = []; + const groupedSpecifiers = []; + path.each(() => { + const specifierType = path.node.type; + if (specifierType === "ExportNamespaceSpecifier" || specifierType === "ExportDefaultSpecifier" || specifierType === "ImportNamespaceSpecifier" || specifierType === "ImportDefaultSpecifier") { + standaloneSpecifiers.push(print3()); + } else if (specifierType === "ExportSpecifier" || specifierType === "ImportSpecifier") { + groupedSpecifiers.push(print3()); + } else { + throw new unexpected_node_error_default(node, "specifier"); + } + }, "specifiers"); + parts.push(join(", ", standaloneSpecifiers)); + if (groupedSpecifiers.length > 0) { + if (standaloneSpecifiers.length > 0) { + parts.push(", "); + } + const canBreak2 = groupedSpecifiers.length > 1 || standaloneSpecifiers.length > 0 || node.specifiers.some((node2) => hasComment(node2)); + if (canBreak2) { + parts.push( + group([ + "{", + indent([ + options2.bracketSpacing ? line : softline, + join([",", line], groupedSpecifiers) + ]), + ifBreak(shouldPrintComma(options2) ? "," : ""), + options2.bracketSpacing ? line : softline, + "}" + ]) + ); + } else { + parts.push([ + "{", + options2.bracketSpacing ? " " : "", + ...groupedSpecifiers, + options2.bracketSpacing ? " " : "", + "}" + ]); + } + } + } else { + parts.push("{}"); + } + return parts; +} +function shouldPrintSpecifiers(node, options2) { + if (node.type !== "ImportDeclaration" || is_non_empty_array_default(node.specifiers) || node.importKind === "type") { + return true; + } + const text = get_text_without_comments_default( + options2, + locStart(node), + locStart(node.source) + ); + return text.trimEnd().endsWith("from"); +} +function getImportAttributesKeyword(node, options2) { + if (node.extra?.deprecatedAssertSyntax) { + return "assert"; + } + const textBetweenSourceAndAttributes = get_text_without_comments_default( + options2, + locEnd(node.source), + node.attributes?.[0] ? locStart(node.attributes[0]) : locEnd(node) + ).trimStart(); + if (textBetweenSourceAndAttributes.startsWith("assert")) { + return "assert"; + } + if (textBetweenSourceAndAttributes.startsWith("with")) { + return "with"; + } + return is_non_empty_array_default(node.attributes) ? "with" : void 0; +} +function printImportAttributes(path, options2, print3) { + const { node } = path; + if (!node.source) { + return ""; + } + const keyword = getImportAttributesKeyword(node, options2); + if (!keyword) { + return ""; + } + const parts = [` ${keyword} {`]; + if (is_non_empty_array_default(node.attributes)) { + if (options2.bracketSpacing) { + parts.push(" "); + } + parts.push(join(", ", path.map(print3, "attributes"))); + if (options2.bracketSpacing) { + parts.push(" "); + } + } + parts.push("}"); + return parts; +} +function printModuleSpecifier(path, options2, print3) { + const { node } = path; + const { type } = node; + const isImportSpecifier = type.startsWith("Import"); + const leftSideProperty = isImportSpecifier ? "imported" : "local"; + const rightSideProperty = isImportSpecifier ? "local" : "exported"; + const leftSideNode = node[leftSideProperty]; + const rightSideNode = node[rightSideProperty]; + let left = ""; + let right = ""; + if (type === "ExportNamespaceSpecifier" || type === "ImportNamespaceSpecifier") { + left = "*"; + } else if (leftSideNode) { + left = print3(leftSideProperty); + } + if (rightSideNode && !isShorthandSpecifier(node)) { + right = print3(rightSideProperty); + } + return [ + printImportOrExportKind( + type === "ImportSpecifier" ? node.importKind : node.exportKind, + /* spaceBeforeKind */ + false + ), + left, + left && right ? " as " : "", + right + ]; +} +function isShorthandSpecifier(specifier) { + if (specifier.type !== "ImportSpecifier" && specifier.type !== "ExportSpecifier") { + return false; + } + const { + local, + [specifier.type === "ImportSpecifier" ? "imported" : "exported"]: importedOrExported + } = specifier; + if (local.type !== importedOrExported.type || !hasSameLoc(local, importedOrExported)) { + return false; + } + if (isStringLiteral(local)) { + return local.value === importedOrExported.value && get_raw_default(local) === get_raw_default(importedOrExported); + } + switch (local.type) { + case "Identifier": + return local.name === importedOrExported.name; + default: + return false; + } +} + +// src/language-js/print/object.js +function printObject(path, options2, print3) { + const semi = options2.semi ? ";" : ""; + const { node } = path; + const isTypeAnnotation = node.type === "ObjectTypeAnnotation"; + const isEnumBody = node.type === "TSEnumBody" || node.type === "EnumBooleanBody" || node.type === "EnumNumberBody" || node.type === "EnumBigIntBody" || node.type === "EnumStringBody" || node.type === "EnumSymbolBody"; + const fields = [ + node.type === "TSTypeLiteral" || isEnumBody ? "members" : node.type === "TSInterfaceBody" ? "body" : "properties" + ]; + if (isTypeAnnotation) { + fields.push("indexers", "callProperties", "internalSlots"); + } + const propsAndLoc = fields.flatMap( + (field) => path.map( + ({ node: node2 }) => ({ + node: node2, + printed: print3(), + loc: locStart(node2) + }), + field + ) + ); + if (fields.length > 1) { + propsAndLoc.sort((a, b) => a.loc - b.loc); + } + const { parent, key } = path; + const isFlowInterfaceLikeBody = isTypeAnnotation && key === "body" && (parent.type === "InterfaceDeclaration" || parent.type === "DeclareInterface" || parent.type === "DeclareClass"); + const shouldBreak = ( + /*node.type === "TSInterfaceBody" || + isEnumBody || + isFlowInterfaceLikeBody || + (node.type === "ObjectPattern" && + parent.type !== "FunctionDeclaration" && + parent.type !== "FunctionExpression" && + parent.type !== "ArrowFunctionExpression" && + parent.type !== "ObjectMethod" && + parent.type !== "ClassMethod" && + parent.type !== "ClassPrivateMethod" && + parent.type !== "AssignmentPattern" && + parent.type !== "CatchClause" && + node.properties.some( + (property) => + property.value && + (property.value.type === "ObjectPattern" || + property.value.type === "ArrayPattern"), + )) || + (node.type !== "ObjectPattern" && + options.objectWrap === "preserve" && + propsAndLoc.length > 0 && + hasNewlineInRange( + options.originalText, + locStart(node), + propsAndLoc[0].loc, + ))*/ + false + ); + const separator = isFlowInterfaceLikeBody ? ";" : node.type === "TSInterfaceBody" || node.type === "TSTypeLiteral" ? ifBreak("", ",") : ","; + const leftBrace = node.exact ? "{|" : "{"; + const rightBrace = node.exact ? "|}" : "}"; + let separatorParts = []; + const props = propsAndLoc.map((prop) => { + const result = [...separatorParts, group(prop.printed)]; + separatorParts = [separator, line]; + if ((prop.node.type === "TSPropertySignature" || prop.node.type === "TSMethodSignature" || prop.node.type === "TSConstructSignatureDeclaration" || prop.node.type === "TSCallSignatureDeclaration") && hasComment(prop.node, CommentCheckFlags.PrettierIgnore)) { + separatorParts.shift(); + } + if (isNextLineEmpty2(prop.node, options2)) { + separatorParts.push(hardline); + } + return result; + }); + if (node.inexact || node.hasUnknownMembers) { + let printed; + if (hasComment(node, CommentCheckFlags.Dangling)) { + const hasLineComments = hasComment(node, CommentCheckFlags.Line); + const printedDanglingComments = printDanglingComments(path, options2); + printed = [ + printedDanglingComments, + hasLineComments || has_newline_default(options2.originalText, locEnd(at_default( + /* isOptionalObject */ + false, + getComments(node), + -1 + ))) ? hardline : line, + "..." + ]; + } else { + printed = ["..."]; + } + props.push([...separatorParts, ...printed]); + } + const lastElem = at_default( + /* isOptionalObject */ + false, + propsAndLoc, + -1 + )?.node; + const canHaveTrailingSeparator = !(node.inexact || node.hasUnknownMembers || lastElem && (lastElem.type === "RestElement" || (lastElem.type === "TSPropertySignature" || lastElem.type === "TSCallSignatureDeclaration" || lastElem.type === "TSMethodSignature" || lastElem.type === "TSConstructSignatureDeclaration" || lastElem.type === "TSIndexSignature") && hasComment(lastElem, CommentCheckFlags.PrettierIgnore))); + let content; + if (props.length === 0) { + if (!hasComment(node, CommentCheckFlags.Dangling)) { + return [leftBrace, rightBrace, printTypeAnnotationProperty(path, print3)]; + } + content = group([ + leftBrace, + printDanglingComments(path, options2, { indent: true }), + softline, + rightBrace, + printOptionalToken(path), + printTypeAnnotationProperty(path, print3) + ]); + } else { + content = [ + isFlowInterfaceLikeBody && is_non_empty_array_default(node.properties) ? printHardlineAfterHeritage(parent) : "", + leftBrace, + indent([options2.bracketSpacing ? line : softline, ...props]), + ifBreak( + canHaveTrailingSeparator && (separator !== "," || shouldPrintComma(options2)) ? separator : "" + ), + options2.bracketSpacing ? line : softline, + rightBrace, + printOptionalToken(path), + printTypeAnnotationProperty(path, print3) + ]; + } + if (path.match( + (node2) => node2.type === "ObjectPattern" && !is_non_empty_array_default(node2.decorators), + shouldHugTheOnlyParameter + ) || isObjectType(node) && (path.match( + void 0, + (node2, name) => name === "typeAnnotation", + (node2, name) => name === "typeAnnotation", + shouldHugTheOnlyParameter + ) || path.match( + void 0, + (node2, name) => node2.type === "FunctionTypeParam" && name === "typeAnnotation", + shouldHugTheOnlyParameter + )) || // Assignment printing logic (printAssignment) is responsible + // for adding a group if needed + !shouldBreak && path.match( + (node2) => node2.type === "ObjectPattern", + (node2) => node2.type === "AssignmentExpression" || node2.type === "VariableDeclarator" + )) { + return content; + } + return group(content, { shouldBreak }); +} +function shouldHugTheOnlyParameter(node, name) { + return (name === "params" || name === "parameters" || name === "this" || name === "rest") && shouldHugTheOnlyFunctionParameter(node); +} + +// src/language-js/print/ternary-old.js +var align2 = (_, doc) => group(doc); +function printTernaryTest(path, options2, print3) { + const { node } = path; + const isConditionalExpression = node.type === "ConditionalExpression"; + const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; + const { parent } = path; + const printed = isConditionalExpression ? print3("test") : [print3("checkType"), " ", "extends", " ", print3("extendsType")]; + if (parent.type === node.type && parent[alternateNodePropertyName] === node) { + return align2(2, printed); + } + return printed; +} +var ancestorNameMap = /* @__PURE__ */ new Map([ + ["AssignmentExpression", "right"], + ["VariableDeclarator", "init"], + ["ReturnStatement", "argument"], + ["ThrowStatement", "argument"], + ["UnaryExpression", "argument"], + ["YieldExpression", "argument"], + ["AwaitExpression", "argument"] +]); +function shouldExtraIndentForConditionalExpression(path) { + const { node } = path; + if (node.type !== "ConditionalExpression") { + return false; + } + let parent; + let child = node; + for (let ancestorCount = 0; !parent; ancestorCount++) { + const node2 = path.getParentNode(ancestorCount); + if (node2.type === "ChainExpression" && node2.expression === child || isCallExpression(node2) && node2.callee === child || isMemberExpression(node2) && node2.object === child || node2.type === "TSNonNullExpression" && node2.expression === child) { + child = node2; + continue; + } + if (node2.type === "NewExpression" && node2.callee === child || isBinaryCastExpression(node2) && node2.expression === child) { + parent = path.getParentNode(ancestorCount + 1); + child = node2; + } else { + parent = node2; + } + } + if (child === node) { + return false; + } + return parent[ancestorNameMap.get(parent.type)] === child; +} +function printTernaryOld(path, options2, print3) { + const { node } = path; + const isConditionalExpression = node.type === "ConditionalExpression"; + const consequentNodePropertyName = isConditionalExpression ? "consequent" : "trueType"; + const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; + const testNodePropertyNames = isConditionalExpression ? ["test"] : ["checkType", "extendsType"]; + const consequentNode = node[consequentNodePropertyName]; + const alternateNode = node[alternateNodePropertyName]; + const parts = []; + let jsxMode = false; + const { parent } = path; + const isParentTest = parent.type === node.type && testNodePropertyNames.some((prop) => parent[prop] === node); + let forceNoIndent = ( + /*parent.type === node.type && !isParentTest*/ + false + ); + let currentParent; + let previousParent; + let i = 0; + do { + previousParent = currentParent || node; + currentParent = path.getParentNode(i); + i++; + } while (currentParent && currentParent.type === node.type && testNodePropertyNames.every( + (prop) => currentParent[prop] !== previousParent + )); + const firstNonConditionalParent = currentParent || parent; + const lastConditionalParent = previousParent; + const printBranch = (nodePropertyName) => ( + /*options.useTabs + ? indent(print(nodePropertyName)) + :*/ + align2(2, print3(nodePropertyName)) + ); + const part = [ + line, + "? ", + //consequentNode.type === node.type ? ifBreak("", "(") : "", + printBranch(consequentNodePropertyName), + //consequentNode.type === node.type ? ifBreak("", ")") : "", + line, + ": ", + printBranch(alternateNodePropertyName) + ]; + parts.push( + parent.type !== node.type || parent[alternateNodePropertyName] === node || isParentTest ? part : options2.useTabs ? dedent(indent(part)) : align2(Math.max(0, options2.tabWidth - 2), part) + ); + const shouldBreak = [ + consequentNodePropertyName, + alternateNodePropertyName, + ...testNodePropertyNames + ].some( + (property) => hasComment( + node[property], + (comment) => is_block_comment_default(comment) && has_newline_in_range_default( + options2.originalText, + locStart(comment), + locEnd(comment) + ) + ) + ); + const maybeGroup = (doc) => parent === firstNonConditionalParent ? group(doc, { shouldBreak }) : shouldBreak ? [doc, breakParent] : doc; + const breakClosingParen = !jsxMode && (isMemberExpression(parent) || parent.type === "NGPipeExpression" && parent.left === node) && !parent.computed; + const shouldExtraIndent = shouldExtraIndentForConditionalExpression(path); + const result = maybeGroup([ + printTernaryTest(path, options2, print3), + forceNoIndent ? parts : indent(parts), + isConditionalExpression && breakClosingParen && !shouldExtraIndent ? softline : "" + ]); + return isParentTest || shouldExtraIndent ? group([indent([softline, result]), softline]) : result; +} + +// src/language-js/print/ternary.js +function shouldBreakClosingParen(node, parent) { + return (isMemberExpression(parent) || parent.type === "NGPipeExpression" && parent.left === node) && !parent.computed; +} +function hasMultilineBlockComments(testNodes, consequentNode, alternateNode, options2) { + const comments = [ + ...testNodes.map((node) => getComments(node)), + getComments(consequentNode), + getComments(alternateNode) + ].flat(); + return comments.some( + (comment) => is_block_comment_default(comment) && has_newline_in_range_default( + options2.originalText, + locStart(comment), + locEnd(comment) + ) + ); +} +var ancestorNameMap2 = /* @__PURE__ */ new Map([ + ["AssignmentExpression", "right"], + ["VariableDeclarator", "init"], + ["ReturnStatement", "argument"], + ["ThrowStatement", "argument"], + ["UnaryExpression", "argument"], + ["YieldExpression", "argument"], + ["AwaitExpression", "argument"] +]); +function shouldExtraIndentForConditionalExpression2(path) { + const { node } = path; + if (node.type !== "ConditionalExpression") { + return false; + } + let parent; + let child = node; + for (let ancestorCount = 0; !parent; ancestorCount++) { + const node2 = path.getParentNode(ancestorCount); + if (node2.type === "ChainExpression" && node2.expression === child || isCallExpression(node2) && node2.callee === child || isMemberExpression(node2) && node2.object === child || node2.type === "TSNonNullExpression" && node2.expression === child) { + child = node2; + continue; + } + if (node2.type === "NewExpression" && node2.callee === child || isBinaryCastExpression(node2) && node2.expression === child) { + parent = path.getParentNode(ancestorCount + 1); + child = node2; + } else { + parent = node2; + } + } + if (child === node) { + return false; + } + return parent[ancestorNameMap2.get(parent.type)] === child; +} +var wrapInParens = (doc) => [ + ifBreak("("), + indent([softline, doc]), + softline, + ifBreak(")") +]; +function printTernary(path, options2, print3, args) { + if (!options2.experimentalTernaries) { + return printTernaryOld(path, options2, print3); + } + const { node } = path; + const isConditionalExpression = node.type === "ConditionalExpression"; + const isTSConditional = isConditionalType(node); + const consequentNodePropertyName = isConditionalExpression ? "consequent" : "trueType"; + const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; + const testNodePropertyNames = isConditionalExpression ? ["test"] : ["checkType", "extendsType"]; + const consequentNode = node[consequentNodePropertyName]; + const alternateNode = node[alternateNodePropertyName]; + const testNodes = testNodePropertyNames.map((prop) => node[prop]); + const { parent } = path; + const isParentTernary = parent.type === node.type; + const isInTest = isParentTernary && testNodePropertyNames.some((prop) => parent[prop] === node); + const isInAlternate = isParentTernary && parent[alternateNodePropertyName] === node; + const isConsequentTernary = consequentNode.type === node.type; + const isAlternateTernary = alternateNode.type === node.type; + const isInChain = isAlternateTernary || isInAlternate; + const isBigTabs = options2.tabWidth > 2 || options2.useTabs; + let currentParent; + let previousParent; + let i = 0; + do { + previousParent = currentParent || node; + currentParent = path.getParentNode(i); + i++; + } while (currentParent && currentParent.type === node.type && testNodePropertyNames.every( + (prop) => currentParent[prop] !== previousParent + )); + const firstNonConditionalParent = currentParent || parent; + const isOnSameLineAsAssignment = args && args.assignmentLayout && args.assignmentLayout !== "break-after-operator" && (parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || parent.type === "ClassProperty" || parent.type === "PropertyDefinition" || parent.type === "ClassPrivateProperty" || parent.type === "ObjectProperty" || parent.type === "Property"); + const isOnSameLineAsReturn = (parent.type === "ReturnStatement" || parent.type === "ThrowStatement") && !(isConsequentTernary || isAlternateTernary); + const isInJsx = isConditionalExpression && firstNonConditionalParent.type === "JSXExpressionContainer" && path.grandparent.type !== "JSXAttribute"; + const shouldExtraIndent = shouldExtraIndentForConditionalExpression2(path); + const breakClosingParen = shouldBreakClosingParen(node, parent); + const breakTSClosingParen = isTSConditional && needs_parens_default(path, options2); + const fillTab = !isBigTabs ? "" : options2.useTabs ? " " : " ".repeat(options2.tabWidth - 1); + const shouldBreak = hasMultilineBlockComments( + testNodes, + consequentNode, + alternateNode, + options2 + ) || isConsequentTernary || isAlternateTernary; + const tryToParenthesizeAlternate = !isInChain && !isParentTernary && !isTSConditional && (isInJsx ? ( + // In JSX, we want this with a null-consequent to mirror booleans: + // + // {!foo ? null : ( + // something.else() + // )} + // + // But not in the general case, where it's (subjectively) better to have things multiline. + consequentNode.type === "NullLiteral" || consequentNode.type === "Literal" && consequentNode.value === null + ) : ( + // Right now, we do this when: + // 1. The test is simple and, + // 2. The consequent is short. + // This heuristic could probably be refined over time, but felt right after moderate amounts of tinkering. + isLoneShortArgument(consequentNode, options2) && isSimpleExpressionByNodeCount(node.test, 3) + )); + const shouldGroupTestAndConsequent = isInChain || isInAlternate || isTSConditional && !isParentTernary || isParentTernary && isConditionalExpression && isSimpleExpressionByNodeCount(node.test, 1) || tryToParenthesizeAlternate; + const consequentComments = []; + if (!isConsequentTernary && hasComment(consequentNode, CommentCheckFlags.Dangling)) { + path.call((childPath) => { + consequentComments.push( + printDanglingComments(childPath, options2), + hardline + ); + }, "consequent"); + } + const alternateComments = []; + if (hasComment(node.test, CommentCheckFlags.Dangling)) { + path.call((childPath) => { + alternateComments.push(printDanglingComments(childPath, options2)); + }, "test"); + } + if (!isAlternateTernary && hasComment(alternateNode, CommentCheckFlags.Dangling)) { + path.call((childPath) => { + alternateComments.push(printDanglingComments(childPath, options2)); + }, "alternate"); + } + if (hasComment(node, CommentCheckFlags.Dangling)) { + alternateComments.push(printDanglingComments(path, options2)); + } + const testId = Symbol("test"); + const consequentId = Symbol("consequent"); + const testAndConsequentId = Symbol("test-and-consequent"); + const printedTest = isConditionalExpression ? [ + wrapInParens(print3("test")), + node.test.type === "ConditionalExpression" ? breakParent : "" + ] : [ + print3("checkType"), + " ", + "extends", + " ", + isConditionalType(node.extendsType) || node.extendsType.type === "TSMappedType" ? print3("extendsType") : group(wrapInParens(print3("extendsType"))) + ]; + const printedTestWithQuestionMark = group([printedTest, " ?"], { + id: testId + }); + const printedConsequent = print3(consequentNodePropertyName); + const consequent = indent([ + isConsequentTernary || isInJsx && (isJsxElement(consequentNode) || isParentTernary || isInChain) ? hardline : line, + consequentComments, + printedConsequent + ]); + const printedTestAndConsequent = shouldGroupTestAndConsequent ? group( + [ + printedTestWithQuestionMark, + // Avoid indenting consequent if it isn't a chain, even if the test breaks. + isInChain ? consequent : ( + // If the test breaks, also break the consequent + ifBreak(consequent, group(consequent, { id: consequentId }), { + groupId: testId + }) + ) + ], + { id: testAndConsequentId } + ) : [printedTestWithQuestionMark, consequent]; + const printedAlternate = print3(alternateNodePropertyName); + const printedAlternateWithParens = tryToParenthesizeAlternate ? ifBreak(printedAlternate, dedent(wrapInParens(printedAlternate)), { + groupId: testAndConsequentId + }) : printedAlternate; + const parts = [ + printedTestAndConsequent, + alternateComments.length > 0 ? [indent([hardline, alternateComments]), hardline] : isAlternateTernary ? hardline : tryToParenthesizeAlternate ? ifBreak(line, " ", { groupId: testAndConsequentId }) : line, + ":", + isAlternateTernary ? " " : !isBigTabs ? " " : shouldGroupTestAndConsequent ? ifBreak( + fillTab, + ifBreak( + isInChain || tryToParenthesizeAlternate ? " " : fillTab, + " " + ), + { groupId: testAndConsequentId } + ) : ifBreak(fillTab, " "), + isAlternateTernary ? printedAlternateWithParens : group([ + indent(printedAlternateWithParens), + isInJsx && !tryToParenthesizeAlternate ? softline : "" + ]), + breakClosingParen && !shouldExtraIndent ? softline : "", + shouldBreak ? breakParent : "" + ]; + const result = isOnSameLineAsAssignment && !shouldBreak ? ( + // We try to preserve the case of a single-line ternary bumped to the line after assignment: + // + // const foo = + // cond ? result : otherwise; + // + // However, this sadly means that tests are always shunted to the next line in this case, + // which I'm ambivalent about but some people like keeping on the same line as the assignment. + group(indent([softline, group(parts)])) + ) : isOnSameLineAsAssignment || isOnSameLineAsReturn ? group(indent(parts)) : shouldExtraIndent || isTSConditional && isInTest ? group([ + indent([softline, parts]), + breakTSClosingParen ? softline : "" + ]) : parent === firstNonConditionalParent ? group(parts) : parts; + return result; +} + +// src/language-js/print/estree.js +function printEstree(path, options2, print3, args) { + const { node } = path; + if (isLiteral(node)) { + return printLiteral(path, options2); + } + const semi = options2.semi ? ";" : ""; + let parts = []; + switch (node.type) { + case "JsExpressionRoot": + return print3("node"); + case "JsonRoot": + return [printDanglingComments(path, options2), print3("node"), hardline]; + case "File": + return printHtmlBinding(path, options2, print3) ?? print3("program"); + // Babel extension. + case "EmptyStatement": + return ""; + case "ExpressionStatement": + return printExpressionStatement(path, options2, print3); + case "ChainExpression": + return print3("expression"); + // Babel non-standard node. Used for Closure-style type casts. See postprocess.js. + case "ParenthesizedExpression": { + const shouldHug = !hasComment(node.expression) && (isObjectExpression(node.expression) || isArrayExpression(node.expression)); + if (shouldHug) { + return ["(", print3("expression"), ")"]; + } + return group([ + "(", + indent([softline, print3("expression")]), + softline, + ")" + ]); + } + case "AssignmentExpression": + return printAssignmentExpression(path, options2, print3); + case "VariableDeclarator": + return printVariableDeclarator(path, options2, print3); + case "BinaryExpression": + case "LogicalExpression": + return printBinaryishExpression(path, options2, print3); + case "AssignmentPattern": + return [print3("left"), " = ", print3("right")]; + case "OptionalMemberExpression": + case "MemberExpression": + return printMemberExpression(path, options2, print3); + case "MetaProperty": + return [print3("meta"), ".", print3("property")]; + case "BindExpression": + if (node.object) { + parts.push(print3("object")); + } + parts.push( + group( + indent([softline, printBindExpressionCallee(path, options2, print3)]) + ) + ); + return parts; + case "Identifier": + return [ + node.name, + printOptionalToken(path), + printDefiniteToken(path), + printTypeAnnotationProperty(path, print3) + ]; + case "V8IntrinsicIdentifier": + return ["%", node.name]; + case "SpreadElement": + case "SpreadElementPattern": + case "SpreadPropertyPattern": + case "RestElement": + return printRestSpread(path, print3); + case "FunctionDeclaration": + case "FunctionExpression": + return printFunction(path, options2, print3, args); + case "ArrowFunctionExpression": + return printArrowFunction(path, options2, print3, args); + case "YieldExpression": + parts.push("yield"); + if (node.delegate) { + parts.push("*"); + } + if (node.argument) { + parts.push(" ", print3("argument")); + } + return parts; + case "AwaitExpression": + parts.push("await"); + if (node.argument) { + parts.push(" ", print3("argument")); + const { parent } = path; + if (isCallExpression(parent) && parent.callee === node || isMemberExpression(parent) && parent.object === node) { + parts = [indent([softline, ...parts]), softline]; + const parentAwaitOrBlock = path.findAncestor( + (node2) => node2.type === "AwaitExpression" || node2.type === "BlockStatement" + ); + if (parentAwaitOrBlock?.type !== "AwaitExpression" || !startsWithNoLookaheadToken( + parentAwaitOrBlock.argument, + (leftmostNode) => leftmostNode === node + )) { + return group(parts); + } + } + } + return parts; + case "ExportDefaultDeclaration": + case "ExportNamedDeclaration": + case "ExportAllDeclaration": + return printExportDeclaration(path, options2, print3); + case "ImportDeclaration": + return printImportDeclaration(path, options2, print3); + case "ImportSpecifier": + case "ExportSpecifier": + case "ImportNamespaceSpecifier": + case "ExportNamespaceSpecifier": + case "ImportDefaultSpecifier": + case "ExportDefaultSpecifier": + return printModuleSpecifier(path, options2, print3); + case "ImportAttribute": + return printProperty(path, options2, print3); + case "Program": + case "BlockStatement": + case "StaticBlock": + return printBlock(path, options2, print3); + case "ClassBody": + return printClassBody(path, options2, print3); + case "ThrowStatement": + return printThrowStatement(path, options2, print3); + case "ReturnStatement": + return printReturnStatement(path, options2, print3); + case "NewExpression": + case "ImportExpression": + case "OptionalCallExpression": + case "CallExpression": + return printCallExpression(path, options2, print3); + case "ObjectExpression": + case "ObjectPattern": + return printObject(path, options2, print3); + case "Property": + if (isMethod(node)) { + return printMethod(path, options2, print3); + } + return printProperty(path, options2, print3); + // Babel + case "ObjectProperty": + return printProperty(path, options2, print3); + // Babel + case "ObjectMethod": + return printMethod(path, options2, print3); + case "Decorator": + return ["@", print3("expression")]; + case "ArrayExpression": + case "ArrayPattern": + return printArray(path, options2, print3); + case "SequenceExpression": { + const { parent } = path; + if (parent.type === "ExpressionStatement" || parent.type === "ForStatement") { + const parts3 = []; + path.each(({ isFirst }) => { + if (isFirst) { + parts3.push(print3()); + } else { + parts3.push(",", indent([line, print3()])); + } + }, "expressions"); + return group(parts3); + } + const parts2 = join([",", line], path.map(print3, "expressions")); + if ((parent.type === "ReturnStatement" || parent.type === "ThrowStatement") && path.key === "argument" || parent.type === "ArrowFunctionExpression" && path.key === "body") { + return group(ifBreak([indent([softline, parts2]), softline], parts2)); + } + return group(parts2); + } + case "ThisExpression": + return "this"; + case "Super": + return "super"; + case "Directive": + return [print3("value"), semi]; + // Babel 6 + case "UnaryExpression": + parts.push(node.operator); + if (/[a-z]$/u.test(node.operator)) { + parts.push(" "); + } + if (hasComment(node.argument)) { + parts.push( + group(["(", indent([softline, print3("argument")]), softline, ")"]) + ); + } else { + parts.push(print3("argument")); + } + return parts; + case "UpdateExpression": + return [ + node.prefix ? node.operator : "", + print3("argument"), + node.prefix ? "" : node.operator + ]; + case "ConditionalExpression": + return printTernary(path, options2, print3, args); + case "VariableDeclaration": { + const printed = path.map(print3, "declarations"); + const parentNode = path.parent; + const isParentForLoop = parentNode.type === "ForStatement" || parentNode.type === "ForInStatement" || parentNode.type === "ForOfStatement"; + const hasValue = node.declarations.some((decl) => decl.init); + let firstVariable; + if (printed.length === 1 && !hasComment(node.declarations[0])) { + firstVariable = printed[0]; + } + parts = [ + printDeclareToken(path), + node.kind, + firstVariable ? [" ", firstVariable] : "", + indent( + printed.filter((p) => p !== firstVariable).map((p, i) => [ + i ? "," : "", + hasValue && !isParentForLoop ? hardline : line, + p + ]) + ) + ]; + if (!(isParentForLoop && parentNode.body !== node)) { + parts.push(semi); + } + return group(parts); + } + case "WithStatement": + return group([ + "with (", + print3("object"), + ")", + adjustClause(node.body, print3("body")) + ]); + case "IfStatement": { + const consequent = adjustClause(node.consequent, print3("consequent")); + const opening = group([ + "if (", + group([indent([softline, print3("test")]), softline]), + ")", + consequent + ]); + parts.push(opening); + if (node.alternate) { + const commentOnOwnLine = hasComment( + node.consequent, + CommentCheckFlags.Trailing | CommentCheckFlags.Line + ) || needsHardlineAfterDanglingComment(node); + const elseOnSameLine = ( + /*node.consequent.type === "BlockStatement" && !commentOnOwnLine*/ + false + ); + parts.push(elseOnSameLine ? " " : hardline); + if (hasComment(node, CommentCheckFlags.Dangling)) { + parts.push( + printDanglingComments(path, options2), + commentOnOwnLine ? hardline : " " + ); + } + parts.push( + "else", + group( + adjustClause( + node.alternate, + print3("alternate"), + node.alternate.type === "IfStatement" + ) + ) + ); + } + return parts; + } + case "ForStatement": { + const body = adjustClause(node.body, print3("body")); + const dangling = printDanglingComments(path, options2); + const printedComments = dangling ? [dangling, softline] : ""; + if (!node.init && !node.test && !node.update) { + return [printedComments, group(["for (;;)", body])]; + } + return [ + printedComments, + group([ + "for (", + group([ + indent([ + softline, + print3("init"), + ";", + line, + print3("test"), + ";", + line, + print3("update") + ]), + softline + ]), + ")", + body + ]) + ]; + } + case "WhileStatement": + return group([ + "while (", + group([indent([softline, print3("test")]), softline]), + ")", + adjustClause(node.body, print3("body")) + ]); + case "ForInStatement": + return group([ + "for (", + print3("left"), + " in ", + print3("right"), + ")", + adjustClause(node.body, print3("body")) + ]); + case "ForOfStatement": + return group([ + "for", + node.await ? " await" : "", + " (", + print3("left"), + " of ", + print3("right"), + ")", + adjustClause(node.body, print3("body")) + ]); + case "DoWhileStatement": { + const clause = adjustClause(node.body, print3("body")); + const doBody = group(["do", clause]); + parts = [doBody]; + if (node.body.type === "BlockStatement") { + parts.push(" "); + } else { + parts.push(hardline); + } + parts.push( + "while (", + group([indent([softline, print3("test")]), softline]), + ")", + semi + ); + return parts; + } + case "DoExpression": + return [node.async ? "async " : "", "do ", print3("body")]; + case "BreakStatement": + case "ContinueStatement": + parts.push(node.type === "BreakStatement" ? "break" : "continue"); + if (node.label) { + parts.push(" ", print3("label")); + } + parts.push(semi); + return parts; + case "LabeledStatement": + if (node.body.type === "EmptyStatement") { + return [print3("label"), ":;"]; + } + return [print3("label"), ": ", print3("body")]; + case "TryStatement": + return [ + "try ", + print3("block"), + node.handler ? [line, print3("handler")] : "", + node.finalizer ? [" finally ", print3("finalizer")] : "" + ]; + case "CatchClause": + if (node.param) { + const parameterHasComments = hasComment( + node.param, + (comment) => !is_block_comment_default(comment) || comment.leading && has_newline_default(options2.originalText, locEnd(comment)) || comment.trailing && has_newline_default(options2.originalText, locStart(comment), { + backwards: true + }) + ); + const param = print3("param"); + return [ + "catch ", + parameterHasComments ? ["(", indent([softline, param]), softline, ") "] : ["(", param, ") "], + print3("body") + ]; + } + return ["catch ", print3("body")]; + // Note: ignoring n.lexical because it has no printing consequences. + case "SwitchStatement": + return [ + group([ + "switch (", + indent([softline, print3("discriminant")]), + softline, + ")" + ]), + " {", + node.cases.length > 0 ? indent([ + hardline, + join( + hardline, + path.map( + ({ node: node2, isLast }) => [ + print3(), + !isLast && isNextLineEmpty2(node2, options2) ? hardline : "" + ], + "cases" + ) + ) + ]) : "", + hardline, + "}" + ]; + case "SwitchCase": { + if (node.test) { + parts.push("case ", print3("test"), ":"); + } else { + parts.push("default:"); + } + if (hasComment(node, CommentCheckFlags.Dangling)) { + parts.push(" ", printDanglingComments(path, options2)); + } + const consequent = node.consequent.filter( + (node2) => node2.type !== "EmptyStatement" + ); + if (consequent.length > 0) { + const cons = printStatementSequence(path, options2, print3, "consequent"); + parts.push( + consequent.length === 1 && consequent[0].type === "BlockStatement" ? [" ", cons] : indent([hardline, cons]) + ); + } + return parts; + } + // JSX extensions below. + case "DebuggerStatement": + return ["debugger", semi]; + case "ClassDeclaration": + case "ClassExpression": + return printClass(path, options2, print3); + case "ClassMethod": + case "ClassPrivateMethod": + case "MethodDefinition": + return printClassMethod(path, options2, print3); + case "ClassProperty": + case "PropertyDefinition": + case "ClassPrivateProperty": + case "ClassAccessorProperty": + case "AccessorProperty": + return printClassProperty(path, options2, print3); + case "TemplateElement": + return replaceEndOfLine(node.value.raw); + case "TemplateLiteral": + return printTemplateLiteral(path, options2, print3); + case "TaggedTemplateExpression": + return printTaggedTemplateLiteral(path, options2, print3); + case "PrivateIdentifier": + return ["#", node.name]; + case "PrivateName": + return ["#", print3("id")]; + // For hack-style pipeline + case "TopicReference": + return "%"; + case "ArgumentPlaceholder": + return "?"; + case "ModuleExpression": + return ["module ", print3("body")]; + case "VoidPattern": + return "void"; + case "InterpreterDirective": + // Printed as comment + default: + throw new unexpected_node_error_default(node, "ESTree"); + } +} + +// src/language-js/print/flow.js +import assert3 from "assert"; + +// src/language-js/print/cast-expression.js +function printBinaryCastExpression(path, options2, print3) { + const { parent, node, key } = path; + const parts = [print3("expression")]; + switch (node.type) { + case "AsConstExpression": + parts.push(" as const"); + break; + case "AsExpression": + case "TSAsExpression": + parts.push(" as ", print3("typeAnnotation")); + break; + case "SatisfiesExpression": + case "TSSatisfiesExpression": + parts.push(" satisfies ", print3("typeAnnotation")); + break; + } + if (key === "callee" && isCallExpression(parent) || key === "object" && isMemberExpression(parent)) { + return group([indent([softline, ...parts]), softline]); + } + return parts; +} + +// src/language-js/print/component.js +function printComponent(path, options2, print3) { + const { node } = path; + const parts = [printDeclareToken(path), "component"]; + if (node.id) { + parts.push(" ", print3("id")); + } + parts.push(print3("typeParameters")); + const parametersDoc = printComponentParameters(path, options2, print3); + if (node.rendersType) { + parts.push(group([parametersDoc, " ", print3("rendersType")])); + } else { + parts.push(group([parametersDoc])); + } + if (node.body) { + parts.push(" ", print3("body")); + } + if (options2.semi && node.type === "DeclareComponent") { + parts.push(";"); + } + return parts; +} +function printComponentParameters(path, options2, print3) { + const { node: componentNode } = path; + let parameters = componentNode.params; + if (componentNode.rest) { + parameters = [...parameters, componentNode.rest]; + } + if (parameters.length === 0) { + return [ + "(", + printDanglingComments(path, options2, { + filter: (comment) => get_next_non_space_non_comment_character_default( + options2.originalText, + locEnd(comment) + ) === ")" + }), + ")" + ]; + } + const printed = []; + iterateComponentParametersPath(path, (parameterPath, index) => { + const isLastParameter = index === parameters.length - 1; + if (isLastParameter && componentNode.rest) { + printed.push("..."); + } + printed.push(print3()); + if (isLastParameter) { + return; + } + printed.push(","); + if (isNextLineEmpty2(parameters[index], options2)) { + printed.push(hardline, hardline); + } else { + printed.push(line); + } + }); + return [ + "(", + indent([softline, ...printed]), + ifBreak( + shouldPrintComma(options2, "all") && !hasRestParameter2(componentNode, parameters) ? "," : "" + ), + softline, + ")" + ]; +} +function hasRestParameter2(componentNode, parameters) { + return componentNode.rest || at_default( + /* isOptionalObject */ + false, + parameters, + -1 + )?.type === "RestElement"; +} +function iterateComponentParametersPath(path, iteratee) { + const { node } = path; + let index = 0; + const callback = (childPath) => iteratee(childPath, index++); + path.each(callback, "params"); + if (node.rest) { + path.call(callback, "rest"); + } +} +function printComponentParameter(path, options2, print3) { + const { node } = path; + if (node.shorthand) { + return print3("local"); + } + return [print3("name"), " as ", print3("local")]; +} +function printComponentTypeParameter(path, options2, print3) { + const { node } = path; + const printed = []; + if (node.name) { + printed.push(print3("name"), node.optional ? "?: " : ": "); + } + printed.push(print3("typeAnnotation")); + return printed; +} + +// src/language-js/print/enum.js +function printEnumBody(path, options2, print3) { + return printObject(path, options2, print3); +} +function printEnumMember(path, print3) { + const { node } = path; + let idDoc = print3("id"); + if (node.computed) { + idDoc = ["[", idDoc, "]"]; + } + let initializerDoc = ""; + if (node.initializer) { + initializerDoc = print3("initializer"); + } + if (node.init) { + initializerDoc = print3("init"); + } + if (!initializerDoc) { + return idDoc; + } + return [idDoc, " = ", initializerDoc]; +} +function printEnumDeclaration(path, print3) { + const { node } = path; + return [ + printDeclareToken(path), + node.const ? "const " : "", + "enum ", + print3("id"), + " ", + print3("body") + ]; +} + +// src/language-js/print/hook.js +function printHook(path, options2, print3) { + const { node } = path; + const parts = ["hook"]; + if (node.id) { + parts.push(" ", print3("id")); + } + const parametersDoc = printFunctionParameters( + path, + options2, + print3, + false, + true + ); + const returnTypeDoc = printReturnType(path, print3); + const shouldGroupParameters = shouldGroupFunctionParameters( + node, + returnTypeDoc + ); + parts.push( + group([ + shouldGroupParameters ? group(parametersDoc) : parametersDoc, + returnTypeDoc + ]), + node.body ? " " : "", + print3("body") + ); + return parts; +} +function printDeclareHook(path, options2, print3) { + const { node } = path; + const parts = [printDeclareToken(path), "hook"]; + if (node.id) { + parts.push(" ", print3("id")); + } + if (options2.semi) { + parts.push(";"); + } + return parts; +} +function isDeclareHookTypeAnnotation(path) { + const { node } = path; + return node.type === "HookTypeAnnotation" && path.getParentNode(2)?.type === "DeclareHook"; +} +function printHookTypeAnnotation(path, options2, print3) { + const { node } = path; + const parts = []; + parts.push(isDeclareHookTypeAnnotation(path) ? "" : "hook "); + let parametersDoc = printFunctionParameters( + path, + options2, + print3, + /* expandArg */ + false, + /* printTypeParams */ + true + ); + const returnTypeDoc = []; + returnTypeDoc.push( + isDeclareHookTypeAnnotation(path) ? ": " : " => ", + print3("returnType") + ); + if (shouldGroupFunctionParameters(node, returnTypeDoc)) { + parametersDoc = group(parametersDoc); + } + parts.push(parametersDoc, returnTypeDoc); + return group(parts); +} + +// src/language-js/print/interface.js +function printInterface(path, options2, print3) { + const { node } = path; + const parts = [printDeclareToken(path), "interface"]; + const partsGroup = []; + const extendsParts = []; + if (node.type !== "InterfaceTypeAnnotation") { + partsGroup.push(" ", print3("id"), print3("typeParameters")); + } + const shouldIndentOnlyHeritageClauses2 = node.typeParameters && !hasComment( + node.typeParameters, + CommentCheckFlags.Trailing | CommentCheckFlags.Line + ); + if (is_non_empty_array_default(node.extends)) { + extendsParts.push( + shouldIndentOnlyHeritageClauses2 ? ifBreak(" ", line, { + groupId: getTypeParametersGroupId(node.typeParameters) + }) : line, + "extends ", + (node.extends.length === 1 ? identity : indent)( + join([",", line], path.map(print3, "extends")) + ) + ); + } + if (hasComment(node.id, CommentCheckFlags.Trailing) || is_non_empty_array_default(node.extends)) { + if (shouldIndentOnlyHeritageClauses2) { + parts.push(group([...partsGroup, indent(extendsParts)])); + } else { + parts.push(group(indent([...partsGroup, ...extendsParts]))); + } + } else { + parts.push(...partsGroup, ...extendsParts); + } + parts.push(" ", print3("body")); + return group(parts); +} + +// src/language-js/print/mapped-type.js +function printFlowMappedTypeOptionalModifier(optional) { + switch (optional) { + case null: + return ""; + case "PlusOptional": + return "+?"; + case "MinusOptional": + return "-?"; + case "Optional": + return "?"; + } +} +function printFlowMappedTypeProperty(path, options2, print3) { + const { node } = path; + return group([ + node.variance ? print3("variance") : "", + "[", + indent([print3("keyTparam"), " in ", print3("sourceType")]), + "]", + printFlowMappedTypeOptionalModifier(node.optional), + ": ", + print3("propType") + ]); +} +function printTypeScriptMappedTypeModifier(tokenNode, keyword) { + if (tokenNode === "+" || tokenNode === "-") { + return tokenNode + keyword; + } + return keyword; +} +function printTypeScriptMappedType(path, options2, print3) { + const { node } = path; + let shouldBreak = false; + if (options2.objectWrap === "preserve") { + const start = locStart(node); + const textAfter = get_text_without_comments_default( + options2, + start + 1, + locStart(node.key) + ); + const nextTokenIndex = start + 1 + textAfter.search(/\S/u); + if (has_newline_in_range_default(options2.originalText, start, nextTokenIndex)) { + shouldBreak = true; + } + } + return group( + [ + "{", + indent([ + options2.bracketSpacing ? line : softline, + hasComment(node, CommentCheckFlags.Dangling) ? group([printDanglingComments(path, options2), hardline]) : "", + group([ + node.readonly ? [ + printTypeScriptMappedTypeModifier(node.readonly, "readonly"), + " " + ] : "", + "[", + print3("key"), + " in ", + print3("constraint"), + node.nameType ? [" as ", print3("nameType")] : "", + "]", + node.optional ? printTypeScriptMappedTypeModifier(node.optional, "?") : "", + node.typeAnnotation ? ": " : "", + print3("typeAnnotation") + ]), + /*options.semi ? ifBreak(";") :*/ + "" + ]), + options2.bracketSpacing ? line : softline, + "}" + ], + { shouldBreak } + ); +} + +// src/language-js/print/match.js +function printMatch(path, options2, print3) { + const { node } = path; + return [ + group(["match (", indent([softline, print3("argument")]), softline, ")"]), + " {", + node.cases.length > 0 ? indent([ + hardline, + join( + hardline, + path.map( + ({ node: node2, isLast }) => [ + print3(), + !isLast && isNextLineEmpty2(node2, options2) ? hardline : "" + ], + "cases" + ) + ) + ]) : "", + hardline, + "}" + ]; +} +function printMatchCase(path, options2, print3) { + const { node } = path; + const comment = hasComment(node, CommentCheckFlags.Dangling) ? [" ", printDanglingComments(path, options2)] : []; + const body = node.type === "MatchStatementCase" ? [" ", print3("body")] : indent([line, print3("body"), ","]); + return [ + print3("pattern"), + node.guard ? group([indent([line, "if (", print3("guard"), ")"])]) : "", + group([" =>", comment, body]) + ]; +} +function printMatchPattern(path, options2, print3) { + const { node } = path; + switch (node.type) { + case "MatchOrPattern": + return printMatchOrPattern(path, options2, print3); + case "MatchAsPattern": + return [print3("pattern"), " as ", print3("target")]; + case "MatchWildcardPattern": + return ["_"]; + case "MatchLiteralPattern": + return print3("literal"); + case "MatchUnaryPattern": + return [node.operator, print3("argument")]; + case "MatchIdentifierPattern": + return print3("id"); + case "MatchMemberPattern": { + const property = node.property.type === "Identifier" ? [".", print3("property")] : ["[", indent([softline, print3("property")]), softline, "]"]; + return group([print3("base"), property]); + } + case "MatchBindingPattern": + return [node.kind, " ", print3("id")]; + case "MatchObjectPattern": { + const properties = path.map(print3, "properties"); + if (node.rest) { + properties.push(print3("rest")); + } + return group([ + "{", + indent([softline, join([",", line], properties)]), + node.rest ? "" : ifBreak(","), + softline, + "}" + ]); + } + case "MatchArrayPattern": { + const elements = path.map(print3, "elements"); + if (node.rest) { + elements.push(print3("rest")); + } + return group([ + "[", + indent([softline, join([",", line], elements)]), + node.rest ? "" : ifBreak(","), + softline, + "]" + ]); + } + case "MatchObjectPatternProperty": + if (node.shorthand) { + return print3("pattern"); + } + return group([print3("key"), ":", indent([line, print3("pattern")])]); + case "MatchRestPattern": { + const parts = ["..."]; + if (node.argument) { + parts.push(print3("argument")); + } + return parts; + } + } +} +var isSimpleMatchPattern = create_type_check_function_default([ + "MatchWildcardPattern", + "MatchLiteralPattern", + "MatchUnaryPattern", + "MatchIdentifierPattern" +]); +function shouldHugMatchOrPattern(node) { + const { patterns } = node; + if (patterns.some((node2) => hasComment(node2))) { + return false; + } + const objectPattern = patterns.find( + (node2) => node2.type === "MatchObjectPattern" + ); + if (!objectPattern) { + return false; + } + return patterns.every( + (node2) => node2 === objectPattern || isSimpleMatchPattern(node2) + ); +} +function shouldHugMatchPattern(node) { + if (isSimpleMatchPattern(node) || node.type === "MatchObjectPattern") { + return true; + } + if (node.type === "MatchOrPattern") { + return shouldHugMatchOrPattern(node); + } + return false; +} +function printMatchOrPattern(path, options2, print3) { + const { node } = path; + const { parent } = path; + const shouldIndent = parent.type !== "MatchStatementCase" && parent.type !== "MatchExpressionCase" && parent.type !== "MatchArrayPattern" && parent.type !== "MatchObjectPatternProperty" && !hasLeadingOwnLineComment(options2.originalText, node); + const shouldHug = shouldHugMatchPattern(node); + const printed = path.map((patternPath) => { + let printedPattern = print3(); + if (!shouldHug) { + printedPattern = align(2, printedPattern); + } + return printComments(patternPath, printedPattern, options2); + }, "patterns"); + if (shouldHug) { + return join(" | ", printed); + } + const code = [ifBreak(["| "]), join([line, "| "], printed)]; + if (needs_parens_default(path, options2)) { + return group([indent([ifBreak([softline]), code]), softline]); + } + if (parent.type === "MatchArrayPattern" && parent.elements.length > 1) { + return group([ + indent([ifBreak(["(", softline]), code]), + softline, + ifBreak(")") + ]); + } + return group(shouldIndent ? indent(code) : code); +} + +// src/language-js/print/flow.js +function printFlow(path, options2, print3) { + const { node } = path; + if (is_flow_keyword_type_default(node)) { + return node.type.slice(0, -14).toLowerCase(); + } + const semi = options2.semi ? ";" : ""; + switch (node.type) { + case "ComponentDeclaration": + case "DeclareComponent": + case "ComponentTypeAnnotation": + return printComponent(path, options2, print3); + case "ComponentParameter": + return printComponentParameter(path, options2, print3); + case "ComponentTypeParameter": + return printComponentTypeParameter(path, options2, print3); + case "HookDeclaration": + return printHook(path, options2, print3); + case "DeclareHook": + return printDeclareHook(path, options2, print3); + case "HookTypeAnnotation": + return printHookTypeAnnotation(path, options2, print3); + case "DeclareClass": + return printClass(path, options2, print3); + case "DeclareFunction": + return [ + printDeclareToken(path), + "function ", + print3("id"), + print3("predicate"), + semi + ]; + case "DeclareModule": + return ["declare module ", print3("id"), " ", print3("body")]; + case "DeclareModuleExports": + return [ + "declare module.exports", + printTypeAnnotationProperty(path, print3), + semi + ]; + case "DeclareNamespace": + return ["declare namespace ", print3("id"), " ", print3("body")]; + case "DeclareVariable": + return [ + printDeclareToken(path), + // TODO: Only use `node.kind` when babel update AST + node.kind ?? "var", + " ", + print3("id"), + semi + ]; + case "DeclareExportDeclaration": + case "DeclareExportAllDeclaration": + return printExportDeclaration(path, options2, print3); + case "DeclareOpaqueType": + case "OpaqueType": + return printOpaqueType(path, options2, print3); + case "DeclareTypeAlias": + case "TypeAlias": + return printTypeAlias(path, options2, print3); + case "IntersectionTypeAnnotation": + return printIntersectionType(path, options2, print3); + case "UnionTypeAnnotation": + return printUnionType(path, options2, print3); + case "ConditionalTypeAnnotation": + return printTernary(path, options2, print3); + case "InferTypeAnnotation": + return printInferType(path, options2, print3); + case "FunctionTypeAnnotation": + return printFunctionType(path, options2, print3); + case "TupleTypeAnnotation": + return printArray(path, options2, print3); + case "TupleTypeLabeledElement": + return printNamedTupleMember(path, options2, print3); + case "TupleTypeSpreadElement": + return printRestType(path, options2, print3); + case "GenericTypeAnnotation": + return [ + print3("id"), + printTypeParameters(path, options2, print3, "typeParameters") + ]; + case "IndexedAccessType": + case "OptionalIndexedAccessType": + return printIndexedAccessType(path, options2, print3); + // Type Annotations for Facebook Flow, typically stripped out or + // transformed away before printing. + case "TypeAnnotation": + return printTypeAnnotation(path, options2, print3); + case "TypeParameter": + return printTypeParameter(path, options2, print3); + case "TypeofTypeAnnotation": + return printTypeQuery(path, print3); + case "ExistsTypeAnnotation": + return "*"; + case "ArrayTypeAnnotation": + return printArrayType(print3); + case "DeclareEnum": + case "EnumDeclaration": + return printEnumDeclaration(path, print3); + case "EnumBooleanBody": + case "EnumNumberBody": + case "EnumBigIntBody": + case "EnumStringBody": + case "EnumSymbolBody": + return [ + node.type === "EnumSymbolBody" || node.explicitType ? `of ${node.type.slice( + // `Enum` + 4, + // `Body` + -4 + ).toLowerCase()} ` : "", + printEnumBody(path, options2, print3) + ]; + case "EnumBooleanMember": + case "EnumNumberMember": + case "EnumBigIntMember": + case "EnumStringMember": + case "EnumDefaultedMember": + return printEnumMember(path, print3); + case "FunctionTypeParam": { + const name = node.name ? print3("name") : path.parent.this === node ? "this" : ""; + return [ + name, + printOptionalToken(path), + // `flow` doesn't wrap the `typeAnnotation` with `TypeAnnotation`, so the colon + // needs to be added separately. + name ? ": " : "", + print3("typeAnnotation") + ]; + } + case "DeclareInterface": + case "InterfaceDeclaration": + case "InterfaceTypeAnnotation": + return printInterface(path, options2, print3); + case "ClassImplements": + case "InterfaceExtends": + return [print3("id"), print3("typeParameters")]; + case "NullableTypeAnnotation": + return ["?", print3("typeAnnotation")]; + case "Variance": { + const { kind } = node; + assert3.ok(kind === "plus" || kind === "minus"); + return kind === "plus" ? "+" : "-"; + } + case "KeyofTypeAnnotation": + return ["keyof ", print3("argument")]; + case "ObjectTypeCallProperty": + return [node.static ? "static " : "", print3("value")]; + case "ObjectTypeMappedTypeProperty": + return printFlowMappedTypeProperty(path, options2, print3); + case "ObjectTypeIndexer": + return [ + node.static ? "static " : "", + node.variance ? print3("variance") : "", + "[", + print3("id"), + node.id ? ": " : "", + print3("key"), + "]: ", + print3("value") + ]; + case "ObjectTypeProperty": { + let modifier = ""; + if (node.proto) { + modifier = "proto "; + } else if (node.static) { + modifier = "static "; + } + return [ + modifier, + node.kind !== "init" ? node.kind + " " : "", + node.variance ? print3("variance") : "", + printPropertyKey(path, options2, print3), + printOptionalToken(path), + isMethod(node) ? "" : ": ", + print3("value") + ]; + } + case "ObjectTypeAnnotation": + return printObject(path, options2, print3); + case "ObjectTypeInternalSlot": + return [ + node.static ? "static " : "", + "[[", + print3("id"), + "]]", + printOptionalToken(path), + node.method ? "" : ": ", + print3("value") + ]; + // Same as `RestElement` + case "ObjectTypeSpreadProperty": + return printRestSpread(path, print3); + case "QualifiedTypeofIdentifier": + case "QualifiedTypeIdentifier": + return [print3("qualification"), ".", print3("id")]; + case "NullLiteralTypeAnnotation": + return "null"; + case "BooleanLiteralTypeAnnotation": + return String(node.value); + case "StringLiteralTypeAnnotation": + return replaceEndOfLine(print_string_default(get_raw_default(node), options2)); + case "NumberLiteralTypeAnnotation": + return print_number_default(get_raw_default(node)); + case "BigIntLiteralTypeAnnotation": + return printBigInt(get_raw_default(node)); + case "TypeCastExpression": + return [ + "(", + print3("expression"), + printTypeAnnotationProperty(path, print3), + ")" + ]; + case "TypePredicate": + return printTypePredicate(path, print3); + case "TypeOperator": + return [node.operator, " ", print3("typeAnnotation")]; + case "TypeParameterDeclaration": + case "TypeParameterInstantiation": + return printTypeParameters(path, options2, print3, "params"); + // Deprecated https://github.com/facebook/flow/commit/b98ae5528d9a073ddc62fc8ce418bbb1f2f80a82 + case "InferredPredicate": + case "DeclaredPredicate": + return [ + // The return type will already add the colon, but otherwise we + // need to do it ourselves + path.key === "predicate" && path.parent.type !== "DeclareFunction" && !path.parent.returnType ? ": " : " ", + "%checks", + ...node.type === "DeclaredPredicate" ? ["(", print3("value"), ")"] : [] + ]; + case "AsExpression": + case "AsConstExpression": + case "SatisfiesExpression": + return printBinaryCastExpression(path, options2, print3); + case "MatchExpression": + case "MatchStatement": + return printMatch(path, options2, print3); + case "MatchExpressionCase": + case "MatchStatementCase": + return printMatchCase(path, options2, print3); + case "MatchOrPattern": + case "MatchAsPattern": + case "MatchWildcardPattern": + case "MatchLiteralPattern": + case "MatchUnaryPattern": + case "MatchIdentifierPattern": + case "MatchMemberPattern": + case "MatchBindingPattern": + case "MatchObjectPattern": + case "MatchObjectPatternProperty": + case "MatchRestPattern": + case "MatchArrayPattern": + return printMatchPattern(path, options2, print3); + } +} + +// src/language-js/print/typescript.js +function printTypescript(path, options2, print3) { + const { node } = path; + if (!node.type.startsWith("TS")) { + return; + } + if (is_ts_keyword_type_default(node)) { + return node.type.slice(2, -7).toLowerCase(); + } + const semi = options2.semi ? ";" : ""; + const parts = []; + switch (node.type) { + case "TSThisType": + return "this"; + case "TSTypeAssertion": { + const shouldBreakAfterCast = !(isArrayExpression(node.expression) || isObjectExpression(node.expression)); + const castGroup = group([ + "<", + indent([softline, print3("typeAnnotation")]), + softline, + ">" + ]); + const exprContents = [ + ifBreak("("), + indent([softline, print3("expression")]), + softline, + ifBreak(")") + ]; + if (shouldBreakAfterCast) { + return conditionalGroup([ + [castGroup, print3("expression")], + [castGroup, group(exprContents, { shouldBreak: true })], + [castGroup, print3("expression")] + ]); + } + return group([castGroup, print3("expression")]); + } + case "TSDeclareFunction": + return printFunction(path, options2, print3); + case "TSExportAssignment": + return ["export = ", print3("expression"), semi]; + case "TSModuleBlock": + return printBlock(path, options2, print3); + case "TSInterfaceBody": + case "TSTypeLiteral": + return printObject(path, options2, print3); + case "TSTypeAliasDeclaration": + return printTypeAlias(path, options2, print3); + case "TSQualifiedName": + return [print3("left"), ".", print3("right")]; + case "TSAbstractMethodDefinition": + case "TSDeclareMethod": + return printClassMethod(path, options2, print3); + case "TSAbstractAccessorProperty": + case "TSAbstractPropertyDefinition": + return printClassProperty(path, options2, print3); + case "TSInterfaceHeritage": + case "TSClassImplements": + case "TSExpressionWithTypeArguments": + // Babel AST + case "TSInstantiationExpression": + return [ + print3("expression"), + print3( + // TODO: Use `typeArguments` only when babel align with TS. + node.typeArguments ? "typeArguments" : "typeParameters" + ) + ]; + case "TSTemplateLiteralType": + return printTemplateLiteral(path, options2, print3); + case "TSNamedTupleMember": + return printNamedTupleMember(path, options2, print3); + case "TSRestType": + return printRestType(path, options2, print3); + case "TSOptionalType": + return [print3("typeAnnotation"), "?"]; + case "TSInterfaceDeclaration": + return printInterface(path, options2, print3); + case "TSTypeParameterDeclaration": + case "TSTypeParameterInstantiation": + return printTypeParameters(path, options2, print3, "params"); + case "TSTypeParameter": + return printTypeParameter(path, options2, print3); + case "TSAsExpression": + case "TSSatisfiesExpression": + return printBinaryCastExpression(path, options2, print3); + case "TSArrayType": + return printArrayType(print3); + case "TSPropertySignature": + return [ + node.readonly ? "readonly " : "", + printPropertyKey(path, options2, print3), + printOptionalToken(path), + printTypeAnnotationProperty(path, print3) + ]; + case "TSParameterProperty": + return [ + printTypeScriptAccessibilityToken(node), + node.static ? "static " : "", + node.override ? "override " : "", + node.readonly ? "readonly " : "", + print3("parameter") + ]; + case "TSTypeQuery": + return printTypeQuery(path, print3); + case "TSIndexSignature": { + const trailingComma = node.parameters.length > 1 ? ifBreak(shouldPrintComma(options2) ? "," : "") : ""; + const parametersGroup = group([ + indent([ + softline, + join([", ", softline], path.map(print3, "parameters")) + ]), + trailingComma, + softline + ]); + const isClassMember = path.parent.type === "ClassBody" && path.key === "body"; + return [ + // `static` only allowed in class member + isClassMember && node.static ? "static " : "", + node.readonly ? "readonly " : "", + "[", + node.parameters ? parametersGroup : "", + "]", + printTypeAnnotationProperty(path, print3), + isClassMember ? semi : "" + ]; + } + case "TSTypePredicate": + return printTypePredicate(path, print3); + case "TSNonNullExpression": + return [print3("expression"), "!"]; + case "TSImportType": + return [ + printCallExpression(path, options2, print3), + !node.qualifier ? "" : [".", print3("qualifier")], + printTypeParameters( + path, + options2, + print3, + node.typeArguments ? "typeArguments" : "typeParameters" + ) + ]; + case "TSLiteralType": + return print3("literal"); + case "TSIndexedAccessType": + return printIndexedAccessType(path, options2, print3); + case "TSTypeOperator": + return [node.operator, " ", print3("typeAnnotation")]; + case "TSMappedType": + return printTypeScriptMappedType(path, options2, print3); + case "TSMethodSignature": { + const kind = node.kind && node.kind !== "method" ? `${node.kind} ` : ""; + parts.push( + printTypeScriptAccessibilityToken(node), + kind, + node.computed ? "[" : "", + print3("key"), + node.computed ? "]" : "", + printOptionalToken(path) + ); + const parametersDoc = printFunctionParameters( + path, + options2, + print3, + /* expandArg */ + false, + /* printTypeParams */ + true + ); + const returnTypePropertyName = node.returnType ? "returnType" : "typeAnnotation"; + const returnTypeNode = node[returnTypePropertyName]; + const returnTypeDoc = returnTypeNode ? printTypeAnnotationProperty(path, print3, returnTypePropertyName) : ""; + const shouldGroupParameters = shouldGroupFunctionParameters( + node, + returnTypeDoc + ); + parts.push(shouldGroupParameters ? group(parametersDoc) : parametersDoc); + if (returnTypeNode) { + parts.push(group(returnTypeDoc)); + } + return group(parts); + } + case "TSNamespaceExportDeclaration": + return ["export as namespace ", print3("id"), options2.semi ? ";" : ""]; + case "TSEnumDeclaration": + return printEnumDeclaration(path, print3); + case "TSEnumBody": + return printEnumBody(path, options2, print3); + case "TSEnumMember": + return printEnumMember(path, print3); + case "TSImportEqualsDeclaration": + return [ + node.isExport ? "export " : "", + "import ", + printImportKind( + node, + /* spaceBeforeKind */ + false + ), + print3("id"), + " = ", + print3("moduleReference"), + options2.semi ? ";" : "" + ]; + case "TSExternalModuleReference": + return ["require(", print3("expression"), ")"]; + case "TSModuleDeclaration": { + const { parent } = path; + const parentIsDeclaration = parent.type === "TSModuleDeclaration"; + const bodyIsDeclaration = node.body?.type === "TSModuleDeclaration"; + if (parentIsDeclaration) { + parts.push("."); + } else { + parts.push(printDeclareToken(path)); + if (node.kind !== "global") { + parts.push(node.kind, " "); + } + } + parts.push(print3("id")); + if (bodyIsDeclaration) { + parts.push(print3("body")); + } else if (node.body) { + parts.push(" ", group(print3("body"))); + } else { + parts.push(semi); + } + return parts; + } + case "TSConditionalType": + return printTernary(path, options2, print3); + case "TSInferType": + return printInferType(path, options2, print3); + case "TSIntersectionType": + return printIntersectionType(path, options2, print3); + case "TSUnionType": + return printUnionType(path, options2, print3); + case "TSFunctionType": + case "TSCallSignatureDeclaration": + case "TSConstructorType": + case "TSConstructSignatureDeclaration": + return printFunctionType(path, options2, print3); + case "TSTupleType": + return printArray(path, options2, print3); + case "TSTypeReference": + return [ + print3("typeName"), + printTypeParameters( + path, + options2, + print3, + // TODO: Use `typeArguments` only when babel align with TS. + node.typeArguments ? "typeArguments" : "typeParameters" + ) + ]; + case "TSTypeAnnotation": + return printTypeAnnotation(path, options2, print3); + case "TSEmptyBodyFunctionExpression": + return printMethodValue(path, options2, print3); + // These are not valid TypeScript. Printing them just for the sake of error recovery. + case "TSJSDocAllType": + return "*"; + case "TSJSDocUnknownType": + return "?"; + case "TSJSDocNullableType": + return printJSDocType( + path, + print3, + /* token */ + "?" + ); + case "TSJSDocNonNullableType": + return printJSDocType( + path, + print3, + /* token */ + "!" + ); + case "TSParenthesizedType": + // Removed in `../parse/postprocess.js` + default: + throw new unexpected_node_error_default(node, "TypeScript"); + } +} + +// src/language-js/print/index.js +function printWithoutParentheses(path, options2, print3, args) { + if (is_ignored_default(path)) { + return print_ignored_default(path, options2); + } + for (const printer of [ + printAngular, + printJsx, + printFlow, + printTypescript, + printEstree + ]) { + const doc = printer(path, options2, print3, args); + if (doc !== void 0) { + return doc; + } + } +} +var shouldPrintDirectly = create_type_check_function_default([ + "ClassMethod", + "ClassPrivateMethod", + "ClassProperty", + "ClassAccessorProperty", + "AccessorProperty", + "TSAbstractAccessorProperty", + "PropertyDefinition", + "TSAbstractPropertyDefinition", + "ClassPrivateProperty", + "MethodDefinition", + "TSAbstractMethodDefinition", + "TSDeclareMethod" +]); +function print2(path, options2, print3, args) { + if (path.isRoot) { + options2.__onHtmlBindingRoot?.(path.node, options2); + } + const doc = printWithoutParentheses(path, options2, print3, args); + if (!doc) { + return ""; + } + const { node } = path; + if (shouldPrintDirectly(node)) { + return doc; + } + const hasDecorators = is_non_empty_array_default(node.decorators); + const decoratorsDoc = printDecorators(path, options2, print3); + const isClassExpression = node.type === "ClassExpression"; + if (hasDecorators && !isClassExpression) { + return inheritLabel(doc, (doc2) => group([decoratorsDoc, doc2])); + } + const needsParens2 = needs_parens_default(path, options2); + const needsSemi = shouldPrintLeadingSemicolon(path, options2); + if (!decoratorsDoc && !needsParens2 && !needsSemi) { + return doc; + } + return inheritLabel(doc, (doc2) => [ + needsSemi ? ";" : "", + needsParens2 ? "(" : "", + needsParens2 && isClassExpression && hasDecorators ? [indent([line, decoratorsDoc, doc2]), line] : [decoratorsDoc, doc2], + needsParens2 ? ")" : "" + ]); +} +var print_default = print2; + +// src/language-js/printer.js +var experimentalFeatures = { + // TODO: Make this default behavior + avoidAstMutation: true +}; + +// src/common/common-options.evaluate.js +var common_options_evaluate_default = { + "bracketSpacing": { + "category": "Common", + "type": "boolean", + "default": true, + "description": "Print spaces between brackets.", + "oppositeDescription": "Do not print spaces between brackets." + }, + "objectWrap": { + "category": "Common", + "type": "choice", + "default": "preserve", + "description": "How to wrap object literals.", + "choices": [ + { + "value": "preserve", + "description": "Keep as multi-line, if there is a newline between the opening brace and first property." + }, + { + "value": "collapse", + "description": "Fit to a single line when possible." + } + ] + }, + "singleQuote": { + "category": "Common", + "type": "boolean", + "default": true, + "description": "Use single quotes instead of double quotes." + }, + "proseWrap": { + "category": "Common", + "type": "choice", + "default": "preserve", + "description": "How to wrap prose.", + "choices": [ + { + "value": "always", + "description": "Wrap prose if it exceeds the print width." + }, + { + "value": "never", + "description": "Do not wrap prose." + }, + { + "value": "preserve", + "description": "Wrap prose as-is." + } + ] + }, + "bracketSameLine": { + "category": "Common", + "type": "boolean", + "default": false, + "description": "Put > of opening tags on the last line instead of on a new line." + }, + "singleAttributePerLine": { + "category": "Common", + "type": "boolean", + "default": false, + "description": "Enforce single attribute per line in HTML, Vue and JSX." + } +}; + +// src/language-js/options.js +var CATEGORY_JAVASCRIPT = "JavaScript"; +var options = { + arrowParens: { + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: "avoid", + description: "Include parentheses around a sole arrow function parameter.", + choices: [ + { + value: "always", + description: "Always include parens. Example: `(x) => x`" + }, + { + value: "avoid", + description: "Omit parens when possible. Example: `x => x`" + } + ] + }, + bracketSameLine: common_options_evaluate_default.bracketSameLine, + objectWrap: common_options_evaluate_default.objectWrap, + bracketSpacing: common_options_evaluate_default.bracketSpacing, + jsxBracketSameLine: { + category: CATEGORY_JAVASCRIPT, + type: "boolean", + description: "Put > on the last line instead of at a new line.", + deprecated: "2.4.0" + }, + semi: { + category: CATEGORY_JAVASCRIPT, + type: "boolean", + default: true, + description: "Print semicolons.", + oppositeDescription: "Do not print semicolons, except at the beginning of lines which may need them." + }, + experimentalOperatorPosition: { + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: "end", + description: "Where to print operators when binary expressions wrap lines.", + choices: [ + { + value: "start", + description: "Print operators at the start of new lines." + }, + { + value: "end", + description: "Print operators at the end of previous lines." + } + ] + }, + experimentalTernaries: { + category: CATEGORY_JAVASCRIPT, + type: "boolean", + default: false, + description: "Use curious ternaries, with the question mark after the condition.", + oppositeDescription: "Default behavior of ternaries; keep question marks on the same line as the consequent." + }, + singleQuote: common_options_evaluate_default.singleQuote, + jsxSingleQuote: { + category: CATEGORY_JAVASCRIPT, + type: "boolean", + default: true, + description: "Use single quotes in JSX." + }, + quoteProps: { + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: "as-needed", + description: "Change when properties in objects are quoted.", + choices: [ + { + value: "as-needed", + description: "Only add quotes around object properties where required." + }, + { + value: "consistent", + description: "If at least one property in an object requires quotes, quote all properties." + }, + { + value: "preserve", + description: "Respect the input use of quotes in object properties." + } + ] + }, + trailingComma: { + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: "none", + description: "Print trailing commas wherever possible when multi-line.", + choices: [ + { + value: "all", + description: "Trailing commas wherever possible (including function arguments)." + }, + { + value: "es5", + description: "Trailing commas where valid in ES5 (objects, arrays, etc.)" + }, + { value: "none", description: "No trailing commas." } + ] + }, + singleAttributePerLine: common_options_evaluate_default.singleAttributePerLine +}; +var options_default = options; + +// packages/plugin-oxc/languages.evaluate.js +var languages_evaluate_default = [ + { + "name": "JavaScript", + "type": "programming", + "aceMode": "javascript", + "extensions": [ + ".js", + "._js", + ".bones", + ".cjs", + ".es", + ".es6", + ".gs", + ".jake", + ".javascript", + ".jsb", + ".jscad", + ".jsfl", + ".jslib", + ".jsm", + ".jspre", + ".jss", + ".mjs", + ".njs", + ".pac", + ".sjs", + ".ssjs", + ".xsjs", + ".xsjslib", + ".start.frag", + ".end.frag", + ".wxs" + ], + "filenames": [ + "Jakefile", + "start.frag", + "end.frag" + ], + "tmScope": "source.js", + "aliases": [ + "js", + "node" + ], + "codemirrorMode": "javascript", + "codemirrorMimeType": "text/javascript", + "interpreters": [ + "chakra", + "d8", + "gjs", + "js", + "node", + "nodejs", + "qjs", + "rhino", + "v8", + "v8-shell", + "zx" + ], + "parsers": [ + "oxc", + "oxc-ts" + ], + "vscodeLanguageIds": [ + "javascript", + "mongo" + ], + "linguistLanguageId": 183 + }, + { + "name": "JSX", + "type": "programming", + "aceMode": "javascript", + "extensions": [ + ".jsx" + ], + "filenames": void 0, + "tmScope": "source.js.jsx", + "aliases": void 0, + "codemirrorMode": "jsx", + "codemirrorMimeType": "text/jsx", + "interpreters": void 0, + "parsers": [ + "oxc", + "oxc-ts" + ], + "vscodeLanguageIds": [ + "javascriptreact" + ], + "group": "JavaScript", + "linguistLanguageId": 183 + }, + { + "name": "TypeScript", + "type": "programming", + "aceMode": "typescript", + "extensions": [ + ".ts", + ".cts", + ".mts" + ], + "tmScope": "source.ts", + "aliases": [ + "ts" + ], + "codemirrorMode": "javascript", + "codemirrorMimeType": "application/typescript", + "interpreters": [ + "bun", + "deno", + "ts-node", + "tsx" + ], + "parsers": [ + "oxc-ts" + ], + "vscodeLanguageIds": [ + "typescript" + ], + "linguistLanguageId": 378 + }, + { + "name": "TSX", + "type": "programming", + "aceMode": "tsx", + "extensions": [ + ".tsx" + ], + "tmScope": "source.tsx", + "codemirrorMode": "jsx", + "codemirrorMimeType": "text/typescript-jsx", + "group": "TypeScript", + "parsers": [ + "oxc-ts" + ], + "vscodeLanguageIds": [ + "typescriptreact" + ], + "linguistLanguageId": 94901924 + } +]; + +// packages/plugin-oxc/index.js +var AST_FORMAT = "estree-oxc"; +var parsers = Object.fromEntries( + Object.entries(oxc_exports).map(([name, parser]) => [ + name, + { ...parser, astFormat: AST_FORMAT } + ]) +); +var printers = { + [AST_FORMAT]: printer_exports +}; + +// with-default-export:packages/plugin-oxc/index.js +var plugin_oxc_default = index_exports; +export { + plugin_oxc_default as default, + languages_evaluate_default as languages, + options_default as options, + parsers, + printers +}; diff --git a/dist/plugin-oxc/package.json b/dist/plugin-oxc/package.json new file mode 100644 index 000000000000..68b5a594371a --- /dev/null +++ b/dist/plugin-oxc/package.json @@ -0,0 +1,40 @@ +{ + "name": "@prettier/plugin-oxc", + "version": "0.0.4", + "description": "Prettier Oxc plugin.", + "exports": { + ".": { + "types": "./index.d.ts", + "default": "./index.mjs" + }, + "./*": "./*" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/prettier/prettier.git", + "directory": "packages/plugin-oxc" + }, + "funding": "https://github.com/prettier/prettier?sponsor=1", + "homepage": "https://github.com/prettier/prettier/tree/main/packages/plugin-oxc", + "author": "fisker Cheung ", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "type": "commonjs", + "files": [ + "LICENSE", + "README.md", + "THIRD-PARTY-NOTICES.md", + "index.d.ts", + "index.mjs", + "package.json" + ], + "dependencies": { + "oxc-parser": "0.91.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/dist/prettier/LICENSE b/dist/prettier/LICENSE new file mode 100644 index 000000000000..5767e34d30ab --- /dev/null +++ b/dist/prettier/LICENSE @@ -0,0 +1,7 @@ +Copyright © James Long and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dist/prettier/README.md b/dist/prettier/README.md new file mode 100644 index 000000000000..2297b58e4243 --- /dev/null +++ b/dist/prettier/README.md @@ -0,0 +1,104 @@ +[![Prettier Banner](https://unpkg.com/prettier-logo@1.0.3/images/prettier-banner-light.svg)](https://prettier.io) + +

Opinionated Code Formatter

+ +

+ + JavaScript + · TypeScript + · Flow + · JSX + · JSON + +
+ + CSS + · SCSS + · Less + +
+ + HTML + · Vue + · Angular + +
+ + GraphQL + · Markdown + · YAML + +
+ + + Your favorite language? + + +

+ +

+ + CI Status + + Coverage Status + + Blazing Fast +
+ + npm version + + weekly downloads from npm + + code style: prettier + + Follow Prettier on X +

+ +## Intro + +Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary. + +### Input + + +```js +foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne()); +``` + +### Output + +```js +foo( + reallyLongArg(), + omgSoManyParameters(), + IShouldRefactorThis(), + isThereSeriouslyAnotherOne(), +); +``` + +Prettier can be run [in your editor](https://prettier.io/docs/editors) on-save, in a [pre-commit hook](https://prettier.io/docs/precommit), or in [CI environments](https://prettier.io/docs/cli#list-different) to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again! + +--- + +**[Documentation](https://prettier.io/docs/)** + +[Install](https://prettier.io/docs/install) · +[Options](https://prettier.io/docs/options) · +[CLI](https://prettier.io/docs/cli) · +[API](https://prettier.io/docs/api) + +**[Playground](https://prettier.io/playground/)** + +--- + +## Badge + +Show the world you're using _Prettier_ → [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) + +```md +[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/dist/prettier/THIRD-PARTY-NOTICES.md b/dist/prettier/THIRD-PARTY-NOTICES.md new file mode 100644 index 000000000000..35efbfa93799 --- /dev/null +++ b/dist/prettier/THIRD-PARTY-NOTICES.md @@ -0,0 +1,5900 @@ +# Licenses of bundled dependencies + +The published Prettier artifact additionally contains code with the following licenses: +MIT, ISC, BSD-3-Clause, BSD-2-Clause, and Apache-2.0. + +## @angular/compiler@v20.3.1 + +> Angular - the compiler library + +License: MIT +Repository: +Author: angular + +> The MIT License +> +> Copyright (c) 2010-2025 Google LLC. https://angular.dev/license +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## @babel/code-frame@v7.27.1 + +> Generate errors that contain a code frame that point to source locations. + +License: MIT +Homepage: +Repository: +Author: The Babel Team (https://babel.dev/team) + +> MIT License +> +> Copyright (c) 2014-present Sebastian McKenzie and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## @babel/helper-validator-identifier@v7.27.1 + +> Validate identifier/keywords name + +License: MIT +Repository: +Author: The Babel Team (https://babel.dev/team) + +> MIT License +> +> Copyright (c) 2014-present Sebastian McKenzie and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## @babel/parser@v7.28.4 + +> A JavaScript parser + +License: MIT +Homepage: +Repository: +Author: The Babel Team (https://babel.dev/team) + +> Copyright (C) 2012-2014 by various contributors (see AUTHORS) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## @cacheable/memoize@v2.0.2 + +> Memoization utilities for cacheable + +License: MIT +Repository: +Author: Jared Wray + +> MIT License & © Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## @cacheable/memory@v2.0.2 + +> High Performance In-Memory Cache for Node.js + +License: MIT +Repository: +Author: Jared Wray + +> MIT License & © Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## @cacheable/utils@v2.0.2 + +> Cacheable Utilities for Caching Libraries + +License: MIT +Repository: +Author: Jared Wray + +> MIT License & © Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## @glimmer/syntax@v0.95.0 + +License: MIT +Repository: + +> Copyright (c) 2015 Tilde, Inc. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @glimmer/util@v0.94.8 + +> Common utilities used in Glimmer + +License: MIT +Repository: + +> Copyright (c) 2015 Tilde, Inc. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @glimmer/wire-format@v0.94.8 + +License: MIT +Repository: + +> Copyright (c) 2015 Tilde, Inc. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @handlebars/parser@v2.2.1 + +> The parser for the Handlebars language + +License: ISC +Homepage: +Repository: + +---------------------------------------- + +## @keyv/serialize@v1.1.1 + +> Serialization for Keyv + +License: MIT +Homepage: +Repository: +Author: Jared Wray (https://jaredwray.com) + +> MIT License +> +> Copyright (c) 2017-2021 Luke Childs +> Copyright (c) 2021-2022 Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @nodelib/fs.scandir@v2.1.5 + +> List files and directories inside the specified directory + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) Denis Malinochkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @nodelib/fs.stat@v2.0.5 + +> Get the status of a file with some features + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) Denis Malinochkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @nodelib/fs.walk@v1.2.8 + +> A library for efficiently walking a directory recursively + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) Denis Malinochkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @prettier/cli@v0.9.0 + +> A faster CLI for Prettier. + +License: MIT + +> Copyright © James Long and contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## @prettier/html-event-attributes@v0.0.1 + +> List of HTML event handler attributes. + +License: MIT +Author: fisker (https://fiskercheung.com) + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @prettier/parse-srcset@v3.1.0 + +> A spec-conformant JavaScript parser for the HTML5 srcset attribute + +License: MIT +Homepage: +Author: Alex Bell + +> The MIT License (MIT) +> +> Copyright (c) 2014 Alex Bell +> Copyright (c) fisker Cheung +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @typescript-eslint/types@v8.44.1 + +> Types for the TypeScript-ESTree AST spec + +License: MIT +Homepage: +Repository: + +> MIT License +> +> Copyright (c) 2019 typescript-eslint and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## @typescript-eslint/typescript-estree@v8.44.1 + +> A parser that converts TypeScript source code into an ESTree compatible form + +License: MIT +Homepage: +Repository: + +> MIT License +> +> Copyright (c) 2019 typescript-eslint and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## acorn@v8.15.0 + +> ECMAScript parser + +License: MIT +Homepage: +Repository: + +> MIT License +> +> Copyright (C) 2012-2022 by various contributors (see AUTHORS) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## acorn-jsx@v5.3.2 + +> Modern, fast React.js JSX parser + +License: MIT +Homepage: +Repository: + +> Copyright (C) 2012-2017 by Ingvar Stepanyan +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## angular-estree-parser@v13.0.2 + +> A parser that converts Angular source code into an ESTree-compatible form + +License: MIT +Homepage: +Author: Ika (https://github.com/ikatyang) + +> MIT License +> +> Copyright (c) Ika (https://github.com/ikatyang) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## angular-html-parser@v8.1.0 + +> A HTML parser extracted from Angular with some modifications + +License: MIT +Homepage: +Author: Ika (https://github.com/ikatyang) + +> MIT License +> +> Copyright (c) Ika (https://github.com/ikatyang) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## ansi-purge@v1.1.0 + +> A tiny function for deleting ANSI escape sequences from a string. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## ansi-regex@v6.2.2 + +> Regular expression for matching ANSI escape codes + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## ansi-truncate@v1.4.0 + +> A tiny function for truncating a string that may contain ANSI escape sequences. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## atomically@v2.0.3 + +> Read and write files atomically and reliably. + + +> The MIT License (MIT) +> +> Copyright (c) 2020-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## bail@v1.0.5 + +> Throw a given error + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## binary-extensions@v2.3.0 + +> List of binary file extensions + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> Copyright (c) Paul Miller (https://paulmillr.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## braces@v3.0.3 + +> Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Brian Woodward (https://twitter.com/doowb) + - Elan Shanker (https://github.com/es128) + - Eugene Sharygin (https://github.com/eush77) + - hemanth.hm (http://h3manth.com) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + +> The MIT License (MIT) +> +> Copyright (c) 2014-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## cacheable@v2.0.2 + +> High Performance Layer 1 / Layer 2 Caching with Keyv Storage + +License: MIT +Repository: +Author: Jared Wray + +> MIT License & © Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## camelcase@v8.0.0 + +> Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar` + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## ccount@v1.1.0 + +> Count characters + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## character-entities@v1.2.4 + +> HTML character entity information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## character-entities-legacy@v1.1.4 + +> HTML legacy character entity information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## character-reference-invalid@v1.1.4 + +> HTML invalid numeric character reference information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## ci-info@v4.3.0 + +> Get details about the current Continuous Integration environment + +License: MIT +Homepage: +Author: Thomas Watson Steen (https://twitter.com/wa7son) +Contributors: + - Sibiraj (https://github.com/sibiraj-s) + +> The MIT License (MIT) +> +> Copyright (c) 2016 Thomas Watson Steen +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## collapse-white-space@v1.0.6 + +> Replace multiple white-space characters with a single space + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## common-path-prefix@v3.0.0 + +> Computes the longest prefix string that is common to each path, excluding the base component + +License: ISC +Homepage: +Repository: +Author: Mark Wubben (https://novemberborn.net/) + +> ISC License (ISC) +> Copyright (c) 2016, Mark Wubben +> +> Permission to use, copy, modify, and/or distribute this software for any purpose +> with or without fee is hereby granted, provided that the above copyright notice +> and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +> OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +> TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +> THIS SOFTWARE. + +---------------------------------------- + +## dashify@v2.0.0 + +> Convert a camelcase or space-separated string to a dash-separated string. ~12 sloc, fast, supports diacritics. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Jeffrey Priebe (https://github.com/jeffreypriebe) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Ondrej Brinkel (https://www.anzui.de) + +> The MIT License (MIT) +> +> Copyright (c) 2015-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## deno-path-from-file-url@v0.0.4 + +> Convert file URLs to paths. + +License: MIT +Homepage: +Author: fisker Cheung (https://www.fiskercheung.com/) + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## dettle@v1.0.5 + +> A tiny fully-featured debounce and throttle implementation. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## diff@v8.0.2 + +> A JavaScript text diff implementation. + +License: BSD-3-Clause +Repository: + +> BSD 3-Clause License +> +> Copyright (c) 2009-2015, Kevin Decker +> All rights reserved. +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions are met: +> +> 1. Redistributions of source code must retain the above copyright notice, this +> list of conditions and the following disclaimer. +> +> 2. Redistributions in binary form must reproduce the above copyright notice, +> this list of conditions and the following disclaimer in the documentation +> and/or other materials provided with the distribution. +> +> 3. Neither the name of the copyright holder nor the names of its +> contributors may be used to endorse or promote products derived from +> this software without specific prior written permission. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------- + +## editorconfig@v0.15.3 + +> EditorConfig File Locator and Interpreter for Node.js + +License: MIT +Repository: +Author: EditorConfig Team +Contributors: + - Hong Xu (topbug.net) + - Jed Mao (https://github.com/jedmao/) + - Trey Hunner (http://treyhunner.com) + +> Copyright © 2012 EditorConfig Team +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the “Software”), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## emoji-regex@v10.5.0 + +> A regular expression to match all Emoji-only symbols as per the Unicode Standard. + +License: MIT +Homepage: +Repository: +Author: Mathias Bynens (https://mathiasbynens.be/) + +> Copyright Mathias Bynens +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## escape-string-regexp@v5.0.0 + +> Escape RegExp special characters + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## espree@v10.4.0 + +> An Esprima-compatible JavaScript parser built on Acorn + +License: BSD-2-Clause +Homepage: +Repository: +Author: Nicholas C. Zakas + +> BSD 2-Clause License +> +> Copyright (c) Open JS Foundation +> All rights reserved. +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions are met: +> +> 1. Redistributions of source code must retain the above copyright notice, this +> list of conditions and the following disclaimer. +> +> 2. Redistributions in binary form must reproduce the above copyright notice, +> this list of conditions and the following disclaimer in the documentation +> and/or other materials provided with the distribution. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------- + +## extend@v3.0.2 + +> Port of jQuery.extend for node.js and the browser + +License: MIT +Repository: +Author: Stefan Thomas (http://www.justmoon.net) +Contributors: + - Jordan Harband (https://github.com/ljharb) + +> The MIT License (MIT) +> +> Copyright (c) 2014 Stefan Thomas +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## fast-glob@v3.3.3 + +> It's a very fast and efficient glob library for Node.js + +License: MIT +Author: Denis Malinochkin (https://mrmlnc.com) + +> The MIT License (MIT) +> +> Copyright (c) Denis Malinochkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## fast-ignore@v1.1.3 + +> A fast parser and processor for .gitignore files. + + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## fast-json-stable-stringify@v2.1.0 + +> deterministic `JSON.stringify()` - a faster version of substack's json-stable-strigify without jsonify + +License: MIT +Homepage: +Repository: +Author: James Halliday (http://substack.net) + +> This software is released under the MIT license: +> +> Copyright (c) 2017 Evgeny Poberezkin +> Copyright (c) 2013 James Halliday +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## fast-string-truncated-width@v3.0.1 + +> A fast function for calculating where a string should be truncated, given an optional width limit and an ellipsis string. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## fast-string-width@v3.0.1 + +> A fast function for calculating the visual width of a string once printed to the terminal. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## fastq@v1.19.1 + +> Fast, in memory work queue + +License: ISC +Homepage: +Repository: +Author: Matteo Collina + +> Copyright (c) 2015-2020, Matteo Collina +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## file-entry-cache@v10.1.4 + +> A lightweight cache for file metadata, ideal for processes that work on a specific set of files and only need to reprocess files that have changed since the last run + +License: MIT +Repository: +Author: Jared Wray + +> MIT License & © Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## fill-range@v7.1.1 + +> Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex` + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Edo Rivai (edo.rivai.nl) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Paul Miller (paulmillr.com) + - Rouven Weßling (www.rouvenwessling.de) + - null (https://github.com/wtgtybhertgeghgtwtg) + +> The MIT License (MIT) +> +> Copyright (c) 2014-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## find-cache-directory@v6.0.0 + +> Finds the common standard cache directory + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> Copyright (c) James Talmage (https://github.com/jamestalmage) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## find-in-directory@v3.0.0 + +> Find file or directory by names in a directory. + +License: MIT +Homepage: +Author: fisker Cheung (https://www.fiskercheung.com/) + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## find-up-json@v2.0.5 + +> Find, read and parse the first matching file found walking the filesystem upwards. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2021-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## find-up-path@v1.0.1 + +> Find the path of the first file matching a given name, walking the filesystem upwards. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## find-up-simple@v1.0.1 + +> Find a file or directory by walking up parent directories — Zero dependencies + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## flat-cache@v6.1.14 + +> A simple key/value storage using files to persist the data + +License: MIT +Repository: +Author: Jared Wray + +> MIT License & © Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## flatted@v3.3.3 + +> A super light and fast circular JSON parser. + +License: ISC +Homepage: +Repository: +Author: Andrea Giammarchi + +> ISC License +> +> Copyright (c) 2018-2020, Andrea Giammarchi, @WebReflection +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +> AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +> OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +> PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## flatten@v1.0.3 + +> Flatten arbitrarily nested arrays into a non-nested list of non-array items. Maintained for legacy compatibility. + +License: MIT +Homepage: +Repository: +Author: Joshua Holbrook (http://jesusabdullah.net) +Contributors: + - M.K. (https://github.com/mk-pmb) + +> The MIT License (MIT) +> +> Copyright (c) 2016 Joshua Holbrook +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## flow-parser@v0.285.0 + +> JavaScript parser written in OCaml. Produces ESTree AST + +License: MIT +Homepage: +Repository: +Author: Flow Team + +---------------------------------------- + +## function-once@v3.0.1 + +> Wraps a function so that it's only ever executed once. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2021-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## get-current-package@v1.0.1 + +> Get the package.json of the currently executing bin. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## get-east-asian-width@v1.4.0 + +> Determine the East Asian Width of a Unicode character + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## get-stdin@v9.0.0 + +> Get stdin as a string or buffer + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## glob-parent@v5.1.2 + +> Extract the non-magic parent path from a glob string. + +License: ISC +Author: Gulp Team (https://gulpjs.com/) +Contributors: + - Elan Shanker (https://github.com/es128) + - Blaine Bublitz + +> The ISC License +> +> Copyright (c) 2015, 2019 Elan Shanker +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## grammex@v3.1.10 + +> A tiny, PEG-like system for building language grammars with regexes. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## graphql@v16.11.0 + +> A Query Language and Runtime which can target any service. + +License: MIT +Homepage: +Repository: + +> MIT License +> +> Copyright (c) GraphQL Contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## hookified@v1.12.1 + +> Event Emitting and Middleware Hooks + +License: MIT +Homepage: +Repository: +Author: Jared Wray + +> MIT License & © Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## ignore@v7.0.5 + +> Ignore is a manager and filter for .gitignore rules, the one used by eslint, gitbook and many others. + +License: MIT +Repository: +Author: kael + +> Copyright (c) 2013 Kael Zhang , contributors +> http://kael.me/ +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## import-meta-resolve@v4.2.0 + +> Resolve things like Node.js — ponyfill for `import.meta.resolve` + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +> +> --- +> +> This is a derivative work based on: +> . +> Which is licensed: +> +> """ +> Copyright Node.js contributors. All rights reserved. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +> IN THE SOFTWARE. +> """ +> +> This license applies to parts of Node.js originating from the +> https://github.com/joyent/node repository: +> +> """ +> Copyright Joyent, Inc. and other Node contributors. All rights reserved. +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +> IN THE SOFTWARE. +> """ + +---------------------------------------- + +## index-to-position@v1.1.0 + +> Convert a string index to its line and column position + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## indexes-of@v1.0.1 + +> line String/Array#indexOf but return all the indexes in an array + +License: MIT +Homepage: +Repository: +Author: Dominic Tarr (dominictarr.com) + +> Copyright (c) 2013 Dominic Tarr +> +> Permission is hereby granted, free of charge, +> to any person obtaining a copy of this software and +> associated documentation files (the "Software"), to +> deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, +> merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom +> the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice +> shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## inherits@v2.0.4 + +> Browser-friendly inheritance fully compatible with standard node.js inherits() + +License: ISC + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +> OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +> PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## ini-simple-parser@v1.0.1 + +> A simple, fast and configurable INI parser. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## ionstore@v1.0.1 + +> A very simple isomorphic key-value store with a Map-like API for persisting session data. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-alphabetical@v1.0.4 + +> Check if a character is alphabetical + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-alphanumerical@v1.0.4 + +> Check if a character is alphanumerical + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-binary-path@v2.1.0 + +> Check if a file path is a binary file + +License: MIT +Author: Sindre Sorhus (sindresorhus.com) + +> MIT License +> +> Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-buffer@v2.0.5 + +> Determine if an object is a Buffer + +License: MIT +Repository: +Author: Feross Aboukhadijeh (https://feross.org) + +> The MIT License (MIT) +> +> Copyright (c) Feross Aboukhadijeh +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## is-decimal@v1.0.4 + +> Check if a character is decimal + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-es5-identifier-name@v1.0.0 + +> Check if provided string is an `IdentifierName` as specified in ECMA262 edition 5.1 section 7.6. + +License: MIT +Author: fisker Cheung + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## is-extglob@v2.1.1 + +> Returns true if a string has an extglob. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) + +> The MIT License (MIT) +> +> Copyright (c) 2014-2016, Jon Schlinkert +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## is-glob@v4.0.3 + +> Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Brian Woodward (https://twitter.com/doowb) + - Daniel Perez (https://tuvistavie.com) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + +> The MIT License (MIT) +> +> Copyright (c) 2014-2017, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## is-hexadecimal@v1.0.4 + +> Check if a character is hexadecimal + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-number@v7.0.0 + +> Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Olsten Larck (https://i.am.charlike.online) + - Rouven Weßling (www.rouvenwessling.de) + +> The MIT License (MIT) +> +> Copyright (c) 2014-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## is-plain-obj@v2.1.0 + +> Check if a value is a plain object + +License: MIT +Author: Sindre Sorhus (sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-whitespace-character@v1.0.4 + +> Check if a character is a whitespace character + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## is-word-character@v1.0.4 + +> Check if a character is a word character + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## isoconcurrency@v1.0.0 + +> An isomorphic way to get the number of logical cores available. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2025-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## isotimer@v1.0.0 + +> An isomorphic setImmediate/setInterval/setTimeout implementation. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2025-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## iterate-directory-up@v1.4.0 + +> Iterate directory up. + +License: MIT +Homepage: +Author: fisker Cheung (https://www.fiskercheung.com/) + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## jest-docblock@v30.0.1 + +License: MIT +Repository: + +> MIT License +> +> Copyright (c) Meta Platforms, Inc. and affiliates. +> Copyright Contributors to the Jest project. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## js-tokens@v4.0.0 + +> A regex that tokenizes JavaScript. + +License: MIT +Author: Simon Lydell + +> The MIT License (MIT) +> +> Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## js-yaml@v4.1.0 + +> YAML 1.2 parser and serializer + +License: MIT +Author: Vladimir Zapparov +Contributors: + - Aleksey V Zapparov (http://www.ixti.net/) + - Vitaly Puzrin (https://github.com/puzrin) + - Martin Grenfell (http://got-ravings.blogspot.com) + +> (The MIT License) +> +> Copyright (C) 2011-2015 by Vitaly Puzrin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## json-sorted-stringify@v1.0.2 + +> Alternative JSON.stringify function with sorted keys, so the output is stable. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## json5@v2.2.3 + +> JSON for Humans + +License: MIT +Homepage: +Repository: +Author: Aseem Kishore +Contributors: + - Max Nanasy + - Andrew Eisenberg + - Jordan Tucker + +> MIT License +> +> Copyright (c) 2012-2018 Aseem Kishore, and [others]. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. +> +> [others]: https://github.com/json5/json5/contributors + +---------------------------------------- + +## kasi@v1.1.1 + +> A collection of functions for working with different casings. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## keyv@v5.5.2 + +> Simple key-value storage with support for multiple backends + +License: MIT +Homepage: +Repository: +Author: Jared Wray (http://jaredwray.com) + +> MIT License +> +> Copyright (c) 2017-2021 Luke Childs +> Copyright (c) 2021-2022 Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## leven@v4.1.0 + +> Measure the difference between two strings using the Levenshtein distance algorithm + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## lomemo@v1.0.1 + +> Lodash's memoize function, but in a much smaller package than lodash.memoize's. + +License: MIT + +> The MIT License +> +> Copyright JS Foundation and other contributors +> +> Based on Underscore.js, copyright Jeremy Ashkenas, +> DocumentCloud and Investigative Reporters & Editors +> +> This software consists of voluntary contributions made by many +> individuals. For exact contribution history, see the revision history +> available at https://github.com/lodash/lodash +> +> The following license applies to all parts of this software except as +> documented below: +> +> ==== +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +> +> ==== +> +> Copyright and related rights for sample code are waived via CC0. Sample +> code is defined as all source code displayed within the prose of the +> documentation. +> +> CC0: http://creativecommons.org/publicdomain/zero/1.0/ +> +> ==== +> +> Files located in the node_modules and vendor directories are externally +> maintained libraries used by this software which have their own +> licenses; we recommend you read them, as their terms may differ from the +> terms above. + +---------------------------------------- + +## lru-cache@v4.1.5 + +> A cache object that deletes the least-recently-used items. + +License: ISC +Author: Isaac Z. Schlueter + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## markdown-escapes@v1.0.4 + +> List of escapable characters in markdown + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## merge2@v1.4.1 + +> Merge multiple streams into one stream in sequence or parallel. + +License: MIT +Homepage: +Repository: + +> The MIT License (MIT) +> +> Copyright (c) 2014-2020 Teambition +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## meriyah@v6.1.4 + +> A 100% compliant, self-hosted javascript parser with high focus on both performance and stability + +License: ISC +Homepage: +Repository: +Author: Kenny F. (https://github.com/KFlash) +Contributors: + - Chunpeng Huo (https://github.com/3cp) + +> ISC License +> +> Copyright (c) 2019 and later, KFlash and others. +> +> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## micromatch@v4.0.8 + +> Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - null (https://github.com/DianeLooney) + - Amila Welihinda (amilajack.com) + - Bogdan Chadkin (https://github.com/TrySound) + - Brian Woodward (https://twitter.com/doowb) + - Devon Govett (http://badassjs.com) + - Elan Shanker (https://github.com/es128) + - Fabrício Matté (https://ultcombo.js.org) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Martin Kolárik (https://kolarik.sk) + - Olsten Larck (https://i.am.charlike.online) + - Paul Miller (paulmillr.com) + - Tom Byrer (https://github.com/tomByrer) + - Tyler Akins (http://rumkin.com) + - Peter Bright (https://github.com/drpizza) + - Kuba Juszczyk (https://github.com/ku8ar) + +> The MIT License (MIT) +> +> Copyright (c) 2014-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## minimist@v1.2.8 + +> parse argument options + +License: MIT +Homepage: +Repository: +Author: James Halliday (http://substack.net) + +> This software is released under the MIT license: +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## n-readlines@v1.0.1 + +> Read file line by line without buffering the whole file in memory. + +License: MIT +Repository: +Author: Yoan Arnaudov + +> The MIT License (MIT) +> +> Copyright (c) 2013 Liucw +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## nanoid@v3.3.11 + +> A tiny (116 bytes), secure URL-friendly unique string ID generator + +License: MIT +Author: Andrey Sitnik + +> The MIT License (MIT) +> +> Copyright 2017 Andrey Sitnik +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## parse-entities@v2.0.0 + +> Parse HTML character references: fast, spec-compliant, positional information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## parse-json@v8.3.0 + +> Parse JSON with more helpful errors + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## picocolors@v1.1.1 + +> The tiniest and the fastest library for terminal output formatting with ANSI colors + +License: ISC +Author: Alexey Raspopov + +> ISC License +> +> Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## picomatch@v2.3.1 + +> Blazing fast and accurate glob matcher written in JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) + +> The MIT License (MIT) +> +> Copyright (c) 2017-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## pioppo@v1.2.1 + +> A tiny isomorphic batched logger. ~3x faster than regular logging in Node. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## pkg-dir@v8.0.0 + +> Find the root directory of a Node.js project or npm package + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## postcss@v8.5.6 + +> Tool for transforming styles with JS plugins + +License: MIT +Homepage: +Author: Andrey Sitnik + +> The MIT License (MIT) +> +> Copyright 2013 Andrey Sitnik +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## postcss-less@v6.0.0 + +> LESS parser for PostCSS + +License: MIT +Homepage: +Author: Denys Kniazevych + +> The MIT License (MIT) +> +> Copyright (c) 2013 Andrey Sitnik +> Copyright (c) 2016 Denys Kniazevych +> Copyright (c) 2016 Pat Sissons +> Copyright (c) 2017 Andrew Powell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## postcss-media-query-parser@v0.2.3 + +> A tool for parsing media query lists. + +License: MIT +Homepage: +Repository: +Author: dryoma + +---------------------------------------- + +## postcss-scss@v4.0.9 + +> SCSS parser for PostCSS + +License: MIT +Author: Andrey Sitnik + +> The MIT License (MIT) +> +> Copyright 2013 Andrey Sitnik +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## postcss-selector-parser@v2.2.3 + +License: MIT +Homepage: +Author: Ben Briggs (http://beneb.info) + +> Copyright (c) Ben Briggs (http://beneb.info) +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## postcss-values-parser@v2.0.1 + +> A CSS property value parser for use with PostCSS + +License: MIT +Author: Andrew Powell (shellscape) (http://shellscape.org) + +> Copyright (c) Andrew Powell +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## promise-make-counter@v1.0.2 + +> A simple function that makes a counter-based promise, which can be incremented and decremented, and it resolves once its counter reaches zero. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## promise-make-naked@v3.0.2 + +> A simple function that makes a promise that can be resolved, rejected or introspected from the outside. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2021-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## promise-resolve-timeout@v2.0.1 + +> Create a Promise which will resolve with the provided value after a timeout. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2019-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## pseudomap@v1.0.2 + +> A thing that is a lot like ES6 `Map`, but without iterators, for use in environments where `for..of` syntax and `Map` are not available. + +License: ISC +Homepage: +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## queue-microtask@v1.2.3 + +> fast, tiny `queueMicrotask` shim for modern engines + +License: MIT +Homepage: +Repository: +Author: Feross Aboukhadijeh (https://feross.org) + +> The MIT License (MIT) +> +> Copyright (c) Feross Aboukhadijeh +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## remark-footnotes@v2.0.0 + +> remark plugin to add support for pandoc footnotes + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2020 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## remark-math@v3.0.1 + +> remark plugin to parse and stringify math + +License: MIT +Author: Junyoung Choi (https://rokt33r.github.io) +Contributors: + - Junyoung Choi (https://rokt33r.github.io) + - Titus Wormer (https://wooorm.com) + +---------------------------------------- + +## remark-parse@v8.0.3 + +> remark plugin to parse Markdown + +License: MIT +Homepage: +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Eugene Sharygin + - Junyoung Choi + - Elijah Hamovitz + - Ika + +---------------------------------------- + +## repeat-string@v1.6.1 + +> Repeat the given string n times. Fastest implementation for repeating a string. + +License: MIT +Homepage: +Author: Jon Schlinkert (http://github.com/jonschlinkert) +Contributors: + - Brian Woodward (https://github.com/doowb) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Linus Unnebäck (http://linus.unnebäck.se) + - Thijs Busser (http://tbusser.net) + - Titus (wooorm.com) + +> The MIT License (MIT) +> +> Copyright (c) 2014-2016, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## reusify@v1.1.0 + +> Reuse objects and functions with style + +License: MIT +Homepage: +Repository: +Author: Matteo Collina + +> The MIT License (MIT) +> +> Copyright (c) 2015-2024 Matteo Collina +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## run-parallel@v1.2.0 + +> Run an array of functions in parallel + +License: MIT +Homepage: +Repository: +Author: Feross Aboukhadijeh (https://feross.org) + +> The MIT License (MIT) +> +> Copyright (c) Feross Aboukhadijeh +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## sdbm@v3.0.0 + +> SDBM non-cryptographic hash function + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## search-closest@v1.1.0 + +> Find closest file or directory by names. + +License: MIT +Homepage: +Author: fisker Cheung (https://www.fiskercheung.com/) + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## semver@v7.7.2 + +> The semantic version parser used by npm. + +License: ISC +Repository: +Author: GitHub Inc. + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## sigmund@v1.0.1 + +> Quick and dirty signatures for Objects. + +License: ISC +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## simple-html-tokenizer@v0.5.11 + +> Simple HTML Tokenizer is a lightweight JavaScript library that can be used to tokenize the kind of HTML normally found in templates. + +License: MIT +Repository: + +> Copyright (c) 2014 Yehuda Katz and contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## smol-toml@v1.4.2 + +> A small, fast, and correct TOML parser/serializer + +License: BSD-3-Clause +Author: Cynthia + +> Copyright (c) Squirrel Chat et al., All rights reserved. +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions are met: +> +> 1. Redistributions of source code must retain the above copyright notice, this +> list of conditions and the following disclaimer. +> 2. Redistributions in binary form must reproduce the above copyright notice, +> this list of conditions and the following disclaimer in the +> documentation and/or other materials provided with the distribution. +> 3. Neither the name of the copyright holder nor the names of its contributors +> may be used to endorse or promote products derived from this software without +> specific prior written permission. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +> ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +> WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------- + +## specialist@v1.4.5 + +> A library that helps you write tiny, fast and beautiful CLI apps that can automatically check for updates. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2021-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## state-toggle@v1.0.3 + +> Enter/exit a state + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## stdin-blocker@v2.0.1 + +> A tiny library for blocking stdin keypresses, except for Ctrl+C. Useful while displaying animations. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## string-escape-regex@v1.0.1 + +> A tiny function for escaping a string to be used as the source in a regex. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## strip-ansi@v7.1.2 + +> Strip ANSI escape codes from a string + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## stubborn-fs@v1.2.5 + +> Stubborn versions of Node's fs functions that try really hard to do their job. + + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-bin@v1.11.3 + +> A library for building tiny and beautiful command line apps. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-colors@v2.2.2 + +> A tiny library providing the basic ANSI colors for the terminal. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-cursor@v2.0.1 + +> A tiny library for hiding and showing the cursor in the terminal. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-editorconfig@v1.0.0 + +> A tiny isomorphic parser and resolver for EditorConfig. + + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-levenshtein@v1.1.0 + +> A tiny implementation of the Levenshtein edit distance algorithm. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-parse-argv@v2.8.2 + +> A tiny function for parsing process.argv, a modern rewrite of minimist. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-readdir@v2.7.4 + +> A simple promisified recursive readdir function. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2020-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-readdir-glob@v1.23.2 + +> A simple promisified recursive readdir function, with support for globs. + + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-spinner@v2.0.5 + +> A simple, yet beautiful, CLI spinner. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-truncate@v1.0.5 + +> A tiny function for truncating a string which may containg ANSI escapes, with automatic terminal width detection. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## tiny-updater@v3.5.3 + +> A small update notifier for NPM packages, useful for CLI apps. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2021-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## to-fast-properties@v4.0.0 + +> Force V8 to use fast properties for an object + +License: MIT +Author: Sindre Sorhus (https:/sindresorhus.com) + +> MIT License +> +> Copyright (c) Petka Antonov +> Benjamin Gruenbaum +> John-David Dalton +> Sindre Sorhus +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## to-regex-range@v5.0.1 + +> Pass two numbers, get a regex-compatible source string for matching ranges. Validated against more than 2.78 million test assertions. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Rouven Weßling (www.rouvenwessling.de) + +> The MIT License (MIT) +> +> Copyright (c) 2015-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## trim@v0.0.1 + +> Trim string whitespace + +Author: TJ Holowaychuk + +---------------------------------------- + +## trim-newlines@v5.0.0 + +> Trim newlines from the start and/or end of a string + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## trim-trailing-lines@v1.1.4 + +> Remove final line feeds from a string + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## trough@v1.0.5 + +> Middleware: a channel used to convey a liquid + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## ts-api-utils@v2.1.0 + +> Utility functions for working with TypeScript's API. Successor to the wonderful tsutils. 🛠️️ + +License: MIT +Repository: +Author: JoshuaKGoldberg + +> # MIT License +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## typescript@v5.9.2 + +> TypeScript is a language for application scale JavaScript development + +License: Apache-2.0 +Homepage: +Repository: +Author: Microsoft Corp. + +> Apache License +> +> Version 2.0, January 2004 +> +> http://www.apache.org/licenses/ +> +> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +> +> 1. Definitions. +> +> "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. +> +> "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +> +> "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +> +> "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +> +> "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. +> +> "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +> +> "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). +> +> "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +> +> "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." +> +> "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. +> +> 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +> +> 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +> +> 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +> +> You must give any other recipients of the Work or Derivative Works a copy of this License; and +> +> You must cause any modified files to carry prominent notices stating that You changed the files; and +> +> You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +> +> If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +> +> 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +> +> 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +> +> 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +> +> 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +> +> 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +> +> END OF TERMS AND CONDITIONS + +---------------------------------------- + +## unherit@v1.1.3 + +> Clone a constructor without affecting the super-class + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## unified@v9.2.2 + +> Interface for parsing, inspecting, transforming, and serializing content through syntax trees + +License: MIT +Homepage: +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Junyoung Choi + - Hernan Rajchert + - Christian Murphy + - Vse Mozhet Byt + - Richard Littauer + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## uniq@v1.0.1 + +> Removes duplicates from a sorted array in place + +License: MIT +Repository: +Author: Mikola Lysenko + +> The MIT License (MIT) +> +> Copyright (c) 2013 Mikola Lysenko +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## unist-util-is@v4.1.0 + +> unist utility to check if a node passes a test + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Christian Murphy + - Lucas Brandstaetter (https://github.com/Roang-zero1) + +> (The MIT license) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## unist-util-remove-position@v2.0.1 + +> unist utility to remove positions from a tree + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## unist-util-stringify-position@v2.0.3 + +> unist utility to serialize a node, position, or point as a human readable location + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## unist-util-visit@v2.0.3 + +> unist utility to visit nodes + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Eugene Sharygin + - Richard Gibson + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## unist-util-visit-parents@v3.1.1 + +> unist utility to recursively walk over nodes, with ancestral information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## url-or-path@v2.6.1 + +> Convert between file URL and path. + +License: MIT +Homepage: +Author: fisker Cheung (https://www.fiskercheung.com/) + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## vfile@v4.2.1 + +> Virtual file format for text processing + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Brendan Abbott + - Denys Dovhan + - Kyle Mathews + - Shinnosuke Watanabe + - Sindre Sorhus + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## vfile-location@v3.2.0 + +> vfile utility to convert between positional (line and column-based) and offset (range-based) locations + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Christian Murphy + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## vfile-message@v2.0.4 + +> vfile utility to create a virtual message + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2017 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## vnopts@v2.0.3 + +> validate and normalize options + +License: MIT +Homepage: +Author: Ika (https://github.com/ikatyang) + +> MIT License +> +> Copyright (c) Ika (https://github.com/ikatyang) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## wcwidth.js@v2.0.0 + +> a javascript porting of C's wcwidth() + +License: MIT +Homepage: +Repository: +Author: Woong Jun (http://code.woong.org/) +Contributors: + - Tim Oxley (http://campjs.com/) + +> wcwidth.js: a javascript portng of C's wcwidth() +> ================================================ +> +> Copyright (C) 2012-2014 by Woong Jun and Tim Oxley. +> +> This package is a javascript porting of `wcwidth()` implementation +> [by Markus Kuhn](http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c). +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> +> THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +> INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR +> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +> EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +> OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +> INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +> CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +> IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +> OF SUCH DAMAGE. + +---------------------------------------- + +## webworker-shim@v1.1.4 + +> A tiny shim for WebWorker (data URI only) that works in Node. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## when-exit@v2.1.4 + +> Execute a function right before the process, or the browser's tab, is about to exit. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2022-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## worktank@v3.0.2 + +> A simple isomorphic library for executing functions inside WebWorkers or Node Threads pools. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2021-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## xtend@v4.0.2 + +> extend like a boss + +License: MIT +Homepage: +Author: Raynos +Contributors: + - Jake Verbaten + - Matt Esch + +> The MIT License (MIT) +> Copyright (c) 2012-2014 Raynos. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +## yallist@v2.1.2 + +> Yet Another Linked List + +License: ISC +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +## yaml@v1.10.2 + +> JavaScript parser and stringifier for YAML + +License: ISC +Homepage: +Author: Eemeli Aro + +> Copyright 2018 Eemeli Aro +> +> Permission to use, copy, modify, and/or distribute this software for any purpose +> with or without fee is hereby granted, provided that the above copyright notice +> and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +> OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +> TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +> THIS SOFTWARE. + +---------------------------------------- + +## yaml-unist-parser@v2.0.5 + +> A YAML parser that produces output compatible with unist + +License: MIT +Homepage: +Author: Ika (https://github.com/ikatyang) + +> MIT License +> +> Copyright (c) Ika (https://github.com/ikatyang) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +## zeptomatch@v2.0.2 + +> An absurdly small glob matcher that packs a punch. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2023-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## zeptomatch-escape@v1.0.1 + +> A little utility for escaping globs before passing them to zeptomatch. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## zeptomatch-explode@v1.0.1 + +> A little utility for exploding a zeptomatch-flavored glob into its dynamic and static parts. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## zeptomatch-is-static@v1.0.1 + +> A little utility for checking if a glob is fully static. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +## zeptomatch-unescape@v1.0.1 + +> A little utility for removing escape sequences from a glob. + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. diff --git a/dist/prettier/bin/prettier.cjs b/dist/prettier/bin/prettier.cjs new file mode 100755 index 000000000000..5e6cdabf624c --- /dev/null +++ b/dist/prettier/bin/prettier.cjs @@ -0,0 +1,26 @@ +#!/usr/bin/env node +"use strict"; + +// bin/prettier.cjs +var nodeModule = require("module"); +if (typeof nodeModule.enableCompileCache === "function") { + nodeModule.enableCompileCache(); +} +var dynamicImport = new Function("module", "return import(module)"); +var promise; +var index = process.argv.indexOf("--experimental-cli"); +if (process.env.PRETTIER_EXPERIMENTAL_CLI || index !== -1) { + if (index !== -1) { + process.argv.splice(index, 1); + } + promise = dynamicImport("../internal/experimental-cli.mjs").then( + function(cli) { + return cli.__promise; + } + ); +} else { + promise = dynamicImport("../internal/legacy-cli.mjs").then(function runCli(cli) { + return cli.run(); + }); +} +module.exports.__promise = promise; diff --git a/dist/prettier/doc.d.ts b/dist/prettier/doc.d.ts new file mode 100644 index 000000000000..50117757c42a --- /dev/null +++ b/dist/prettier/doc.d.ts @@ -0,0 +1,254 @@ +// https://github.com/prettier/prettier/blob/next/src/document/public.js +export namespace builders { + type DocCommand = + | Align + | BreakParent + | Cursor + | Fill + | Group + | IfBreak + | Indent + | IndentIfBreak + | Label + | Line + | LineSuffix + | LineSuffixBoundary + | Trim; + type Doc = string | Doc[] | DocCommand; + + interface Align { + type: "align"; + contents: Doc; + n: number | string | { type: "root" }; + } + + interface BreakParent { + type: "break-parent"; + } + + interface Cursor { + type: "cursor"; + placeholder: symbol; + } + + interface Fill { + type: "fill"; + parts: Doc[]; + } + + interface Group { + type: "group"; + id?: symbol; + contents: Doc; + break: boolean; + expandedStates: Doc[]; + } + + interface HardlineWithoutBreakParent extends Line { + hard: true; + } + + interface IfBreak { + type: "if-break"; + breakContents: Doc; + flatContents: Doc; + } + + interface Indent { + type: "indent"; + contents: Doc; + } + + interface IndentIfBreak { + type: "indent-if-break"; + } + + interface Label { + type: "label"; + label: any; + contents: Doc; + } + + interface Line { + type: "line"; + soft?: boolean | undefined; + hard?: boolean | undefined; + literal?: boolean | undefined; + } + + interface LineSuffix { + type: "line-suffix"; + contents: Doc; + } + + interface LineSuffixBoundary { + type: "line-suffix-boundary"; + } + + interface LiterallineWithoutBreakParent extends Line { + hard: true; + literal: true; + } + + type LiteralLine = [LiterallineWithoutBreakParent, BreakParent]; + + interface Softline extends Line { + soft: true; + } + + type Hardline = [HardlineWithoutBreakParent, BreakParent]; + + interface Trim { + type: "trim"; + } + + interface GroupOptions { + shouldBreak?: boolean | undefined; + id?: symbol | undefined; + } + + function addAlignmentToDoc(doc: Doc, size: number, tabWidth: number): Doc; + + /** @see [align](https://github.com/prettier/prettier/blob/main/commands.md#align) */ + function align(widthOrString: Align["n"], doc: Doc): Align; + + /** @see [breakParent](https://github.com/prettier/prettier/blob/main/commands.md#breakparent) */ + const breakParent: BreakParent; + + /** @see [conditionalGroup](https://github.com/prettier/prettier/blob/main/commands.md#conditionalgroup) */ + function conditionalGroup(alternatives: Doc[], options?: GroupOptions): Group; + + /** @see [dedent](https://github.com/prettier/prettier/blob/main/commands.md#dedent) */ + function dedent(doc: Doc): Align; + + /** @see [dedentToRoot](https://github.com/prettier/prettier/blob/main/commands.md#dedenttoroot) */ + function dedentToRoot(doc: Doc): Align; + + /** @see [fill](https://github.com/prettier/prettier/blob/main/commands.md#fill) */ + function fill(docs: Doc[]): Fill; + + /** @see [group](https://github.com/prettier/prettier/blob/main/commands.md#group) */ + function group(doc: Doc, opts?: GroupOptions): Group; + + /** @see [hardline](https://github.com/prettier/prettier/blob/main/commands.md#hardline) */ + const hardline: Hardline; + + /** @see [hardlineWithoutBreakParent](https://github.com/prettier/prettier/blob/main/commands.md#hardlinewithoutbreakparent-and-literallinewithoutbreakparent) */ + const hardlineWithoutBreakParent: HardlineWithoutBreakParent; + + /** @see [ifBreak](https://github.com/prettier/prettier/blob/main/commands.md#ifbreak) */ + function ifBreak( + ifBreak: Doc, + noBreak?: Doc, + options?: { groupId?: symbol | undefined }, + ): IfBreak; + + /** @see [indent](https://github.com/prettier/prettier/blob/main/commands.md#indent) */ + function indent(doc: Doc): Indent; + + /** @see [indentIfBreak](https://github.com/prettier/prettier/blob/main/commands.md#indentifbreak) */ + function indentIfBreak( + doc: Doc, + opts: { groupId: symbol; negate?: boolean | undefined }, + ): IndentIfBreak; + + /** @see [join](https://github.com/prettier/prettier/blob/main/commands.md#join) */ + function join(sep: Doc, docs: Doc[]): Doc[]; + + /** @see [label](https://github.com/prettier/prettier/blob/main/commands.md#label) */ + function label(label: any | undefined, contents: Doc): Doc; + + /** @see [line](https://github.com/prettier/prettier/blob/main/commands.md#line) */ + const line: Line; + + /** @see [lineSuffix](https://github.com/prettier/prettier/blob/main/commands.md#linesuffix) */ + function lineSuffix(suffix: Doc): LineSuffix; + + /** @see [lineSuffixBoundary](https://github.com/prettier/prettier/blob/main/commands.md#linesuffixboundary) */ + const lineSuffixBoundary: LineSuffixBoundary; + + /** @see [literalline](https://github.com/prettier/prettier/blob/main/commands.md#literalline) */ + const literalline: LiteralLine; + + /** @see [literallineWithoutBreakParent](https://github.com/prettier/prettier/blob/main/commands.md#hardlinewithoutbreakparent-and-literallinewithoutbreakparent) */ + const literallineWithoutBreakParent: LiterallineWithoutBreakParent; + + /** @see [markAsRoot](https://github.com/prettier/prettier/blob/main/commands.md#markasroot) */ + function markAsRoot(doc: Doc): Align; + + /** @see [softline](https://github.com/prettier/prettier/blob/main/commands.md#softline) */ + const softline: Softline; + + /** @see [trim](https://github.com/prettier/prettier/blob/main/commands.md#trim) */ + const trim: Trim; + + /** @see [cursor](https://github.com/prettier/prettier/blob/main/commands.md#cursor) */ + const cursor: Cursor; +} + +export namespace printer { + function printDocToString( + doc: builders.Doc, + options: Options, + ): { + formatted: string; + /** + * This property is a misnomer, and has been since the changes in + * https://github.com/prettier/prettier/pull/15709. + * The region of the document indicated by `cursorNodeStart` and `cursorNodeText` will + * sometimes actually be what lies BETWEEN a pair of leaf nodes in the AST, rather than a node. + */ + cursorNodeStart?: number | undefined; + + /** + * Note that, like cursorNodeStart, this is a misnomer and may actually be the text between two + * leaf nodes in the AST instead of the text of a node. + */ + cursorNodeText?: string | undefined; + }; + interface Options { + /** + * Specify the line length that the printer will wrap on. + * @default 80 + */ + printWidth: number; + /** + * Specify the number of spaces per indentation-level. + * @default 2 + */ + tabWidth: number; + /** + * Indent lines with tabs instead of spaces + * @default false + */ + useTabs?: boolean; + parentParser?: string | undefined; + __embeddedInHtml?: boolean | undefined; + } +} + +export namespace utils { + function willBreak(doc: builders.Doc): boolean; + function traverseDoc( + doc: builders.Doc, + onEnter?: (doc: builders.Doc) => void | boolean, + onExit?: (doc: builders.Doc) => void, + shouldTraverseConditionalGroups?: boolean, + ): void; + function findInDoc( + doc: builders.Doc, + callback: (doc: builders.Doc) => T, + defaultValue: T, + ): T; + function mapDoc( + doc: builders.Doc, + callback: (doc: builders.Doc) => T, + ): T; + function removeLines(doc: builders.Doc): builders.Doc; + function stripTrailingHardline(doc: builders.Doc): builders.Doc; + function replaceEndOfLine( + doc: builders.Doc, + replacement?: builders.Doc, + ): builders.Doc; + function canBreak(doc: builders.Doc): boolean; +} diff --git a/dist/prettier/doc.js b/dist/prettier/doc.js new file mode 100644 index 000000000000..c43c1721ae69 --- /dev/null +++ b/dist/prettier/doc.js @@ -0,0 +1,1277 @@ +(function (factory) { + function interopModuleDefault() { + var module = factory(); + return module.default || module; + } + + if (typeof exports === "object" && typeof module === "object") { + module.exports = interopModuleDefault(); + } else if (typeof define === "function" && define.amd) { + define(interopModuleDefault); + } else { + var root = + typeof globalThis !== "undefined" + ? globalThis + : typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : this || {}; + root.doc = interopModuleDefault(); + } +})(function () { + "use strict"; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + + // src/document/public.js + var public_exports = {}; + __export(public_exports, { + builders: () => builders, + printer: () => printer, + utils: () => utils + }); + + // src/document/constants.js + var DOC_TYPE_STRING = "string"; + var DOC_TYPE_ARRAY = "array"; + var DOC_TYPE_CURSOR = "cursor"; + var DOC_TYPE_INDENT = "indent"; + var DOC_TYPE_ALIGN = "align"; + var DOC_TYPE_TRIM = "trim"; + var DOC_TYPE_GROUP = "group"; + var DOC_TYPE_FILL = "fill"; + var DOC_TYPE_IF_BREAK = "if-break"; + var DOC_TYPE_INDENT_IF_BREAK = "indent-if-break"; + var DOC_TYPE_LINE_SUFFIX = "line-suffix"; + var DOC_TYPE_LINE_SUFFIX_BOUNDARY = "line-suffix-boundary"; + var DOC_TYPE_LINE = "line"; + var DOC_TYPE_LABEL = "label"; + var DOC_TYPE_BREAK_PARENT = "break-parent"; + var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([ + DOC_TYPE_CURSOR, + DOC_TYPE_INDENT, + DOC_TYPE_ALIGN, + DOC_TYPE_TRIM, + DOC_TYPE_GROUP, + DOC_TYPE_FILL, + DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LINE_SUFFIX, + DOC_TYPE_LINE_SUFFIX_BOUNDARY, + DOC_TYPE_LINE, + DOC_TYPE_LABEL, + DOC_TYPE_BREAK_PARENT + ]); + + // scripts/build/shims/at.js + var at = (isOptionalObject, object, index) => { + if (isOptionalObject && (object === void 0 || object === null)) { + return; + } + if (Array.isArray(object) || typeof object === "string") { + return object[index < 0 ? object.length + index : index]; + } + return object.at(index); + }; + var at_default = at; + + // node_modules/trim-newlines/index.js + function trimNewlinesEnd(string) { + let end = string.length; + while (end > 0 && (string[end - 1] === "\r" || string[end - 1] === "\n")) { + end--; + } + return end < string.length ? string.slice(0, end) : string; + } + + // src/document/utils/get-doc-type.js + function getDocType(doc) { + if (typeof doc === "string") { + return DOC_TYPE_STRING; + } + if (Array.isArray(doc)) { + return DOC_TYPE_ARRAY; + } + if (!doc) { + return; + } + const { type } = doc; + if (VALID_OBJECT_DOC_TYPES.has(type)) { + return type; + } + } + var get_doc_type_default = getDocType; + + // src/document/invalid-doc-error.js + var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list); + function getDocErrorMessage(doc) { + const type = doc === null ? "null" : typeof doc; + if (type !== "string" && type !== "object") { + return `Unexpected doc '${type}', +Expected it to be 'string' or 'object'.`; + } + if (get_doc_type_default(doc)) { + throw new Error("doc is valid."); + } + const objectType = Object.prototype.toString.call(doc); + if (objectType !== "[object Object]") { + return `Unexpected doc '${objectType}'.`; + } + const EXPECTED_TYPE_VALUES = disjunctionListFormat( + [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`) + ); + return `Unexpected doc.type '${doc.type}'. +Expected it to be ${EXPECTED_TYPE_VALUES}.`; + } + var InvalidDocError = class extends Error { + name = "InvalidDocError"; + constructor(doc) { + super(getDocErrorMessage(doc)); + this.doc = doc; + } + }; + var invalid_doc_error_default = InvalidDocError; + + // src/document/utils/traverse-doc.js + var traverseDocOnExitStackMarker = {}; + function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { + const docsStack = [doc]; + while (docsStack.length > 0) { + const doc2 = docsStack.pop(); + if (doc2 === traverseDocOnExitStackMarker) { + onExit(docsStack.pop()); + continue; + } + if (onExit) { + docsStack.push(doc2, traverseDocOnExitStackMarker); + } + const docType = get_doc_type_default(doc2); + if (!docType) { + throw new invalid_doc_error_default(doc2); + } + if (onEnter?.(doc2) === false) { + continue; + } + switch (docType) { + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts; + for (let ic = parts.length, i = ic - 1; i >= 0; --i) { + docsStack.push(parts[i]); + } + break; + } + case DOC_TYPE_IF_BREAK: + docsStack.push(doc2.flatContents, doc2.breakContents); + break; + case DOC_TYPE_GROUP: + if (shouldTraverseConditionalGroups && doc2.expandedStates) { + for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) { + docsStack.push(doc2.expandedStates[i]); + } + } else { + docsStack.push(doc2.contents); + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + docsStack.push(doc2.contents); + break; + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + } + } + var traverse_doc_default = traverseDoc; + + // src/document/utils.js + function mapDoc(doc, cb) { + if (typeof doc === "string") { + return cb(doc); + } + const mapped = /* @__PURE__ */ new Map(); + return rec(doc); + function rec(doc2) { + if (mapped.has(doc2)) { + return mapped.get(doc2); + } + const result = process2(doc2); + mapped.set(doc2, result); + return result; + } + function process2(doc2) { + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_ARRAY: + return cb(doc2.map(rec)); + case DOC_TYPE_FILL: + return cb({ ...doc2, parts: doc2.parts.map(rec) }); + case DOC_TYPE_IF_BREAK: + return cb({ + ...doc2, + breakContents: rec(doc2.breakContents), + flatContents: rec(doc2.flatContents) + }); + case DOC_TYPE_GROUP: { + let { expandedStates, contents } = doc2; + if (expandedStates) { + expandedStates = expandedStates.map(rec); + contents = expandedStates[0]; + } else { + contents = rec(contents); + } + return cb({ ...doc2, contents, expandedStates }); + } + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + return cb({ ...doc2, contents: rec(doc2.contents) }); + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + return cb(doc2); + default: + throw new invalid_doc_error_default(doc2); + } + } + } + function findInDoc(doc, fn, defaultValue) { + let result = defaultValue; + let shouldSkipFurtherProcessing = false; + function findInDocOnEnterFn(doc2) { + if (shouldSkipFurtherProcessing) { + return false; + } + const maybeResult = fn(doc2); + if (maybeResult !== void 0) { + shouldSkipFurtherProcessing = true; + result = maybeResult; + } + } + traverse_doc_default(doc, findInDocOnEnterFn); + return result; + } + function willBreakFn(doc) { + if (doc.type === DOC_TYPE_GROUP && doc.break) { + return true; + } + if (doc.type === DOC_TYPE_LINE && doc.hard) { + return true; + } + if (doc.type === DOC_TYPE_BREAK_PARENT) { + return true; + } + } + function willBreak(doc) { + return findInDoc(doc, willBreakFn, false); + } + function breakParentGroup(groupStack) { + if (groupStack.length > 0) { + const parentGroup = at_default( + /* isOptionalObject */ + false, + groupStack, + -1 + ); + if (!parentGroup.expandedStates && !parentGroup.break) { + parentGroup.break = "propagated"; + } + } + return null; + } + function propagateBreaks(doc) { + const alreadyVisitedSet = /* @__PURE__ */ new Set(); + const groupStack = []; + function propagateBreaksOnEnterFn(doc2) { + if (doc2.type === DOC_TYPE_BREAK_PARENT) { + breakParentGroup(groupStack); + } + if (doc2.type === DOC_TYPE_GROUP) { + groupStack.push(doc2); + if (alreadyVisitedSet.has(doc2)) { + return false; + } + alreadyVisitedSet.add(doc2); + } + } + function propagateBreaksOnExitFn(doc2) { + if (doc2.type === DOC_TYPE_GROUP) { + const group2 = groupStack.pop(); + if (group2.break) { + breakParentGroup(groupStack); + } + } + } + traverse_doc_default( + doc, + propagateBreaksOnEnterFn, + propagateBreaksOnExitFn, + /* shouldTraverseConditionalGroups */ + true + ); + } + function removeLinesFn(doc) { + if (doc.type === DOC_TYPE_LINE && !doc.hard) { + return doc.soft ? "" : " "; + } + if (doc.type === DOC_TYPE_IF_BREAK) { + return doc.flatContents; + } + return doc; + } + function removeLines(doc) { + return mapDoc(doc, removeLinesFn); + } + function stripTrailingHardlineFromParts(parts) { + parts = [...parts]; + while (parts.length >= 2 && at_default( + /* isOptionalObject */ + false, + parts, + -2 + ).type === DOC_TYPE_LINE && at_default( + /* isOptionalObject */ + false, + parts, + -1 + ).type === DOC_TYPE_BREAK_PARENT) { + parts.length -= 2; + } + if (parts.length > 0) { + const lastPart = stripTrailingHardlineFromDoc(at_default( + /* isOptionalObject */ + false, + parts, + -1 + )); + parts[parts.length - 1] = lastPart; + } + return parts; + } + function stripTrailingHardlineFromDoc(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_GROUP: + case DOC_TYPE_LINE_SUFFIX: + case DOC_TYPE_LABEL: { + const contents = stripTrailingHardlineFromDoc(doc.contents); + return { ...doc, contents }; + } + case DOC_TYPE_IF_BREAK: + return { + ...doc, + breakContents: stripTrailingHardlineFromDoc(doc.breakContents), + flatContents: stripTrailingHardlineFromDoc(doc.flatContents) + }; + case DOC_TYPE_FILL: + return { ...doc, parts: stripTrailingHardlineFromParts(doc.parts) }; + case DOC_TYPE_ARRAY: + return stripTrailingHardlineFromParts(doc); + case DOC_TYPE_STRING: + return trimNewlinesEnd(doc); + case DOC_TYPE_ALIGN: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); + } + return doc; + } + function stripTrailingHardline(doc) { + return stripTrailingHardlineFromDoc(cleanDoc(doc)); + } + function cleanDocFn(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_FILL: + if (doc.parts.every((part) => part === "")) { + return ""; + } + break; + case DOC_TYPE_GROUP: + if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) { + return ""; + } + if (doc.contents.type === DOC_TYPE_GROUP && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) { + return doc.contents; + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LINE_SUFFIX: + if (!doc.contents) { + return ""; + } + break; + case DOC_TYPE_IF_BREAK: + if (!doc.flatContents && !doc.breakContents) { + return ""; + } + break; + case DOC_TYPE_ARRAY: { + const parts = []; + for (const part of doc) { + if (!part) { + continue; + } + const [currentPart, ...restParts] = Array.isArray(part) ? part : [part]; + if (typeof currentPart === "string" && typeof at_default( + /* isOptionalObject */ + false, + parts, + -1 + ) === "string") { + parts[parts.length - 1] += currentPart; + } else { + parts.push(currentPart); + } + parts.push(...restParts); + } + if (parts.length === 0) { + return ""; + } + if (parts.length === 1) { + return parts[0]; + } + return parts; + } + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_LABEL: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); + } + return doc; + } + function cleanDoc(doc) { + return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc)); + } + function replaceEndOfLine(doc, replacement = literalline) { + return mapDoc( + doc, + (currentDoc) => typeof currentDoc === "string" ? join(replacement, currentDoc.split("\n")) : currentDoc + ); + } + function canBreakFn(doc) { + if (doc.type === DOC_TYPE_LINE) { + return true; + } + } + function canBreak(doc) { + return findInDoc(doc, canBreakFn, false); + } + + // src/document/utils/assert-doc.js + var noop = () => { + }; + var assertDoc = true ? noop : function(doc) { + traverse_doc_default(doc, (doc2) => { + if (checked.has(doc2)) { + return false; + } + if (typeof doc2 !== "string") { + checked.add(doc2); + } + }); + }; + var assertDocArray = true ? noop : function(docs, optional = false) { + if (optional && !docs) { + return; + } + if (!Array.isArray(docs)) { + throw new TypeError("Unexpected doc array."); + } + for (const doc of docs) { + assertDoc(doc); + } + }; + var assertDocFillParts = true ? noop : ( + /** + * @param {Doc[]} parts + */ + function(parts) { + assertDocArray(parts); + if (parts.length > 1 && isEmptyDoc(at_default( + /* isOptionalObject */ + false, + parts, + -1 + ))) { + parts = parts.slice(0, -1); + } + for (const [i, doc] of parts.entries()) { + if (i % 2 === 1 && !isValidSeparator(doc)) { + const type = get_doc_type_default(doc); + throw new Error( + `Unexpected non-line-break doc at ${i}. Doc type is ${type}.` + ); + } + } + } + ); + + // src/document/builders.js + function indent(contents) { + assertDoc(contents); + return { type: DOC_TYPE_INDENT, contents }; + } + function align(widthOrString, contents) { + assertDoc(contents); + return { type: DOC_TYPE_ALIGN, contents, n: widthOrString }; + } + function group(contents, opts = {}) { + assertDoc(contents); + assertDocArray( + opts.expandedStates, + /* optional */ + true + ); + return { + type: DOC_TYPE_GROUP, + id: opts.id, + contents, + break: Boolean(opts.shouldBreak), + expandedStates: opts.expandedStates + }; + } + function dedentToRoot(contents) { + return align(Number.NEGATIVE_INFINITY, contents); + } + function markAsRoot(contents) { + return align({ type: "root" }, contents); + } + function dedent(contents) { + return align(-1, contents); + } + function conditionalGroup(states, opts) { + return group(states[0], { ...opts, expandedStates: states }); + } + function fill(parts) { + assertDocFillParts(parts); + return { type: DOC_TYPE_FILL, parts }; + } + function ifBreak(breakContents, flatContents = "", opts = {}) { + assertDoc(breakContents); + if (flatContents !== "") { + assertDoc(flatContents); + } + return { + type: DOC_TYPE_IF_BREAK, + breakContents, + flatContents, + groupId: opts.groupId + }; + } + function indentIfBreak(contents, opts) { + assertDoc(contents); + return { + type: DOC_TYPE_INDENT_IF_BREAK, + contents, + groupId: opts.groupId, + negate: opts.negate + }; + } + function lineSuffix(contents) { + assertDoc(contents); + return { type: DOC_TYPE_LINE_SUFFIX, contents }; + } + var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY }; + var breakParent = { type: DOC_TYPE_BREAK_PARENT }; + var trim = { type: DOC_TYPE_TRIM }; + var hardlineWithoutBreakParent = { type: DOC_TYPE_LINE, hard: true }; + var literallineWithoutBreakParent = { + type: DOC_TYPE_LINE, + hard: true, + literal: true + }; + var line = { type: DOC_TYPE_LINE }; + var softline = { type: DOC_TYPE_LINE, soft: true }; + var hardline = [hardlineWithoutBreakParent, breakParent]; + var literalline = [literallineWithoutBreakParent, breakParent]; + var cursor = { type: DOC_TYPE_CURSOR }; + function join(separator, docs) { + assertDoc(separator); + assertDocArray(docs); + const parts = []; + for (let i = 0; i < docs.length; i++) { + if (i !== 0) { + parts.push(separator); + } + parts.push(docs[i]); + } + return parts; + } + function addAlignmentToDoc(doc, size, tabWidth) { + assertDoc(doc); + let aligned = doc; + if (size > 0) { + for (let i = 0; i < Math.floor(size / tabWidth); ++i) { + aligned = indent(aligned); + } + aligned = align(size % tabWidth, aligned); + aligned = align(Number.NEGATIVE_INFINITY, aligned); + } + return aligned; + } + function label(label2, contents) { + assertDoc(contents); + return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents; + } + + // scripts/build/shims/string-replace-all.js + var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => { + if (isOptionalObject && (original === void 0 || original === null)) { + return; + } + if (original.replaceAll) { + return original.replaceAll(pattern, replacement); + } + if (pattern.global) { + return original.replace(pattern, replacement); + } + return original.split(pattern).join(replacement); + }; + var string_replace_all_default = stringReplaceAll; + + // src/common/end-of-line.js + function convertEndOfLineToChars(value) { + switch (value) { + case "cr": + return "\r"; + case "crlf": + return "\r\n"; + default: + return "\n"; + } + } + + // node_modules/emoji-regex/index.mjs + var emoji_regex_default = () => { + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; + }; + + // node_modules/get-east-asian-width/lookup.js + function isFullWidth(x) { + return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510; + } + function isWide(x) { + return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141; + } + + // src/utils/narrow-emojis.evaluate.js + var narrow_emojis_evaluate_default = "\xA9\xAE\u203C\u2049\u2122\u2139\u2194\u2195\u2196\u2197\u2198\u2199\u21A9\u21AA\u2328\u23CF\u23F1\u23F2\u23F8\u23F9\u23FA\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600\u2601\u2602\u2603\u2604\u260E\u2611\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694\u2695\u2696\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F1\u26F7\u26F8\u26F9\u2702\u2708\u2709\u270C\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05\u2B06\u2B07"; + + // src/utils/get-string-width.js + var notAsciiRegex = /[^\x20-\x7F]/u; + var narrowEmojisSet = new Set(narrow_emojis_evaluate_default); + function getStringWidth(text) { + if (!text) { + return 0; + } + if (!notAsciiRegex.test(text)) { + return text.length; + } + text = text.replace( + emoji_regex_default(), + (match) => narrowEmojisSet.has(match) ? " " : " " + ); + let width = 0; + for (const character of text) { + const codePoint = character.codePointAt(0); + if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { + continue; + } + if (codePoint >= 768 && codePoint <= 879) { + continue; + } + if (codePoint >= 65024 && codePoint <= 65039) { + continue; + } + width += isFullWidth(codePoint) || isWide(codePoint) ? 2 : 1; + } + return width; + } + var get_string_width_default = getStringWidth; + + // src/document/printer.js + var MODE_BREAK = Symbol("MODE_BREAK"); + var MODE_FLAT = Symbol("MODE_FLAT"); + var CURSOR_PLACEHOLDER = Symbol("cursor"); + var DOC_FILL_PRINTED_LENGTH = Symbol("DOC_FILL_PRINTED_LENGTH"); + function rootIndent() { + return { value: "", length: 0, queue: [] }; + } + function makeIndent(ind, options) { + return generateInd(ind, { type: "indent" }, options); + } + function makeAlign(indent2, widthOrDoc, options) { + if (widthOrDoc === Number.NEGATIVE_INFINITY) { + return indent2.root || rootIndent(); + } + if (widthOrDoc < 0) { + return generateInd(indent2, { type: "dedent" }, options); + } + if (!widthOrDoc) { + return indent2; + } + if (widthOrDoc.type === "root") { + return { ...indent2, root: indent2 }; + } + const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign"; + return generateInd(indent2, { type: alignType, n: widthOrDoc }, options); + } + function generateInd(ind, newPart, options) { + const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart]; + let value = ""; + let length = 0; + let lastTabs = 0; + let lastSpaces = 0; + for (const part of queue) { + switch (part.type) { + case "indent": + flush(); + if (options.useTabs) { + addTabs(1); + } else { + addSpaces(options.tabWidth); + } + break; + case "stringAlign": + flush(); + value += part.n; + length += part.n.length; + break; + case "numberAlign": + lastTabs += 1; + lastSpaces += part.n; + break; + default: + throw new Error(`Unexpected type '${part.type}'`); + } + } + flushSpaces(); + return { ...ind, value, length, queue }; + function addTabs(count) { + value += " ".repeat(count); + length += options.tabWidth * count; + } + function addSpaces(count) { + value += " ".repeat(count); + length += count; + } + function flush() { + if (options.useTabs) { + flushTabs(); + } else { + flushSpaces(); + } + } + function flushTabs() { + if (lastTabs > 0) { + addTabs(lastTabs); + } + resetLast(); + } + function flushSpaces() { + if (lastSpaces > 0) { + addSpaces(lastSpaces); + } + resetLast(); + } + function resetLast() { + lastTabs = 0; + lastSpaces = 0; + } + } + function trim2(out) { + let trimCount = 0; + let cursorCount = 0; + let outIndex = out.length; + outer: while (outIndex--) { + const last = out[outIndex]; + if (last === CURSOR_PLACEHOLDER) { + cursorCount++; + continue; + } + if (false) { + throw new Error(`Unexpected value in trim: '${typeof last}'`); + } + for (let charIndex = last.length - 1; charIndex >= 0; charIndex--) { + const char = last[charIndex]; + if (char === " " || char === " ") { + trimCount++; + } else { + out[outIndex] = last.slice(0, charIndex + 1); + break outer; + } + } + } + if (trimCount > 0 || cursorCount > 0) { + out.length = outIndex + 1; + while (cursorCount-- > 0) { + out.push(CURSOR_PLACEHOLDER); + } + } + return trimCount; + } + function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat) { + if (width === Number.POSITIVE_INFINITY) { + return true; + } + let restIdx = restCommands.length; + const cmds = [next]; + const out = []; + while (width >= 0) { + if (cmds.length === 0) { + if (restIdx === 0) { + return true; + } + cmds.push(restCommands[--restIdx]); + continue; + } + const { mode, doc } = cmds.pop(); + const docType = get_doc_type_default(doc); + switch (docType) { + case DOC_TYPE_STRING: + out.push(doc); + width -= get_string_width_default(doc); + break; + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = docType === DOC_TYPE_ARRAY ? doc : doc.parts; + const end = doc[DOC_FILL_PRINTED_LENGTH] ?? 0; + for (let i = parts.length - 1; i >= end; i--) { + cmds.push({ mode, doc: parts[i] }); + } + break; + } + case DOC_TYPE_INDENT: + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + cmds.push({ mode, doc: doc.contents }); + break; + case DOC_TYPE_TRIM: + width += trim2(out); + break; + case DOC_TYPE_GROUP: { + if (mustBeFlat && doc.break) { + return false; + } + const groupMode = doc.break ? MODE_BREAK : mode; + const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default( + /* isOptionalObject */ + false, + doc.expandedStates, + -1 + ) : doc.contents; + cmds.push({ mode: groupMode, doc: contents }); + break; + } + case DOC_TYPE_IF_BREAK: { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode; + const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents; + if (contents) { + cmds.push({ mode, doc: contents }); + } + break; + } + case DOC_TYPE_LINE: + if (mode === MODE_BREAK || doc.hard) { + return true; + } + if (!doc.soft) { + out.push(" "); + width--; + } + break; + case DOC_TYPE_LINE_SUFFIX: + hasLineSuffix = true; + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (hasLineSuffix) { + return false; + } + break; + } + } + return false; + } + function printDocToString(doc, options) { + const groupModeMap = {}; + const width = options.printWidth; + const newLine = convertEndOfLineToChars(options.endOfLine); + let pos = 0; + const cmds = [{ ind: rootIndent(), mode: MODE_BREAK, doc }]; + const out = []; + let shouldRemeasure = false; + const lineSuffix2 = []; + let printedCursorCount = 0; + propagateBreaks(doc); + while (cmds.length > 0) { + const { ind, mode, doc: doc2 } = cmds.pop(); + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_STRING: { + const formatted = newLine !== "\n" ? string_replace_all_default( + /* isOptionalObject */ + false, + doc2, + "\n", + newLine + ) : doc2; + out.push(formatted); + if (cmds.length > 0) { + pos += get_string_width_default(formatted); + } + break; + } + case DOC_TYPE_ARRAY: + for (let i = doc2.length - 1; i >= 0; i--) { + cmds.push({ ind, mode, doc: doc2[i] }); + } + break; + case DOC_TYPE_CURSOR: + if (printedCursorCount >= 2) { + throw new Error("There are too many 'cursor' in doc."); + } + out.push(CURSOR_PLACEHOLDER); + printedCursorCount++; + break; + case DOC_TYPE_INDENT: + cmds.push({ ind: makeIndent(ind, options), mode, doc: doc2.contents }); + break; + case DOC_TYPE_ALIGN: + cmds.push({ + ind: makeAlign(ind, doc2.n, options), + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_TRIM: + pos -= trim2(out); + break; + case DOC_TYPE_GROUP: + switch (mode) { + case MODE_FLAT: + if (!shouldRemeasure) { + cmds.push({ + ind, + mode: doc2.break ? MODE_BREAK : MODE_FLAT, + doc: doc2.contents + }); + break; + } + // fallthrough + case MODE_BREAK: { + shouldRemeasure = false; + const next = { ind, mode: MODE_FLAT, doc: doc2.contents }; + const rem = width - pos; + const hasLineSuffix = lineSuffix2.length > 0; + if (!doc2.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(next); + } else { + if (doc2.expandedStates) { + const mostExpanded = at_default( + /* isOptionalObject */ + false, + doc2.expandedStates, + -1 + ); + if (doc2.break) { + cmds.push({ ind, mode: MODE_BREAK, doc: mostExpanded }); + break; + } else { + for (let i = 1; i < doc2.expandedStates.length + 1; i++) { + if (i >= doc2.expandedStates.length) { + cmds.push({ ind, mode: MODE_BREAK, doc: mostExpanded }); + break; + } else { + const state = doc2.expandedStates[i]; + const cmd = { ind, mode: MODE_FLAT, doc: state }; + if (fits(cmd, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(cmd); + break; + } + } + } + } + } else { + cmds.push({ ind, mode: MODE_BREAK, doc: doc2.contents }); + } + } + break; + } + } + if (doc2.id) { + groupModeMap[doc2.id] = at_default( + /* isOptionalObject */ + false, + cmds, + -1 + ).mode; + } + break; + // Fills each line with as much code as possible before moving to a new + // line with the same indentation. + // + // Expects doc.parts to be an array of alternating content and + // whitespace. The whitespace contains the linebreaks. + // + // For example: + // ["I", line, "love", line, "monkeys"] + // or + // [{ type: group, ... }, softline, { type: group, ... }] + // + // It uses this parts structure to handle three main layout cases: + // * The first two content items fit on the same line without + // breaking + // -> output the first content item and the whitespace "flat". + // * Only the first content item fits on the line without breaking + // -> output the first content item "flat" and the whitespace with + // "break". + // * Neither content item fits on the line without breaking + // -> output the first content item and the whitespace with "break". + case DOC_TYPE_FILL: { + const rem = width - pos; + const offset = doc2[DOC_FILL_PRINTED_LENGTH] ?? 0; + const { parts } = doc2; + const length = parts.length - offset; + if (length === 0) { + break; + } + const content = parts[offset + 0]; + const whitespace = parts[offset + 1]; + const contentFlatCmd = { ind, mode: MODE_FLAT, doc: content }; + const contentBreakCmd = { ind, mode: MODE_BREAK, doc: content }; + const contentFits = fits( + contentFlatCmd, + [], + rem, + lineSuffix2.length > 0, + groupModeMap, + true + ); + if (length === 1) { + if (contentFits) { + cmds.push(contentFlatCmd); + } else { + cmds.push(contentBreakCmd); + } + break; + } + const whitespaceFlatCmd = { ind, mode: MODE_FLAT, doc: whitespace }; + const whitespaceBreakCmd = { ind, mode: MODE_BREAK, doc: whitespace }; + if (length === 2) { + if (contentFits) { + cmds.push(whitespaceFlatCmd, contentFlatCmd); + } else { + cmds.push(whitespaceBreakCmd, contentBreakCmd); + } + break; + } + const secondContent = parts[offset + 2]; + const remainingCmd = { + ind, + mode, + doc: { ...doc2, [DOC_FILL_PRINTED_LENGTH]: offset + 2 } + }; + const firstAndSecondContentFlatCmd = { + ind, + mode: MODE_FLAT, + doc: [content, whitespace, secondContent] + }; + const firstAndSecondContentFits = fits( + firstAndSecondContentFlatCmd, + [], + rem, + lineSuffix2.length > 0, + groupModeMap, + true + ); + if (firstAndSecondContentFits) { + cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd); + } else if (contentFits) { + cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd); + } else { + cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd); + } + break; + } + case DOC_TYPE_IF_BREAK: + case DOC_TYPE_INDENT_IF_BREAK: { + const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode; + if (groupMode === MODE_BREAK) { + const breakContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents); + if (breakContents) { + cmds.push({ ind, mode, doc: breakContents }); + } + } + if (groupMode === MODE_FLAT) { + const flatContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents; + if (flatContents) { + cmds.push({ ind, mode, doc: flatContents }); + } + } + break; + } + case DOC_TYPE_LINE_SUFFIX: + lineSuffix2.push({ ind, mode, doc: doc2.contents }); + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (lineSuffix2.length > 0) { + cmds.push({ ind, mode, doc: hardlineWithoutBreakParent }); + } + break; + case DOC_TYPE_LINE: + switch (mode) { + case MODE_FLAT: + if (!doc2.hard) { + if (!doc2.soft) { + out.push(" "); + pos += 1; + } + break; + } else { + shouldRemeasure = true; + } + // fallthrough + case MODE_BREAK: + if (lineSuffix2.length > 0) { + cmds.push({ ind, mode, doc: doc2 }, ...lineSuffix2.reverse()); + lineSuffix2.length = 0; + break; + } + if (doc2.literal) { + if (ind.root) { + out.push(newLine, ind.root.value); + pos = ind.root.length; + } else { + out.push(newLine); + pos = 0; + } + } else { + pos -= trim2(out); + out.push(newLine + ind.value); + pos = ind.length; + } + break; + } + break; + case DOC_TYPE_LABEL: + cmds.push({ ind, mode, doc: doc2.contents }); + break; + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + if (cmds.length === 0 && lineSuffix2.length > 0) { + cmds.push(...lineSuffix2.reverse()); + lineSuffix2.length = 0; + } + } + const cursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER); + if (cursorPlaceholderIndex !== -1) { + const otherCursorPlaceholderIndex = out.indexOf( + CURSOR_PLACEHOLDER, + cursorPlaceholderIndex + 1 + ); + if (otherCursorPlaceholderIndex === -1) { + return { + formatted: out.filter((char) => char !== CURSOR_PLACEHOLDER).join("") + }; + } + const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); + const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); + const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); + return { + formatted: beforeCursor + aroundCursor + afterCursor, + cursorNodeStart: beforeCursor.length, + cursorNodeText: aroundCursor + }; + } + return { formatted: out.join("") }; + } + + // src/document/public.js + var builders = { + join, + line, + softline, + hardline, + literalline, + group, + conditionalGroup, + fill, + lineSuffix, + lineSuffixBoundary, + cursor, + breakParent, + ifBreak, + trim, + indent, + indentIfBreak, + align, + addAlignmentToDoc, + markAsRoot, + dedentToRoot, + dedent, + hardlineWithoutBreakParent, + literallineWithoutBreakParent, + label, + // TODO: Remove this in v4 + concat: (parts) => parts + }; + var printer = { printDocToString }; + var utils = { + willBreak, + traverseDoc: traverse_doc_default, + findInDoc, + mapDoc, + removeLines, + stripTrailingHardline, + replaceEndOfLine, + canBreak + }; + return __toCommonJS(public_exports); +}); \ No newline at end of file diff --git a/dist/prettier/doc.mjs b/dist/prettier/doc.mjs new file mode 100644 index 000000000000..335b90788158 --- /dev/null +++ b/dist/prettier/doc.mjs @@ -0,0 +1,1249 @@ +var __defProp = Object.defineProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; + +// src/document/public.js +var public_exports = {}; +__export(public_exports, { + builders: () => builders, + printer: () => printer, + utils: () => utils +}); + +// src/document/constants.js +var DOC_TYPE_STRING = "string"; +var DOC_TYPE_ARRAY = "array"; +var DOC_TYPE_CURSOR = "cursor"; +var DOC_TYPE_INDENT = "indent"; +var DOC_TYPE_ALIGN = "align"; +var DOC_TYPE_TRIM = "trim"; +var DOC_TYPE_GROUP = "group"; +var DOC_TYPE_FILL = "fill"; +var DOC_TYPE_IF_BREAK = "if-break"; +var DOC_TYPE_INDENT_IF_BREAK = "indent-if-break"; +var DOC_TYPE_LINE_SUFFIX = "line-suffix"; +var DOC_TYPE_LINE_SUFFIX_BOUNDARY = "line-suffix-boundary"; +var DOC_TYPE_LINE = "line"; +var DOC_TYPE_LABEL = "label"; +var DOC_TYPE_BREAK_PARENT = "break-parent"; +var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([ + DOC_TYPE_CURSOR, + DOC_TYPE_INDENT, + DOC_TYPE_ALIGN, + DOC_TYPE_TRIM, + DOC_TYPE_GROUP, + DOC_TYPE_FILL, + DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LINE_SUFFIX, + DOC_TYPE_LINE_SUFFIX_BOUNDARY, + DOC_TYPE_LINE, + DOC_TYPE_LABEL, + DOC_TYPE_BREAK_PARENT +]); + +// scripts/build/shims/at.js +var at = (isOptionalObject, object, index) => { + if (isOptionalObject && (object === void 0 || object === null)) { + return; + } + if (Array.isArray(object) || typeof object === "string") { + return object[index < 0 ? object.length + index : index]; + } + return object.at(index); +}; +var at_default = at; + +// node_modules/trim-newlines/index.js +function trimNewlinesEnd(string) { + let end = string.length; + while (end > 0 && (string[end - 1] === "\r" || string[end - 1] === "\n")) { + end--; + } + return end < string.length ? string.slice(0, end) : string; +} + +// src/document/utils/get-doc-type.js +function getDocType(doc) { + if (typeof doc === "string") { + return DOC_TYPE_STRING; + } + if (Array.isArray(doc)) { + return DOC_TYPE_ARRAY; + } + if (!doc) { + return; + } + const { type } = doc; + if (VALID_OBJECT_DOC_TYPES.has(type)) { + return type; + } +} +var get_doc_type_default = getDocType; + +// src/document/invalid-doc-error.js +var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list); +function getDocErrorMessage(doc) { + const type = doc === null ? "null" : typeof doc; + if (type !== "string" && type !== "object") { + return `Unexpected doc '${type}', +Expected it to be 'string' or 'object'.`; + } + if (get_doc_type_default(doc)) { + throw new Error("doc is valid."); + } + const objectType = Object.prototype.toString.call(doc); + if (objectType !== "[object Object]") { + return `Unexpected doc '${objectType}'.`; + } + const EXPECTED_TYPE_VALUES = disjunctionListFormat( + [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`) + ); + return `Unexpected doc.type '${doc.type}'. +Expected it to be ${EXPECTED_TYPE_VALUES}.`; +} +var InvalidDocError = class extends Error { + name = "InvalidDocError"; + constructor(doc) { + super(getDocErrorMessage(doc)); + this.doc = doc; + } +}; +var invalid_doc_error_default = InvalidDocError; + +// src/document/utils/traverse-doc.js +var traverseDocOnExitStackMarker = {}; +function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { + const docsStack = [doc]; + while (docsStack.length > 0) { + const doc2 = docsStack.pop(); + if (doc2 === traverseDocOnExitStackMarker) { + onExit(docsStack.pop()); + continue; + } + if (onExit) { + docsStack.push(doc2, traverseDocOnExitStackMarker); + } + const docType = get_doc_type_default(doc2); + if (!docType) { + throw new invalid_doc_error_default(doc2); + } + if (onEnter?.(doc2) === false) { + continue; + } + switch (docType) { + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts; + for (let ic = parts.length, i = ic - 1; i >= 0; --i) { + docsStack.push(parts[i]); + } + break; + } + case DOC_TYPE_IF_BREAK: + docsStack.push(doc2.flatContents, doc2.breakContents); + break; + case DOC_TYPE_GROUP: + if (shouldTraverseConditionalGroups && doc2.expandedStates) { + for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) { + docsStack.push(doc2.expandedStates[i]); + } + } else { + docsStack.push(doc2.contents); + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + docsStack.push(doc2.contents); + break; + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + } +} +var traverse_doc_default = traverseDoc; + +// src/document/utils.js +function mapDoc(doc, cb) { + if (typeof doc === "string") { + return cb(doc); + } + const mapped = /* @__PURE__ */ new Map(); + return rec(doc); + function rec(doc2) { + if (mapped.has(doc2)) { + return mapped.get(doc2); + } + const result = process2(doc2); + mapped.set(doc2, result); + return result; + } + function process2(doc2) { + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_ARRAY: + return cb(doc2.map(rec)); + case DOC_TYPE_FILL: + return cb({ ...doc2, parts: doc2.parts.map(rec) }); + case DOC_TYPE_IF_BREAK: + return cb({ + ...doc2, + breakContents: rec(doc2.breakContents), + flatContents: rec(doc2.flatContents) + }); + case DOC_TYPE_GROUP: { + let { expandedStates, contents } = doc2; + if (expandedStates) { + expandedStates = expandedStates.map(rec); + contents = expandedStates[0]; + } else { + contents = rec(contents); + } + return cb({ ...doc2, contents, expandedStates }); + } + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + return cb({ ...doc2, contents: rec(doc2.contents) }); + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + return cb(doc2); + default: + throw new invalid_doc_error_default(doc2); + } + } +} +function findInDoc(doc, fn, defaultValue) { + let result = defaultValue; + let shouldSkipFurtherProcessing = false; + function findInDocOnEnterFn(doc2) { + if (shouldSkipFurtherProcessing) { + return false; + } + const maybeResult = fn(doc2); + if (maybeResult !== void 0) { + shouldSkipFurtherProcessing = true; + result = maybeResult; + } + } + traverse_doc_default(doc, findInDocOnEnterFn); + return result; +} +function willBreakFn(doc) { + if (doc.type === DOC_TYPE_GROUP && doc.break) { + return true; + } + if (doc.type === DOC_TYPE_LINE && doc.hard) { + return true; + } + if (doc.type === DOC_TYPE_BREAK_PARENT) { + return true; + } +} +function willBreak(doc) { + return findInDoc(doc, willBreakFn, false); +} +function breakParentGroup(groupStack) { + if (groupStack.length > 0) { + const parentGroup = at_default( + /* isOptionalObject */ + false, + groupStack, + -1 + ); + if (!parentGroup.expandedStates && !parentGroup.break) { + parentGroup.break = "propagated"; + } + } + return null; +} +function propagateBreaks(doc) { + const alreadyVisitedSet = /* @__PURE__ */ new Set(); + const groupStack = []; + function propagateBreaksOnEnterFn(doc2) { + if (doc2.type === DOC_TYPE_BREAK_PARENT) { + breakParentGroup(groupStack); + } + if (doc2.type === DOC_TYPE_GROUP) { + groupStack.push(doc2); + if (alreadyVisitedSet.has(doc2)) { + return false; + } + alreadyVisitedSet.add(doc2); + } + } + function propagateBreaksOnExitFn(doc2) { + if (doc2.type === DOC_TYPE_GROUP) { + const group2 = groupStack.pop(); + if (group2.break) { + breakParentGroup(groupStack); + } + } + } + traverse_doc_default( + doc, + propagateBreaksOnEnterFn, + propagateBreaksOnExitFn, + /* shouldTraverseConditionalGroups */ + true + ); +} +function removeLinesFn(doc) { + if (doc.type === DOC_TYPE_LINE && !doc.hard) { + return doc.soft ? "" : " "; + } + if (doc.type === DOC_TYPE_IF_BREAK) { + return doc.flatContents; + } + return doc; +} +function removeLines(doc) { + return mapDoc(doc, removeLinesFn); +} +function stripTrailingHardlineFromParts(parts) { + parts = [...parts]; + while (parts.length >= 2 && at_default( + /* isOptionalObject */ + false, + parts, + -2 + ).type === DOC_TYPE_LINE && at_default( + /* isOptionalObject */ + false, + parts, + -1 + ).type === DOC_TYPE_BREAK_PARENT) { + parts.length -= 2; + } + if (parts.length > 0) { + const lastPart = stripTrailingHardlineFromDoc(at_default( + /* isOptionalObject */ + false, + parts, + -1 + )); + parts[parts.length - 1] = lastPart; + } + return parts; +} +function stripTrailingHardlineFromDoc(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_GROUP: + case DOC_TYPE_LINE_SUFFIX: + case DOC_TYPE_LABEL: { + const contents = stripTrailingHardlineFromDoc(doc.contents); + return { ...doc, contents }; + } + case DOC_TYPE_IF_BREAK: + return { + ...doc, + breakContents: stripTrailingHardlineFromDoc(doc.breakContents), + flatContents: stripTrailingHardlineFromDoc(doc.flatContents) + }; + case DOC_TYPE_FILL: + return { ...doc, parts: stripTrailingHardlineFromParts(doc.parts) }; + case DOC_TYPE_ARRAY: + return stripTrailingHardlineFromParts(doc); + case DOC_TYPE_STRING: + return trimNewlinesEnd(doc); + case DOC_TYPE_ALIGN: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); + } + return doc; +} +function stripTrailingHardline(doc) { + return stripTrailingHardlineFromDoc(cleanDoc(doc)); +} +function cleanDocFn(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_FILL: + if (doc.parts.every((part) => part === "")) { + return ""; + } + break; + case DOC_TYPE_GROUP: + if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) { + return ""; + } + if (doc.contents.type === DOC_TYPE_GROUP && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) { + return doc.contents; + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LINE_SUFFIX: + if (!doc.contents) { + return ""; + } + break; + case DOC_TYPE_IF_BREAK: + if (!doc.flatContents && !doc.breakContents) { + return ""; + } + break; + case DOC_TYPE_ARRAY: { + const parts = []; + for (const part of doc) { + if (!part) { + continue; + } + const [currentPart, ...restParts] = Array.isArray(part) ? part : [part]; + if (typeof currentPart === "string" && typeof at_default( + /* isOptionalObject */ + false, + parts, + -1 + ) === "string") { + parts[parts.length - 1] += currentPart; + } else { + parts.push(currentPart); + } + parts.push(...restParts); + } + if (parts.length === 0) { + return ""; + } + if (parts.length === 1) { + return parts[0]; + } + return parts; + } + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_LABEL: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); + } + return doc; +} +function cleanDoc(doc) { + return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc)); +} +function replaceEndOfLine(doc, replacement = literalline) { + return mapDoc( + doc, + (currentDoc) => typeof currentDoc === "string" ? join(replacement, currentDoc.split("\n")) : currentDoc + ); +} +function canBreakFn(doc) { + if (doc.type === DOC_TYPE_LINE) { + return true; + } +} +function canBreak(doc) { + return findInDoc(doc, canBreakFn, false); +} + +// src/document/utils/assert-doc.js +var noop = () => { +}; +var assertDoc = true ? noop : function(doc) { + traverse_doc_default(doc, (doc2) => { + if (checked.has(doc2)) { + return false; + } + if (typeof doc2 !== "string") { + checked.add(doc2); + } + }); +}; +var assertDocArray = true ? noop : function(docs, optional = false) { + if (optional && !docs) { + return; + } + if (!Array.isArray(docs)) { + throw new TypeError("Unexpected doc array."); + } + for (const doc of docs) { + assertDoc(doc); + } +}; +var assertDocFillParts = true ? noop : ( + /** + * @param {Doc[]} parts + */ + function(parts) { + assertDocArray(parts); + if (parts.length > 1 && isEmptyDoc(at_default( + /* isOptionalObject */ + false, + parts, + -1 + ))) { + parts = parts.slice(0, -1); + } + for (const [i, doc] of parts.entries()) { + if (i % 2 === 1 && !isValidSeparator(doc)) { + const type = get_doc_type_default(doc); + throw new Error( + `Unexpected non-line-break doc at ${i}. Doc type is ${type}.` + ); + } + } + } +); + +// src/document/builders.js +function indent(contents) { + assertDoc(contents); + return { type: DOC_TYPE_INDENT, contents }; +} +function align(widthOrString, contents) { + assertDoc(contents); + return { type: DOC_TYPE_ALIGN, contents, n: widthOrString }; +} +function group(contents, opts = {}) { + assertDoc(contents); + assertDocArray( + opts.expandedStates, + /* optional */ + true + ); + return { + type: DOC_TYPE_GROUP, + id: opts.id, + contents, + break: Boolean(opts.shouldBreak), + expandedStates: opts.expandedStates + }; +} +function dedentToRoot(contents) { + return align(Number.NEGATIVE_INFINITY, contents); +} +function markAsRoot(contents) { + return align({ type: "root" }, contents); +} +function dedent(contents) { + return align(-1, contents); +} +function conditionalGroup(states, opts) { + return group(states[0], { ...opts, expandedStates: states }); +} +function fill(parts) { + assertDocFillParts(parts); + return { type: DOC_TYPE_FILL, parts }; +} +function ifBreak(breakContents, flatContents = "", opts = {}) { + assertDoc(breakContents); + if (flatContents !== "") { + assertDoc(flatContents); + } + return { + type: DOC_TYPE_IF_BREAK, + breakContents, + flatContents, + groupId: opts.groupId + }; +} +function indentIfBreak(contents, opts) { + assertDoc(contents); + return { + type: DOC_TYPE_INDENT_IF_BREAK, + contents, + groupId: opts.groupId, + negate: opts.negate + }; +} +function lineSuffix(contents) { + assertDoc(contents); + return { type: DOC_TYPE_LINE_SUFFIX, contents }; +} +var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY }; +var breakParent = { type: DOC_TYPE_BREAK_PARENT }; +var trim = { type: DOC_TYPE_TRIM }; +var hardlineWithoutBreakParent = { type: DOC_TYPE_LINE, hard: true }; +var literallineWithoutBreakParent = { + type: DOC_TYPE_LINE, + hard: true, + literal: true +}; +var line = { type: DOC_TYPE_LINE }; +var softline = { type: DOC_TYPE_LINE, soft: true }; +var hardline = [hardlineWithoutBreakParent, breakParent]; +var literalline = [literallineWithoutBreakParent, breakParent]; +var cursor = { type: DOC_TYPE_CURSOR }; +function join(separator, docs) { + assertDoc(separator); + assertDocArray(docs); + const parts = []; + for (let i = 0; i < docs.length; i++) { + if (i !== 0) { + parts.push(separator); + } + parts.push(docs[i]); + } + return parts; +} +function addAlignmentToDoc(doc, size, tabWidth) { + assertDoc(doc); + let aligned = doc; + if (size > 0) { + for (let i = 0; i < Math.floor(size / tabWidth); ++i) { + aligned = indent(aligned); + } + aligned = align(size % tabWidth, aligned); + aligned = align(Number.NEGATIVE_INFINITY, aligned); + } + return aligned; +} +function label(label2, contents) { + assertDoc(contents); + return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents; +} + +// scripts/build/shims/string-replace-all.js +var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => { + if (isOptionalObject && (original === void 0 || original === null)) { + return; + } + if (original.replaceAll) { + return original.replaceAll(pattern, replacement); + } + if (pattern.global) { + return original.replace(pattern, replacement); + } + return original.split(pattern).join(replacement); +}; +var string_replace_all_default = stringReplaceAll; + +// src/common/end-of-line.js +function convertEndOfLineToChars(value) { + switch (value) { + case "cr": + return "\r"; + case "crlf": + return "\r\n"; + default: + return "\n"; + } +} + +// node_modules/emoji-regex/index.mjs +var emoji_regex_default = () => { + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; +}; + +// node_modules/get-east-asian-width/lookup.js +function isFullWidth(x) { + return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510; +} +function isWide(x) { + return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141; +} + +// src/utils/narrow-emojis.evaluate.js +var narrow_emojis_evaluate_default = "\xA9\xAE\u203C\u2049\u2122\u2139\u2194\u2195\u2196\u2197\u2198\u2199\u21A9\u21AA\u2328\u23CF\u23F1\u23F2\u23F8\u23F9\u23FA\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600\u2601\u2602\u2603\u2604\u260E\u2611\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694\u2695\u2696\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F1\u26F7\u26F8\u26F9\u2702\u2708\u2709\u270C\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05\u2B06\u2B07"; + +// src/utils/get-string-width.js +var notAsciiRegex = /[^\x20-\x7F]/u; +var narrowEmojisSet = new Set(narrow_emojis_evaluate_default); +function getStringWidth(text) { + if (!text) { + return 0; + } + if (!notAsciiRegex.test(text)) { + return text.length; + } + text = text.replace( + emoji_regex_default(), + (match) => narrowEmojisSet.has(match) ? " " : " " + ); + let width = 0; + for (const character of text) { + const codePoint = character.codePointAt(0); + if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { + continue; + } + if (codePoint >= 768 && codePoint <= 879) { + continue; + } + if (codePoint >= 65024 && codePoint <= 65039) { + continue; + } + width += isFullWidth(codePoint) || isWide(codePoint) ? 2 : 1; + } + return width; +} +var get_string_width_default = getStringWidth; + +// src/document/printer.js +var MODE_BREAK = Symbol("MODE_BREAK"); +var MODE_FLAT = Symbol("MODE_FLAT"); +var CURSOR_PLACEHOLDER = Symbol("cursor"); +var DOC_FILL_PRINTED_LENGTH = Symbol("DOC_FILL_PRINTED_LENGTH"); +function rootIndent() { + return { value: "", length: 0, queue: [] }; +} +function makeIndent(ind, options) { + return generateInd(ind, { type: "indent" }, options); +} +function makeAlign(indent2, widthOrDoc, options) { + if (widthOrDoc === Number.NEGATIVE_INFINITY) { + return indent2.root || rootIndent(); + } + if (widthOrDoc < 0) { + return generateInd(indent2, { type: "dedent" }, options); + } + if (!widthOrDoc) { + return indent2; + } + if (widthOrDoc.type === "root") { + return { ...indent2, root: indent2 }; + } + const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign"; + return generateInd(indent2, { type: alignType, n: widthOrDoc }, options); +} +function generateInd(ind, newPart, options) { + const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart]; + let value = ""; + let length = 0; + let lastTabs = 0; + let lastSpaces = 0; + for (const part of queue) { + switch (part.type) { + case "indent": + flush(); + if (options.useTabs) { + addTabs(1); + } else { + addSpaces(options.tabWidth); + } + break; + case "stringAlign": + flush(); + value += part.n; + length += part.n.length; + break; + case "numberAlign": + lastTabs += 1; + lastSpaces += part.n; + break; + default: + throw new Error(`Unexpected type '${part.type}'`); + } + } + flushSpaces(); + return { ...ind, value, length, queue }; + function addTabs(count) { + value += " ".repeat(count); + length += options.tabWidth * count; + } + function addSpaces(count) { + value += " ".repeat(count); + length += count; + } + function flush() { + if (options.useTabs) { + flushTabs(); + } else { + flushSpaces(); + } + } + function flushTabs() { + if (lastTabs > 0) { + addTabs(lastTabs); + } + resetLast(); + } + function flushSpaces() { + if (lastSpaces > 0) { + addSpaces(lastSpaces); + } + resetLast(); + } + function resetLast() { + lastTabs = 0; + lastSpaces = 0; + } +} +function trim2(out) { + let trimCount = 0; + let cursorCount = 0; + let outIndex = out.length; + outer: while (outIndex--) { + const last = out[outIndex]; + if (last === CURSOR_PLACEHOLDER) { + cursorCount++; + continue; + } + if (false) { + throw new Error(`Unexpected value in trim: '${typeof last}'`); + } + for (let charIndex = last.length - 1; charIndex >= 0; charIndex--) { + const char = last[charIndex]; + if (char === " " || char === " ") { + trimCount++; + } else { + out[outIndex] = last.slice(0, charIndex + 1); + break outer; + } + } + } + if (trimCount > 0 || cursorCount > 0) { + out.length = outIndex + 1; + while (cursorCount-- > 0) { + out.push(CURSOR_PLACEHOLDER); + } + } + return trimCount; +} +function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat) { + if (width === Number.POSITIVE_INFINITY) { + return true; + } + let restIdx = restCommands.length; + const cmds = [next]; + const out = []; + while (width >= 0) { + if (cmds.length === 0) { + if (restIdx === 0) { + return true; + } + cmds.push(restCommands[--restIdx]); + continue; + } + const { mode, doc } = cmds.pop(); + const docType = get_doc_type_default(doc); + switch (docType) { + case DOC_TYPE_STRING: + out.push(doc); + width -= get_string_width_default(doc); + break; + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = docType === DOC_TYPE_ARRAY ? doc : doc.parts; + const end = doc[DOC_FILL_PRINTED_LENGTH] ?? 0; + for (let i = parts.length - 1; i >= end; i--) { + cmds.push({ mode, doc: parts[i] }); + } + break; + } + case DOC_TYPE_INDENT: + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + cmds.push({ mode, doc: doc.contents }); + break; + case DOC_TYPE_TRIM: + width += trim2(out); + break; + case DOC_TYPE_GROUP: { + if (mustBeFlat && doc.break) { + return false; + } + const groupMode = doc.break ? MODE_BREAK : mode; + const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default( + /* isOptionalObject */ + false, + doc.expandedStates, + -1 + ) : doc.contents; + cmds.push({ mode: groupMode, doc: contents }); + break; + } + case DOC_TYPE_IF_BREAK: { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode; + const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents; + if (contents) { + cmds.push({ mode, doc: contents }); + } + break; + } + case DOC_TYPE_LINE: + if (mode === MODE_BREAK || doc.hard) { + return true; + } + if (!doc.soft) { + out.push(" "); + width--; + } + break; + case DOC_TYPE_LINE_SUFFIX: + hasLineSuffix = true; + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (hasLineSuffix) { + return false; + } + break; + } + } + return false; +} +function printDocToString(doc, options) { + const groupModeMap = {}; + const width = options.printWidth; + const newLine = convertEndOfLineToChars(options.endOfLine); + let pos = 0; + const cmds = [{ ind: rootIndent(), mode: MODE_BREAK, doc }]; + const out = []; + let shouldRemeasure = false; + const lineSuffix2 = []; + let printedCursorCount = 0; + propagateBreaks(doc); + while (cmds.length > 0) { + const { ind, mode, doc: doc2 } = cmds.pop(); + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_STRING: { + const formatted = newLine !== "\n" ? string_replace_all_default( + /* isOptionalObject */ + false, + doc2, + "\n", + newLine + ) : doc2; + out.push(formatted); + if (cmds.length > 0) { + pos += get_string_width_default(formatted); + } + break; + } + case DOC_TYPE_ARRAY: + for (let i = doc2.length - 1; i >= 0; i--) { + cmds.push({ ind, mode, doc: doc2[i] }); + } + break; + case DOC_TYPE_CURSOR: + if (printedCursorCount >= 2) { + throw new Error("There are too many 'cursor' in doc."); + } + out.push(CURSOR_PLACEHOLDER); + printedCursorCount++; + break; + case DOC_TYPE_INDENT: + cmds.push({ ind: makeIndent(ind, options), mode, doc: doc2.contents }); + break; + case DOC_TYPE_ALIGN: + cmds.push({ + ind: makeAlign(ind, doc2.n, options), + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_TRIM: + pos -= trim2(out); + break; + case DOC_TYPE_GROUP: + switch (mode) { + case MODE_FLAT: + if (!shouldRemeasure) { + cmds.push({ + ind, + mode: doc2.break ? MODE_BREAK : MODE_FLAT, + doc: doc2.contents + }); + break; + } + // fallthrough + case MODE_BREAK: { + shouldRemeasure = false; + const next = { ind, mode: MODE_FLAT, doc: doc2.contents }; + const rem = width - pos; + const hasLineSuffix = lineSuffix2.length > 0; + if (!doc2.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(next); + } else { + if (doc2.expandedStates) { + const mostExpanded = at_default( + /* isOptionalObject */ + false, + doc2.expandedStates, + -1 + ); + if (doc2.break) { + cmds.push({ ind, mode: MODE_BREAK, doc: mostExpanded }); + break; + } else { + for (let i = 1; i < doc2.expandedStates.length + 1; i++) { + if (i >= doc2.expandedStates.length) { + cmds.push({ ind, mode: MODE_BREAK, doc: mostExpanded }); + break; + } else { + const state = doc2.expandedStates[i]; + const cmd = { ind, mode: MODE_FLAT, doc: state }; + if (fits(cmd, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(cmd); + break; + } + } + } + } + } else { + cmds.push({ ind, mode: MODE_BREAK, doc: doc2.contents }); + } + } + break; + } + } + if (doc2.id) { + groupModeMap[doc2.id] = at_default( + /* isOptionalObject */ + false, + cmds, + -1 + ).mode; + } + break; + // Fills each line with as much code as possible before moving to a new + // line with the same indentation. + // + // Expects doc.parts to be an array of alternating content and + // whitespace. The whitespace contains the linebreaks. + // + // For example: + // ["I", line, "love", line, "monkeys"] + // or + // [{ type: group, ... }, softline, { type: group, ... }] + // + // It uses this parts structure to handle three main layout cases: + // * The first two content items fit on the same line without + // breaking + // -> output the first content item and the whitespace "flat". + // * Only the first content item fits on the line without breaking + // -> output the first content item "flat" and the whitespace with + // "break". + // * Neither content item fits on the line without breaking + // -> output the first content item and the whitespace with "break". + case DOC_TYPE_FILL: { + const rem = width - pos; + const offset = doc2[DOC_FILL_PRINTED_LENGTH] ?? 0; + const { parts } = doc2; + const length = parts.length - offset; + if (length === 0) { + break; + } + const content = parts[offset + 0]; + const whitespace = parts[offset + 1]; + const contentFlatCmd = { ind, mode: MODE_FLAT, doc: content }; + const contentBreakCmd = { ind, mode: MODE_BREAK, doc: content }; + const contentFits = fits( + contentFlatCmd, + [], + rem, + lineSuffix2.length > 0, + groupModeMap, + true + ); + if (length === 1) { + if (contentFits) { + cmds.push(contentFlatCmd); + } else { + cmds.push(contentBreakCmd); + } + break; + } + const whitespaceFlatCmd = { ind, mode: MODE_FLAT, doc: whitespace }; + const whitespaceBreakCmd = { ind, mode: MODE_BREAK, doc: whitespace }; + if (length === 2) { + if (contentFits) { + cmds.push(whitespaceFlatCmd, contentFlatCmd); + } else { + cmds.push(whitespaceBreakCmd, contentBreakCmd); + } + break; + } + const secondContent = parts[offset + 2]; + const remainingCmd = { + ind, + mode, + doc: { ...doc2, [DOC_FILL_PRINTED_LENGTH]: offset + 2 } + }; + const firstAndSecondContentFlatCmd = { + ind, + mode: MODE_FLAT, + doc: [content, whitespace, secondContent] + }; + const firstAndSecondContentFits = fits( + firstAndSecondContentFlatCmd, + [], + rem, + lineSuffix2.length > 0, + groupModeMap, + true + ); + if (firstAndSecondContentFits) { + cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd); + } else if (contentFits) { + cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd); + } else { + cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd); + } + break; + } + case DOC_TYPE_IF_BREAK: + case DOC_TYPE_INDENT_IF_BREAK: { + const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode; + if (groupMode === MODE_BREAK) { + const breakContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents); + if (breakContents) { + cmds.push({ ind, mode, doc: breakContents }); + } + } + if (groupMode === MODE_FLAT) { + const flatContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents; + if (flatContents) { + cmds.push({ ind, mode, doc: flatContents }); + } + } + break; + } + case DOC_TYPE_LINE_SUFFIX: + lineSuffix2.push({ ind, mode, doc: doc2.contents }); + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (lineSuffix2.length > 0) { + cmds.push({ ind, mode, doc: hardlineWithoutBreakParent }); + } + break; + case DOC_TYPE_LINE: + switch (mode) { + case MODE_FLAT: + if (!doc2.hard) { + if (!doc2.soft) { + out.push(" "); + pos += 1; + } + break; + } else { + shouldRemeasure = true; + } + // fallthrough + case MODE_BREAK: + if (lineSuffix2.length > 0) { + cmds.push({ ind, mode, doc: doc2 }, ...lineSuffix2.reverse()); + lineSuffix2.length = 0; + break; + } + if (doc2.literal) { + if (ind.root) { + out.push(newLine, ind.root.value); + pos = ind.root.length; + } else { + out.push(newLine); + pos = 0; + } + } else { + pos -= trim2(out); + out.push(newLine + ind.value); + pos = ind.length; + } + break; + } + break; + case DOC_TYPE_LABEL: + cmds.push({ ind, mode, doc: doc2.contents }); + break; + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + if (cmds.length === 0 && lineSuffix2.length > 0) { + cmds.push(...lineSuffix2.reverse()); + lineSuffix2.length = 0; + } + } + const cursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER); + if (cursorPlaceholderIndex !== -1) { + const otherCursorPlaceholderIndex = out.indexOf( + CURSOR_PLACEHOLDER, + cursorPlaceholderIndex + 1 + ); + if (otherCursorPlaceholderIndex === -1) { + return { + formatted: out.filter((char) => char !== CURSOR_PLACEHOLDER).join("") + }; + } + const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); + const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); + const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); + return { + formatted: beforeCursor + aroundCursor + afterCursor, + cursorNodeStart: beforeCursor.length, + cursorNodeText: aroundCursor + }; + } + return { formatted: out.join("") }; +} + +// src/document/public.js +var builders = { + join, + line, + softline, + hardline, + literalline, + group, + conditionalGroup, + fill, + lineSuffix, + lineSuffixBoundary, + cursor, + breakParent, + ifBreak, + trim, + indent, + indentIfBreak, + align, + addAlignmentToDoc, + markAsRoot, + dedentToRoot, + dedent, + hardlineWithoutBreakParent, + literallineWithoutBreakParent, + label, + // TODO: Remove this in v4 + concat: (parts) => parts +}; +var printer = { printDocToString }; +var utils = { + willBreak, + traverseDoc: traverse_doc_default, + findInDoc, + mapDoc, + removeLines, + stripTrailingHardline, + replaceEndOfLine, + canBreak +}; + +// with-default-export:src/document/public.js +var public_default = public_exports; +export { + builders, + public_default as default, + printer, + utils +}; diff --git a/dist/prettier/index.cjs b/dist/prettier/index.cjs new file mode 100644 index 000000000000..6e15e8237781 --- /dev/null +++ b/dist/prettier/index.cjs @@ -0,0 +1,699 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/utils/skip.js +function skip(characters) { + return (text, startIndex, options) => { + const backwards = Boolean(options?.backwards); + if (startIndex === false) { + return false; + } + const { length } = text; + let cursor = startIndex; + while (cursor >= 0 && cursor < length) { + const character = text.charAt(cursor); + if (characters instanceof RegExp) { + if (!characters.test(character)) { + return cursor; + } + } else if (!characters.includes(character)) { + return cursor; + } + backwards ? cursor-- : cursor++; + } + if (cursor === -1 || cursor === length) { + return cursor; + } + return false; + }; +} +var skipWhitespace, skipSpaces, skipToLineEnd, skipEverythingButNewLine; +var init_skip = __esm({ + "src/utils/skip.js"() { + skipWhitespace = skip(/\s/u); + skipSpaces = skip(" "); + skipToLineEnd = skip(",; "); + skipEverythingButNewLine = skip(/[^\n\r]/u); + } +}); + +// src/utils/skip-inline-comment.js +function skipInlineComment(text, startIndex) { + if (startIndex === false) { + return false; + } + if (text.charAt(startIndex) === "/" && text.charAt(startIndex + 1) === "*") { + for (let i = startIndex + 2; i < text.length; ++i) { + if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { + return i + 2; + } + } + } + return startIndex; +} +var skip_inline_comment_default; +var init_skip_inline_comment = __esm({ + "src/utils/skip-inline-comment.js"() { + skip_inline_comment_default = skipInlineComment; + } +}); + +// src/utils/skip-newline.js +function skipNewline(text, startIndex, options) { + const backwards = Boolean(options?.backwards); + if (startIndex === false) { + return false; + } + const character = text.charAt(startIndex); + if (backwards) { + if (text.charAt(startIndex - 1) === "\r" && character === "\n") { + return startIndex - 2; + } + if (character === "\n" || character === "\r" || character === "\u2028" || character === "\u2029") { + return startIndex - 1; + } + } else { + if (character === "\r" && text.charAt(startIndex + 1) === "\n") { + return startIndex + 2; + } + if (character === "\n" || character === "\r" || character === "\u2028" || character === "\u2029") { + return startIndex + 1; + } + } + return startIndex; +} +var skip_newline_default; +var init_skip_newline = __esm({ + "src/utils/skip-newline.js"() { + skip_newline_default = skipNewline; + } +}); + +// src/utils/skip-trailing-comment.js +function skipTrailingComment(text, startIndex) { + if (startIndex === false) { + return false; + } + if (text.charAt(startIndex) === "/" && text.charAt(startIndex + 1) === "/") { + return skipEverythingButNewLine(text, startIndex); + } + return startIndex; +} +var skip_trailing_comment_default; +var init_skip_trailing_comment = __esm({ + "src/utils/skip-trailing-comment.js"() { + init_skip(); + skip_trailing_comment_default = skipTrailingComment; + } +}); + +// src/utils/get-next-non-space-non-comment-character-index.js +function getNextNonSpaceNonCommentCharacterIndex(text, startIndex) { + let oldIdx = null; + let nextIdx = startIndex; + while (nextIdx !== oldIdx) { + oldIdx = nextIdx; + nextIdx = skipSpaces(text, nextIdx); + nextIdx = skip_inline_comment_default(text, nextIdx); + nextIdx = skip_trailing_comment_default(text, nextIdx); + nextIdx = skip_newline_default(text, nextIdx); + } + return nextIdx; +} +var get_next_non_space_non_comment_character_index_default; +var init_get_next_non_space_non_comment_character_index = __esm({ + "src/utils/get-next-non-space-non-comment-character-index.js"() { + init_skip(); + init_skip_inline_comment(); + init_skip_newline(); + init_skip_trailing_comment(); + get_next_non_space_non_comment_character_index_default = getNextNonSpaceNonCommentCharacterIndex; + } +}); + +// src/utils/has-newline.js +function hasNewline(text, startIndex, options = {}) { + const idx = skipSpaces( + text, + options.backwards ? startIndex - 1 : startIndex, + options + ); + const idx2 = skip_newline_default(text, idx, options); + return idx !== idx2; +} +var has_newline_default; +var init_has_newline = __esm({ + "src/utils/has-newline.js"() { + init_skip(); + init_skip_newline(); + has_newline_default = hasNewline; + } +}); + +// src/utils/is-next-line-empty.js +function isNextLineEmpty(text, startIndex) { + let oldIdx = null; + let idx = startIndex; + while (idx !== oldIdx) { + oldIdx = idx; + idx = skipToLineEnd(text, idx); + idx = skip_inline_comment_default(text, idx); + idx = skipSpaces(text, idx); + } + idx = skip_trailing_comment_default(text, idx); + idx = skip_newline_default(text, idx); + return idx !== false && has_newline_default(text, idx); +} +var is_next_line_empty_default; +var init_is_next_line_empty = __esm({ + "src/utils/is-next-line-empty.js"() { + init_has_newline(); + init_skip(); + init_skip_inline_comment(); + init_skip_newline(); + init_skip_trailing_comment(); + is_next_line_empty_default = isNextLineEmpty; + } +}); + +// src/utils/is-previous-line-empty.js +function isPreviousLineEmpty(text, startIndex) { + let idx = startIndex - 1; + idx = skipSpaces(text, idx, { backwards: true }); + idx = skip_newline_default(text, idx, { backwards: true }); + idx = skipSpaces(text, idx, { backwards: true }); + const idx2 = skip_newline_default(text, idx, { backwards: true }); + return idx !== idx2; +} +var is_previous_line_empty_default; +var init_is_previous_line_empty = __esm({ + "src/utils/is-previous-line-empty.js"() { + init_skip(); + init_skip_newline(); + is_previous_line_empty_default = isPreviousLineEmpty; + } +}); + +// src/main/comments/utils.js +function describeNodeForDebugging(node) { + const nodeType = node.type || node.kind || "(unknown type)"; + let nodeName = String( + node.name || node.id && (typeof node.id === "object" ? node.id.name : node.id) || node.key && (typeof node.key === "object" ? node.key.name : node.key) || node.value && (typeof node.value === "object" ? "" : String(node.value)) || node.operator || "" + ); + if (nodeName.length > 20) { + nodeName = nodeName.slice(0, 19) + "\u2026"; + } + return nodeType + (nodeName ? " " + nodeName : ""); +} +function addCommentHelper(node, comment) { + const comments = node.comments ??= []; + comments.push(comment); + comment.printed = false; + comment.nodeDescription = describeNodeForDebugging(node); +} +function addLeadingComment(node, comment) { + comment.leading = true; + comment.trailing = false; + addCommentHelper(node, comment); +} +function addDanglingComment(node, comment, marker) { + comment.leading = false; + comment.trailing = false; + if (marker) { + comment.marker = marker; + } + addCommentHelper(node, comment); +} +function addTrailingComment(node, comment) { + comment.leading = false; + comment.trailing = true; + addCommentHelper(node, comment); +} +var init_utils = __esm({ + "src/main/comments/utils.js"() { + } +}); + +// src/utils/get-alignment-size.js +function getAlignmentSize(text, tabWidth, startIndex = 0) { + let size = 0; + for (let i = startIndex; i < text.length; ++i) { + if (text[i] === " ") { + size = size + tabWidth - size % tabWidth; + } else { + size++; + } + } + return size; +} +var get_alignment_size_default; +var init_get_alignment_size = __esm({ + "src/utils/get-alignment-size.js"() { + get_alignment_size_default = getAlignmentSize; + } +}); + +// src/utils/get-indent-size.js +function getIndentSize(value, tabWidth) { + const lastNewlineIndex = value.lastIndexOf("\n"); + if (lastNewlineIndex === -1) { + return 0; + } + return get_alignment_size_default( + // All the leading whitespaces + value.slice(lastNewlineIndex + 1).match(/^[\t ]*/u)[0], + tabWidth + ); +} +var get_indent_size_default; +var init_get_indent_size = __esm({ + "src/utils/get-indent-size.js"() { + init_get_alignment_size(); + get_indent_size_default = getIndentSize; + } +}); + +// node_modules/escape-string-regexp/index.js +function escapeStringRegexp(string) { + if (typeof string !== "string") { + throw new TypeError("Expected a string"); + } + return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d"); +} +var init_escape_string_regexp = __esm({ + "node_modules/escape-string-regexp/index.js"() { + } +}); + +// src/utils/get-max-continuous-count.js +function getMaxContinuousCount(text, searchString) { + const results = text.match( + new RegExp(`(${escapeStringRegexp(searchString)})+`, "gu") + ); + if (results === null) { + return 0; + } + return results.reduce( + (maxCount, result) => Math.max(maxCount, result.length / searchString.length), + 0 + ); +} +var get_max_continuous_count_default; +var init_get_max_continuous_count = __esm({ + "src/utils/get-max-continuous-count.js"() { + init_escape_string_regexp(); + get_max_continuous_count_default = getMaxContinuousCount; + } +}); + +// src/utils/get-next-non-space-non-comment-character.js +function getNextNonSpaceNonCommentCharacter(text, startIndex) { + const index = get_next_non_space_non_comment_character_index_default(text, startIndex); + return index === false ? "" : text.charAt(index); +} +var get_next_non_space_non_comment_character_default; +var init_get_next_non_space_non_comment_character = __esm({ + "src/utils/get-next-non-space-non-comment-character.js"() { + init_get_next_non_space_non_comment_character_index(); + get_next_non_space_non_comment_character_default = getNextNonSpaceNonCommentCharacter; + } +}); + +// src/utils/get-preferred-quote.js +function getPreferredQuote(text, preferredQuoteOrPreferSingleQuote) { + const preferred = preferredQuoteOrPreferSingleQuote === true || preferredQuoteOrPreferSingleQuote === SINGLE_QUOTE ? SINGLE_QUOTE : DOUBLE_QUOTE; + const alternate = preferred === SINGLE_QUOTE ? DOUBLE_QUOTE : SINGLE_QUOTE; + let preferredQuoteCount = 0; + let alternateQuoteCount = 0; + for (const character of text) { + if (character === preferred) { + preferredQuoteCount++; + } else if (character === alternate) { + alternateQuoteCount++; + } + } + return preferredQuoteCount > alternateQuoteCount ? alternate : preferred; +} +var SINGLE_QUOTE, DOUBLE_QUOTE, get_preferred_quote_default; +var init_get_preferred_quote = __esm({ + "src/utils/get-preferred-quote.js"() { + SINGLE_QUOTE = "'"; + DOUBLE_QUOTE = '"'; + get_preferred_quote_default = getPreferredQuote; + } +}); + +// node_modules/emoji-regex/index.mjs +var emoji_regex_default; +var init_emoji_regex = __esm({ + "node_modules/emoji-regex/index.mjs"() { + emoji_regex_default = () => { + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; + }; + } +}); + +// node_modules/get-east-asian-width/lookup.js +function isFullWidth(x) { + return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510; +} +function isWide(x) { + return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141; +} +var init_lookup = __esm({ + "node_modules/get-east-asian-width/lookup.js"() { + } +}); + +// node_modules/get-east-asian-width/index.js +var init_get_east_asian_width = __esm({ + "node_modules/get-east-asian-width/index.js"() { + init_lookup(); + } +}); + +// src/utils/narrow-emojis.evaluate.js +var narrow_emojis_evaluate_default; +var init_narrow_emojis_evaluate = __esm({ + "src/utils/narrow-emojis.evaluate.js"() { + narrow_emojis_evaluate_default = "\xA9\xAE\u203C\u2049\u2122\u2139\u2194\u2195\u2196\u2197\u2198\u2199\u21A9\u21AA\u2328\u23CF\u23F1\u23F2\u23F8\u23F9\u23FA\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600\u2601\u2602\u2603\u2604\u260E\u2611\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694\u2695\u2696\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F1\u26F7\u26F8\u26F9\u2702\u2708\u2709\u270C\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05\u2B06\u2B07"; + } +}); + +// src/utils/get-string-width.js +function getStringWidth(text) { + if (!text) { + return 0; + } + if (!notAsciiRegex.test(text)) { + return text.length; + } + text = text.replace( + emoji_regex_default(), + (match) => narrowEmojisSet.has(match) ? " " : " " + ); + let width = 0; + for (const character of text) { + const codePoint = character.codePointAt(0); + if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { + continue; + } + if (codePoint >= 768 && codePoint <= 879) { + continue; + } + if (codePoint >= 65024 && codePoint <= 65039) { + continue; + } + width += isFullWidth(codePoint) || isWide(codePoint) ? 2 : 1; + } + return width; +} +var notAsciiRegex, narrowEmojisSet, get_string_width_default; +var init_get_string_width = __esm({ + "src/utils/get-string-width.js"() { + init_emoji_regex(); + init_get_east_asian_width(); + init_narrow_emojis_evaluate(); + notAsciiRegex = /[^\x20-\x7F]/u; + narrowEmojisSet = new Set(narrow_emojis_evaluate_default); + get_string_width_default = getStringWidth; + } +}); + +// src/utils/has-newline-in-range.js +function hasNewlineInRange(text, startIndex, endIndex) { + for (let i = startIndex; i < endIndex; ++i) { + if (text.charAt(i) === "\n") { + return true; + } + } + return false; +} +var has_newline_in_range_default; +var init_has_newline_in_range = __esm({ + "src/utils/has-newline-in-range.js"() { + has_newline_in_range_default = hasNewlineInRange; + } +}); + +// src/utils/has-spaces.js +function hasSpaces(text, startIndex, options = {}) { + const idx = skipSpaces( + text, + options.backwards ? startIndex - 1 : startIndex, + options + ); + return idx !== startIndex; +} +var has_spaces_default; +var init_has_spaces = __esm({ + "src/utils/has-spaces.js"() { + init_skip(); + has_spaces_default = hasSpaces; + } +}); + +// scripts/build/shims/string-replace-all.js +var stringReplaceAll, string_replace_all_default; +var init_string_replace_all = __esm({ + "scripts/build/shims/string-replace-all.js"() { + stringReplaceAll = (isOptionalObject, original, pattern, replacement) => { + if (isOptionalObject && (original === void 0 || original === null)) { + return; + } + if (original.replaceAll) { + return original.replaceAll(pattern, replacement); + } + if (pattern.global) { + return original.replace(pattern, replacement); + } + return original.split(pattern).join(replacement); + }; + string_replace_all_default = stringReplaceAll; + } +}); + +// src/utils/make-string.js +function makeString(rawText, enclosingQuote, unescapeUnnecessaryEscapes) { + const otherQuote = enclosingQuote === '"' ? "'" : '"'; + const regex = /\\(.)|(["'])/gsu; + const raw = string_replace_all_default( + /* isOptionalObject */ + false, + rawText, + regex, + (match, escaped, quote) => { + if (escaped === otherQuote) { + return escaped; + } + if (quote === enclosingQuote) { + return "\\" + quote; + } + if (quote) { + return quote; + } + return unescapeUnnecessaryEscapes && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(escaped) ? escaped : "\\" + escaped; + } + ); + return enclosingQuote + raw + enclosingQuote; +} +var make_string_default; +var init_make_string = __esm({ + "src/utils/make-string.js"() { + init_string_replace_all(); + make_string_default = makeString; + } +}); + +// src/utils/public.js +var public_exports = {}; +__export(public_exports, { + addDanglingComment: () => addDanglingComment, + addLeadingComment: () => addLeadingComment, + addTrailingComment: () => addTrailingComment, + getAlignmentSize: () => get_alignment_size_default, + getIndentSize: () => get_indent_size_default, + getMaxContinuousCount: () => get_max_continuous_count_default, + getNextNonSpaceNonCommentCharacter: () => get_next_non_space_non_comment_character_default, + getNextNonSpaceNonCommentCharacterIndex: () => getNextNonSpaceNonCommentCharacterIndex2, + getPreferredQuote: () => get_preferred_quote_default, + getStringWidth: () => get_string_width_default, + hasNewline: () => has_newline_default, + hasNewlineInRange: () => has_newline_in_range_default, + hasSpaces: () => has_spaces_default, + isNextLineEmpty: () => isNextLineEmpty2, + isNextLineEmptyAfterIndex: () => is_next_line_empty_default, + isPreviousLineEmpty: () => isPreviousLineEmpty2, + makeString: () => make_string_default, + skip: () => skip, + skipEverythingButNewLine: () => skipEverythingButNewLine, + skipInlineComment: () => skip_inline_comment_default, + skipNewline: () => skip_newline_default, + skipSpaces: () => skipSpaces, + skipToLineEnd: () => skipToLineEnd, + skipTrailingComment: () => skip_trailing_comment_default, + skipWhitespace: () => skipWhitespace +}); +function legacyGetNextNonSpaceNonCommentCharacterIndex(text, node, locEnd) { + return get_next_non_space_non_comment_character_index_default( + text, + locEnd(node) + ); +} +function getNextNonSpaceNonCommentCharacterIndex2(text, startIndex) { + return arguments.length === 2 || typeof startIndex === "number" ? get_next_non_space_non_comment_character_index_default(text, startIndex) : ( + // @ts-expect-error -- expected + // eslint-disable-next-line prefer-rest-params + legacyGetNextNonSpaceNonCommentCharacterIndex(...arguments) + ); +} +function legacyIsPreviousLineEmpty(text, node, locStart) { + return is_previous_line_empty_default(text, locStart(node)); +} +function isPreviousLineEmpty2(text, startIndex) { + return arguments.length === 2 || typeof startIndex === "number" ? is_previous_line_empty_default(text, startIndex) : ( + // @ts-expect-error -- expected + // eslint-disable-next-line prefer-rest-params + legacyIsPreviousLineEmpty(...arguments) + ); +} +function legacyIsNextLineEmpty(text, node, locEnd) { + return is_next_line_empty_default(text, locEnd(node)); +} +function isNextLineEmpty2(text, startIndex) { + return arguments.length === 2 || typeof startIndex === "number" ? is_next_line_empty_default(text, startIndex) : ( + // @ts-expect-error -- expected + // eslint-disable-next-line prefer-rest-params + legacyIsNextLineEmpty(...arguments) + ); +} +var init_public = __esm({ + "src/utils/public.js"() { + init_get_next_non_space_non_comment_character_index(); + init_is_next_line_empty(); + init_is_previous_line_empty(); + init_utils(); + init_get_alignment_size(); + init_get_indent_size(); + init_get_max_continuous_count(); + init_get_next_non_space_non_comment_character(); + init_get_preferred_quote(); + init_get_string_width(); + init_has_newline(); + init_has_newline_in_range(); + init_has_spaces(); + init_make_string(); + init_skip(); + init_skip_inline_comment(); + init_skip_newline(); + init_skip_trailing_comment(); + } +}); + +// src/main/version.evaluate.js +var version_evaluate_exports = {}; +__export(version_evaluate_exports, { + default: () => version_evaluate_default +}); +var version_evaluate_default; +var init_version_evaluate = __esm({ + "src/main/version.evaluate.js"() { + version_evaluate_default = "3.7.0-82e57b781"; + } +}); + +// src/index.cjs +var prettierPromise = import("./index.mjs"); +var functionNames = [ + "formatWithCursor", + "format", + "check", + "resolveConfig", + "resolveConfigFile", + "clearConfigCache", + "getFileInfo", + "getSupportInfo" +]; +var prettier = /* @__PURE__ */ Object.create(null); +for (const name of functionNames) { + prettier[name] = async (...args) => { + const prettier2 = await prettierPromise; + return prettier2[name](...args); + }; +} +var debugApiFunctionNames = [ + "parse", + "formatAST", + "formatDoc", + "printToDoc", + "printDocToString" +]; +var debugApis = /* @__PURE__ */ Object.create(null); +for (const name of debugApiFunctionNames) { + debugApis[name] = async (...args) => { + const prettier2 = await prettierPromise; + return prettier2.__debug[name](...args); + }; +} +prettier.__debug = debugApis; +if (true) { + prettier.util = (init_public(), __toCommonJS(public_exports)); + prettier.doc = require("./doc.js"); + prettier.version = (init_version_evaluate(), __toCommonJS(version_evaluate_exports)).default; +} else { + Object.defineProperties(prettier, { + util: { + get() { + try { + return null; + } catch { + } + throw new Error( + "prettier.util is not available in development CommonJS version" + ); + } + }, + doc: { + get() { + try { + return null; + } catch { + } + throw new Error( + "prettier.doc is not available in development CommonJS version" + ); + } + } + }); + prettier.version = null.version; +} +module.exports = prettier; diff --git a/dist/prettier/index.d.ts b/dist/prettier/index.d.ts new file mode 100644 index 000000000000..2dec0c211ce5 --- /dev/null +++ b/dist/prettier/index.d.ts @@ -0,0 +1,962 @@ +// Copied from `@types/prettier` +// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/5bb07fc4b087cb7ee91084afa6fe750551a7bbb1/types/prettier/index.d.ts + +// Minimum TypeScript Version: 4.2 + +// Add `export {}` here to shut off automatic exporting from index.d.ts. There +// are quite a few utility types here that don't need to be shipped with the +// exported module. +export {}; + +import { builders, printer, utils } from "./doc.js"; + +export namespace doc { + export { builders, printer, utils }; +} + +// This utility is here to handle the case where you have an explicit union +// between string literals and the generic string type. It would normally +// resolve out to just the string type, but this generic LiteralUnion maintains +// the intellisense of the original union. +// +// It comes from this issue: microsoft/TypeScript#29729: +// https://github.com/microsoft/TypeScript/issues/29729#issuecomment-700527227 +export type LiteralUnion = + | T + | (Pick & { _?: never | undefined }); + +export type AST = any; +export type Doc = doc.builders.Doc; + +// The type of elements that make up the given array T. +type ArrayElement = T extends Array ? E : never; + +// A union of the properties of the given object that are arrays. +type ArrayProperties = { + [K in keyof T]: NonNullable extends readonly any[] ? K : never; +}[keyof T]; + +// A union of the properties of the given array T that can be used to index it. +// If the array is a tuple, then that's going to be the explicit indices of the +// array, otherwise it's going to just be number. +type IndexProperties = + IsTuple extends true ? Exclude["length"], T["length"]> : number; + +// Effectively performing T[P], except that it's telling TypeScript that it's +// safe to do this for tuples, arrays, or objects. +type IndexValue = T extends any[] + ? P extends number + ? T[P] + : never + : P extends keyof T + ? T[P] + : never; + +// Determines if an object T is an array like string[] (in which case this +// evaluates to false) or a tuple like [string] (in which case this evaluates to +// true). +// eslint-disable-next-line @typescript-eslint/no-unused-vars +type IsTuple = T extends [] + ? true + : T extends [infer First, ...infer Remain] + ? IsTuple + : false; + +type CallProperties = T extends any[] ? IndexProperties : keyof T; +type IterProperties = T extends any[] + ? IndexProperties + : ArrayProperties; + +type CallCallback = (path: AstPath, index: number, value: any) => U; +type EachCallback = ( + path: AstPath>, + index: number, + value: any, +) => void; +type MapCallback = ( + path: AstPath>, + index: number, + value: any, +) => U; + +// https://github.com/prettier/prettier/blob/next/src/common/ast-path.js +export class AstPath { + constructor(value: T); + + get key(): string | null; + get index(): number | null; + get node(): T; + get parent(): T | null; + get grandparent(): T | null; + get isInArray(): boolean; + get siblings(): T[] | null; + get next(): T | null; + get previous(): T | null; + get isFirst(): boolean; + get isLast(): boolean; + get isRoot(): boolean; + get root(): T; + get ancestors(): T[]; + + stack: T[]; + + callParent(callback: (path: this) => U, count?: number): U; + + /** + * @deprecated Please use `AstPath#key` or `AstPath#index` + */ + getName(): PropertyKey | null; + + /** + * @deprecated Please use `AstPath#node` or `AstPath#siblings` + */ + getValue(): T; + + getNode(count?: number): T | null; + + getParentNode(count?: number): T | null; + + match( + ...predicates: Array< + (node: any, name: string | null, number: number | null) => boolean + > + ): boolean; + + // For each of the tree walk functions (call, each, and map) this provides 5 + // strict type signatures, along with a fallback at the end if you end up + // calling more than 5 properties deep. This helps a lot with typing because + // for the majority of cases you're calling fewer than 5 properties, so the + // tree walk functions have a clearer understanding of what you're doing. + // + // Note that resolving these types is somewhat complicated, and it wasn't + // even supported until TypeScript 4.2 (before it would just say that the + // type instantiation was excessively deep and possibly infinite). + + call(callback: CallCallback): U; + call>( + callback: CallCallback, U>, + prop1: P1, + ): U; + call>( + callback: CallCallback, P2>, U>, + prop1: P1, + prop2: P2, + ): U; + call< + U, + P1 extends keyof T, + P2 extends CallProperties, + P3 extends CallProperties>, + >( + callback: CallCallback< + IndexValue, P2>, P3>, + U + >, + prop1: P1, + prop2: P2, + prop3: P3, + ): U; + call< + U, + P1 extends keyof T, + P2 extends CallProperties, + P3 extends CallProperties>, + P4 extends CallProperties, P3>>, + >( + callback: CallCallback< + IndexValue, P2>, P3>, P4>, + U + >, + prop1: P1, + prop2: P2, + prop3: P3, + prop4: P4, + ): U; + call( + callback: CallCallback, + prop1: P, + prop2: P, + prop3: P, + prop4: P, + ...props: P[] + ): U; + + each(callback: EachCallback): void; + each>( + callback: EachCallback>, + prop1: P1, + ): void; + each>( + callback: EachCallback, P2>>, + prop1: P1, + prop2: P2, + ): void; + each< + P1 extends keyof T, + P2 extends IterProperties, + P3 extends IterProperties>, + >( + callback: EachCallback, P2>, P3>>, + prop1: P1, + prop2: P2, + prop3: P3, + ): void; + each< + P1 extends keyof T, + P2 extends IterProperties, + P3 extends IterProperties>, + P4 extends IterProperties, P3>>, + >( + callback: EachCallback< + IndexValue, P2>, P3>, P4> + >, + prop1: P1, + prop2: P2, + prop3: P3, + prop4: P4, + ): void; + each( + callback: EachCallback, + prop1: PropertyKey, + prop2: PropertyKey, + prop3: PropertyKey, + prop4: PropertyKey, + ...props: PropertyKey[] + ): void; + + map(callback: MapCallback): U[]; + map>( + callback: MapCallback, U>, + prop1: P1, + ): U[]; + map>( + callback: MapCallback, P2>, U>, + prop1: P1, + prop2: P2, + ): U[]; + map< + U, + P1 extends keyof T, + P2 extends IterProperties, + P3 extends IterProperties>, + >( + callback: MapCallback, P2>, P3>, U>, + prop1: P1, + prop2: P2, + prop3: P3, + ): U[]; + map< + U, + P1 extends keyof T, + P2 extends IterProperties, + P3 extends IterProperties>, + P4 extends IterProperties, P3>>, + >( + callback: MapCallback< + IndexValue, P2>, P3>, P4>, + U + >, + prop1: P1, + prop2: P2, + prop3: P3, + prop4: P4, + ): U[]; + map( + callback: MapCallback, + prop1: PropertyKey, + prop2: PropertyKey, + prop3: PropertyKey, + prop4: PropertyKey, + ...props: PropertyKey[] + ): U[]; +} + +/** @deprecated `FastPath` was renamed to `AstPath` */ +export type FastPath = AstPath; + +export type BuiltInParser = (text: string, options?: any) => AST; +export type BuiltInParserName = + | "acorn" + | "angular" + | "babel-flow" + | "babel-ts" + | "babel" + | "css" + | "espree" + | "flow" + | "glimmer" + | "graphql" + | "html" + | "json-stringify" + | "json" + | "json5" + | "jsonc" + | "less" + | "lwc" + | "markdown" + | "mdx" + | "meriyah" + | "mjml" + | "scss" + | "typescript" + | "vue" + | "yaml"; +export type BuiltInParsers = Record; + +/** + * For use in `.prettierrc.js`, `.prettierrc.ts`, `.prettierrc.cjs`, `.prettierrc.cts`, `prettierrc.mjs`, `prettierrc.mts`, `prettier.config.js`, `prettier.config.ts`, `prettier.config.cjs`, `prettier.config.cts`, `prettier.config.mjs`, `prettier.config.mts` + */ +export interface Config extends Options { + overrides?: Array<{ + files: string | string[]; + excludeFiles?: string | string[]; + options?: Options; + }>; +} + +export interface Options extends Partial {} + +export interface RequiredOptions extends doc.printer.Options { + /** + * Print semicolons at the ends of statements. + * @default true + */ + semi: boolean; + /** + * Use single quotes instead of double quotes. + * @default false + */ + singleQuote: boolean; + /** + * Use single quotes in JSX. + * @default false + */ + jsxSingleQuote: boolean; + /** + * Print trailing commas wherever possible. + * @default "all" + */ + trailingComma: "none" | "es5" | "all"; + /** + * Print spaces between brackets in object literals. + * @default true + */ + bracketSpacing: boolean; + /** + * How to wrap object literals. + * @default "preserve" + */ + objectWrap: "preserve" | "collapse"; + /** + * Put the `>` of a multi-line HTML (HTML, JSX, Vue, Angular) element at the end of the last line instead of being + * alone on the next line (does not apply to self closing elements). + * @default false + */ + bracketSameLine: boolean; + /** + * Format only a segment of a file. + * @default 0 + */ + rangeStart: number; + /** + * Format only a segment of a file. + * @default Number.POSITIVE_INFINITY + */ + rangeEnd: number; + /** + * Specify which parser to use. + */ + parser: LiteralUnion; + /** + * Specify the input filepath. This will be used to do parser inference. + */ + filepath: string; + /** + * Prettier can restrict itself to only format files that contain a special comment, called a pragma, at the top of the file. + * This is very useful when gradually transitioning large, unformatted codebases to prettier. + * @default false + */ + requirePragma: boolean; + /** + * Prettier can insert a special @format marker at the top of files specifying that + * the file has been formatted with prettier. This works well when used in tandem with + * the --require-pragma option. If there is already a docblock at the top of + * the file then this option will add a newline to it with the @format marker. + * @default false + */ + insertPragma: boolean; + /** + * Prettier can allow individual files to opt out of formatting if they contain a special comment, called a pragma, at the top of the file. + * @default false + */ + checkIgnorePragma: boolean; + /** + * By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer. + * In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out. + * @default "preserve" + */ + proseWrap: "always" | "never" | "preserve"; + /** + * Include parentheses around a sole arrow function parameter. + * @default "always" + */ + arrowParens: "avoid" | "always"; + /** + * Provide ability to support new languages to prettier. + */ + plugins: Array; + /** + * How to handle whitespaces in HTML. + * @default "css" + */ + htmlWhitespaceSensitivity: "css" | "strict" | "ignore"; + /** + * Which end of line characters to apply. + * @default "lf" + */ + endOfLine: "auto" | "lf" | "crlf" | "cr"; + /** + * Change when properties in objects are quoted. + * @default "as-needed" + */ + quoteProps: "as-needed" | "consistent" | "preserve"; + /** + * Whether or not to indent the code inside