diff --git a/## GitHub Copilot Chat.md b/## GitHub Copilot Chat.md
new file mode 100644
index 00000000..abc1cd42
--- /dev/null
+++ b/## GitHub Copilot Chat.md
@@ -0,0 +1,36 @@
+## GitHub Copilot Chat
+
+- Extension Version: 0.23.2 (prod)
+- VS Code: vscode/1.96.4
+- OS: Linux
+
+## Network
+
+User Settings:
+```json
+ "github.copilot.advanced.debug.useElectronFetcher": true,
+ "github.copilot.advanced.debug.useNodeFetcher": false,
+ "github.copilot.advanced.debug.useNodeFetchFetcher": true
+```
+
+Connecting to https://api.github.com:
+- DNS ipv4 Lookup: timed out after 10 seconds
+- DNS ipv6 Lookup: Error (8 ms): getaddrinfo ENOTFOUND api.github.com
+- Proxy URL: None (2 ms)
+- Electron fetch (configured): timed out after 10 seconds
+- Node.js https: timed out after 10 seconds
+- Node.js fetch: timed out after 10 seconds
+- Helix fetch: timed out after 10 seconds
+
+Connecting to https://api.individual.githubcopilot.com/_ping:
+- DNS ipv4 Lookup: timed out after 10 seconds
+- DNS ipv6 Lookup: timed out after 10 seconds
+- Proxy URL: None (16 ms)
+- Electron fetch (configured): timed out after 10 seconds
+- Node.js https: timed out after 10 seconds
+- Node.js fetch: timed out after 10 seconds
+- Helix fetch: timed out after 10 seconds
+
+## Documentation
+
+In corporate networks: [Troubleshooting firewall settings for GitHub Copilot](https://docs.github.com/en/copilot/troubleshooting-github-copilot/troubleshooting-firewall-settings-for-github-copilot).
\ No newline at end of file
diff --git a/.codesandbox/tasks.json b/.codesandbox/tasks.json
new file mode 100644
index 00000000..9a67839b
--- /dev/null
+++ b/.codesandbox/tasks.json
@@ -0,0 +1,23 @@
+{
+ // These tasks will run in order when initializing your CodeSandbox project.
+ "setupTasks": [
+ {
+ "command": "pnpm install",
+ "name": "Installing Dependencies"
+ }
+ ],
+
+ // These tasks can be run from CodeSandbox. Running one will open a log in the app.
+ "tasks": {
+ "start": {
+ "name": "start",
+ "command": "pnpm start",
+ "runAtStart": false
+ },
+ "dev": {
+ "name": "dev",
+ "command": "pnpm dev",
+ "runAtStart": true
+ }
+ }
+}
diff --git a/.env b/.env
new file mode 100644
index 00000000..452ec59d
--- /dev/null
+++ b/.env
@@ -0,0 +1,2 @@
+API_="my secret api key from.env"
+DATABASE_SE="super secret"
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index f1ff414e..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-node_modules
-.DS_Store
-.env
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-package-lock.json
\ No newline at end of file
diff --git a/.idx/dev.nix b/.idx/dev.nix
new file mode 100644
index 00000000..959c5bd2
--- /dev/null
+++ b/.idx/dev.nix
@@ -0,0 +1,55 @@
+# To learn more about how to use Nix to configure your environment
+# see: https://firebase.google.com/docs/studio/customize-workspace
+{ ... }: {
+ # Which nixpkgs channel to use.
+ channel = "stable-24.05"; # or "unstable"
+
+ # Use https://search.nixos.org/packages to find packages
+ packages = [
+ # pkgs.go
+ # pkgs.python311
+ # pkgs.python311Packages.pip
+ # pkgs.nodejs_20
+ # pkgs.nodePackages.nodemon
+ ];
+
+ # Sets environment variables in the workspace
+ env = {};
+ idx = {
+ # Search for the extensions you want on https://open-vsx.org/ and use "publisher.id"
+ extensions = [
+ # "vscodevim.vim"
+ ];
+
+ # Enable previews
+ previews = {
+ enable = true;
+ previews = {
+ # web = {
+ # # Example: run "npm run dev" with PORT set to IDX's defined port for previews,
+ # # and show it in IDX's web preview panel
+ # command = ["npm" "run" "dev"];
+ # manager = "web";
+ # env = {
+ # # Environment variables to set for your server
+ # PORT = "$PORT";
+ # };
+ # };
+ };
+ };
+
+ # Workspace lifecycle hooks
+ workspace = {
+ # Runs when a workspace is first created
+ onCreate = {
+ # Example: install JS dependencies from NPM
+ # npm-install = "npm install";
+ };
+ # Runs when the workspace is (re)started
+ onStart = {
+ # Example: start a background task to watch and re-build backend code
+ # watch-backend = "npm run watch-backend";
+ };
+ };
+ };
+}
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 00000000..fa18a53d
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,26 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "node",
+ "request": "launch",
+ "name": "Launch Program",
+ "runtimeExecutable": "npm",
+ "runtimeArgs": [
+ "start"
+ ],
+ "cwd": "${workspaceFolder}",
+ "internalConsoleOptions": "neverOpen"
+ },
+ {
+ "name": "Python Debugger: Current File",
+ "type": "debugpy",
+ "request": "launch",
+ "program": "${file}",
+ "console": "integratedTerminal"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..8277e5a8
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,6 @@
+{
+ "IDX.aI.enableInlineCompletion": true,
+ "IDX.aI.enableCodebaseIndexing": true,
+ "python-envs.defaultEnvManager": "ms-python.python:system",
+ "python-envs.pythonProjects": []
+}
\ No newline at end of file
diff --git a/1-multiplication.spec.js b/1-multiplication.spec.js
new file mode 100644
index 00000000..ce7ef15d
--- /dev/null
+++ b/1-multiplication.spec.js
@@ -0,0 +1,7 @@
+import { multiply } from './1-multiplication';
+
+describe('multiplication', () => {
+ it('should multiply two numbers correctly', () => {
+ expect(multiply(2, 3)).toBe(6);
+ });
+});
\ No newline at end of file
diff --git a/2-first-last.js b/2-first-last.js
new file mode 100644
index 00000000..403a87dd
--- /dev/null
+++ b/2-first-last.js
@@ -0,0 +1,4 @@
+export const firstLast = (items) => {
+ return 'First: ${items[0]}, Last: ${items[items[1]}'
+
+}
\ No newline at end of file
diff --git a/App.css b/App.css
new file mode 100644
index 00000000..8d13b123
--- /dev/null
+++ b/App.css
@@ -0,0 +1,91 @@
+#root {
+ margin: 0 auto;
+ }
+}
+.App {
+ font-family: sans-serif;
+ text-align: center;
+}
+.input-container {
+ position: relative;
+}
+input {
+ border: 1px solid #e4e4e7;
+ padding: 0.5rem 0.5rem;
+ width: 320 - 1600px;
+}
+.error {
+ position: absolute;
+ top: 1.5rem;
+ left: 0;
+ color: red;
+}
+
+ body {
+ margin: 0;
+ font-family: "Montserrat";
+ }
+
+ h1, section, header {
+ padding: 2rem;
+ }
+
+ .light {
+ background: aquamarine;
+ color: rgb(0, 24, 164);
+ }
+
+ .dark {
+ background: rgb(0, 24, 164);
+ color: aquamarine;
+ }
+
+ button {
+ padding: 18px;
+ border-radius: 30px;
+ border: 0;
+ background: hotpink;
+ color: white;
+ font-size: 16px;
+ font-weight: bold;
+ font-family: "Montserrat";
+ margin-right: 0.5rem;
+ }
+
+ select {
+ border: none;
+ border-radius: 4px;
+ color: rgb(0, 24, 164);
+ font-size: 16px;
+ font-weight: 600;
+ height: 40px;
+ font-family: 'Montserrat';
+ padding: 0 20px;
+ cursor: pointer;
+
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ }
+
+ main {
+ padding: 2rem;
+ }
+
+ .thought {
+ border: 2px solid blue;
+ padding: 1rem;
+ margin-bottom: 1rem;
+ }
+
+ form {
+ display: flex;
+ flex-direction: column;
+ width: 200px;
+ padding-bottom: 2rem;
+ }
+
+ textarea {
+ height: 100px;
+ margin-bottom: 1rem;
+ }
\ No newline at end of file
diff --git a/App.jsx b/App.jsx
new file mode 100644
index 00000000..033b3f85
--- /dev/null
+++ b/App.jsx
@@ -0,0 +1,81 @@
+import { useState } from "react"
+import { useEffect } from "react"
+import { StrictMode } from 'react'
+
+import { Container, Typography } from "@mui/material";
+
+import { createRoot } from 'react-dom/client'
+import { Header } from "./Header"
+import { ThoughtForm } from "./ThoughtForm"
+import { ThoughtList } from "./ThoughtList"
+import { ColorFilter } from "./ColorFilter"
+import { ThoughtGrid } from "./ThoughtGrid"
+import { LoadingSpinner } from "./LoadingSpinner";
+import { LoginForm } from "./LoginForm";
+import { SignupForm } from "./SignupForm";
+import { EditButton } from "./EditButton"
+import { Form } from "./Form";
+import { Card } from "./Card";
+import { Index } from "./Index";
+import { Css } from "./Css";
+import { Animation } from "./Animation";
+
+
+// Removed duplicate declaration of App component
+export const App = () => {
+ const [count, setCount] = useState(0);
+
+ useEffect(() => {
+ const handleScroll = () => {
+ console.log('scrolled!');
+ };
+
+ window.addEventListener('scroll', handleScroll);
+ return () => {
+ window.removeEventListener('scroll', handleScroll);
+ };
+ }, []);
+
+ useEffect(() => {
+ const controller = new AbortController();
+
+ fetch('https://happy-thoughts-ux7hkzgmwa-uc.a.run.app/thoughts', { signal: controller.signal })
+ .then(response => response.json())
+ .then(data => console.log(data));
+
+ const intervalId = setInterval(() => {
+ fetch('https://happy-thoughts-ux7hkzgmwa-uc.a.run.app/thoughts', { signal: controller.signal })
+ .then(response => response.json())
+ .then(data => console.log(data));
+
+ console.log('This runs every second');
+ }, 1000);
+
+ return () => {
+ clearInterval(intervalId);
+ controller.abort();
+ };
+ }, []);
+ return (
+
+
+
+
+
+
+
Count: {count}
+ {count > 140 &&
You hit 140!
}
+
+ );
+ };
+
\ No newline at end of file
diff --git a/App.tsx b/App.tsx
new file mode 100644
index 00000000..213743f7
--- /dev/null
+++ b/App.tsx
@@ -0,0 +1,126 @@
+import React, { useState } from 'react';
+import { useEffect } from 'react';
+import Card from './Card.tsx';
+import './index.css'
+import './components/Card.css'
+import './components/Card.tsx'
+import './components/Card.jsx'
+import './components/form.jsx'
+import './components/index.json'
+import './components/main.tsx'
+import './components/App.css'
+import './components/App.js'
+import './components/App.jsx'
+import './components/index.css'
+import './components/index.js'
+import './components/tests.ts'
+import './components/index.html'
+import './components/tests.tsx'
+import './form.css';
+// import { Form } from './form' // Removed as 'Form' is not exported from './form'
+import './App.css';
+import './index.css';
+import { main } from './main.jsx';
+import Main from './main.tsx';
+
+fetch ("https://happy-thoughts-ux7hkzgmwa-uc.a.run.app/thoughts")
+fetch ("https://happy-thoughts-ux7hkzgmwa-uc.a.run.app/thoughts/THOUGHT_ID/like")
+const [thoughts, setThoughts] = useState<{ message: string }[]>([])
+const handleFormSubmit = (event) => {
+ event.preventDefault()
+ fetch("", {
+ method: "POST",
+ body: JSON.stringify({
+ message: "Hello world",
+ }),
+ headers: { "Content-Type": "application/json" },
+ })
+ .then((res) => res.json())
+ .then((newThought) => {
+ setThoughts((previousThoughts) => [newThought, ...previousThoughts])
+ })
+}
+
+
+// if creating a Review as an object
+interface Review {
+ id: number;
+ text: string;
+ dessert: string;
+}
+
+const App = () => {
+ const [selectedCard, setSelectedCard] = useState('');
+ const [reviews, setReviews] = useState([]); // if implementing an array of reviews
+ const [review, setReview] = useState(''); // if implementing one review only, as string.
+ const [reviewText, setReviewText] = useState('');
+
+ const handleCardSelect = (title: string) => {
+ setSelectedCard(title);
+ };
+
+ // setting a signle review as a text, then clearing the text area
+ const handleReviewSubmit = (e: React.FormEvent) => {
+ e.preventDefault(); // stop from doing its default re render here.
+ setReview(reviewText);
+ setReviewText('');
+ };
+
+ return (
+
+
+ handleCardSelect("Message App")}
+ />
+
+
+
+
+
Write a message
+
+
+
+
+
Recent message
+
{review}
+
+
+
+
+{/* IF creating an array of message with richer info, this is how to loop through and display them
+
Recent Message
+{message.map(message => (
+
+
{message.app}
+
{message.text}
+
+ ))} */}
+
+
+
+
+
+ )
+}
+
+export default App
\ No newline at end of file
diff --git a/Card.css b/Card.css
new file mode 100644
index 00000000..c3452a0c
--- /dev/null
+++ b/Card.css
@@ -0,0 +1,145 @@
+@import url('https://fonts.googleapis.com/css2?family=Lexend+Deca&family=Big+Shoulders+Display:wght@700&display=swap');
+
+.card {
+ padding: 3rem;
+ color: rgba(255, 255, 255, 0.9);
+ display: flex;
+ flex-direction: column;
+ gap: 1.5rem;
+ transition: all 0.3s ease;
+ cursor: pointer;
+ position: relative;
+ border-radius: 8px;
+}
+
+.card:hover {
+ transform: translateY(-5px);
+}
+
+.card.selected {
+ transform: scale(1.02);
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
+ animation: pulse 2s infinite;
+}
+
+@keyframes pulse {
+ 0% {
+ transform: scale(1.02);
+ }
+
+ 50% {
+ transform: scale(1.05);
+ }
+
+ 100% {
+ transform: scale(1.02);
+ }
+}
+
+.card.selected::after {
+ content: '❤️';
+ position: absolute;
+ top: 1rem;
+ right: 1rem;
+ width: 32px;
+ height: 32px;
+ background-color: rgba(255, 255, 255, 0.2);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 1.2rem;
+ animation: bounce 1s infinite;
+}
+
+@keyframes bounce {
+
+ 0%,
+ 100% {
+ transform: translateY(0);
+ }
+
+ 50% {
+ transform: translateY(-5px);
+ }
+}
+
+.card h2 {
+ font-family: 'Big Shoulders Display', cursive;
+ font-weight: 700;
+ color: rgb(242, 242, 242);
+ text-transform: uppercase;
+ font-size: 2.5rem;
+ margin: 0;
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
+}
+
+.card p {
+ font-family: 'Lexend Deca', sans-serif;
+ font-weight: 400;
+ font-size: 15px;
+ line-height: 1.6;
+ margin: 0;
+}
+
+.card-icon {
+ width: 64px;
+ height: 64px;
+ filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.1));
+}
+
+.learn-more {
+ font-family: 'Lexend Deca', sans-serif;
+ background-color: rgb(242, 242, 242);
+ border: 2px solid rgb(242, 242, 242);
+ border-radius: 25px;
+ padding: 0.8rem 2rem;
+ width: fit-content;
+ cursor: pointer;
+ margin-top: auto;
+ transition: all 0.3s ease;
+ font-weight: 500;
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+}
+
+.purple {
+ background-color: rgb(147, 51, 234);
+}
+
+.purple .learn-more {
+ color: rgb(147, 51, 234);
+}
+
+.purple .learn-more:hover {
+ background-color: transparent;
+ color: rgb(242, 242, 242);
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
+}
+
+.teal {
+ background-color: rgb(20, 184, 166);
+}
+
+.teal .learn-more {
+ color: rgb(20, 184, 166);
+}
+
+.teal .learn-more:hover {
+ background-color: transparent;
+ color: rgb(242, 242, 242);
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
+}
+
+.coral {
+ background-color: rgb(251, 146, 60);
+}
+
+.coral .learn-more {
+ color: rgb(251, 146, 60);
+}
+
+.coral .learn-more:hover {
+ background-color: transparent;
+ color: rgb(242, 242, 242);
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
+}
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 2c47b4f5..00000000
--- a/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Express API Starter Project
-
-This project includes the packages and babel setup for an express server, and is just meant to make things a little simpler to get up and running with.
-
-## Getting started
-
-Install dependencies with `npm install`, then start the server by running `npm run dev`
-
-## View it live
-
-Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about.
diff --git a/Thought.jsx b/Thought.jsx
new file mode 100644
index 00000000..c4f87229
--- /dev/null
+++ b/Thought.jsx
@@ -0,0 +1,10 @@
+export const Thought = ({ id, message, likes }) => {
+ return (
+
+
{message}
+
Likes: {likes}
+
+
+
+ )
+ }
\ No newline at end of file
diff --git a/ThoughtGrid.jsx b/ThoughtGrid.jsx
new file mode 100644
index 00000000..06c75495
--- /dev/null
+++ b/ThoughtGrid.jsx
@@ -0,0 +1,44 @@
+import {
+ Typography,
+ Grid,
+ Card,
+ CardContent,
+ Chip,
+ Box
+ } from '@mui/material'
+ import { getSizeChipColor } from '../utils/thoughtsUtils'
+
+ const ThoughtsGrid = ({ thoughts, thoughtsFilter }) => {
+ if (thoughts.length === 0) {
+ return (
+
+ {colorFilter ? `No ${colorFilter.toLowerCase()} thoughts found` : 'No thoughts yet'}
+
+ )
+ }
+
+ return (
+
+
+ {colorFilter ? `${colorFilter} Thoughts` : 'All Thoughts'} ({thoughts.length})
+
+
+ {thoughts.map((thoughts, index) => (
+
+
+
+ {thought.name}
+
+
+
+
+ ))}
+
+
+ )
+ }
+
+ export default ThoughtsGrid
+
+
+
\ No newline at end of file
diff --git a/ThoughtList.jsx b/ThoughtList.jsx
new file mode 100644
index 00000000..cb3dece6
--- /dev/null
+++ b/ThoughtList.jsx
@@ -0,0 +1,16 @@
+import { useThoughtStore } from "../stores/useThoughtStore"
+import { Thought } from "./Thought"
+
+export const ThoughtList = () => {
+ const thoughts = useThoughtStore(state => state.thoughts)
+
+ if (thoughts.length === 0) return No thoughts yet. Be the first!
+
+ return (
+ <>
+ {thoughts.map(thought => (
+
+ ))}
+ >
+ )
+}
\ No newline at end of file
diff --git a/_redirects.md b/_redirects.md
new file mode 100644
index 00000000..7bcfb1f9
--- /dev/null
+++ b/_redirects.md
@@ -0,0 +1,9 @@
+
+/home /
+/blog/my-post.php /blog/my-post
+/news /blog
+/cuties https://www.petsofnetlify.com
+/authors/c%C3%A9line /authors/about-c%C3%A9line
+/blog/my-old-title /blog/my-new-title
+/blog/my-old-title /blog/an-even-better-title
+/* index.html 200
\ No newline at end of file
diff --git a/animation.css b/animation.css
new file mode 100644
index 00000000..97c64356
--- /dev/null
+++ b/animation.css
@@ -0,0 +1,69 @@
+root {
+ font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
+ line-height: 1.5;
+ font-weight: 400;
+
+ color-scheme: light dark;
+ color: rgba(255, 255, 255, 0.87);
+ background-color: #242424;
+
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ }
+
+ a {
+ font-weight: 500;
+ color: #646cff;
+ text-decoration: inherit;
+ }
+ a:hover {
+ color: #535bf2;
+ }
+
+ body {
+ margin: 0;
+ display: flex;
+ place-items: center;
+ min-width: 320px;
+ min-height: 100vh;
+ }
+
+ h1 {
+ font-size: 3.2em;
+ line-height: 1.1;
+ }
+
+ button {
+ border-radius: 8px;
+ border: 1px solid transparent;
+ padding: 0.6em 1.2em;
+ font-size: 1em;
+ font-weight: 500;
+ font-family: inherit;
+ background-color: #1a1a1a;
+ cursor: pointer;
+ transition: border-color 0.25s;
+ }
+ button:hover {
+ border-color: #646cff;
+ }
+ button:focus,
+ button:focus-visible {
+ outline: 4px auto -webkit-focus-ring-color;
+ }
+
+ @media (prefers-color-scheme: light) {
+ :root {
+ color: #213547;
+ background-color: #ffffff;
+ }
+ a:hover {
+ color: #747bff;
+ }
+ button {
+ background-color: #f9f9f9;
+ }
+ }
+
\ No newline at end of file
diff --git a/animation.jsx b/animation.jsx
new file mode 100644
index 00000000..5a88286c
--- /dev/null
+++ b/animation.jsx
@@ -0,0 +1,8 @@
+import './animation.css';
+export const animation = () => {
+ return (
+
+
+
+ );
+};
\ No newline at end of file
diff --git a/app.js b/app.js
new file mode 100644
index 00000000..2beca98c
--- /dev/null
+++ b/app.js
@@ -0,0 +1,77 @@
+import React, { useEffect } from "react";
+import { useEffect } from "react";
+import {useState} from "react";
+import {express} from "express";
+import "./index.css";
+
+const express = require("express");
+
+const app = express();
+const port = 3000;
+
+app.get("/", function (req, res) {
+ res.send("Hello World!");
+});
+
+app.listen(port, function () {
+ console.log(`Example app listening on port ${port}!`);
+});
+require('./routes/index');
+var indexRouter = require('./routes/index');
+var authRouter = require('./routes/auth');
+
+function Header() {
+ useEffect(() => {
+ console.log('mount')
+})
+ return (
+
+
+ Message App Happy Thoughts
+
+
+ )
+ }
+ // character limit exceeded when char >140
+ export default function App () {
+ const [text, setText] = useState("");
+ const[error, setError] = useState("");
+ const handleChange = (e) => {
+ console.log(e.target.value);
+ if(e.target.value.length > 140) {
+ setError("character limit exceeded");
+ } else {
+ setText(e.target.value);
+ setError(null);
+ }
+ };
+
+ return (
+
+
+
+ {error && error}
+
+
+ );
+ }
+ export { Header };
+
+
+
+
+
+
+
+
+
+
+app.use('/', indexRouter).
+app.use('/', indexRouter);
+app.use('/', authRouter);
\ No newline at end of file
diff --git a/authMiddleware.js b/authMiddleware.js
new file mode 100644
index 00000000..85e8dbb4
--- /dev/null
+++ b/authMiddleware.js
@@ -0,0 +1,22 @@
+import { User } from "../user.js";
+
+export const authenticateUser = async (req, res, next) => {
+ try {
+ const user = await User.findOne({
+ accessToken: req.header("Authorization"),
+ });
+ if (user) {
+ req.user = user;
+ next();
+ } else {
+ res.status(401).json({
+ message: "Authentication missing or invalid.",
+ loggedOut: true,
+ });
+ }
+ } catch (err) {
+ res
+ .status(500)
+ .json({ message: "Internal server error", error: err.message });
+ }
+};
\ No newline at end of file
diff --git a/data.json b/data.json
new file mode 100644
index 00000000..4bdb92eb
--- /dev/null
+++ b/data.json
@@ -0,0 +1,24 @@
+
+[
+ {
+ "_id": "5dd671c864cc480017f40979",
+ "message": "I'm happy because we're starting a fun new project",
+ "hearts": 0,
+ "createdAt": "2019-11-21T11:15:20.888Z",
+ "__v": 0
+ },
+ {
+ "_id": "5dd6759064cc480017f4097a",
+ "message": "I just ate a super tasty lunch",
+ "hearts": 0,
+ "createdAt": "2019-11-21T11:31:28.547Z",
+ "__v": 0
+ },
+ {
+ "_id": "123456",
+ "message": "My happy thought",
+ "hearts": 0,
+ "createdAt": "2019-11-21T11:31:28.547Z",
+ "__v": 0
+ }
+ ]
\ No newline at end of file
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 00000000..1c0581a8
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,33 @@
+import js from '@eslint/js'
+import globals from 'globals'
+import reactHooks from 'eslint-plugin-react-hooks'
+import reactRefresh from 'eslint-plugin-react-refresh'
+
+export default [
+ { ignores: ['dist'] },
+ {
+ files: ['**/*.{js,jsx}'],
+ languageOptions: {
+ ecmaVersion: 2020,
+ globals: globals.browser,
+ parserOptions: {
+ ecmaVersion: 'latest',
+ ecmaFeatures: { jsx: true },
+ sourceType: 'module',
+ },
+ },
+ plugins: {
+ 'react-hooks': reactHooks,
+ 'react-refresh': reactRefresh,
+ },
+ rules: {
+ ...js.configs.recommended.rules,
+ ...reactHooks.configs.recommended.rules,
+ 'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
+ 'react-refresh/only-export-components': [
+ 'warn',
+ { allowConstantExport: true },
+ ],
+ },
+ },
+]
\ No newline at end of file
diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 00000000..d5292c1c
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,11 @@
+// @ts-check
+
+import eslint from '@eslint/js';
+import tseslint from 'typescript-eslint';
+
+export default tseslint.config(
+ eslint.configs.recommended,
+ tseslint.configs.recommended,
+ tseslint.configs.strict,
+ tseslint.configs.stylistic,
+ );
\ No newline at end of file
diff --git a/express-list-endpoints.ts b/express-list-endpoints.ts
new file mode 100644
index 00000000..9849e9a2
--- /dev/null
+++ b/express-list-endpoints.ts
@@ -0,0 +1,63 @@
+const express = require("express");
+const expressListEndpoints = require("express-list-endpoints");
+
+let app = express();
+
+app
+ .route("/")
+ .all(function namedMiddleware(req, res) {
+ // Handle request
+ })
+ .get(function (req, res) {
+ // Handle request
+ })
+ .post(function (req, res) {
+ // Handle request
+ });
+
+app.route("/about").get(function (req, res) {
+ // Handle request
+});
+
+const endpoints = expressListEndpoints(app);
+
+console.log(endpoints);
+
+/* It omits 'all' handlers.
+[
+ {
+ path: '/',
+ methods: [ 'GET', 'POST' ],
+ middlewares: [ 'namedMiddleware', 'anonymous', 'anonymous' ]
+ },
+ {
+ path: '/about',
+ methods: [ 'GET' ],
+ middlewares: [ 'anonymous' ]
+ }
+]
+*/
+import express from "express";
+import expressListEndpoints from "express-list-endpoints";
+
+let app = express();
+
+app
+ .route("/")
+ .all(function namedMiddleware(req, res) {
+ // Handle request
+ })
+ .get(function (req, res) {
+ // Handle request
+ })
+ .post(function (req, res) {
+ // Handle request
+ });
+
+app.route("/about").get(function (req, res) {
+ // Handle request
+});
+
+const endpoints = expressListEndpoints(app);
+
+console.log(endpoints);
\ No newline at end of file
diff --git a/facebook-tutorial b/facebook-tutorial
new file mode 160000
index 00000000..c773cb99
--- /dev/null
+++ b/facebook-tutorial
@@ -0,0 +1 @@
+Subproject commit c773cb9933465e3f048c33d495d37d9c5a41e4a2
diff --git a/form.css b/form.css
new file mode 100644
index 00000000..c3452a0c
--- /dev/null
+++ b/form.css
@@ -0,0 +1,145 @@
+@import url('https://fonts.googleapis.com/css2?family=Lexend+Deca&family=Big+Shoulders+Display:wght@700&display=swap');
+
+.card {
+ padding: 3rem;
+ color: rgba(255, 255, 255, 0.9);
+ display: flex;
+ flex-direction: column;
+ gap: 1.5rem;
+ transition: all 0.3s ease;
+ cursor: pointer;
+ position: relative;
+ border-radius: 8px;
+}
+
+.card:hover {
+ transform: translateY(-5px);
+}
+
+.card.selected {
+ transform: scale(1.02);
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
+ animation: pulse 2s infinite;
+}
+
+@keyframes pulse {
+ 0% {
+ transform: scale(1.02);
+ }
+
+ 50% {
+ transform: scale(1.05);
+ }
+
+ 100% {
+ transform: scale(1.02);
+ }
+}
+
+.card.selected::after {
+ content: '❤️';
+ position: absolute;
+ top: 1rem;
+ right: 1rem;
+ width: 32px;
+ height: 32px;
+ background-color: rgba(255, 255, 255, 0.2);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 1.2rem;
+ animation: bounce 1s infinite;
+}
+
+@keyframes bounce {
+
+ 0%,
+ 100% {
+ transform: translateY(0);
+ }
+
+ 50% {
+ transform: translateY(-5px);
+ }
+}
+
+.card h2 {
+ font-family: 'Big Shoulders Display', cursive;
+ font-weight: 700;
+ color: rgb(242, 242, 242);
+ text-transform: uppercase;
+ font-size: 2.5rem;
+ margin: 0;
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
+}
+
+.card p {
+ font-family: 'Lexend Deca', sans-serif;
+ font-weight: 400;
+ font-size: 15px;
+ line-height: 1.6;
+ margin: 0;
+}
+
+.card-icon {
+ width: 64px;
+ height: 64px;
+ filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.1));
+}
+
+.learn-more {
+ font-family: 'Lexend Deca', sans-serif;
+ background-color: rgb(242, 242, 242);
+ border: 2px solid rgb(242, 242, 242);
+ border-radius: 25px;
+ padding: 0.8rem 2rem;
+ width: fit-content;
+ cursor: pointer;
+ margin-top: auto;
+ transition: all 0.3s ease;
+ font-weight: 500;
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+}
+
+.purple {
+ background-color: rgb(147, 51, 234);
+}
+
+.purple .learn-more {
+ color: rgb(147, 51, 234);
+}
+
+.purple .learn-more:hover {
+ background-color: transparent;
+ color: rgb(242, 242, 242);
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
+}
+
+.teal {
+ background-color: rgb(20, 184, 166);
+}
+
+.teal .learn-more {
+ color: rgb(20, 184, 166);
+}
+
+.teal .learn-more:hover {
+ background-color: transparent;
+ color: rgb(242, 242, 242);
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
+}
+
+.coral {
+ background-color: rgb(251, 146, 60);
+}
+
+.coral .learn-more {
+ color: rgb(251, 146, 60);
+}
+
+.coral .learn-more:hover {
+ background-color: transparent;
+ color: rgb(242, 242, 242);
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
+}
\ No newline at end of file
diff --git a/git-secrets b/git-secrets
new file mode 100644
index 00000000..fb93eb71
--- /dev/null
+++ b/git-secrets
@@ -0,0 +1,358 @@
+#!/usr/bin/env bash
+# Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License").
+# You may not use this file except in compliance with the License.
+# A copy of the License is located at
+#
+# http://aws.amazon.com/apache2.0
+#
+# or in the "license" file accompanying this file. This file is distributed
+# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+# express or implied. See the License for the specific language governing
+# permissions and limitations under the License.
+
+NONGIT_OK=1 OPTIONS_SPEC="\
+git secrets --scan [-r|--recursive] [--cached] [--no-index] [--untracked] [...]
+git secrets --scan-history
+git secrets --install [-f|--force] []
+git secrets --list [--global]
+git secrets --add [-a|--allowed] [-l|--literal] [--global]
+git secrets --add-provider [--global] [arguments...]
+git secrets --register-aws [--global]
+git secrets --aws-provider []
+--
+scan Scans for prohibited patterns
+scan-history Scans repo for prohibited patterns
+install Installs git hooks for Git repository or Git template directory
+list Lists secret patterns
+add Adds a prohibited or allowed pattern, ensuring to de-dupe with existing patterns
+add-provider Adds a secret provider that when called outputs secret patterns on new lines
+aws-provider Secret provider that outputs credentials found in an ini file
+register-aws Adds common AWS patterns to the git config and scans for ~/.aws/credentials
+r,recursive --scan scans directories recursively
+cached --scan scans searches blobs registered in the index file
+no-index --scan searches files in the current directory that is not managed by Git
+untracked In addition to searching in the tracked files in the working tree, --scan also in untracked files
+f,force --install overwrites hooks if the hook already exists
+l,literal --add and --add-allowed patterns are escaped so that they are literal
+a,allowed --add adds an allowed pattern instead of a prohibited pattern
+global Uses the --global git config
+commit_msg_hook* commit-msg hook (internal only)
+pre_commit_hook* pre-commit hook (internal only)
+prepare_commit_msg_hook* prepare-commit-msg hook (internal only)"
+
+# Include the git setup script. This parses and normalized CLI arguments.
+. "$(git --exec-path)"/git-sh-setup
+
+load_patterns() {
+ git config --get-all secrets.patterns
+ # Execute each provider and use their output to build up patterns
+ git config --get-all secrets.providers | while read -r cmd; do
+ # Only split words on '\n\t ' and strip "\r" from the output to account
+ # for carriage returns being added on Windows systems. Note that this
+ # trimming is done before the test to ensure that the string is not empty.
+ local result="$(export IFS=$'\n\t '; $cmd | tr -d $'\r')"
+ # Do not add empty lines from providers as that would match everything.
+ if [ -n "${result}" ]; then
+ echo "${result}"
+ fi
+ done
+}
+
+load_allowed() {
+ git config --get-all secrets.allowed
+ local gitallowed="$(git rev-parse --show-toplevel)/.gitallowed"
+ if [ -e "$gitallowed" ]; then
+ cat $gitallowed | awk 'NF && $1!~/^#/'
+ fi
+}
+
+# load patterns and combine them with |
+load_combined_patterns() {
+ local patterns=$(load_patterns)
+ local combined_patterns=''
+ for pattern in $patterns; do
+ combined_patterns=${combined_patterns}${pattern}"|"
+ done
+ combined_patterns=${combined_patterns%?}
+ echo $combined_patterns
+}
+
+# Scans files or a repo using patterns.
+scan() {
+ local files=("${@}") options=""
+ [ "${SCAN_CACHED}" == 1 ] && options+="--cached"
+ [ "${SCAN_UNTRACKED}" == 1 ] && options+=" --untracked"
+ [ "${SCAN_NO_INDEX}" == 1 ] && options+=" --no-index"
+ # Scan using git-grep if there are no files or if git options are applied.
+ if [ ${#files[@]} -eq 0 ] || [ ! -z "${options}" ]; then
+ output=$(git_grep $options "${files[@]}")
+ else
+ output=$(regular_grep "${files[@]}")
+ fi
+ process_output $? "${output}"
+}
+
+# Scans through history using patterns
+scan_history() {
+ # git log does not support multiple patterns, so we need to combine them
+ local combined_patterns=$(load_combined_patterns)
+ [ -z "${combined_patterns}" ] && return 0
+ # Looks for differences matching the patterns, reduces the number of revisions to scan
+ local to_scan=$(git log --all -G"${combined_patterns}" --pretty=%H)
+ # Scan through revisions with findings to normalize output
+ output=$(GREP_OPTIONS= LC_ALL=C git grep -nwHEI "${combined_patterns}" $to_scan)
+ process_output $? "${output}"
+}
+
+# Performs a git-grep, taking into account patterns and options.
+# Note: this function returns 1 on success, 0 on error.
+git_grep() {
+ local options="$1"; shift
+ local files=("${@}") combined_patterns=$(load_combined_patterns)
+
+ [ -z "${combined_patterns}" ] && return 1
+ GREP_OPTIONS= LC_ALL=C git grep -nwHEI ${options} "${combined_patterns}" -- "${files[@]}"
+}
+
+# Performs a regular grep, taking into account patterns and recursion.
+# Note: this function returns 1 on success, 0 on error.
+regular_grep() {
+ local files=("${@}") patterns=$(load_patterns) action='skip'
+ [ -z "${patterns}" ] && return 1
+ [ ${RECURSIVE} -eq 1 ] && action="recurse"
+ GREP_OPTIONS= LC_ALL=C grep -d "${action}" -nwHEI "${patterns}" "${files[@]}"
+}
+
+# Process the given status ($1) and output variables ($2).
+# Takes into account allowed patterns, and if a bad match is found,
+# prints an error message and exits 1.
+process_output() {
+ local status="$1" output="$2"
+ local allowed=$(load_allowed)
+ case "$status" in
+ 0)
+ [ -z "${allowed}" ] && echo "${output}" >&2 && return 1
+ # Determine with a negative grep if the found matches are allowed
+ echo "${output}" | GREP_OPTIONS= LC_ALL=C grep -Ev "${allowed}" >&2 \
+ && return 1 || return 0
+ ;;
+ 1) return 0 ;;
+ *) exit $status
+ esac
+}
+
+# Calls the given scanning function at $1, shifts, and passes to it $@.
+# Exit 0 if success, otherwise exit 1 with error message.
+scan_with_fn_or_die() {
+ local fn="$1"; shift
+ $fn "$@" && exit 0
+ echo >&2
+ echo "[ERROR] Matched one or more prohibited patterns" >&2
+ echo >&2
+ echo "Possible mitigations:" >&2
+ echo "- Mark false positives as allowed using: git config --add secrets.allowed ..." >&2
+ echo "- Mark false positives as allowed by adding regular expressions to .gitallowed at repository's root directory" >&2
+ echo "- List your configured patterns: git config --get-all secrets.patterns" >&2
+ echo "- List your configured allowed patterns: git config --get-all secrets.allowed" >&2
+ echo "- List your configured allowed patterns in .gitallowed at repository's root directory" >&2
+ echo "- Use --no-verify if this is a one-time false positive" >&2
+ exit 1
+}
+
+# Scans a commit message, passed in the path to a file.
+commit_msg_hook() {
+ scan_with_fn_or_die "scan" "$1"
+}
+
+# Scans all files that are about to be committed.
+pre_commit_hook() {
+ SCAN_CACHED=1
+ local files=() file found_match=0 rev="4b825dc642cb6eb9a060e54bf8d69288fbee4904"
+ # Diff against HEAD if this is not the first commit in the repo.
+ git rev-parse --verify HEAD >/dev/null 2>&1 && rev="HEAD"
+ # Filter out deleted files using --diff-filter
+ while IFS= read -r file; do
+ [ -n "$file" ] && files+=("$file")
+ done <<< "$(git diff-index --diff-filter 'ACMU' --name-only --cached $rev --)"
+ scan_with_fn_or_die "scan" "${files[@]}"
+}
+
+# Determines if merging in a commit will introduce tainted history.
+prepare_commit_msg_hook() {
+ case "$2,$3" in
+ merge,)
+ local git_head=$(env | grep GITHEAD) # e.g. GITHEAD_=release/1.43
+ local sha="${git_head##*=}" # Get just the SHA
+ local branch=$(git symbolic-ref HEAD) # e.g. refs/heads/master
+ local dest="${branch#refs/heads/}" # cut out "refs/heads"
+ git log "${dest}".."${sha}" -p | scan_with_fn_or_die "scan" -
+ ;;
+ esac
+}
+
+install_hook() {
+ local path="$1" hook="$2" cmd="$3" dest
+ # Determines the appropriate path for a hook to be installed
+ if [ -d "${path}/hooks/${hook}.d" ]; then
+ dest="${path}/hooks/${hook}.d/git-secrets"
+ else
+ dest="${path}/hooks/${hook}"
+ fi
+ [ -f "${dest}" ] && [ "${FORCE}" -ne 1 ] \
+ && die "${dest} already exists. Use -f to force"
+ echo "#!/usr/bin/env bash" > "${dest}"
+ echo "git secrets --${cmd} -- \"\$@\"" >> "${dest}"
+ chmod +x "${dest}"
+ [ -t 1 ] && command -v tput &> /dev/null && echo -n "$(tput setaf 2)✓$(tput sgr 0) "
+ echo "Installed ${hook} hook to ${dest}"
+}
+
+install_all_hooks() {
+ install_hook "$1" "commit-msg" "commit_msg_hook"
+ install_hook "$1" "pre-commit" "pre_commit_hook"
+ install_hook "$1" "prepare-commit-msg" "prepare_commit_msg_hook"
+}
+
+# Adds a git config pattern, ensuring to de-dupe
+add_config() {
+ local key="$1"; shift
+ local value="$@"
+ if [ ${LITERAL} -eq 1 ]; then
+ value=$(sed 's/[\.|$(){}?+*^]/\\&/g' <<< "${value}")
+ fi
+ if [ ${GLOBAL} -eq 1 ]; then
+ git config --global --get-all $key | grep -Fq "${value}" && return 1
+ git config --global --add "${key}" "${value}"
+ else
+ git config --get-all $key | grep -Fq "${value}" && return 1
+ git config --add "${key}" "${value}"
+ fi
+}
+
+register_aws() {
+ # Reusable regex patterns
+ local aws="(AWS|aws|Aws)?_?" quote="(\"|')" connect="\s*(:|=>|=)\s*"
+ local opt_quote="${quote}?"
+ add_config 'secrets.providers' 'git secrets --aws-provider'
+ add_config 'secrets.patterns' '(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'
+ add_config 'secrets.patterns' "${opt_quote}${aws}(SECRET|secret|Secret)?_?(ACCESS|access|Access)?_?(KEY|key|Key)${opt_quote}${connect}${opt_quote}[A-Za-z0-9/\+=]{40}${opt_quote}"
+ add_config 'secrets.patterns' "${opt_quote}${aws}(ACCOUNT|account|Account)_?(ID|id|Id)?${opt_quote}${connect}${opt_quote}[0-9]{4}\-?[0-9]{4}\-?[0-9]{4}${opt_quote}"
+ add_config 'secrets.allowed' 'AKIAIOSFODNN7EXAMPLE'
+ add_config 'secrets.allowed' "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
+
+ if [[ $? == 0 ]]; then
+ echo 'OK'
+ fi
+
+ exit $?
+}
+
+aws_provider() {
+ local fi="$1"
+ [ -z "$fi" ] && fi=~/.aws/credentials
+ # Find keys and ensure that special characters are escaped.
+ if [ -f $fi ]; then
+ awk -F "=" '/aws_access_key_id|aws_secret_access_key/ {print $2}' $fi \
+ | tr -d ' "' \
+ | sed 's/[]\.|$(){}?+*^]/\\&/g'
+ fi
+}
+
+# Ensures that the command is what was expected for an option.
+assert_option_for_command() {
+ local expected_command="$1"
+ local option_name="$2"
+ if [ "${COMMAND}" != "${expected_command}" ]; then
+ die "${option_name} can only be supplied with the ${expected_command} subcommand"
+ fi
+}
+
+declare COMMAND="$1" FORCE=0 RECURSIVE=0 LITERAL=0 GLOBAL=0 ALLOWED=0
+declare SCAN_CACHED=0 SCAN_NO_INDEX=0 SCAN_UNTRACKED=0
+
+# Shift off the command name
+shift 1
+while [ "$#" -ne 0 ]; do
+ case "$1" in
+ -f)
+ assert_option_for_command "--install" "-f|--force"
+ FORCE=1
+ ;;
+ -r)
+ assert_option_for_command "--scan" "-r|--recursive"
+ RECURSIVE=1
+ ;;
+ -a)
+ assert_option_for_command "--add" "-a|--allowed"
+ ALLOWED=1
+ ;;
+ -l)
+ assert_option_for_command "--add" "-l|--literal"
+ LITERAL=1
+ ;;
+ --cached)
+ assert_option_for_command "--scan" "--cached"
+ SCAN_CACHED=1
+ ;;
+ --no-index)
+ assert_option_for_command "--scan" "--no-index"
+ SCAN_NO_INDEX=1
+ ;;
+ --untracked)
+ assert_option_for_command "--scan" "--untracked"
+ SCAN_UNTRACKED=1
+ ;;
+ --global) GLOBAL=1 ;;
+ --) shift; break ;;
+ esac
+ shift
+done
+
+# Ensure that recursive is not applied with mutually exclusive options.
+if [ ${RECURSIVE} -eq 1 ]; then
+ if [ ${SCAN_CACHED} -eq 1 ] \
+ || [ ${SCAN_NO_INDEX} -eq 1 ] \
+ || [ ${SCAN_UNTRACKED} -eq 1 ];
+ then
+ die "-r|--recursive cannot be supplied with --cached, --no-index, or --untracked"
+ fi
+fi
+
+case "${COMMAND}" in
+ -h|--help|--) "$0" -h; exit 0 ;;
+ --add-provider) add_config "secrets.providers" "$@" ;;
+ --register-aws) register_aws ;;
+ --aws-provider) aws_provider "$1" ;;
+ --commit_msg_hook|--pre_commit_hook|--prepare_commit_msg_hook)
+ ${COMMAND:2} "$@"
+ ;;
+ --add)
+ if [ ${ALLOWED} -eq 1 ]; then
+ add_config "secrets.allowed" "$1"
+ else
+ add_config "secrets.patterns" "$1"
+ fi
+ ;;
+ --scan) scan_with_fn_or_die "scan" "$@" ;;
+ --scan-history) scan_with_fn_or_die "scan_history" "$@" ;;
+ --list)
+ if [ ${GLOBAL} -eq 1 ]; then
+ git config --global --get-regex secrets.*
+ else
+ git config --get-regex secrets.*
+ fi
+ ;;
+ --install)
+ DIRECTORY="$1"
+ if [ -z "${DIRECTORY}" ]; then
+ DIRECTORY=$(git rev-parse --git-dir) || die "Not in a Git repository"
+ elif [ -d "${DIRECTORY}"/.git ]; then
+ DIRECTORY="${DIRECTORY}/.git"
+ fi
+ mkdir -p "${DIRECTORY}/hooks" || die "Could not create dir: ${DIRECTORY}"
+ install_all_hooks "${DIRECTORY}"
+ ;;
+ *) echo "Unknown option: ${COMMAND}" && "$0" -h ;;
+esac
\ No newline at end of file
diff --git a/greet.spec.js b/greet.spec.js
new file mode 100644
index 00000000..4226ab3e
--- /dev/null
+++ b/greet.spec.js
@@ -0,0 +1,8 @@
+import { greet } from './greet'
+describe('greet', () => {
+ It('should print "Hello World"', () => {
+ expect(greet('World')).toEqual('Hello World')
+
+ })
+})
+'
\ No newline at end of file
diff --git a/header.jsx b/header.jsx
new file mode 100644
index 00000000..7f94caad
--- /dev/null
+++ b/header.jsx
@@ -0,0 +1,9 @@
+export const Header = () => {
+ return (
+
+ Happy thoughts: 0
+
+
+
+ )
+ }
\ No newline at end of file
diff --git a/hello.js b/hello.js
new file mode 100644
index 00000000..d3f2d017
--- /dev/null
+++ b/hello.js
@@ -0,0 +1,19 @@
+// Load HTTP module
+const http = require("http");
+
+const hostname = "127.0.0.1";
+const port = 8000;
+
+// Create HTTP server
+const server = http.createServer(function (req, res) {
+ // Set the response HTTP header with HTTP status and Content type
+ res.writeHead(200, { "Content-Type": "text/plain" });
+
+ // Send the response body "Hello World"
+ res.end("Hello World\n");
+});
+
+// Prints a log once the server starts listening
+server.listen(port, hostname, function () {
+ console.log(`Server running at http://${hostname}:${port}/`);
+});
\ No newline at end of file
diff --git a/index.css b/index.css
new file mode 100644
index 00000000..a138bd1a
--- /dev/null
+++ b/index.css
@@ -0,0 +1,23 @@
+:root {
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
+ }
+ .App {
+ font-family: sans-serif;
+ text-align: center;
+ }
+ .input-container {
+ position: relative;
+ }
+ input {
+ border: 1px solid #e4e4e7;
+ padding: 0.5rem 0.5rem;
+ width: 320 - 1600px;
+ }
+ .error {
+ position: absolute;
+ top: 1.5rem;
+ left: 0;
+ color: red;
+ }
+
+
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 00000000..b5c549c6
--- /dev/null
+++ b/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ Happy Thoughts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index.js b/index.js
new file mode 100644
index 00000000..160584ab
--- /dev/null
+++ b/index.js
@@ -0,0 +1,57 @@
+import React, { useEffect, useState } from "react";
+import ReactDOM from "react-dom";
+const App = () => {
+ const [thoughts, setThoughts] = useState([]);
+ useEffect(() => {
+ fetch("https://happy-thoughts-ux7hkzgmwa-uc.a.run.app/thoughts")
+ .then((res) => res.json())
+ .then((json) => setThoughts(json))
+ .catch((error) => console.error("Error fetching thoughts:", error));
+ }, []);
+
+ const handleSubmit = (event) => {
+ event.preventDefault();
+ fetch("https://technigo-thoughts.herokuapp.com/", {
+ method: "POST",
+ body: JSON.stringify({
+ message: "Hello world",
+ }),
+ headers: { "Content-Type": "application/json" },
+ })
+ .then((res) => res.json())
+ .then((newThought) => {
+ setThoughts((previousThoughts) => [newThought, ...previousThoughts]);
+ })
+ .catch((error) => console.error("Error posting thought:", error));
+ };
+
+ return (
+
+
Happy Thoughts
+
+
+ {thoughts.map((thought) => (
+ - {thought.message}
+ ))}
+
+
+ );
+};
+// const animationButton = () => {
+
+
+// // Add your animation logic here or remove this function if not needed
+
+
+const loader = document.querySelector(`preloader`);
+
+
+
+
+// };
+const rootElement = document.getElementById("root");
+ReactDOM.render(, rootElement);
+
diff --git a/index.ts b/index.ts
new file mode 100644
index 00000000..dc0688a1
--- /dev/null
+++ b/index.ts
@@ -0,0 +1,15 @@
+export default expressListEndpoints;
+declare function expressListEndpoints(app: import('express').Express | import('express').Router | any): Endpoint[];
+declare namespace expressListEndpoints {
+ export { Route, Endpoint };
+}
+type Endpoint = {
+ path: string;
+ methods: string[];
+ middlewares: string[];
+};
+type Route = {
+ methods: Object;
+ path: string | string[];
+ stack: any[];
+ };
\ No newline at end of file
diff --git a/login.ejs b/login.ejs
new file mode 100644
index 00000000..200208c1
--- /dev/null
+++ b/login.ejs
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sign in
+Sign in with Facebook
\ No newline at end of file
diff --git a/main.jsx b/main.jsx
new file mode 100644
index 00000000..7c1449c8
--- /dev/null
+++ b/main.jsx
@@ -0,0 +1,41 @@
+import { useState } from "react"
+import { useEffect } from "react"
+import { StrictMode } from 'react'
+
+import { Container, Typography } from "@mui/material";
+
+import { createRoot } from 'react-dom/client'
+import { Header } from "./Header"
+import { ThoughtForm } from "./ThoughtForm"
+import { ThoughtList } from "./ThoughtList"
+import { ColorFilter } from "./ColorFilter"
+import { ThoughtGrid } from "./ThoughtGrid"
+import { LoadingSpinner } from "./LoadingSpinner";
+import { LoginForm } from "./LoginForm";
+import { SignupForm } from "./SignupForm";
+import { EditButton } from "./EditButton"
+import { Form } from "./Form";
+import { Card } from "./Card";
+import { Index } from "./Index";
+import { Css } from "./Css";
+import { Animation } from "./Animation";
+
+import App from './App.jsx'
+import "./App.css"
+createRoot(document.getElementById('root')).render(
+
+
+ ,
+)
+
+export const App = () => {
+ return (
+ <>
+
+
+
+
+
+ >
+ )
+}
\ No newline at end of file
diff --git a/netlify.toml b/netlify.toml
new file mode 100644
index 00000000..f3634fd0
--- /dev/null
+++ b/netlify.toml
@@ -0,0 +1,9 @@
+[build]
+ base = "frontend"
+ publish = "dist"
+ command = "npm run build"
+
+[[redirects]]
+ from = "/*"
+ to = "/index.html"
+ status = 200
\ No newline at end of file
diff --git a/node_modules/.bin/babel-node b/node_modules/.bin/babel-node
new file mode 100755
index 00000000..4893c4fb
--- /dev/null
+++ b/node_modules/.bin/babel-node
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/.pnpm/babel@6.23.0/node_modules/babel/lib/node_modules:/project/express-api-starter/node_modules/.pnpm/babel@6.23.0/node_modules/babel/node_modules:/project/express-api-starter/node_modules/.pnpm/babel@6.23.0/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/.pnpm/babel@6.23.0/node_modules/babel/lib/node_modules:/project/express-api-starter/node_modules/.pnpm/babel@6.23.0/node_modules/babel/node_modules:/project/express-api-starter/node_modules/.pnpm/babel@6.23.0/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../babel/lib/cli.js" "$@"
+else
+ exec node "$basedir/../babel/lib/cli.js" "$@"
+fi
diff --git a/node_modules/.bin/browserslist b/node_modules/.bin/browserslist
new file mode 100755
index 00000000..24fc19f7
--- /dev/null
+++ b/node_modules/.bin/browserslist
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/browserslist/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/browserslist/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../browserslist/cli.js" "$@"
+else
+ exec node "$basedir/../browserslist/cli.js" "$@"
+fi
diff --git a/node_modules/.bin/jsesc b/node_modules/.bin/jsesc
new file mode 100755
index 00000000..d6c7e677
--- /dev/null
+++ b/node_modules/.bin/jsesc
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/jsesc/bin/node_modules:/project/express-api-starter/node_modules/jsesc/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/jsesc/bin/node_modules:/project/express-api-starter/node_modules/jsesc/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@"
+else
+ exec node "$basedir/../jsesc/bin/jsesc" "$@"
+fi
diff --git a/node_modules/.bin/json5 b/node_modules/.bin/json5
new file mode 100755
index 00000000..0462117c
--- /dev/null
+++ b/node_modules/.bin/json5
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/json5/lib/node_modules:/project/express-api-starter/node_modules/json5/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/json5/lib/node_modules:/project/express-api-starter/node_modules/json5/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
+else
+ exec node "$basedir/../json5/lib/cli.js" "$@"
+fi
diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime
new file mode 100755
index 00000000..a235243a
--- /dev/null
+++ b/node_modules/.bin/mime
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/mime/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/mime/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../mime/cli.js" "$@"
+else
+ exec node "$basedir/../mime/cli.js" "$@"
+fi
diff --git a/node_modules/.bin/nodemon b/node_modules/.bin/nodemon
new file mode 100755
index 00000000..ccf37168
--- /dev/null
+++ b/node_modules/.bin/nodemon
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/.pnpm/nodemon@3.1.10/node_modules/nodemon/bin/node_modules:/project/express-api-starter/node_modules/.pnpm/nodemon@3.1.10/node_modules/nodemon/node_modules:/project/express-api-starter/node_modules/.pnpm/nodemon@3.1.10/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/.pnpm/nodemon@3.1.10/node_modules/nodemon/bin/node_modules:/project/express-api-starter/node_modules/.pnpm/nodemon@3.1.10/node_modules/nodemon/node_modules:/project/express-api-starter/node_modules/.pnpm/nodemon@3.1.10/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../nodemon/bin/nodemon.js" "$@"
+else
+ exec node "$basedir/../nodemon/bin/nodemon.js" "$@"
+fi
diff --git a/node_modules/.bin/nodetouch b/node_modules/.bin/nodetouch
new file mode 100755
index 00000000..a21066a4
--- /dev/null
+++ b/node_modules/.bin/nodetouch
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/touch/bin/node_modules:/project/express-api-starter/node_modules/touch/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/touch/bin/node_modules:/project/express-api-starter/node_modules/touch/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../touch/bin/nodetouch.js" "$@"
+else
+ exec node "$basedir/../touch/bin/nodetouch.js" "$@"
+fi
diff --git a/node_modules/.bin/parser b/node_modules/.bin/parser
new file mode 100755
index 00000000..5547a90c
--- /dev/null
+++ b/node_modules/.bin/parser
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/@babel/parser/bin/node_modules:/project/express-api-starter/node_modules/@babel/parser/node_modules:/project/express-api-starter/node_modules/@babel/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/@babel/parser/bin/node_modules:/project/express-api-starter/node_modules/@babel/parser/node_modules:/project/express-api-starter/node_modules/@babel/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
+else
+ exec node "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
+fi
diff --git a/node_modules/.bin/regjsparser b/node_modules/.bin/regjsparser
new file mode 100755
index 00000000..ba62c69d
--- /dev/null
+++ b/node_modules/.bin/regjsparser
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/regjsparser/bin/node_modules:/project/express-api-starter/node_modules/regjsparser/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/regjsparser/bin/node_modules:/project/express-api-starter/node_modules/regjsparser/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../regjsparser/bin/parser" "$@"
+else
+ exec node "$basedir/../regjsparser/bin/parser" "$@"
+fi
diff --git a/node_modules/.bin/resolve b/node_modules/.bin/resolve
new file mode 100755
index 00000000..9e74f631
--- /dev/null
+++ b/node_modules/.bin/resolve
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/resolve/bin/node_modules:/project/express-api-starter/node_modules/resolve/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/resolve/bin/node_modules:/project/express-api-starter/node_modules/resolve/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../resolve/bin/resolve" "$@"
+else
+ exec node "$basedir/../resolve/bin/resolve" "$@"
+fi
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
new file mode 100755
index 00000000..89aed2b9
--- /dev/null
+++ b/node_modules/.bin/semver
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/semver/bin/node_modules:/project/express-api-starter/node_modules/semver/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/semver/bin/node_modules:/project/express-api-starter/node_modules/semver/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
+else
+ exec node "$basedir/../semver/bin/semver.js" "$@"
+fi
diff --git a/node_modules/.bin/update-browserslist-db b/node_modules/.bin/update-browserslist-db
new file mode 100755
index 00000000..539ee430
--- /dev/null
+++ b/node_modules/.bin/update-browserslist-db
@@ -0,0 +1,17 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/project/express-api-starter/node_modules/update-browserslist-db/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/project/express-api-starter/node_modules/update-browserslist-db/node_modules:/project/express-api-starter/node_modules:/project/node_modules:/node_modules:/project/express-api-starter/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../update-browserslist-db/cli.js" "$@"
+else
+ exec node "$basedir/../update-browserslist-db/cli.js" "$@"
+fi
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
new file mode 100644
index 00000000..f0b14a9b
--- /dev/null
+++ b/node_modules/.package-lock.json
@@ -0,0 +1,10001 @@
+{
+ "name": "express-api-starter",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/cli": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz",
+ "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "commander": "^6.2.0",
+ "convert-source-map": "^2.0.0",
+ "fs-readdir-recursive": "^1.1.0",
+ "glob": "^7.2.0",
+ "make-dir": "^2.1.0",
+ "slash": "^2.0.0"
+ },
+ "bin": {
+ "babel": "bin/babel.js",
+ "babel-external-helpers": "bin/babel-external-helpers.js"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "optionalDependencies": {
+ "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3",
+ "chokidar": "^3.6.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+ "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz",
+ "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.27.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz",
+ "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.27.3",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.27.3",
+ "@babel/helpers": "^7.27.4",
+ "@babel/parser": "^7.27.4",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.27.4",
+ "@babel/types": "^7.27.3",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.27.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz",
+ "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==",
+ "dependencies": {
+ "@babel/parser": "^7.27.5",
+ "@babel/types": "^7.27.3",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz",
+ "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==",
+ "dependencies": {
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.2",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-create-class-features-plugin": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz",
+ "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-member-expression-to-functions": "^7.27.1",
+ "@babel/helper-optimise-call-expression": "^7.27.1",
+ "@babel/helper-replace-supers": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+ "@babel/traverse": "^7.27.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-create-regexp-features-plugin": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz",
+ "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "regexpu-core": "^6.2.0",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-define-polyfill-provider": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz",
+ "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.22.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
+ "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.27.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
+ "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.27.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
+ "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
+ "dependencies": {
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
+ "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-remap-async-to-generator": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz",
+ "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-wrap-function": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-replace-supers": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz",
+ "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
+ "dependencies": {
+ "@babel/helper-member-expression-to-functions": "^7.27.1",
+ "@babel/helper-optimise-call-expression": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
+ "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+ "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-wrap-function": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz",
+ "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==",
+ "dependencies": {
+ "@babel/template": "^7.27.1",
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.27.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz",
+ "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.27.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/node": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.27.1.tgz",
+ "integrity": "sha512-ef8ZrhxIku9LrphvyNywpiMf1UJsYQll7S4eKa228ivswPcwmObp98o5h5wL2n9FrSAuo1dsMwJ8cS1LEcBSog==",
+ "dependencies": {
+ "@babel/register": "^7.27.1",
+ "commander": "^6.2.0",
+ "core-js": "^3.30.2",
+ "node-environment-flags": "^1.0.5",
+ "regenerator-runtime": "^0.14.0",
+ "v8flags": "^3.1.1"
+ },
+ "bin": {
+ "babel-node": "bin/babel-node.js"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.27.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz",
+ "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==",
+ "dependencies": {
+ "@babel/types": "^7.27.3"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz",
+ "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz",
+ "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz",
+ "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz",
+ "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+ "@babel/plugin-transform-optional-chaining": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz",
+ "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.21.0-placeholder-for-preset-env.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+ "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-assertions": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz",
+ "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz",
+ "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+ "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-arrow-functions": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz",
+ "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-generator-functions": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz",
+ "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-remap-async-to-generator": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-to-generator": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz",
+ "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-remap-async-to-generator": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz",
+ "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-block-scoping": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz",
+ "integrity": "sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-class-properties": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz",
+ "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-class-static-block": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz",
+ "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.12.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-classes": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz",
+ "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-compilation-targets": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-replace-supers": "^7.27.1",
+ "@babel/traverse": "^7.27.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-computed-properties": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz",
+ "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/template": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-destructuring": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz",
+ "integrity": "sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-dotall-regex": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz",
+ "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-duplicate-keys": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz",
+ "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz",
+ "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-dynamic-import": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz",
+ "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz",
+ "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-export-namespace-from": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz",
+ "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-for-of": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz",
+ "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-function-name": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz",
+ "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-json-strings": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz",
+ "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-literals": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz",
+ "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz",
+ "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-member-expression-literals": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz",
+ "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-amd": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz",
+ "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-commonjs": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz",
+ "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-systemjs": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz",
+ "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-umd": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz",
+ "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz",
+ "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-new-target": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz",
+ "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz",
+ "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-numeric-separator": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz",
+ "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-object-rest-spread": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz",
+ "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/plugin-transform-destructuring": "^7.27.1",
+ "@babel/plugin-transform-parameters": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-object-super": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz",
+ "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-replace-supers": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz",
+ "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-optional-chaining": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz",
+ "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-parameters": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz",
+ "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-methods": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz",
+ "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-property-in-object": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz",
+ "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-property-literals": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz",
+ "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-regenerator": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz",
+ "integrity": "sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-regexp-modifiers": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz",
+ "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-reserved-words": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz",
+ "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-shorthand-properties": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz",
+ "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-spread": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz",
+ "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-sticky-regex": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz",
+ "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-template-literals": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz",
+ "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typeof-symbol": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz",
+ "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-escapes": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz",
+ "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz",
+ "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-regex": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz",
+ "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz",
+ "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/preset-env": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz",
+ "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.2",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-validator-option": "^7.27.1",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1",
+ "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
+ "@babel/plugin-syntax-import-assertions": "^7.27.1",
+ "@babel/plugin-syntax-import-attributes": "^7.27.1",
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.27.1",
+ "@babel/plugin-transform-async-generator-functions": "^7.27.1",
+ "@babel/plugin-transform-async-to-generator": "^7.27.1",
+ "@babel/plugin-transform-block-scoped-functions": "^7.27.1",
+ "@babel/plugin-transform-block-scoping": "^7.27.1",
+ "@babel/plugin-transform-class-properties": "^7.27.1",
+ "@babel/plugin-transform-class-static-block": "^7.27.1",
+ "@babel/plugin-transform-classes": "^7.27.1",
+ "@babel/plugin-transform-computed-properties": "^7.27.1",
+ "@babel/plugin-transform-destructuring": "^7.27.1",
+ "@babel/plugin-transform-dotall-regex": "^7.27.1",
+ "@babel/plugin-transform-duplicate-keys": "^7.27.1",
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
+ "@babel/plugin-transform-dynamic-import": "^7.27.1",
+ "@babel/plugin-transform-exponentiation-operator": "^7.27.1",
+ "@babel/plugin-transform-export-namespace-from": "^7.27.1",
+ "@babel/plugin-transform-for-of": "^7.27.1",
+ "@babel/plugin-transform-function-name": "^7.27.1",
+ "@babel/plugin-transform-json-strings": "^7.27.1",
+ "@babel/plugin-transform-literals": "^7.27.1",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.27.1",
+ "@babel/plugin-transform-member-expression-literals": "^7.27.1",
+ "@babel/plugin-transform-modules-amd": "^7.27.1",
+ "@babel/plugin-transform-modules-commonjs": "^7.27.1",
+ "@babel/plugin-transform-modules-systemjs": "^7.27.1",
+ "@babel/plugin-transform-modules-umd": "^7.27.1",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
+ "@babel/plugin-transform-new-target": "^7.27.1",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
+ "@babel/plugin-transform-numeric-separator": "^7.27.1",
+ "@babel/plugin-transform-object-rest-spread": "^7.27.2",
+ "@babel/plugin-transform-object-super": "^7.27.1",
+ "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
+ "@babel/plugin-transform-optional-chaining": "^7.27.1",
+ "@babel/plugin-transform-parameters": "^7.27.1",
+ "@babel/plugin-transform-private-methods": "^7.27.1",
+ "@babel/plugin-transform-private-property-in-object": "^7.27.1",
+ "@babel/plugin-transform-property-literals": "^7.27.1",
+ "@babel/plugin-transform-regenerator": "^7.27.1",
+ "@babel/plugin-transform-regexp-modifiers": "^7.27.1",
+ "@babel/plugin-transform-reserved-words": "^7.27.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.27.1",
+ "@babel/plugin-transform-spread": "^7.27.1",
+ "@babel/plugin-transform-sticky-regex": "^7.27.1",
+ "@babel/plugin-transform-template-literals": "^7.27.1",
+ "@babel/plugin-transform-typeof-symbol": "^7.27.1",
+ "@babel/plugin-transform-unicode-escapes": "^7.27.1",
+ "@babel/plugin-transform-unicode-property-regex": "^7.27.1",
+ "@babel/plugin-transform-unicode-regex": "^7.27.1",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.27.1",
+ "@babel/preset-modules": "0.1.6-no-external-plugins",
+ "babel-plugin-polyfill-corejs2": "^0.4.10",
+ "babel-plugin-polyfill-corejs3": "^0.11.0",
+ "babel-plugin-polyfill-regenerator": "^0.6.1",
+ "core-js-compat": "^3.40.0",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-modules": {
+ "version": "0.1.6-no-external-plugins",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
+ "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/@babel/register": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.27.1.tgz",
+ "integrity": "sha512-K13lQpoV54LATKkzBpBAEu1GGSIRzxR9f4IN4V8DCDgiUMo2UDGagEZr3lPeVNJPLkWUi5JE4hCHKneVTwQlYQ==",
+ "dependencies": {
+ "clone-deep": "^4.0.1",
+ "find-cache-dir": "^2.0.0",
+ "make-dir": "^2.1.0",
+ "pirates": "^4.0.6",
+ "source-map-support": "^0.5.16"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.27.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz",
+ "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.27.3",
+ "@babel/parser": "^7.27.4",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.27.3",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.27.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz",
+ "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "optional": true,
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
+ "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
+ "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/config-array": {
+ "version": "0.20.0",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz",
+ "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.6",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-helpers": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz",
+ "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==",
+ "dev": true,
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/core": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
+ "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.15"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "9.28.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.28.0.tgz",
+ "integrity": "sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==",
+ "dev": true,
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
+ "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
+ "dev": true,
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz",
+ "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==",
+ "dev": true,
+ "dependencies": {
+ "@eslint/core": "^0.14.0",
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@faker-js/faker": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz",
+ "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==",
+ "deprecated": "Please update to a newer version."
+ },
+ "node_modules/@humanfs/core": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
+ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
+ "dev": true,
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanfs/node": {
+ "version": "0.16.6",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
+ "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
+ "dev": true,
+ "dependencies": {
+ "@humanfs/core": "^0.19.1",
+ "@humanwhocodes/retry": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
+ "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
+ "dev": true,
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@mongodb-js/saslprep": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.2.2.tgz",
+ "integrity": "sha512-EB0O3SCSNRUFk66iRCpI+cXzIjdswfCs7F6nOC3RAGJ7xr5YhaicvsRwJ9eyzYvYRlCSDUO/c7g4yNulxKC1WA==",
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
+ "node_modules/@nicolo-ribaudo/chokidar-2": {
+ "version": "2.1.8-no-fsevents.3",
+ "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz",
+ "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@postman/form-data": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@postman/form-data/-/form-data-3.1.1.tgz",
+ "integrity": "sha512-vjh8Q2a8S6UCm/KKs31XFJqEEgmbjBmpPNVV2eVav6905wyFAwaUOBGA1NPBI4ERH9MMZc6w0umFgM6WbEPMdg==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@postman/tough-cookie": {
+ "version": "4.1.3-postman.1",
+ "resolved": "https://registry.npmjs.org/@postman/tough-cookie/-/tough-cookie-4.1.3-postman.1.tgz",
+ "integrity": "sha512-txpgUqZOnWYnUHZpHjkfb0IwVH4qJmyq77pPnJLlfhMtdCLMFTEeQHlzQiK906aaNCe4NEB5fGJHo9uzGbFMeA==",
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@postman/tunnel-agent": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/@postman/tunnel-agent/-/tunnel-agent-0.6.4.tgz",
+ "integrity": "sha512-CJJlq8V7rNKhAw4sBfjixKpJW00SHqebqNUQKxMoepgeWZIbdPcD+rguRcivGhS4N12PymDcKgUgSD4rVC+RjQ==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.41.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz",
+ "integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.41.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz",
+ "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
+ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true
+ },
+ "node_modules/@types/semver": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz",
+ "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==",
+ "dev": true
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+ "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA=="
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "11.0.5",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz",
+ "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==",
+ "dependencies": {
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.3.1.tgz",
+ "integrity": "sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.3.1",
+ "@typescript-eslint/visitor-keys": "7.3.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.3.1.tgz",
+ "integrity": "sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==",
+ "dev": true,
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.3.1.tgz",
+ "integrity": "sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.3.1",
+ "@typescript-eslint/visitor-keys": "7.3.1",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "9.0.3",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.3.1.tgz",
+ "integrity": "sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.3.1",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.14.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
+ "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "arr-flatten": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
+ "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "is-array-buffer": "^3.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array.prototype.reduce": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz",
+ "integrity": "sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-array-method-boxes-properly": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "is-string": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
+ "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
+ },
+ "node_modules/async-each": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz",
+ "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "optional": true
+ },
+ "node_modules/async-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
+ "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/atlas": {
+ "version": "1.0.0-alpha.0",
+ "resolved": "https://registry.npmjs.org/atlas/-/atlas-1.0.0-alpha.0.tgz",
+ "integrity": "sha512-mDn1JXOn4fl5qbRDhzlZp/fnrBFvN72eFC4Ucsr40byaf1zNMYUXoXCJSCA/jxnCXGKDP6lj7eeoBPiP5g+TLw==",
+ "hasInstallScript": true
+ },
+ "node_modules/atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true,
+ "optional": true,
+ "bin": {
+ "atob": "bin/atob.js"
+ },
+ "engines": {
+ "node": ">= 4.5.0"
+ }
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz",
+ "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw=="
+ },
+ "node_modules/babel": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel/-/babel-6.23.0.tgz",
+ "integrity": "sha512-ZDcCaI8Vlct8PJ3DvmyqUz+5X2Ylz3ZuuItBe/74yXosk2dwyVo/aN7MCJ8HJzhnnJ+6yP4o+lDgG9MBe91DLA==",
+ "deprecated": "In 6.x, the babel package has been deprecated in favor of babel-cli. Check https://opencollective.com/babel to support the Babel maintainers",
+ "bin": {
+ "babel": "lib/cli.js",
+ "babel-external-helpers": "lib/cli.js",
+ "babel-node": "lib/cli.js"
+ }
+ },
+ "node_modules/babel-cli": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz",
+ "integrity": "sha512-wau+BDtQfuSBGQ9PzzFL3REvR9Sxnd4LKwtcHAiPjhugA7K/80vpHXafj+O5bAqJOuSefjOx5ZJnNSR2J1Qw6Q==",
+ "dev": true,
+ "dependencies": {
+ "babel-core": "^6.26.0",
+ "babel-polyfill": "^6.26.0",
+ "babel-register": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "commander": "^2.11.0",
+ "convert-source-map": "^1.5.0",
+ "fs-readdir-recursive": "^1.0.0",
+ "glob": "^7.1.2",
+ "lodash": "^4.17.4",
+ "output-file-sync": "^1.1.2",
+ "path-is-absolute": "^1.0.1",
+ "slash": "^1.0.0",
+ "source-map": "^0.5.6",
+ "v8flags": "^2.1.1"
+ },
+ "bin": {
+ "babel": "bin/babel.js",
+ "babel-doctor": "bin/babel-doctor.js",
+ "babel-external-helpers": "bin/babel-external-helpers.js",
+ "babel-node": "bin/babel-node.js"
+ },
+ "optionalDependencies": {
+ "chokidar": "^1.6.1"
+ }
+ },
+ "node_modules/babel-cli/node_modules/anymatch": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "micromatch": "^2.1.5",
+ "normalize-path": "^2.0.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/braces/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/chokidar": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "integrity": "sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "anymatch": "^1.3.0",
+ "async-each": "^1.0.0",
+ "glob-parent": "^2.0.0",
+ "inherits": "^2.0.1",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^2.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^1.0.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "node_modules/babel-cli/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true
+ },
+ "node_modules/babel-cli/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/fill-range/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-glob": "^2.0.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "binary-extensions": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extglob": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/babel-cli/node_modules/normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/expand-brackets/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/expand-brackets/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/expand-brackets/node_modules/is-descriptor": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/extglob/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/extglob/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/readdirp/node_modules/micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-cli/node_modules/v8flags": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+ "integrity": "sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==",
+ "dev": true,
+ "dependencies": {
+ "user-home": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^1.1.3",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.2"
+ }
+ },
+ "node_modules/babel-code-frame/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-code-frame/node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-code-frame/node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-code-frame/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/babel-code-frame/node_modules/js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==",
+ "dev": true
+ },
+ "node_modules/babel-code-frame/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-code-frame/node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/babel-core": {
+ "version": "6.26.3",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
+ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": "^6.26.0",
+ "babel-generator": "^6.26.0",
+ "babel-helpers": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-register": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "convert-source-map": "^1.5.1",
+ "debug": "^2.6.9",
+ "json5": "^0.5.1",
+ "lodash": "^4.17.4",
+ "minimatch": "^3.0.4",
+ "path-is-absolute": "^1.0.1",
+ "private": "^0.1.8",
+ "slash": "^1.0.0",
+ "source-map": "^0.5.7"
+ }
+ },
+ "node_modules/babel-core/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true
+ },
+ "node_modules/babel-core/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/babel-core/node_modules/json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/babel-core/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "node_modules/babel-core/node_modules/slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-core/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-generator": {
+ "version": "6.26.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "dev": true,
+ "dependencies": {
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "detect-indent": "^4.0.0",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.17.4",
+ "source-map": "^0.5.7",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "node_modules/babel-generator/node_modules/jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ }
+ },
+ "node_modules/babel-generator/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==",
+ "dev": true,
+ "dependencies": {
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "node_modules/babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==",
+ "dev": true,
+ "dependencies": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs2": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz",
+ "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==",
+ "dependencies": {
+ "@babel/compat-data": "^7.22.6",
+ "@babel/helper-define-polyfill-provider": "^0.6.4",
+ "semver": "^6.3.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs3": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
+ "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.6.3",
+ "core-js-compat": "^3.40.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-regenerator": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz",
+ "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.6.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/babel-polyfill": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
+ "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==",
+ "dev": true,
+ "dependencies": {
+ "babel-runtime": "^6.26.0",
+ "core-js": "^2.5.0",
+ "regenerator-runtime": "^0.10.5"
+ }
+ },
+ "node_modules/babel-polyfill/node_modules/core-js": {
+ "version": "2.6.12",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
+ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
+ "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
+ "dev": true,
+ "hasInstallScript": true
+ },
+ "node_modules/babel-polyfill/node_modules/regenerator-runtime": {
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
+ "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==",
+ "dev": true
+ },
+ "node_modules/babel-register": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==",
+ "dev": true,
+ "dependencies": {
+ "babel-core": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "core-js": "^2.5.0",
+ "home-or-tmp": "^2.0.0",
+ "lodash": "^4.17.4",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.4.15"
+ }
+ },
+ "node_modules/babel-register/node_modules/core-js": {
+ "version": "2.6.12",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
+ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
+ "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
+ "dev": true,
+ "hasInstallScript": true
+ },
+ "node_modules/babel-register/node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/babel-register/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-register/node_modules/source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "dependencies": {
+ "source-map": "^0.5.6"
+ }
+ },
+ "node_modules/babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
+ "dev": true,
+ "dependencies": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "node_modules/babel-runtime/node_modules/core-js": {
+ "version": "2.6.12",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
+ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
+ "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
+ "dev": true,
+ "hasInstallScript": true
+ },
+ "node_modules/babel-runtime/node_modules/regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
+ },
+ "node_modules/babel-template": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==",
+ "dev": true,
+ "dependencies": {
+ "babel-runtime": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "node_modules/babel-traverse": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": "^6.26.0",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "debug": "^2.6.8",
+ "globals": "^9.18.0",
+ "invariant": "^2.2.2",
+ "lodash": "^4.17.4"
+ }
+ },
+ "node_modules/babel-traverse/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/babel-traverse/node_modules/globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-traverse/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "node_modules/babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==",
+ "dev": true,
+ "dependencies": {
+ "babel-runtime": "^6.26.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.4",
+ "to-fast-properties": "^1.0.3"
+ }
+ },
+ "node_modules/babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true,
+ "bin": {
+ "babylon": "bin/babylon.js"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/base/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/bcrypt": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-6.0.0.tgz",
+ "integrity": "sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-addon-api": "^8.3.0",
+ "node-gyp-build": "^4.8.4"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/bcrypt-nodejs": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/bcrypt-nodejs/-/bcrypt-nodejs-0.0.3.tgz",
+ "integrity": "sha512-NmTbLm867btBHCBZ222FQXkQKzecB0KG6pTXFa6NeTVZaSnLfCsx7EK2PL3J+kX8xJThUquEBbhimRCKKZX9zA==",
+ "deprecated": "bcrypt-nodejs is no longer actively maintained. Please use bcrypt or bcryptjs. See https://github.com/kelektiv/node.bcrypt.js/wiki/bcrypt-vs-brypt.js to learn more about these two options"
+ },
+ "node_modules/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/bluebird": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
+ "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ=="
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.3",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
+ "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.5",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.13.0",
+ "raw-body": "2.5.2",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/brotli": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz",
+ "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==",
+ "dependencies": {
+ "base64-js": "^1.1.2"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.24.5",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz",
+ "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001716",
+ "electron-to-chromium": "^1.5.149",
+ "node-releases": "^2.0.19",
+ "update-browserslist-db": "^1.1.3"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bson": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-6.10.3.tgz",
+ "integrity": "sha512-MTxGsqgYTwfshYWTRdmZRC+M7FnG1b4y7RO7p2k3X24Wq0yv1m77Wsj0BzlPzd/IowgESfsruQCUToa7vbOpPQ==",
+ "engines": {
+ "node": ">=16.20.1"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001718",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz",
+ "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chardet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.0.0.tgz",
+ "integrity": "sha512-xVgPpulCooDjY6zH4m9YW3jbkaBe3FKIAvF5sj5t7aBNsVl2ljIE+xwJ4iNgiDZHFQvNIpjdKdVOQvvk5ZfxbQ=="
+ },
+ "node_modules/charset": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz",
+ "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/is-descriptor": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/cli-progress": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz",
+ "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==",
+ "dependencies": {
+ "string-width": "^4.2.3"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-table3": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
+ "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
+ "dependencies": {
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": "10.* || >= 12.*"
+ },
+ "optionalDependencies": {
+ "@colors/colors": "1.5.0"
+ }
+ },
+ "node_modules/clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "dependencies": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="
+ },
+ "node_modules/component-emitter": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
+ "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
+ "dev": true,
+ "optional": true,
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "node_modules/cookie": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
+ "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/core-js": {
+ "version": "3.42.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.42.0.tgz",
+ "integrity": "sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==",
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-js-compat": {
+ "version": "3.42.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.42.0.tgz",
+ "integrity": "sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==",
+ "dependencies": {
+ "browserslist": "^4.24.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/crypto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz",
+ "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==",
+ "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in."
+ },
+ "node_modules/csv-parse": {
+ "version": "4.16.3",
+ "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz",
+ "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg=="
+ },
+ "node_modules/curry": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/curry/-/curry-0.0.4.tgz",
+ "integrity": "sha512-IPapCjuLQfb9u7HEU+l7XX10CmK5ojdvjt+0sNrZmSvSU31OZxPV78cmDj1Zm+ZX/tEh7jeYdaD4v89iJDOD0g==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/data-view-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
+ "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
+ "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/inspect-js"
+ }
+ },
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
+ "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decode-uri-component": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
+ "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/des.js": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
+ "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==",
+ "dev": true,
+ "dependencies": {
+ "repeating": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dom": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/dom/-/dom-0.0.3.tgz",
+ "integrity": "sha512-Uzda1zIAXO8JG2fm6IbJcdzBrRaC5Q308HTIjCXCQHh7ZVACJOeQzYYvd99plJ2/HUpZQk9IxNI/Y+QrO6poIQ=="
+ },
+ "node_modules/dotenv": {
+ "version": "16.5.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
+ "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.157",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.157.tgz",
+ "integrity": "sha512-/0ybgsQd1muo8QlnuTpKwtl0oX5YMlUGbm8xyqgDU00motRkKFFbUJySAQBWcY79rVqNLWIWa87BGVGClwAB2w=="
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.23.10",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.10.tgz",
+ "integrity": "sha512-MtUbM072wlJNyeYAe0mhzrD+M6DIJa96CZAOBBrhDbgKnB4MApIKefcyAB1eOdYn8cUNZgvwBvEzdoAYsxgEIw==",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.2",
+ "arraybuffer.prototype.slice": "^1.0.4",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "data-view-buffer": "^1.0.2",
+ "data-view-byte-length": "^1.0.2",
+ "data-view-byte-offset": "^1.0.1",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "es-set-tostringtag": "^2.1.0",
+ "es-to-primitive": "^1.3.0",
+ "function.prototype.name": "^1.1.8",
+ "get-intrinsic": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "get-symbol-description": "^1.1.0",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.1.0",
+ "is-array-buffer": "^3.0.5",
+ "is-callable": "^1.2.7",
+ "is-data-view": "^1.0.2",
+ "is-regex": "^1.2.1",
+ "is-shared-array-buffer": "^1.0.4",
+ "is-string": "^1.1.1",
+ "is-typed-array": "^1.1.15",
+ "is-weakref": "^1.1.1",
+ "math-intrinsics": "^1.1.0",
+ "object-inspect": "^1.13.4",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.7",
+ "own-keys": "^1.0.1",
+ "regexp.prototype.flags": "^1.5.4",
+ "safe-array-concat": "^1.1.3",
+ "safe-push-apply": "^1.0.0",
+ "safe-regex-test": "^1.1.0",
+ "set-proto": "^1.0.0",
+ "string.prototype.trim": "^1.2.10",
+ "string.prototype.trimend": "^1.0.9",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.3",
+ "typed-array-byte-length": "^1.0.3",
+ "typed-array-byte-offset": "^1.0.4",
+ "typed-array-length": "^1.0.7",
+ "unbox-primitive": "^1.1.0",
+ "which-typed-array": "^1.1.19"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-array-method-boxes-properly": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
+ "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA=="
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
+ "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
+ "dependencies": {
+ "is-callable": "^1.2.7",
+ "is-date-object": "^1.0.5",
+ "is-symbol": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
+ "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.5",
+ "@esbuild/android-arm": "0.25.5",
+ "@esbuild/android-arm64": "0.25.5",
+ "@esbuild/android-x64": "0.25.5",
+ "@esbuild/darwin-arm64": "0.25.5",
+ "@esbuild/darwin-x64": "0.25.5",
+ "@esbuild/freebsd-arm64": "0.25.5",
+ "@esbuild/freebsd-x64": "0.25.5",
+ "@esbuild/linux-arm": "0.25.5",
+ "@esbuild/linux-arm64": "0.25.5",
+ "@esbuild/linux-ia32": "0.25.5",
+ "@esbuild/linux-loong64": "0.25.5",
+ "@esbuild/linux-mips64el": "0.25.5",
+ "@esbuild/linux-ppc64": "0.25.5",
+ "@esbuild/linux-riscv64": "0.25.5",
+ "@esbuild/linux-s390x": "0.25.5",
+ "@esbuild/linux-x64": "0.25.5",
+ "@esbuild/netbsd-arm64": "0.25.5",
+ "@esbuild/netbsd-x64": "0.25.5",
+ "@esbuild/openbsd-arm64": "0.25.5",
+ "@esbuild/openbsd-x64": "0.25.5",
+ "@esbuild/sunos-x64": "0.25.5",
+ "@esbuild/win32-arm64": "0.25.5",
+ "@esbuild/win32-ia32": "0.25.5",
+ "@esbuild/win32-x64": "0.25.5"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "9.28.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.28.0.tgz",
+ "integrity": "sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.12.1",
+ "@eslint/config-array": "^0.20.0",
+ "@eslint/config-helpers": "^0.2.1",
+ "@eslint/core": "^0.14.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.28.0",
+ "@eslint/plugin-kit": "^0.3.1",
+ "@humanfs/node": "^0.16.6",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@humanwhocodes/retry": "^0.4.2",
+ "@types/estree": "^1.0.6",
+ "@types/json-schema": "^7.0.15",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.6",
+ "debug": "^4.3.2",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^8.3.0",
+ "eslint-visitor-keys": "^4.2.0",
+ "espree": "^10.3.0",
+ "esquery": "^1.5.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^8.0.0",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ },
+ "peerDependencies": {
+ "jiti": "*"
+ },
+ "peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz",
+ "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
+ "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
+ "dev": true,
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/eslint/node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/espree": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
+ "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.14.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^4.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-posix-bracket": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "fill-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-range/node_modules/fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-range/node_modules/is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-range/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/expand-range/node_modules/isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "isarray": "1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-range/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.21.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
+ "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.3",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.7.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.3.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.3",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.12",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.13.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.19.0",
+ "serve-static": "1.16.2",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express-list-endpoints": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/express-list-endpoints/-/express-list-endpoints-7.1.1.tgz",
+ "integrity": "sha512-SA6YHH1r6DrioJ4fFJNqiwu1FweGFqJZO9KBApMzwPosoSGPOX2AW0wiMepOXjojjEXDuP9whIvckomheErbJA==",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "node_modules/extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extend-shallow/node_modules/is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-plain-object": "^2.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extglob": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob/node_modules/is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+ "engines": [
+ "node >=0.6.0"
+ ]
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
+ "node_modules/fastq": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
+ "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/file-type": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+ "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/filesize": {
+ "version": "10.1.4",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.4.tgz",
+ "integrity": "sha512-ryBwPIIeErmxgPnm6cbESAzXjuEFubs+yKYLBZvg3CaiNcmkJChoOGcBSrZ6IwkMwPABwPpVXE6IlNdGJJrvEg==",
+ "engines": {
+ "node": ">= 10.4.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
+ "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "dependencies": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dependencies": {
+ "locate-path": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw=="
+ },
+ "node_modules/for-each": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+ "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
+ "dependencies": {
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "for-in": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "map-cache": "^0.2.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-readdir-recursive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
+ "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
+ "dev": true
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
+ "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "functions-have-names": "^1.2.3",
+ "hasown": "^2.0.2",
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/get-symbol-description": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
+ "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/glob-base/node_modules/glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-glob": "^2.0.0"
+ }
+ },
+ "node_modules/glob-base/node_modules/is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/glob-base/node_modules/is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extglob": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/globalthis": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true
+ },
+ "node_modules/handlebars": {
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
+ "dependencies": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
+ },
+ "engines": {
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
+ }
+ },
+ "node_modules/har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "deprecated": "this library is no longer supported",
+ "dependencies": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-ansi/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
+ "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
+ "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
+ "dependencies": {
+ "dunder-proto": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values/node_modules/is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values/node_modules/kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==",
+ "dev": true,
+ "dependencies": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/homedir-polyfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+ "dependencies": {
+ "parse-passwd": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http-reasons": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/http-reasons/-/http-reasons-0.1.0.tgz",
+ "integrity": "sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ=="
+ },
+ "node_modules/http-signature": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz",
+ "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==",
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^2.0.2",
+ "sshpk": "^1.14.1"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/httpntlm": {
+ "version": "1.8.13",
+ "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.8.13.tgz",
+ "integrity": "sha512-2F2FDPiWT4rewPzNMg3uPhNkP3NExENlUGADRUDPQvuftuUTGW98nLZtGemCIW3G40VhWZYgkIDcQFAwZ3mf2Q==",
+ "funding": [
+ {
+ "type": "paypal",
+ "url": "https://www.paypal.com/donate/?hosted_button_id=2CKNJLZJBW8ZC"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/samdecrock"
+ }
+ ],
+ "dependencies": {
+ "des.js": "^1.0.1",
+ "httpreq": ">=0.4.22",
+ "js-md4": "^0.3.2",
+ "underscore": "~1.12.1"
+ },
+ "engines": {
+ "node": ">=10.4.0"
+ }
+ },
+ "node_modules/httpreq": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-1.1.1.tgz",
+ "integrity": "sha512-uhSZLPPD2VXXOSN8Cni3kIsoFHaU2pT/nySEU/fHr/ePbqHYr0jeiQRmUKLEirC09SFPsdMoA7LU7UXMd/w0Kw==",
+ "engines": {
+ "node": ">= 6.15.1"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/internal-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
+ "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-accessor-descriptor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz",
+ "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
+ "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-async-function": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
+ "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
+ "dependencies": {
+ "async-function": "^1.0.0",
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.1",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bigint": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
+ "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
+ "dependencies": {
+ "has-bigints": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
+ "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-data-descriptor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz",
+ "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-data-view": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
+ "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-descriptor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
+ "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-primitive": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-finalizationregistry": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
+ "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-finite": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+ "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz",
+ "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.0",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
+ "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-set": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
+ "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
+ "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
+ "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
+ "dependencies": {
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakref": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz",
+ "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz",
+ "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
+ },
+ "node_modules/jose": {
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-5.6.3.tgz",
+ "integrity": "sha512-1Jh//hEEwMhNYPDDLwXHa2ePWgWiFNNUadVmguAAw2IJ6sj9mNxV5tGXJNqlMkJAybF6Lgw1mISDxTePP/187g==",
+ "funding": {
+ "url": "https://github.com/sponsors/panva"
+ }
+ },
+ "node_modules/js-md4": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz",
+ "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA=="
+ },
+ "node_modules/js-sha512": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/js-sha512/-/js-sha512-0.9.0.tgz",
+ "integrity": "sha512-mirki9WS/SUahm+1TbAPkqvbCiCfOAAsyXeHxK1UkullnJVVqoJG2pL9ObvT05CN+tM7fxhfYm0NbXn+1hWoZg=="
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsprim": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz",
+ "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/liquid-json": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/liquid-json/-/liquid-json-0.3.1.tgz",
+ "integrity": "sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dependencies": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "object-visit": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/math-random": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
+ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "arr-diff": "^2.0.0",
+ "array-unique": "^0.2.1",
+ "braces": "^1.8.2",
+ "expand-brackets": "^0.1.4",
+ "extglob": "^0.3.1",
+ "filename-regex": "^2.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.1",
+ "kind-of": "^3.0.2",
+ "normalize-path": "^2.0.1",
+ "object.omit": "^2.0.0",
+ "parse-glob": "^3.0.4",
+ "regex-cache": "^0.4.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/micromatch/node_modules/braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "expand-range": "^1.8.1",
+ "preserve": "^0.2.0",
+ "repeat-element": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/micromatch/node_modules/is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/micromatch/node_modules/is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extglob": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/micromatch/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/micromatch/node_modules/normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/middleware": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/middleware/-/middleware-1.0.0.tgz",
+ "integrity": "sha512-c3rqqJbL4fMsacWYc1Cgck/ohjVh6s9rwX8wb2BnJSdEwNguf8La0QukSEPAeAHKl8I9WrCnJOb70YgyNCCzjg=="
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-format": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mime-format/-/mime-format-2.0.1.tgz",
+ "integrity": "sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg==",
+ "dependencies": {
+ "charset": "^1.0.0"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mixin-deep/node_modules/is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-plain-object": "^2.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
+ "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
+ "bin": {
+ "mkdirp": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.16.0.tgz",
+ "integrity": "sha512-D1PNcdT0y4Grhou5Zi/qgipZOYeWrhLEpk33n3nm6LGtz61jvO88WlrWCK/bigMjpnOdAUKKQwsGIl0NtWMyYw==",
+ "dependencies": {
+ "@mongodb-js/saslprep": "^1.1.9",
+ "bson": "^6.10.3",
+ "mongodb-connection-string-url": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=16.20.1"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-providers": "^3.188.0",
+ "@mongodb-js/zstd": "^1.1.0 || ^2.0.0",
+ "gcp-metadata": "^5.2.0",
+ "kerberos": "^2.0.1",
+ "mongodb-client-encryption": ">=6.0.0 <7",
+ "snappy": "^7.2.2",
+ "socks": "^2.7.1"
+ },
+ "peerDependenciesMeta": {
+ "@aws-sdk/credential-providers": {
+ "optional": true
+ },
+ "@mongodb-js/zstd": {
+ "optional": true
+ },
+ "gcp-metadata": {
+ "optional": true
+ },
+ "kerberos": {
+ "optional": true
+ },
+ "mongodb-client-encryption": {
+ "optional": true
+ },
+ "snappy": {
+ "optional": true
+ },
+ "socks": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.2.tgz",
+ "integrity": "sha512-rMO7CGo/9BFwyZABcKAWL8UJwH/Kc2x0g72uhDWzG48URRax5TCIcJ7Rc3RZqffZzO/Gwff/jyKwCU9TN8gehA==",
+ "dependencies": {
+ "@types/whatwg-url": "^11.0.2",
+ "whatwg-url": "^14.1.0 || ^13.0.0"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/nanomatch/node_modules/arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/nanomatch/node_modules/array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
+ },
+ "node_modules/newman": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/newman/-/newman-6.2.0.tgz",
+ "integrity": "sha512-CHo/wMv+Q9B3YcIJ18pdmY9XN9X8mc2hXso8yybeclV0BVPSFz1+P5vJELWg5DB/qJgxJOh+B+k+i9tTqfzcbw==",
+ "dependencies": {
+ "@postman/tough-cookie": "4.1.3-postman.1",
+ "async": "3.2.5",
+ "chardet": "2.0.0",
+ "cli-progress": "3.12.0",
+ "cli-table3": "0.6.5",
+ "colors": "1.4.0",
+ "commander": "11.1.0",
+ "csv-parse": "4.16.3",
+ "filesize": "10.1.4",
+ "liquid-json": "0.3.1",
+ "lodash": "4.17.21",
+ "mkdirp": "3.0.1",
+ "postman-collection": "4.5.0",
+ "postman-collection-transformer": "4.1.8",
+ "postman-request": "2.88.1-postman.39",
+ "postman-runtime": "7.41.2",
+ "pretty-ms": "7.0.1",
+ "semver": "7.6.3",
+ "serialised-error": "1.1.3",
+ "word-wrap": "1.2.5",
+ "xmlbuilder": "15.1.1"
+ },
+ "bin": {
+ "newman": "bin/newman.js"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/newman/node_modules/commander": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
+ "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/newman/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-addon-api": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.1.tgz",
+ "integrity": "sha512-lytcDEdxKjGJPTLEfW4mYMigRezMlyJY8W4wxJK8zE533Jlb8L8dRuObJFWg2P+AuOIxoCgKF+2Oq4d4Zd0OUA==",
+ "engines": {
+ "node": "^18 || ^20 || >= 21"
+ }
+ },
+ "node_modules/node-environment-flags": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
+ "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==",
+ "dependencies": {
+ "object.getownpropertydescriptors": "^2.0.3",
+ "semver": "^5.7.0"
+ }
+ },
+ "node_modules/node-environment-flags/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/node-forge": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+ "engines": {
+ "node": ">= 6.13.0"
+ }
+ },
+ "node_modules/node-gyp-build": {
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
+ "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
+ "node_modules/node-oauth1": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/node-oauth1/-/node-oauth1-1.3.0.tgz",
+ "integrity": "sha512-0yggixNfrA1KcBwvh/Hy2xAS1Wfs9dcg6TdFf2zN7gilcAigMdrtZ4ybrBSXBgLvGDw9V1p2MRnGBMq7XjTWLg=="
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="
+ },
+ "node_modules/nodemon": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz",
+ "integrity": "sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==",
+ "dependencies": {
+ "chokidar": "^3.5.2",
+ "debug": "^4",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^7.5.3",
+ "simple-update-notifier": "^2.0.0",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "bin": {
+ "nodemon": "bin/nodemon.js"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
+ }
+ },
+ "node_modules/nodemon/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-descriptor": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object-copy/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
+ "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
+ "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.getownpropertydescriptors": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz",
+ "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==",
+ "dependencies": {
+ "array.prototype.reduce": "^1.0.6",
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0",
+ "gopd": "^1.0.1",
+ "safe-array-concat": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "for-own": "^0.1.4",
+ "is-extendable": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/output-file-sync": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz",
+ "integrity": "sha512-uQLlclru4xpCi+tfs80l3QF24KL81X57ELNMy7W/dox+JTtxUf1bLyQ8968fFCmSqqbokjW0kn+WBIlO+rSkNg==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.4",
+ "mkdirp": "^0.5.1",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "node_modules/output-file-sync/node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/own-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
+ "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
+ "dependencies": {
+ "get-intrinsic": "^1.2.6",
+ "object-keys": "^1.1.1",
+ "safe-push-apply": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dependencies": {
+ "p-limit": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "glob-base": "^0.3.0",
+ "is-dotfile": "^1.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/parse-glob/node_modules/is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/parse-glob/node_modules/is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extglob": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/parse-ms": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
+ "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
+ "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
+ "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "dependencies": {
+ "find-up": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/possible-typed-array-names": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
+ "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.4",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz",
+ "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postman-collection": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.5.0.tgz",
+ "integrity": "sha512-152JSW9pdbaoJihwjc7Q8lc3nPg/PC9lPTHdMk7SHnHhu/GBJB7b2yb9zG7Qua578+3PxkQ/HYBuXpDSvsf7GQ==",
+ "dependencies": {
+ "@faker-js/faker": "5.5.3",
+ "file-type": "3.9.0",
+ "http-reasons": "0.1.0",
+ "iconv-lite": "0.6.3",
+ "liquid-json": "0.3.1",
+ "lodash": "4.17.21",
+ "mime-format": "2.0.1",
+ "mime-types": "2.1.35",
+ "postman-url-encoder": "3.0.5",
+ "semver": "7.6.3",
+ "uuid": "8.3.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/postman-collection-transformer": {
+ "version": "4.1.8",
+ "resolved": "https://registry.npmjs.org/postman-collection-transformer/-/postman-collection-transformer-4.1.8.tgz",
+ "integrity": "sha512-smJ6X7Z7kbg6hp7JZPFixrSN3J3WkQed7DrWCC5tF7IxOMpFLqhtTtGssY8nD1inP8+mJf+N72Pf2ttUAHgBKw==",
+ "dependencies": {
+ "commander": "8.3.0",
+ "inherits": "2.0.4",
+ "lodash": "4.17.21",
+ "semver": "7.5.4",
+ "strip-json-comments": "3.1.1"
+ },
+ "bin": {
+ "postman-collection-transformer": "bin/transform-collection.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/postman-collection-transformer/node_modules/commander": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/postman-collection-transformer/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/postman-collection-transformer/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/postman-collection-transformer/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/postman-collection/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postman-collection/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/postman-request": {
+ "version": "2.88.1-postman.39",
+ "resolved": "https://registry.npmjs.org/postman-request/-/postman-request-2.88.1-postman.39.tgz",
+ "integrity": "sha512-rsncxxDlbn1YpygXSgJqbJzIjGlHFcZjbYDzeBPTQHMDfLuSTzZz735JHV8i1+lOROuJ7MjNap4eaSD3UijHzQ==",
+ "dependencies": {
+ "@postman/form-data": "~3.1.1",
+ "@postman/tough-cookie": "~4.1.3-postman.1",
+ "@postman/tunnel-agent": "^0.6.4",
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.12.0",
+ "brotli": "^1.3.3",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.3.1",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "^2.1.35",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.3",
+ "safe-buffer": "^5.1.2",
+ "stream-length": "^1.0.2",
+ "uuid": "^8.3.2"
+ },
+ "engines": {
+ "node": ">= 16"
+ }
+ },
+ "node_modules/postman-request/node_modules/qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/postman-runtime": {
+ "version": "7.41.2",
+ "resolved": "https://registry.npmjs.org/postman-runtime/-/postman-runtime-7.41.2.tgz",
+ "integrity": "sha512-efKnii+yBfqZMRjV5zFh4VXogLeZB58HmLkgT+/sZcjglth23wzp+QRlkl4nbgcL2SZX6e5cLI2/aG2Of3wMyg==",
+ "dependencies": {
+ "@postman/tough-cookie": "4.1.3-postman.1",
+ "async": "3.2.5",
+ "aws4": "1.13.1",
+ "handlebars": "4.7.8",
+ "httpntlm": "1.8.13",
+ "jose": "5.6.3",
+ "js-sha512": "0.9.0",
+ "lodash": "4.17.21",
+ "mime-types": "2.1.35",
+ "node-forge": "1.3.1",
+ "node-oauth1": "1.3.0",
+ "performance-now": "2.1.0",
+ "postman-collection": "4.5.0",
+ "postman-request": "2.88.1-postman.39",
+ "postman-sandbox": "5.1.1",
+ "postman-url-encoder": "3.0.5",
+ "serialised-error": "1.1.3",
+ "strip-json-comments": "3.1.1",
+ "uuid": "8.3.2"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/postman-runtime/node_modules/aws4": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.1.tgz",
+ "integrity": "sha512-u5w79Rd7SU4JaIlA/zFqG+gOiuq25q5VLyZ8E+ijJeILuTxVzZgp2CaGw/UTw6pXYN9XMO9yiqj/nEHmhTG5CA=="
+ },
+ "node_modules/postman-sandbox": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postman-sandbox/-/postman-sandbox-5.1.1.tgz",
+ "integrity": "sha512-RfCTMwz3OaqhYYgtoe3VlHGiQl9hEmJ9sPh/XOlNcuvd/km6ARSFkKXFvQaLFsTHyXcHaqpInKaQSJi23uTynA==",
+ "dependencies": {
+ "lodash": "4.17.21",
+ "postman-collection": "4.5.0",
+ "teleport-javascript": "1.0.0",
+ "uvm": "3.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/postman-url-encoder": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.5.tgz",
+ "integrity": "sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pretty-ms": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz",
+ "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==",
+ "dependencies": {
+ "parse-ms": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/psl": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz",
+ "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
+ "dependencies": {
+ "punycode": "^2.3.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/lupomontero"
+ }
+ },
+ "node_modules/pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/python": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/python/-/python-0.0.4.tgz",
+ "integrity": "sha512-7avKA/6XxrwcGSDes8xGn7FHAUdAUQXKHtpjDulyv5/nm7TcPblmPRvXjjwx5knWHqeRiipqH/TZR2HhmJ4CGQ==",
+ "engines": {
+ "node": ">= 0.4.1"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "dependencies": {
+ "side-channel": "^1.0.6"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/randomatic": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
+ "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/randomatic/node_modules/is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/react": {
+ "version": "19.1.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
+ "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readable-stream/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/readable-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
+ "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.1",
+ "which-builtin-type": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regenerate": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
+ },
+ "node_modules/regenerate-unicode-properties": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
+ "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
+ "dependencies": {
+ "regenerate": "^1.4.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ },
+ "node_modules/regex-cache": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-equal-shallow": "^0.1.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+ "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexpu-core": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
+ "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
+ "dependencies": {
+ "regenerate": "^1.4.2",
+ "regenerate-unicode-properties": "^10.2.0",
+ "regjsgen": "^0.8.0",
+ "regjsparser": "^0.12.0",
+ "unicode-match-property-ecmascript": "^2.0.0",
+ "unicode-match-property-value-ecmascript": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regjsgen": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
+ "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q=="
+ },
+ "node_modules/regjsparser": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
+ "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
+ "dependencies": {
+ "jsesc": "~3.0.2"
+ },
+ "bin": {
+ "regjsparser": "bin/parser"
+ }
+ },
+ "node_modules/regjsparser/node_modules/jsesc": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/render": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/render/-/render-0.1.4.tgz",
+ "integrity": "sha512-mTNCTWXyulJhMFcsCZGwMjE3GjH40eE4r23Or7Sw4XnEBHO8gS5ZBHgxDGjFF1v0pe9GXx+c+8njbpry+11e3A==",
+ "dependencies": {
+ "traverser": "0.0.x"
+ }
+ },
+ "node_modules/repeat-element": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
+ "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==",
+ "dev": true,
+ "dependencies": {
+ "is-finite": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
+ },
+ "node_modules/resolve": {
+ "version": "1.22.10",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+ "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+ "dependencies": {
+ "is-core-module": "^2.16.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
+ "deprecated": "https://github.com/lydell/resolve-url#deprecated",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.41.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz",
+ "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==",
+ "dependencies": {
+ "@types/estree": "1.0.7"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.41.1",
+ "@rollup/rollup-android-arm64": "4.41.1",
+ "@rollup/rollup-darwin-arm64": "4.41.1",
+ "@rollup/rollup-darwin-x64": "4.41.1",
+ "@rollup/rollup-freebsd-arm64": "4.41.1",
+ "@rollup/rollup-freebsd-x64": "4.41.1",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.41.1",
+ "@rollup/rollup-linux-arm-musleabihf": "4.41.1",
+ "@rollup/rollup-linux-arm64-gnu": "4.41.1",
+ "@rollup/rollup-linux-arm64-musl": "4.41.1",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.41.1",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1",
+ "@rollup/rollup-linux-riscv64-gnu": "4.41.1",
+ "@rollup/rollup-linux-riscv64-musl": "4.41.1",
+ "@rollup/rollup-linux-s390x-gnu": "4.41.1",
+ "@rollup/rollup-linux-x64-gnu": "4.41.1",
+ "@rollup/rollup-linux-x64-musl": "4.41.1",
+ "@rollup/rollup-win32-arm64-msvc": "4.41.1",
+ "@rollup/rollup-win32-ia32-msvc": "4.41.1",
+ "@rollup/rollup-win32-x64-msvc": "4.41.1",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/safe-array-concat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
+ "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "has-symbols": "^1.1.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safe-push-apply": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
+ "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ret": "~0.1.10"
+ }
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/send/node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/serialised-error": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/serialised-error/-/serialised-error-1.1.3.tgz",
+ "integrity": "sha512-vybp3GItaR1ZtO2nxZZo8eOo7fnVaNtP3XE2vJKgzkKR2bagCkdJ1EpYYhEMd3qu/80DwQk9KjsNSxE3fXWq0g==",
+ "dependencies": {
+ "object-hash": "^1.1.2",
+ "stack-trace": "0.0.9",
+ "uuid": "^3.0.0"
+ }
+ },
+ "node_modules/serialised-error/node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "dependencies": {
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.19.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-proto": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz",
+ "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/set-value/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "dependencies": {
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/simple-update-notifier": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
+ "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==",
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/simple-update-notifier/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "kind-of": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-util/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-descriptor": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/snapdragon/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/snapdragon/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/source-map-url": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+ "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "node_modules/split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "extend-shallow": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sshpk": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
+ "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/stack-trace": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
+ "integrity": "sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-descriptor": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/stream-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-length/-/stream-length-1.0.2.tgz",
+ "integrity": "sha512-aI+qKFiwoDV4rsXiS7WRoCt+v2RX1nUj17+KJC5r2gfh5xoSJIfP6Y3Do/HtvesFcTSWthIuJ3l1cvKQY/+nZg==",
+ "dependencies": {
+ "bluebird": "^2.6.2"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.10",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
+ "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-data-property": "^1.1.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-object-atoms": "^1.0.0",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
+ "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/teleport-javascript": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/teleport-javascript/-/teleport-javascript-1.0.0.tgz",
+ "integrity": "sha512-j1llvWVFyEn/6XIFDfX5LAU43DXe0GCt3NfXDwJ8XpRRMkS+i50SAkonAONBy+vxwPFBd50MFU8a2uj8R/ccLg=="
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
+ "dependencies": {
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.4.5",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz",
+ "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-object-path/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/touch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
+ "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
+ "bin": {
+ "nodetouch": "bin/nodetouch.js"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
+ "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
+ "dependencies": {
+ "punycode": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/traverser": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/traverser/-/traverser-0.0.5.tgz",
+ "integrity": "sha512-8wq1H/gNr1PwGhmflklBTvZlY3aOgUmurSYD8PueKn1Btq01REtupQ8nY7VpcG4v2YPKBODxYKIdTt36W+Scwg==",
+ "dependencies": {
+ "curry": "0.0.x"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ts-api-utils": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
+ "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
+ "dev": true,
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
+ "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
+ "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "reflect.getprototypeof": "^1.0.9"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
+ "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0",
+ "reflect.getprototypeof": "^1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/typescript-eslint": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.3.1.tgz",
+ "integrity": "sha512-psqcnHPRCdVIDbgj6RvfpwUKqMcNxIw7eizgxYi46X2BmXK6LxYqPD+SbDfPuA9JW+yPItY6aKJLRNbW7lZ4rA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "7.3.1",
+ "@typescript-eslint/parser": "7.3.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.3.1.tgz",
+ "integrity": "sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.5.1",
+ "@typescript-eslint/scope-manager": "7.3.1",
+ "@typescript-eslint/type-utils": "7.3.1",
+ "@typescript-eslint/utils": "7.3.1",
+ "@typescript-eslint/visitor-keys": "7.3.1",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.4",
+ "natural-compare": "^1.4.0",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.3.1.tgz",
+ "integrity": "sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "7.3.1",
+ "@typescript-eslint/utils": "7.3.1",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.3.1.tgz",
+ "integrity": "sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.12",
+ "@types/semver": "^7.5.0",
+ "@typescript-eslint/scope-manager": "7.3.1",
+ "@typescript-eslint/types": "7.3.1",
+ "@typescript-eslint/typescript-estree": "7.3.1",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ }
+ },
+ "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.3.1.tgz",
+ "integrity": "sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "7.3.1",
+ "@typescript-eslint/types": "7.3.1",
+ "@typescript-eslint/typescript-estree": "7.3.1",
+ "@typescript-eslint/visitor-keys": "7.3.1",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/typescript-eslint/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/uglify-js": {
+ "version": "3.19.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
+ "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
+ "optional": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
+ "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "which-boxed-primitive": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
+ },
+ "node_modules/underscore": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz",
+ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw=="
+ },
+ "node_modules/unicode-canonical-property-names-ecmascript": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
+ "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
+ "dependencies": {
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-value-ecmascript": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
+ "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-property-aliases-ecmascript": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+ "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "isarray": "1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
+ "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
+ "deprecated": "Please see https://github.com/lydell/urix#deprecated",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/url-parse": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+ "dependencies": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "node_modules/use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/user-home": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+ "integrity": "sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==",
+ "dev": true,
+ "bin": {
+ "user-home": "cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/uvm": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/uvm/-/uvm-3.0.0.tgz",
+ "integrity": "sha512-dATVpxsNfFBpHNdq6sy4/CV2UnoRbV8tvvkK0VrUPnm+o7dK6fnir4LEm8czeDdpbw2KKDKjIPcRSZY4AEwEZA==",
+ "dependencies": {
+ "flatted": "3.3.1"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/v8flags": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
+ "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
+ "dependencies": {
+ "homedir-polyfill": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "node_modules/vite": {
+ "version": "6.3.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
+ "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
+ "dependencies": {
+ "esbuild": "^0.25.0",
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2",
+ "postcss": "^8.5.3",
+ "rollup": "^4.34.9",
+ "tinyglobby": "^0.2.13"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "jiti": ">=1.21.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite/node_modules/fdir": {
+ "version": "6.4.5",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz",
+ "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "14.2.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
+ "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
+ "dependencies": {
+ "tr46": "^5.1.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
+ "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
+ "dependencies": {
+ "is-bigint": "^1.1.0",
+ "is-boolean-object": "^1.2.1",
+ "is-number-object": "^1.1.1",
+ "is-string": "^1.1.1",
+ "is-symbol": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-builtin-type": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
+ "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "function.prototype.name": "^1.1.6",
+ "has-tostringtag": "^1.0.2",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.1.0",
+ "is-finalizationregistry": "^1.1.0",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.2.1",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.1.0",
+ "which-collection": "^1.0.2",
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
+ "dependencies": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.19",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
+ "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "for-each": "^0.3.5",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
+ "node_modules/xmlbuilder": {
+ "version": "15.1.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
+ "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zustand": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.5.tgz",
+ "integrity": "sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==",
+ "engines": {
+ "node": ">=12.20.0"
+ },
+ "peerDependencies": {
+ "@types/react": ">=18.0.0",
+ "immer": ">=9.0.6",
+ "react": ">=18.0.0",
+ "use-sync-external-store": ">=1.2.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "immer": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "use-sync-external-store": {
+ "optional": true
+ }
+ }
+ }
+ }
+}
diff --git a/node_modules/@ampproject/remapping/LICENSE b/node_modules/@ampproject/remapping/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/node_modules/@ampproject/remapping/LICENSE
@@ -0,0 +1,202 @@
+
+ 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:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) 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
+
+ (d) 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
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/node_modules/@ampproject/remapping/README.md b/node_modules/@ampproject/remapping/README.md
new file mode 100644
index 00000000..1463c9f6
--- /dev/null
+++ b/node_modules/@ampproject/remapping/README.md
@@ -0,0 +1,218 @@
+# @ampproject/remapping
+
+> Remap sequential sourcemaps through transformations to point at the original source code
+
+Remapping allows you to take the sourcemaps generated through transforming your code and "remap"
+them to the original source locations. Think "my minified code, transformed with babel and bundled
+with webpack", all pointing to the correct location in your original source code.
+
+With remapping, none of your source code transformations need to be aware of the input's sourcemap,
+they only need to generate an output sourcemap. This greatly simplifies building custom
+transformations (think a find-and-replace).
+
+## Installation
+
+```sh
+npm install @ampproject/remapping
+```
+
+## Usage
+
+```typescript
+function remapping(
+ map: SourceMap | SourceMap[],
+ loader: (file: string, ctx: LoaderContext) => (SourceMap | null | undefined),
+ options?: { excludeContent: boolean, decodedMappings: boolean }
+): SourceMap;
+
+// LoaderContext gives the loader the importing sourcemap, tree depth, the ability to override the
+// "source" location (where child sources are resolved relative to, or the location of original
+// source), and the ability to override the "content" of an original source for inclusion in the
+// output sourcemap.
+type LoaderContext = {
+ readonly importer: string;
+ readonly depth: number;
+ source: string;
+ content: string | null | undefined;
+}
+```
+
+`remapping` takes the final output sourcemap, and a `loader` function. For every source file pointer
+in the sourcemap, the `loader` will be called with the resolved path. If the path itself represents
+a transformed file (it has a sourcmap associated with it), then the `loader` should return that
+sourcemap. If not, the path will be treated as an original, untransformed source code.
+
+```js
+// Babel transformed "helloworld.js" into "transformed.js"
+const transformedMap = JSON.stringify({
+ file: 'transformed.js',
+ // 1st column of 2nd line of output file translates into the 1st source
+ // file, line 3, column 2
+ mappings: ';CAEE',
+ sources: ['helloworld.js'],
+ version: 3,
+});
+
+// Uglify minified "transformed.js" into "transformed.min.js"
+const minifiedTransformedMap = JSON.stringify({
+ file: 'transformed.min.js',
+ // 0th column of 1st line of output file translates into the 1st source
+ // file, line 2, column 1.
+ mappings: 'AACC',
+ names: [],
+ sources: ['transformed.js'],
+ version: 3,
+});
+
+const remapped = remapping(
+ minifiedTransformedMap,
+ (file, ctx) => {
+
+ // The "transformed.js" file is an transformed file.
+ if (file === 'transformed.js') {
+ // The root importer is empty.
+ console.assert(ctx.importer === '');
+ // The depth in the sourcemap tree we're currently loading.
+ // The root `minifiedTransformedMap` is depth 0, and its source children are depth 1, etc.
+ console.assert(ctx.depth === 1);
+
+ return transformedMap;
+ }
+
+ // Loader will be called to load transformedMap's source file pointers as well.
+ console.assert(file === 'helloworld.js');
+ // `transformed.js`'s sourcemap points into `helloworld.js`.
+ console.assert(ctx.importer === 'transformed.js');
+ // This is a source child of `transformed`, which is a source child of `minifiedTransformedMap`.
+ console.assert(ctx.depth === 2);
+ return null;
+ }
+);
+
+console.log(remapped);
+// {
+// file: 'transpiled.min.js',
+// mappings: 'AAEE',
+// sources: ['helloworld.js'],
+// version: 3,
+// };
+```
+
+In this example, `loader` will be called twice:
+
+1. `"transformed.js"`, the first source file pointer in the `minifiedTransformedMap`. We return the
+ associated sourcemap for it (its a transformed file, after all) so that sourcemap locations can
+ be traced through it into the source files it represents.
+2. `"helloworld.js"`, our original, unmodified source code. This file does not have a sourcemap, so
+ we return `null`.
+
+The `remapped` sourcemap now points from `transformed.min.js` into locations in `helloworld.js`. If
+you were to read the `mappings`, it says "0th column of the first line output line points to the 1st
+column of the 2nd line of the file `helloworld.js`".
+
+### Multiple transformations of a file
+
+As a convenience, if you have multiple single-source transformations of a file, you may pass an
+array of sourcemap files in the order of most-recent transformation sourcemap first. Note that this
+changes the `importer` and `depth` of each call to our loader. So our above example could have been
+written as:
+
+```js
+const remapped = remapping(
+ [minifiedTransformedMap, transformedMap],
+ () => null
+);
+
+console.log(remapped);
+// {
+// file: 'transpiled.min.js',
+// mappings: 'AAEE',
+// sources: ['helloworld.js'],
+// version: 3,
+// };
+```
+
+### Advanced control of the loading graph
+
+#### `source`
+
+The `source` property can overridden to any value to change the location of the current load. Eg,
+for an original source file, it allows us to change the location to the original source regardless
+of what the sourcemap source entry says. And for transformed files, it allows us to change the
+relative resolving location for child sources of the loaded sourcemap.
+
+```js
+const remapped = remapping(
+ minifiedTransformedMap,
+ (file, ctx) => {
+
+ if (file === 'transformed.js') {
+ // We pretend the transformed.js file actually exists in the 'src/' directory. When the nested
+ // source files are loaded, they will now be relative to `src/`.
+ ctx.source = 'src/transformed.js';
+ return transformedMap;
+ }
+
+ console.assert(file === 'src/helloworld.js');
+ // We could futher change the source of this original file, eg, to be inside a nested directory
+ // itself. This will be reflected in the remapped sourcemap.
+ ctx.source = 'src/nested/transformed.js';
+ return null;
+ }
+);
+
+console.log(remapped);
+// {
+// …,
+// sources: ['src/nested/helloworld.js'],
+// };
+```
+
+
+#### `content`
+
+The `content` property can be overridden when we encounter an original source file. Eg, this allows
+you to manually provide the source content of the original file regardless of whether the
+`sourcesContent` field is present in the parent sourcemap. It can also be set to `null` to remove
+the source content.
+
+```js
+const remapped = remapping(
+ minifiedTransformedMap,
+ (file, ctx) => {
+
+ if (file === 'transformed.js') {
+ // transformedMap does not include a `sourcesContent` field, so usually the remapped sourcemap
+ // would not include any `sourcesContent` values.
+ return transformedMap;
+ }
+
+ console.assert(file === 'helloworld.js');
+ // We can read the file to provide the source content.
+ ctx.content = fs.readFileSync(file, 'utf8');
+ return null;
+ }
+);
+
+console.log(remapped);
+// {
+// …,
+// sourcesContent: [
+// 'console.log("Hello world!")',
+// ],
+// };
+```
+
+### Options
+
+#### excludeContent
+
+By default, `excludeContent` is `false`. Passing `{ excludeContent: true }` will exclude the
+`sourcesContent` field from the returned sourcemap. This is mainly useful when you want to reduce
+the size out the sourcemap.
+
+#### decodedMappings
+
+By default, `decodedMappings` is `false`. Passing `{ decodedMappings: true }` will leave the
+`mappings` field in a [decoded state](https://github.com/rich-harris/sourcemap-codec) instead of
+encoding into a VLQ string.
diff --git a/node_modules/@ampproject/remapping/dist/remapping.mjs b/node_modules/@ampproject/remapping/dist/remapping.mjs
new file mode 100644
index 00000000..f3875999
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/remapping.mjs
@@ -0,0 +1,197 @@
+import { decodedMappings, traceSegment, TraceMap } from '@jridgewell/trace-mapping';
+import { GenMapping, maybeAddSegment, setSourceContent, setIgnore, toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';
+
+const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);
+const EMPTY_SOURCES = [];
+function SegmentObject(source, line, column, name, content, ignore) {
+ return { source, line, column, name, content, ignore };
+}
+function Source(map, sources, source, content, ignore) {
+ return {
+ map,
+ sources,
+ source,
+ content,
+ ignore,
+ };
+}
+/**
+ * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
+ * (which may themselves be SourceMapTrees).
+ */
+function MapSource(map, sources) {
+ return Source(map, sources, '', null, false);
+}
+/**
+ * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
+ * segment tracing ends at the `OriginalSource`.
+ */
+function OriginalSource(source, content, ignore) {
+ return Source(null, EMPTY_SOURCES, source, content, ignore);
+}
+/**
+ * traceMappings is only called on the root level SourceMapTree, and begins the process of
+ * resolving each mapping in terms of the original source files.
+ */
+function traceMappings(tree) {
+ // TODO: Eventually support sourceRoot, which has to be removed because the sources are already
+ // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.
+ const gen = new GenMapping({ file: tree.map.file });
+ const { sources: rootSources, map } = tree;
+ const rootNames = map.names;
+ const rootMappings = decodedMappings(map);
+ for (let i = 0; i < rootMappings.length; i++) {
+ const segments = rootMappings[i];
+ for (let j = 0; j < segments.length; j++) {
+ const segment = segments[j];
+ const genCol = segment[0];
+ let traced = SOURCELESS_MAPPING;
+ // 1-length segments only move the current generated column, there's no source information
+ // to gather from it.
+ if (segment.length !== 1) {
+ const source = rootSources[segment[1]];
+ traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
+ // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a
+ // respective segment into an original source.
+ if (traced == null)
+ continue;
+ }
+ const { column, line, name, content, source, ignore } = traced;
+ maybeAddSegment(gen, i, genCol, source, line, column, name);
+ if (source && content != null)
+ setSourceContent(gen, source, content);
+ if (ignore)
+ setIgnore(gen, source, true);
+ }
+ }
+ return gen;
+}
+/**
+ * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
+ * child SourceMapTrees, until we find the original source map.
+ */
+function originalPositionFor(source, line, column, name) {
+ if (!source.map) {
+ return SegmentObject(source.source, line, column, name, source.content, source.ignore);
+ }
+ const segment = traceSegment(source.map, line, column);
+ // If we couldn't find a segment, then this doesn't exist in the sourcemap.
+ if (segment == null)
+ return null;
+ // 1-length segments only move the current generated column, there's no source information
+ // to gather from it.
+ if (segment.length === 1)
+ return SOURCELESS_MAPPING;
+ return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
+}
+
+function asArray(value) {
+ if (Array.isArray(value))
+ return value;
+ return [value];
+}
+/**
+ * Recursively builds a tree structure out of sourcemap files, with each node
+ * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
+ * `OriginalSource`s and `SourceMapTree`s.
+ *
+ * Every sourcemap is composed of a collection of source files and mappings
+ * into locations of those source files. When we generate a `SourceMapTree` for
+ * the sourcemap, we attempt to load each source file's own sourcemap. If it
+ * does not have an associated sourcemap, it is considered an original,
+ * unmodified source file.
+ */
+function buildSourceMapTree(input, loader) {
+ const maps = asArray(input).map((m) => new TraceMap(m, ''));
+ const map = maps.pop();
+ for (let i = 0; i < maps.length; i++) {
+ if (maps[i].sources.length > 1) {
+ throw new Error(`Transformation map ${i} must have exactly one source file.\n` +
+ 'Did you specify these with the most recent transformation maps first?');
+ }
+ }
+ let tree = build(map, loader, '', 0);
+ for (let i = maps.length - 1; i >= 0; i--) {
+ tree = MapSource(maps[i], [tree]);
+ }
+ return tree;
+}
+function build(map, loader, importer, importerDepth) {
+ const { resolvedSources, sourcesContent, ignoreList } = map;
+ const depth = importerDepth + 1;
+ const children = resolvedSources.map((sourceFile, i) => {
+ // The loading context gives the loader more information about why this file is being loaded
+ // (eg, from which importer). It also allows the loader to override the location of the loaded
+ // sourcemap/original source, or to override the content in the sourcesContent field if it's
+ // an unmodified source file.
+ const ctx = {
+ importer,
+ depth,
+ source: sourceFile || '',
+ content: undefined,
+ ignore: undefined,
+ };
+ // Use the provided loader callback to retrieve the file's sourcemap.
+ // TODO: We should eventually support async loading of sourcemap files.
+ const sourceMap = loader(ctx.source, ctx);
+ const { source, content, ignore } = ctx;
+ // If there is a sourcemap, then we need to recurse into it to load its source files.
+ if (sourceMap)
+ return build(new TraceMap(sourceMap, source), loader, source, depth);
+ // Else, it's an unmodified source file.
+ // The contents of this unmodified source file can be overridden via the loader context,
+ // allowing it to be explicitly null or a string. If it remains undefined, we fall back to
+ // the importing sourcemap's `sourcesContent` field.
+ const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
+ const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;
+ return OriginalSource(source, sourceContent, ignored);
+ });
+ return MapSource(map, children);
+}
+
+/**
+ * A SourceMap v3 compatible sourcemap, which only includes fields that were
+ * provided to it.
+ */
+class SourceMap {
+ constructor(map, options) {
+ const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);
+ this.version = out.version; // SourceMap spec says this should be first.
+ this.file = out.file;
+ this.mappings = out.mappings;
+ this.names = out.names;
+ this.ignoreList = out.ignoreList;
+ this.sourceRoot = out.sourceRoot;
+ this.sources = out.sources;
+ if (!options.excludeContent) {
+ this.sourcesContent = out.sourcesContent;
+ }
+ }
+ toString() {
+ return JSON.stringify(this);
+ }
+}
+
+/**
+ * Traces through all the mappings in the root sourcemap, through the sources
+ * (and their sourcemaps), all the way back to the original source location.
+ *
+ * `loader` will be called every time we encounter a source file. If it returns
+ * a sourcemap, we will recurse into that sourcemap to continue the trace. If
+ * it returns a falsey value, that source file is treated as an original,
+ * unmodified source file.
+ *
+ * Pass `excludeContent` to exclude any self-containing source file content
+ * from the output sourcemap.
+ *
+ * Pass `decodedMappings` to receive a SourceMap with decoded (instead of
+ * VLQ encoded) mappings.
+ */
+function remapping(input, loader, options) {
+ const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
+ const tree = buildSourceMapTree(input, loader);
+ return new SourceMap(traceMappings(tree), opts);
+}
+
+export { remapping as default };
+//# sourceMappingURL=remapping.mjs.map
diff --git a/node_modules/@ampproject/remapping/dist/remapping.mjs.map b/node_modules/@ampproject/remapping/dist/remapping.mjs.map
new file mode 100644
index 00000000..0eb007bf
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/remapping.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"remapping.mjs","sources":["../src/source-map-tree.ts","../src/build-source-map-tree.ts","../src/source-map.ts","../src/remapping.ts"],"sourcesContent":["import { GenMapping, maybeAddSegment, setIgnore, setSourceContent } from '@jridgewell/gen-mapping';\nimport { traceSegment, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport type { TraceMap } from '@jridgewell/trace-mapping';\n\nexport type SourceMapSegmentObject = {\n column: number;\n line: number;\n name: string;\n source: string;\n content: string | null;\n ignore: boolean;\n};\n\nexport type OriginalSource = {\n map: null;\n sources: Sources[];\n source: string;\n content: string | null;\n ignore: boolean;\n};\n\nexport type MapSource = {\n map: TraceMap;\n sources: Sources[];\n source: string;\n content: null;\n ignore: false;\n};\n\nexport type Sources = OriginalSource | MapSource;\n\nconst SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);\nconst EMPTY_SOURCES: Sources[] = [];\n\nfunction SegmentObject(\n source: string,\n line: number,\n column: number,\n name: string,\n content: string | null,\n ignore: boolean\n): SourceMapSegmentObject {\n return { source, line, column, name, content, ignore };\n}\n\nfunction Source(\n map: TraceMap,\n sources: Sources[],\n source: '',\n content: null,\n ignore: false\n): MapSource;\nfunction Source(\n map: null,\n sources: Sources[],\n source: string,\n content: string | null,\n ignore: boolean\n): OriginalSource;\nfunction Source(\n map: TraceMap | null,\n sources: Sources[],\n source: string | '',\n content: string | null,\n ignore: boolean\n): Sources {\n return {\n map,\n sources,\n source,\n content,\n ignore,\n } as any;\n}\n\n/**\n * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes\n * (which may themselves be SourceMapTrees).\n */\nexport function MapSource(map: TraceMap, sources: Sources[]): MapSource {\n return Source(map, sources, '', null, false);\n}\n\n/**\n * A \"leaf\" node in the sourcemap tree, representing an original, unmodified source file. Recursive\n * segment tracing ends at the `OriginalSource`.\n */\nexport function OriginalSource(\n source: string,\n content: string | null,\n ignore: boolean\n): OriginalSource {\n return Source(null, EMPTY_SOURCES, source, content, ignore);\n}\n\n/**\n * traceMappings is only called on the root level SourceMapTree, and begins the process of\n * resolving each mapping in terms of the original source files.\n */\nexport function traceMappings(tree: MapSource): GenMapping {\n // TODO: Eventually support sourceRoot, which has to be removed because the sources are already\n // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.\n const gen = new GenMapping({ file: tree.map.file });\n const { sources: rootSources, map } = tree;\n const rootNames = map.names;\n const rootMappings = decodedMappings(map);\n\n for (let i = 0; i < rootMappings.length; i++) {\n const segments = rootMappings[i];\n\n for (let j = 0; j < segments.length; j++) {\n const segment = segments[j];\n const genCol = segment[0];\n let traced: SourceMapSegmentObject | null = SOURCELESS_MAPPING;\n\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length !== 1) {\n const source = rootSources[segment[1]];\n traced = originalPositionFor(\n source,\n segment[2],\n segment[3],\n segment.length === 5 ? rootNames[segment[4]] : ''\n );\n\n // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a\n // respective segment into an original source.\n if (traced == null) continue;\n }\n\n const { column, line, name, content, source, ignore } = traced;\n\n maybeAddSegment(gen, i, genCol, source, line, column, name);\n if (source && content != null) setSourceContent(gen, source, content);\n if (ignore) setIgnore(gen, source, true);\n }\n }\n\n return gen;\n}\n\n/**\n * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own\n * child SourceMapTrees, until we find the original source map.\n */\nexport function originalPositionFor(\n source: Sources,\n line: number,\n column: number,\n name: string\n): SourceMapSegmentObject | null {\n if (!source.map) {\n return SegmentObject(source.source, line, column, name, source.content, source.ignore);\n }\n\n const segment = traceSegment(source.map, line, column);\n\n // If we couldn't find a segment, then this doesn't exist in the sourcemap.\n if (segment == null) return null;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length === 1) return SOURCELESS_MAPPING;\n\n return originalPositionFor(\n source.sources[segment[1]],\n segment[2],\n segment[3],\n segment.length === 5 ? source.map.names[segment[4]] : name\n );\n}\n","import { TraceMap } from '@jridgewell/trace-mapping';\n\nimport { OriginalSource, MapSource } from './source-map-tree';\n\nimport type { Sources, MapSource as MapSourceType } from './source-map-tree';\nimport type { SourceMapInput, SourceMapLoader, LoaderContext } from './types';\n\nfunction asArray(value: T | T[]): T[] {\n if (Array.isArray(value)) return value;\n return [value];\n}\n\n/**\n * Recursively builds a tree structure out of sourcemap files, with each node\n * being either an `OriginalSource` \"leaf\" or a `SourceMapTree` composed of\n * `OriginalSource`s and `SourceMapTree`s.\n *\n * Every sourcemap is composed of a collection of source files and mappings\n * into locations of those source files. When we generate a `SourceMapTree` for\n * the sourcemap, we attempt to load each source file's own sourcemap. If it\n * does not have an associated sourcemap, it is considered an original,\n * unmodified source file.\n */\nexport default function buildSourceMapTree(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader\n): MapSourceType {\n const maps = asArray(input).map((m) => new TraceMap(m, ''));\n const map = maps.pop()!;\n\n for (let i = 0; i < maps.length; i++) {\n if (maps[i].sources.length > 1) {\n throw new Error(\n `Transformation map ${i} must have exactly one source file.\\n` +\n 'Did you specify these with the most recent transformation maps first?'\n );\n }\n }\n\n let tree = build(map, loader, '', 0);\n for (let i = maps.length - 1; i >= 0; i--) {\n tree = MapSource(maps[i], [tree]);\n }\n return tree;\n}\n\nfunction build(\n map: TraceMap,\n loader: SourceMapLoader,\n importer: string,\n importerDepth: number\n): MapSourceType {\n const { resolvedSources, sourcesContent, ignoreList } = map;\n\n const depth = importerDepth + 1;\n const children = resolvedSources.map((sourceFile: string | null, i: number): Sources => {\n // The loading context gives the loader more information about why this file is being loaded\n // (eg, from which importer). It also allows the loader to override the location of the loaded\n // sourcemap/original source, or to override the content in the sourcesContent field if it's\n // an unmodified source file.\n const ctx: LoaderContext = {\n importer,\n depth,\n source: sourceFile || '',\n content: undefined,\n ignore: undefined,\n };\n\n // Use the provided loader callback to retrieve the file's sourcemap.\n // TODO: We should eventually support async loading of sourcemap files.\n const sourceMap = loader(ctx.source, ctx);\n\n const { source, content, ignore } = ctx;\n\n // If there is a sourcemap, then we need to recurse into it to load its source files.\n if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth);\n\n // Else, it's an unmodified source file.\n // The contents of this unmodified source file can be overridden via the loader context,\n // allowing it to be explicitly null or a string. If it remains undefined, we fall back to\n // the importing sourcemap's `sourcesContent` field.\n const sourceContent =\n content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;\n const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;\n return OriginalSource(source, sourceContent, ignored);\n });\n\n return MapSource(map, children);\n}\n","import { toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';\n\nimport type { GenMapping } from '@jridgewell/gen-mapping';\nimport type { DecodedSourceMap, EncodedSourceMap, Options } from './types';\n\n/**\n * A SourceMap v3 compatible sourcemap, which only includes fields that were\n * provided to it.\n */\nexport default class SourceMap {\n declare file?: string | null;\n declare mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];\n declare sourceRoot?: string;\n declare names: string[];\n declare sources: (string | null)[];\n declare sourcesContent?: (string | null)[];\n declare version: 3;\n declare ignoreList: number[] | undefined;\n\n constructor(map: GenMapping, options: Options) {\n const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);\n this.version = out.version; // SourceMap spec says this should be first.\n this.file = out.file;\n this.mappings = out.mappings as SourceMap['mappings'];\n this.names = out.names as SourceMap['names'];\n this.ignoreList = out.ignoreList as SourceMap['ignoreList'];\n this.sourceRoot = out.sourceRoot;\n\n this.sources = out.sources as SourceMap['sources'];\n if (!options.excludeContent) {\n this.sourcesContent = out.sourcesContent as SourceMap['sourcesContent'];\n }\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n}\n","import buildSourceMapTree from './build-source-map-tree';\nimport { traceMappings } from './source-map-tree';\nimport SourceMap from './source-map';\n\nimport type { SourceMapInput, SourceMapLoader, Options } from './types';\nexport type {\n SourceMapSegment,\n EncodedSourceMap,\n EncodedSourceMap as RawSourceMap,\n DecodedSourceMap,\n SourceMapInput,\n SourceMapLoader,\n LoaderContext,\n Options,\n} from './types';\nexport type { SourceMap };\n\n/**\n * Traces through all the mappings in the root sourcemap, through the sources\n * (and their sourcemaps), all the way back to the original source location.\n *\n * `loader` will be called every time we encounter a source file. If it returns\n * a sourcemap, we will recurse into that sourcemap to continue the trace. If\n * it returns a falsey value, that source file is treated as an original,\n * unmodified source file.\n *\n * Pass `excludeContent` to exclude any self-containing source file content\n * from the output sourcemap.\n *\n * Pass `decodedMappings` to receive a SourceMap with decoded (instead of\n * VLQ encoded) mappings.\n */\nexport default function remapping(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader,\n options?: boolean | Options\n): SourceMap {\n const opts =\n typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };\n const tree = buildSourceMapTree(input, loader);\n return new SourceMap(traceMappings(tree), opts);\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@ampproject/remapping/dist/remapping.umd.js b/node_modules/@ampproject/remapping/dist/remapping.umd.js
new file mode 100644
index 00000000..6b7b3bb5
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/remapping.umd.js
@@ -0,0 +1,202 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@jridgewell/trace-mapping'), require('@jridgewell/gen-mapping')) :
+ typeof define === 'function' && define.amd ? define(['@jridgewell/trace-mapping', '@jridgewell/gen-mapping'], factory) :
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.remapping = factory(global.traceMapping, global.genMapping));
+})(this, (function (traceMapping, genMapping) { 'use strict';
+
+ const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);
+ const EMPTY_SOURCES = [];
+ function SegmentObject(source, line, column, name, content, ignore) {
+ return { source, line, column, name, content, ignore };
+ }
+ function Source(map, sources, source, content, ignore) {
+ return {
+ map,
+ sources,
+ source,
+ content,
+ ignore,
+ };
+ }
+ /**
+ * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
+ * (which may themselves be SourceMapTrees).
+ */
+ function MapSource(map, sources) {
+ return Source(map, sources, '', null, false);
+ }
+ /**
+ * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
+ * segment tracing ends at the `OriginalSource`.
+ */
+ function OriginalSource(source, content, ignore) {
+ return Source(null, EMPTY_SOURCES, source, content, ignore);
+ }
+ /**
+ * traceMappings is only called on the root level SourceMapTree, and begins the process of
+ * resolving each mapping in terms of the original source files.
+ */
+ function traceMappings(tree) {
+ // TODO: Eventually support sourceRoot, which has to be removed because the sources are already
+ // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.
+ const gen = new genMapping.GenMapping({ file: tree.map.file });
+ const { sources: rootSources, map } = tree;
+ const rootNames = map.names;
+ const rootMappings = traceMapping.decodedMappings(map);
+ for (let i = 0; i < rootMappings.length; i++) {
+ const segments = rootMappings[i];
+ for (let j = 0; j < segments.length; j++) {
+ const segment = segments[j];
+ const genCol = segment[0];
+ let traced = SOURCELESS_MAPPING;
+ // 1-length segments only move the current generated column, there's no source information
+ // to gather from it.
+ if (segment.length !== 1) {
+ const source = rootSources[segment[1]];
+ traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
+ // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a
+ // respective segment into an original source.
+ if (traced == null)
+ continue;
+ }
+ const { column, line, name, content, source, ignore } = traced;
+ genMapping.maybeAddSegment(gen, i, genCol, source, line, column, name);
+ if (source && content != null)
+ genMapping.setSourceContent(gen, source, content);
+ if (ignore)
+ genMapping.setIgnore(gen, source, true);
+ }
+ }
+ return gen;
+ }
+ /**
+ * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
+ * child SourceMapTrees, until we find the original source map.
+ */
+ function originalPositionFor(source, line, column, name) {
+ if (!source.map) {
+ return SegmentObject(source.source, line, column, name, source.content, source.ignore);
+ }
+ const segment = traceMapping.traceSegment(source.map, line, column);
+ // If we couldn't find a segment, then this doesn't exist in the sourcemap.
+ if (segment == null)
+ return null;
+ // 1-length segments only move the current generated column, there's no source information
+ // to gather from it.
+ if (segment.length === 1)
+ return SOURCELESS_MAPPING;
+ return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
+ }
+
+ function asArray(value) {
+ if (Array.isArray(value))
+ return value;
+ return [value];
+ }
+ /**
+ * Recursively builds a tree structure out of sourcemap files, with each node
+ * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
+ * `OriginalSource`s and `SourceMapTree`s.
+ *
+ * Every sourcemap is composed of a collection of source files and mappings
+ * into locations of those source files. When we generate a `SourceMapTree` for
+ * the sourcemap, we attempt to load each source file's own sourcemap. If it
+ * does not have an associated sourcemap, it is considered an original,
+ * unmodified source file.
+ */
+ function buildSourceMapTree(input, loader) {
+ const maps = asArray(input).map((m) => new traceMapping.TraceMap(m, ''));
+ const map = maps.pop();
+ for (let i = 0; i < maps.length; i++) {
+ if (maps[i].sources.length > 1) {
+ throw new Error(`Transformation map ${i} must have exactly one source file.\n` +
+ 'Did you specify these with the most recent transformation maps first?');
+ }
+ }
+ let tree = build(map, loader, '', 0);
+ for (let i = maps.length - 1; i >= 0; i--) {
+ tree = MapSource(maps[i], [tree]);
+ }
+ return tree;
+ }
+ function build(map, loader, importer, importerDepth) {
+ const { resolvedSources, sourcesContent, ignoreList } = map;
+ const depth = importerDepth + 1;
+ const children = resolvedSources.map((sourceFile, i) => {
+ // The loading context gives the loader more information about why this file is being loaded
+ // (eg, from which importer). It also allows the loader to override the location of the loaded
+ // sourcemap/original source, or to override the content in the sourcesContent field if it's
+ // an unmodified source file.
+ const ctx = {
+ importer,
+ depth,
+ source: sourceFile || '',
+ content: undefined,
+ ignore: undefined,
+ };
+ // Use the provided loader callback to retrieve the file's sourcemap.
+ // TODO: We should eventually support async loading of sourcemap files.
+ const sourceMap = loader(ctx.source, ctx);
+ const { source, content, ignore } = ctx;
+ // If there is a sourcemap, then we need to recurse into it to load its source files.
+ if (sourceMap)
+ return build(new traceMapping.TraceMap(sourceMap, source), loader, source, depth);
+ // Else, it's an unmodified source file.
+ // The contents of this unmodified source file can be overridden via the loader context,
+ // allowing it to be explicitly null or a string. If it remains undefined, we fall back to
+ // the importing sourcemap's `sourcesContent` field.
+ const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
+ const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;
+ return OriginalSource(source, sourceContent, ignored);
+ });
+ return MapSource(map, children);
+ }
+
+ /**
+ * A SourceMap v3 compatible sourcemap, which only includes fields that were
+ * provided to it.
+ */
+ class SourceMap {
+ constructor(map, options) {
+ const out = options.decodedMappings ? genMapping.toDecodedMap(map) : genMapping.toEncodedMap(map);
+ this.version = out.version; // SourceMap spec says this should be first.
+ this.file = out.file;
+ this.mappings = out.mappings;
+ this.names = out.names;
+ this.ignoreList = out.ignoreList;
+ this.sourceRoot = out.sourceRoot;
+ this.sources = out.sources;
+ if (!options.excludeContent) {
+ this.sourcesContent = out.sourcesContent;
+ }
+ }
+ toString() {
+ return JSON.stringify(this);
+ }
+ }
+
+ /**
+ * Traces through all the mappings in the root sourcemap, through the sources
+ * (and their sourcemaps), all the way back to the original source location.
+ *
+ * `loader` will be called every time we encounter a source file. If it returns
+ * a sourcemap, we will recurse into that sourcemap to continue the trace. If
+ * it returns a falsey value, that source file is treated as an original,
+ * unmodified source file.
+ *
+ * Pass `excludeContent` to exclude any self-containing source file content
+ * from the output sourcemap.
+ *
+ * Pass `decodedMappings` to receive a SourceMap with decoded (instead of
+ * VLQ encoded) mappings.
+ */
+ function remapping(input, loader, options) {
+ const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
+ const tree = buildSourceMapTree(input, loader);
+ return new SourceMap(traceMappings(tree), opts);
+ }
+
+ return remapping;
+
+}));
+//# sourceMappingURL=remapping.umd.js.map
diff --git a/node_modules/@ampproject/remapping/dist/remapping.umd.js.map b/node_modules/@ampproject/remapping/dist/remapping.umd.js.map
new file mode 100644
index 00000000..d3f0f87d
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/remapping.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"remapping.umd.js","sources":["../src/source-map-tree.ts","../src/build-source-map-tree.ts","../src/source-map.ts","../src/remapping.ts"],"sourcesContent":["import { GenMapping, maybeAddSegment, setIgnore, setSourceContent } from '@jridgewell/gen-mapping';\nimport { traceSegment, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport type { TraceMap } from '@jridgewell/trace-mapping';\n\nexport type SourceMapSegmentObject = {\n column: number;\n line: number;\n name: string;\n source: string;\n content: string | null;\n ignore: boolean;\n};\n\nexport type OriginalSource = {\n map: null;\n sources: Sources[];\n source: string;\n content: string | null;\n ignore: boolean;\n};\n\nexport type MapSource = {\n map: TraceMap;\n sources: Sources[];\n source: string;\n content: null;\n ignore: false;\n};\n\nexport type Sources = OriginalSource | MapSource;\n\nconst SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);\nconst EMPTY_SOURCES: Sources[] = [];\n\nfunction SegmentObject(\n source: string,\n line: number,\n column: number,\n name: string,\n content: string | null,\n ignore: boolean\n): SourceMapSegmentObject {\n return { source, line, column, name, content, ignore };\n}\n\nfunction Source(\n map: TraceMap,\n sources: Sources[],\n source: '',\n content: null,\n ignore: false\n): MapSource;\nfunction Source(\n map: null,\n sources: Sources[],\n source: string,\n content: string | null,\n ignore: boolean\n): OriginalSource;\nfunction Source(\n map: TraceMap | null,\n sources: Sources[],\n source: string | '',\n content: string | null,\n ignore: boolean\n): Sources {\n return {\n map,\n sources,\n source,\n content,\n ignore,\n } as any;\n}\n\n/**\n * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes\n * (which may themselves be SourceMapTrees).\n */\nexport function MapSource(map: TraceMap, sources: Sources[]): MapSource {\n return Source(map, sources, '', null, false);\n}\n\n/**\n * A \"leaf\" node in the sourcemap tree, representing an original, unmodified source file. Recursive\n * segment tracing ends at the `OriginalSource`.\n */\nexport function OriginalSource(\n source: string,\n content: string | null,\n ignore: boolean\n): OriginalSource {\n return Source(null, EMPTY_SOURCES, source, content, ignore);\n}\n\n/**\n * traceMappings is only called on the root level SourceMapTree, and begins the process of\n * resolving each mapping in terms of the original source files.\n */\nexport function traceMappings(tree: MapSource): GenMapping {\n // TODO: Eventually support sourceRoot, which has to be removed because the sources are already\n // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.\n const gen = new GenMapping({ file: tree.map.file });\n const { sources: rootSources, map } = tree;\n const rootNames = map.names;\n const rootMappings = decodedMappings(map);\n\n for (let i = 0; i < rootMappings.length; i++) {\n const segments = rootMappings[i];\n\n for (let j = 0; j < segments.length; j++) {\n const segment = segments[j];\n const genCol = segment[0];\n let traced: SourceMapSegmentObject | null = SOURCELESS_MAPPING;\n\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length !== 1) {\n const source = rootSources[segment[1]];\n traced = originalPositionFor(\n source,\n segment[2],\n segment[3],\n segment.length === 5 ? rootNames[segment[4]] : ''\n );\n\n // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a\n // respective segment into an original source.\n if (traced == null) continue;\n }\n\n const { column, line, name, content, source, ignore } = traced;\n\n maybeAddSegment(gen, i, genCol, source, line, column, name);\n if (source && content != null) setSourceContent(gen, source, content);\n if (ignore) setIgnore(gen, source, true);\n }\n }\n\n return gen;\n}\n\n/**\n * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own\n * child SourceMapTrees, until we find the original source map.\n */\nexport function originalPositionFor(\n source: Sources,\n line: number,\n column: number,\n name: string\n): SourceMapSegmentObject | null {\n if (!source.map) {\n return SegmentObject(source.source, line, column, name, source.content, source.ignore);\n }\n\n const segment = traceSegment(source.map, line, column);\n\n // If we couldn't find a segment, then this doesn't exist in the sourcemap.\n if (segment == null) return null;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length === 1) return SOURCELESS_MAPPING;\n\n return originalPositionFor(\n source.sources[segment[1]],\n segment[2],\n segment[3],\n segment.length === 5 ? source.map.names[segment[4]] : name\n );\n}\n","import { TraceMap } from '@jridgewell/trace-mapping';\n\nimport { OriginalSource, MapSource } from './source-map-tree';\n\nimport type { Sources, MapSource as MapSourceType } from './source-map-tree';\nimport type { SourceMapInput, SourceMapLoader, LoaderContext } from './types';\n\nfunction asArray(value: T | T[]): T[] {\n if (Array.isArray(value)) return value;\n return [value];\n}\n\n/**\n * Recursively builds a tree structure out of sourcemap files, with each node\n * being either an `OriginalSource` \"leaf\" or a `SourceMapTree` composed of\n * `OriginalSource`s and `SourceMapTree`s.\n *\n * Every sourcemap is composed of a collection of source files and mappings\n * into locations of those source files. When we generate a `SourceMapTree` for\n * the sourcemap, we attempt to load each source file's own sourcemap. If it\n * does not have an associated sourcemap, it is considered an original,\n * unmodified source file.\n */\nexport default function buildSourceMapTree(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader\n): MapSourceType {\n const maps = asArray(input).map((m) => new TraceMap(m, ''));\n const map = maps.pop()!;\n\n for (let i = 0; i < maps.length; i++) {\n if (maps[i].sources.length > 1) {\n throw new Error(\n `Transformation map ${i} must have exactly one source file.\\n` +\n 'Did you specify these with the most recent transformation maps first?'\n );\n }\n }\n\n let tree = build(map, loader, '', 0);\n for (let i = maps.length - 1; i >= 0; i--) {\n tree = MapSource(maps[i], [tree]);\n }\n return tree;\n}\n\nfunction build(\n map: TraceMap,\n loader: SourceMapLoader,\n importer: string,\n importerDepth: number\n): MapSourceType {\n const { resolvedSources, sourcesContent, ignoreList } = map;\n\n const depth = importerDepth + 1;\n const children = resolvedSources.map((sourceFile: string | null, i: number): Sources => {\n // The loading context gives the loader more information about why this file is being loaded\n // (eg, from which importer). It also allows the loader to override the location of the loaded\n // sourcemap/original source, or to override the content in the sourcesContent field if it's\n // an unmodified source file.\n const ctx: LoaderContext = {\n importer,\n depth,\n source: sourceFile || '',\n content: undefined,\n ignore: undefined,\n };\n\n // Use the provided loader callback to retrieve the file's sourcemap.\n // TODO: We should eventually support async loading of sourcemap files.\n const sourceMap = loader(ctx.source, ctx);\n\n const { source, content, ignore } = ctx;\n\n // If there is a sourcemap, then we need to recurse into it to load its source files.\n if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth);\n\n // Else, it's an unmodified source file.\n // The contents of this unmodified source file can be overridden via the loader context,\n // allowing it to be explicitly null or a string. If it remains undefined, we fall back to\n // the importing sourcemap's `sourcesContent` field.\n const sourceContent =\n content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;\n const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;\n return OriginalSource(source, sourceContent, ignored);\n });\n\n return MapSource(map, children);\n}\n","import { toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';\n\nimport type { GenMapping } from '@jridgewell/gen-mapping';\nimport type { DecodedSourceMap, EncodedSourceMap, Options } from './types';\n\n/**\n * A SourceMap v3 compatible sourcemap, which only includes fields that were\n * provided to it.\n */\nexport default class SourceMap {\n declare file?: string | null;\n declare mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];\n declare sourceRoot?: string;\n declare names: string[];\n declare sources: (string | null)[];\n declare sourcesContent?: (string | null)[];\n declare version: 3;\n declare ignoreList: number[] | undefined;\n\n constructor(map: GenMapping, options: Options) {\n const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);\n this.version = out.version; // SourceMap spec says this should be first.\n this.file = out.file;\n this.mappings = out.mappings as SourceMap['mappings'];\n this.names = out.names as SourceMap['names'];\n this.ignoreList = out.ignoreList as SourceMap['ignoreList'];\n this.sourceRoot = out.sourceRoot;\n\n this.sources = out.sources as SourceMap['sources'];\n if (!options.excludeContent) {\n this.sourcesContent = out.sourcesContent as SourceMap['sourcesContent'];\n }\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n}\n","import buildSourceMapTree from './build-source-map-tree';\nimport { traceMappings } from './source-map-tree';\nimport SourceMap from './source-map';\n\nimport type { SourceMapInput, SourceMapLoader, Options } from './types';\nexport type {\n SourceMapSegment,\n EncodedSourceMap,\n EncodedSourceMap as RawSourceMap,\n DecodedSourceMap,\n SourceMapInput,\n SourceMapLoader,\n LoaderContext,\n Options,\n} from './types';\nexport type { SourceMap };\n\n/**\n * Traces through all the mappings in the root sourcemap, through the sources\n * (and their sourcemaps), all the way back to the original source location.\n *\n * `loader` will be called every time we encounter a source file. If it returns\n * a sourcemap, we will recurse into that sourcemap to continue the trace. If\n * it returns a falsey value, that source file is treated as an original,\n * unmodified source file.\n *\n * Pass `excludeContent` to exclude any self-containing source file content\n * from the output sourcemap.\n *\n * Pass `decodedMappings` to receive a SourceMap with decoded (instead of\n * VLQ encoded) mappings.\n */\nexport default function remapping(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader,\n options?: boolean | Options\n): SourceMap {\n const opts =\n typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };\n const tree = buildSourceMapTree(input, loader);\n return new SourceMap(traceMappings(tree), opts);\n}\n"],"names":["GenMapping","decodedMappings","maybeAddSegment","setSourceContent","setIgnore","traceSegment","TraceMap","toDecodedMap","toEncodedMap"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts b/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts
new file mode 100644
index 00000000..f87fceab
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts
@@ -0,0 +1,14 @@
+import type { MapSource as MapSourceType } from './source-map-tree';
+import type { SourceMapInput, SourceMapLoader } from './types';
+/**
+ * Recursively builds a tree structure out of sourcemap files, with each node
+ * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
+ * `OriginalSource`s and `SourceMapTree`s.
+ *
+ * Every sourcemap is composed of a collection of source files and mappings
+ * into locations of those source files. When we generate a `SourceMapTree` for
+ * the sourcemap, we attempt to load each source file's own sourcemap. If it
+ * does not have an associated sourcemap, it is considered an original,
+ * unmodified source file.
+ */
+export default function buildSourceMapTree(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader): MapSourceType;
diff --git a/node_modules/@ampproject/remapping/dist/types/remapping.d.ts b/node_modules/@ampproject/remapping/dist/types/remapping.d.ts
new file mode 100644
index 00000000..771fe307
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/types/remapping.d.ts
@@ -0,0 +1,20 @@
+import SourceMap from './source-map';
+import type { SourceMapInput, SourceMapLoader, Options } from './types';
+export type { SourceMapSegment, EncodedSourceMap, EncodedSourceMap as RawSourceMap, DecodedSourceMap, SourceMapInput, SourceMapLoader, LoaderContext, Options, } from './types';
+export type { SourceMap };
+/**
+ * Traces through all the mappings in the root sourcemap, through the sources
+ * (and their sourcemaps), all the way back to the original source location.
+ *
+ * `loader` will be called every time we encounter a source file. If it returns
+ * a sourcemap, we will recurse into that sourcemap to continue the trace. If
+ * it returns a falsey value, that source file is treated as an original,
+ * unmodified source file.
+ *
+ * Pass `excludeContent` to exclude any self-containing source file content
+ * from the output sourcemap.
+ *
+ * Pass `decodedMappings` to receive a SourceMap with decoded (instead of
+ * VLQ encoded) mappings.
+ */
+export default function remapping(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader, options?: boolean | Options): SourceMap;
diff --git a/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts b/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts
new file mode 100644
index 00000000..935bc698
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts
@@ -0,0 +1,45 @@
+import { GenMapping } from '@jridgewell/gen-mapping';
+import type { TraceMap } from '@jridgewell/trace-mapping';
+export declare type SourceMapSegmentObject = {
+ column: number;
+ line: number;
+ name: string;
+ source: string;
+ content: string | null;
+ ignore: boolean;
+};
+export declare type OriginalSource = {
+ map: null;
+ sources: Sources[];
+ source: string;
+ content: string | null;
+ ignore: boolean;
+};
+export declare type MapSource = {
+ map: TraceMap;
+ sources: Sources[];
+ source: string;
+ content: null;
+ ignore: false;
+};
+export declare type Sources = OriginalSource | MapSource;
+/**
+ * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
+ * (which may themselves be SourceMapTrees).
+ */
+export declare function MapSource(map: TraceMap, sources: Sources[]): MapSource;
+/**
+ * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
+ * segment tracing ends at the `OriginalSource`.
+ */
+export declare function OriginalSource(source: string, content: string | null, ignore: boolean): OriginalSource;
+/**
+ * traceMappings is only called on the root level SourceMapTree, and begins the process of
+ * resolving each mapping in terms of the original source files.
+ */
+export declare function traceMappings(tree: MapSource): GenMapping;
+/**
+ * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
+ * child SourceMapTrees, until we find the original source map.
+ */
+export declare function originalPositionFor(source: Sources, line: number, column: number, name: string): SourceMapSegmentObject | null;
diff --git a/node_modules/@ampproject/remapping/dist/types/source-map.d.ts b/node_modules/@ampproject/remapping/dist/types/source-map.d.ts
new file mode 100644
index 00000000..cbd7f0af
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/types/source-map.d.ts
@@ -0,0 +1,18 @@
+import type { GenMapping } from '@jridgewell/gen-mapping';
+import type { DecodedSourceMap, EncodedSourceMap, Options } from './types';
+/**
+ * A SourceMap v3 compatible sourcemap, which only includes fields that were
+ * provided to it.
+ */
+export default class SourceMap {
+ file?: string | null;
+ mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];
+ sourceRoot?: string;
+ names: string[];
+ sources: (string | null)[];
+ sourcesContent?: (string | null)[];
+ version: 3;
+ ignoreList: number[] | undefined;
+ constructor(map: GenMapping, options: Options);
+ toString(): string;
+}
diff --git a/node_modules/@ampproject/remapping/dist/types/types.d.ts b/node_modules/@ampproject/remapping/dist/types/types.d.ts
new file mode 100644
index 00000000..4d78c4bc
--- /dev/null
+++ b/node_modules/@ampproject/remapping/dist/types/types.d.ts
@@ -0,0 +1,15 @@
+import type { SourceMapInput } from '@jridgewell/trace-mapping';
+export type { SourceMapSegment, DecodedSourceMap, EncodedSourceMap, } from '@jridgewell/trace-mapping';
+export type { SourceMapInput };
+export declare type LoaderContext = {
+ readonly importer: string;
+ readonly depth: number;
+ source: string;
+ content: string | null | undefined;
+ ignore: boolean | undefined;
+};
+export declare type SourceMapLoader = (file: string, ctx: LoaderContext) => SourceMapInput | null | undefined | void;
+export declare type Options = {
+ excludeContent?: boolean;
+ decodedMappings?: boolean;
+};
diff --git a/node_modules/@ampproject/remapping/package.json b/node_modules/@ampproject/remapping/package.json
new file mode 100644
index 00000000..091224c6
--- /dev/null
+++ b/node_modules/@ampproject/remapping/package.json
@@ -0,0 +1,75 @@
+{
+ "name": "@ampproject/remapping",
+ "version": "2.3.0",
+ "description": "Remap sequential sourcemaps through transformations to point at the original source code",
+ "keywords": [
+ "source",
+ "map",
+ "remap"
+ ],
+ "main": "dist/remapping.umd.js",
+ "module": "dist/remapping.mjs",
+ "types": "dist/types/remapping.d.ts",
+ "exports": {
+ ".": [
+ {
+ "types": "./dist/types/remapping.d.ts",
+ "browser": "./dist/remapping.umd.js",
+ "require": "./dist/remapping.umd.js",
+ "import": "./dist/remapping.mjs"
+ },
+ "./dist/remapping.umd.js"
+ ],
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "dist"
+ ],
+ "author": "Justin Ridgewell ",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/ampproject/remapping.git"
+ },
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=6.0.0"
+ },
+ "scripts": {
+ "build": "run-s -n build:*",
+ "build:rollup": "rollup -c rollup.config.js",
+ "build:ts": "tsc --project tsconfig.build.json",
+ "lint": "run-s -n lint:*",
+ "lint:prettier": "npm run test:lint:prettier -- --write",
+ "lint:ts": "npm run test:lint:ts -- --fix",
+ "prebuild": "rm -rf dist",
+ "prepublishOnly": "npm run preversion",
+ "preversion": "run-s test build",
+ "test": "run-s -n test:lint test:only",
+ "test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand",
+ "test:lint": "run-s -n test:lint:*",
+ "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
+ "test:lint:ts": "eslint '{src,test}/**/*.ts'",
+ "test:only": "jest --coverage",
+ "test:watch": "jest --coverage --watch"
+ },
+ "devDependencies": {
+ "@rollup/plugin-typescript": "8.3.2",
+ "@types/jest": "27.4.1",
+ "@typescript-eslint/eslint-plugin": "5.20.0",
+ "@typescript-eslint/parser": "5.20.0",
+ "eslint": "8.14.0",
+ "eslint-config-prettier": "8.5.0",
+ "jest": "27.5.1",
+ "jest-config": "27.5.1",
+ "npm-run-all": "4.1.5",
+ "prettier": "2.6.2",
+ "rollup": "2.70.2",
+ "ts-jest": "27.1.4",
+ "tslib": "2.4.0",
+ "typescript": "4.6.3"
+ },
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+}
diff --git a/node_modules/@babel/code-frame/LICENSE b/node_modules/@babel/code-frame/LICENSE
new file mode 100644
index 00000000..f31575ec
--- /dev/null
+++ b/node_modules/@babel/code-frame/LICENSE
@@ -0,0 +1,22 @@
+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.
diff --git a/node_modules/@babel/code-frame/README.md b/node_modules/@babel/code-frame/README.md
new file mode 100644
index 00000000..71607551
--- /dev/null
+++ b/node_modules/@babel/code-frame/README.md
@@ -0,0 +1,19 @@
+# @babel/code-frame
+
+> Generate errors that contain a code frame that point to source locations.
+
+See our website [@babel/code-frame](https://babeljs.io/docs/babel-code-frame) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save-dev @babel/code-frame
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/code-frame --dev
+```
diff --git a/node_modules/@babel/code-frame/lib/index.js b/node_modules/@babel/code-frame/lib/index.js
new file mode 100644
index 00000000..b409f301
--- /dev/null
+++ b/node_modules/@babel/code-frame/lib/index.js
@@ -0,0 +1,216 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+var picocolors = require('picocolors');
+var jsTokens = require('js-tokens');
+var helperValidatorIdentifier = require('@babel/helper-validator-identifier');
+
+function isColorSupported() {
+ return (typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported
+ );
+}
+const compose = (f, g) => v => f(g(v));
+function buildDefs(colors) {
+ return {
+ keyword: colors.cyan,
+ capitalized: colors.yellow,
+ jsxIdentifier: colors.yellow,
+ punctuator: colors.yellow,
+ number: colors.magenta,
+ string: colors.green,
+ regex: colors.magenta,
+ comment: colors.gray,
+ invalid: compose(compose(colors.white, colors.bgRed), colors.bold),
+ gutter: colors.gray,
+ marker: compose(colors.red, colors.bold),
+ message: compose(colors.red, colors.bold),
+ reset: colors.reset
+ };
+}
+const defsOn = buildDefs(picocolors.createColors(true));
+const defsOff = buildDefs(picocolors.createColors(false));
+function getDefs(enabled) {
+ return enabled ? defsOn : defsOff;
+}
+
+const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
+const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
+const BRACKET = /^[()[\]{}]$/;
+let tokenize;
+{
+ const JSX_TAG = /^[a-z][\w-]*$/i;
+ const getTokenType = function (token, offset, text) {
+ if (token.type === "name") {
+ if (helperValidatorIdentifier.isKeyword(token.value) || helperValidatorIdentifier.isStrictReservedWord(token.value, true) || sometimesKeywords.has(token.value)) {
+ return "keyword";
+ }
+ if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "")) {
+ return "jsxIdentifier";
+ }
+ if (token.value[0] !== token.value[0].toLowerCase()) {
+ return "capitalized";
+ }
+ }
+ if (token.type === "punctuator" && BRACKET.test(token.value)) {
+ return "bracket";
+ }
+ if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
+ return "punctuator";
+ }
+ return token.type;
+ };
+ tokenize = function* (text) {
+ let match;
+ while (match = jsTokens.default.exec(text)) {
+ const token = jsTokens.matchToToken(match);
+ yield {
+ type: getTokenType(token, match.index, text),
+ value: token.value
+ };
+ }
+ };
+}
+function highlight(text) {
+ if (text === "") return "";
+ const defs = getDefs(true);
+ let highlighted = "";
+ for (const {
+ type,
+ value
+ } of tokenize(text)) {
+ if (type in defs) {
+ highlighted += value.split(NEWLINE$1).map(str => defs[type](str)).join("\n");
+ } else {
+ highlighted += value;
+ }
+ }
+ return highlighted;
+}
+
+let deprecationWarningShown = false;
+const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
+function getMarkerLines(loc, source, opts) {
+ const startLoc = Object.assign({
+ column: 0,
+ line: -1
+ }, loc.start);
+ const endLoc = Object.assign({}, startLoc, loc.end);
+ const {
+ linesAbove = 2,
+ linesBelow = 3
+ } = opts || {};
+ const startLine = startLoc.line;
+ const startColumn = startLoc.column;
+ const endLine = endLoc.line;
+ const endColumn = endLoc.column;
+ let start = Math.max(startLine - (linesAbove + 1), 0);
+ let end = Math.min(source.length, endLine + linesBelow);
+ if (startLine === -1) {
+ start = 0;
+ }
+ if (endLine === -1) {
+ end = source.length;
+ }
+ const lineDiff = endLine - startLine;
+ const markerLines = {};
+ if (lineDiff) {
+ for (let i = 0; i <= lineDiff; i++) {
+ const lineNumber = i + startLine;
+ if (!startColumn) {
+ markerLines[lineNumber] = true;
+ } else if (i === 0) {
+ const sourceLength = source[lineNumber - 1].length;
+ markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
+ } else if (i === lineDiff) {
+ markerLines[lineNumber] = [0, endColumn];
+ } else {
+ const sourceLength = source[lineNumber - i].length;
+ markerLines[lineNumber] = [0, sourceLength];
+ }
+ }
+ } else {
+ if (startColumn === endColumn) {
+ if (startColumn) {
+ markerLines[startLine] = [startColumn, 0];
+ } else {
+ markerLines[startLine] = true;
+ }
+ } else {
+ markerLines[startLine] = [startColumn, endColumn - startColumn];
+ }
+ }
+ return {
+ start,
+ end,
+ markerLines
+ };
+}
+function codeFrameColumns(rawLines, loc, opts = {}) {
+ const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;
+ const defs = getDefs(shouldHighlight);
+ const lines = rawLines.split(NEWLINE);
+ const {
+ start,
+ end,
+ markerLines
+ } = getMarkerLines(loc, lines, opts);
+ const hasColumns = loc.start && typeof loc.start.column === "number";
+ const numberMaxWidth = String(end).length;
+ const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;
+ let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {
+ const number = start + 1 + index;
+ const paddedNumber = ` ${number}`.slice(-numberMaxWidth);
+ const gutter = ` ${paddedNumber} |`;
+ const hasMarker = markerLines[number];
+ const lastMarkerLine = !markerLines[number + 1];
+ if (hasMarker) {
+ let markerLine = "";
+ if (Array.isArray(hasMarker)) {
+ const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
+ const numberOfMarkers = hasMarker[1] || 1;
+ markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
+ if (lastMarkerLine && opts.message) {
+ markerLine += " " + defs.message(opts.message);
+ }
+ }
+ return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
+ } else {
+ return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
+ }
+ }).join("\n");
+ if (opts.message && !hasColumns) {
+ frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
+ }
+ if (shouldHighlight) {
+ return defs.reset(frame);
+ } else {
+ return frame;
+ }
+}
+function index (rawLines, lineNumber, colNumber, opts = {}) {
+ if (!deprecationWarningShown) {
+ deprecationWarningShown = true;
+ const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
+ if (process.emitWarning) {
+ process.emitWarning(message, "DeprecationWarning");
+ } else {
+ const deprecationError = new Error(message);
+ deprecationError.name = "DeprecationWarning";
+ console.warn(new Error(message));
+ }
+ }
+ colNumber = Math.max(colNumber, 0);
+ const location = {
+ start: {
+ column: colNumber,
+ line: lineNumber
+ }
+ };
+ return codeFrameColumns(rawLines, location, opts);
+}
+
+exports.codeFrameColumns = codeFrameColumns;
+exports.default = index;
+exports.highlight = highlight;
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/code-frame/lib/index.js.map b/node_modules/@babel/code-frame/lib/index.js.map
new file mode 100644
index 00000000..46a181dc
--- /dev/null
+++ b/node_modules/@babel/code-frame/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sources":["../src/defs.ts","../src/highlight.ts","../src/index.ts"],"sourcesContent":["import picocolors, { createColors } from \"picocolors\";\nimport type { Colors, Formatter } from \"picocolors/types\";\n\nexport function isColorSupported() {\n return (\n // See https://github.com/alexeyraspopov/picocolors/issues/62\n typeof process === \"object\" &&\n (process.env.FORCE_COLOR === \"0\" || process.env.FORCE_COLOR === \"false\")\n ? false\n : picocolors.isColorSupported\n );\n}\n\nexport type InternalTokenType =\n | \"keyword\"\n | \"capitalized\"\n | \"jsxIdentifier\"\n | \"punctuator\"\n | \"number\"\n | \"string\"\n | \"regex\"\n | \"comment\"\n | \"invalid\";\n\ntype UITokens = \"gutter\" | \"marker\" | \"message\";\n\nexport type Defs = {\n [_ in InternalTokenType | UITokens | \"reset\"]: Formatter;\n};\n\nconst compose: (f: (gv: U) => V, g: (v: T) => U) => (v: T) => V =\n (f, g) => v =>\n f(g(v));\n\n/**\n * Styles for token types.\n */\nfunction buildDefs(colors: Colors): Defs {\n return {\n keyword: colors.cyan,\n capitalized: colors.yellow,\n jsxIdentifier: colors.yellow,\n punctuator: colors.yellow,\n number: colors.magenta,\n string: colors.green,\n regex: colors.magenta,\n comment: colors.gray,\n invalid: compose(compose(colors.white, colors.bgRed), colors.bold),\n\n gutter: colors.gray,\n marker: compose(colors.red, colors.bold),\n message: compose(colors.red, colors.bold),\n\n reset: colors.reset,\n };\n}\n\nconst defsOn = buildDefs(createColors(true));\nconst defsOff = buildDefs(createColors(false));\n\nexport function getDefs(enabled: boolean): Defs {\n return enabled ? defsOn : defsOff;\n}\n","import type { Token as JSToken, JSXToken } from \"js-tokens\";\nimport jsTokens from \"js-tokens\";\n\nimport {\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nimport { getDefs, type InternalTokenType } from \"./defs.ts\";\n\n/**\n * Names that are always allowed as identifiers, but also appear as keywords\n * within certain syntactic productions.\n *\n * https://tc39.es/ecma262/#sec-keywords-and-reserved-words\n *\n * `target` has been omitted since it is very likely going to be a false\n * positive.\n */\nconst sometimesKeywords = new Set([\"as\", \"async\", \"from\", \"get\", \"of\", \"set\"]);\n\ntype Token = {\n type: InternalTokenType | \"uncolored\";\n value: string;\n};\n\n/**\n * RegExp to test for newlines in terminal.\n */\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * RegExp to test for the three types of brackets.\n */\nconst BRACKET = /^[()[\\]{}]$/;\n\nlet tokenize: (\n text: string,\n) => Generator<{ type: InternalTokenType | \"uncolored\"; value: string }>;\n\nif (process.env.BABEL_8_BREAKING) {\n /**\n * Get the type of token, specifying punctuator type.\n */\n const getTokenType = function (\n token: JSToken | JSXToken,\n ): InternalTokenType | \"uncolored\" {\n if (token.type === \"IdentifierName\") {\n if (\n isKeyword(token.value) ||\n isStrictReservedWord(token.value, true) ||\n sometimesKeywords.has(token.value)\n ) {\n return \"keyword\";\n }\n\n if (token.value[0] !== token.value[0].toLowerCase()) {\n return \"capitalized\";\n }\n }\n\n if (token.type === \"Punctuator\" && BRACKET.test(token.value)) {\n return \"uncolored\";\n }\n\n if (token.type === \"Invalid\" && token.value === \"@\") {\n return \"punctuator\";\n }\n\n switch (token.type) {\n case \"NumericLiteral\":\n return \"number\";\n\n case \"StringLiteral\":\n case \"JSXString\":\n case \"NoSubstitutionTemplate\":\n return \"string\";\n\n case \"RegularExpressionLiteral\":\n return \"regex\";\n\n case \"Punctuator\":\n case \"JSXPunctuator\":\n return \"punctuator\";\n\n case \"MultiLineComment\":\n case \"SingleLineComment\":\n return \"comment\";\n\n case \"Invalid\":\n case \"JSXInvalid\":\n return \"invalid\";\n\n case \"JSXIdentifier\":\n return \"jsxIdentifier\";\n\n default:\n return \"uncolored\";\n }\n };\n\n /**\n * Turn a string of JS into an array of objects.\n */\n tokenize = function* (text: string): Generator {\n for (const token of jsTokens(text, { jsx: true })) {\n switch (token.type) {\n case \"TemplateHead\":\n yield { type: \"string\", value: token.value.slice(0, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateMiddle\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateTail\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1) };\n break;\n\n default:\n yield {\n type: getTokenType(token),\n value: token.value,\n };\n }\n }\n };\n} else {\n /**\n * RegExp to test for what seems to be a JSX tag name.\n */\n const JSX_TAG = /^[a-z][\\w-]*$/i;\n\n // The token here is defined in js-tokens@4. However we don't bother\n // typing it since the whole block will be removed in Babel 8\n const getTokenType = function (token: any, offset: number, text: string) {\n if (token.type === \"name\") {\n if (\n isKeyword(token.value) ||\n isStrictReservedWord(token.value, true) ||\n sometimesKeywords.has(token.value)\n ) {\n return \"keyword\";\n }\n\n if (\n JSX_TAG.test(token.value) &&\n (text[offset - 1] === \"<\" || text.slice(offset - 2, offset) === \"\")\n ) {\n return \"jsxIdentifier\";\n }\n\n if (token.value[0] !== token.value[0].toLowerCase()) {\n return \"capitalized\";\n }\n }\n\n if (token.type === \"punctuator\" && BRACKET.test(token.value)) {\n return \"bracket\";\n }\n\n if (\n token.type === \"invalid\" &&\n (token.value === \"@\" || token.value === \"#\")\n ) {\n return \"punctuator\";\n }\n\n return token.type;\n };\n\n tokenize = function* (text: string) {\n let match;\n while ((match = (jsTokens as any).default.exec(text))) {\n const token = (jsTokens as any).matchToToken(match);\n\n yield {\n type: getTokenType(token, match.index, text),\n value: token.value,\n };\n }\n };\n}\n\nexport function highlight(text: string) {\n if (text === \"\") return \"\";\n\n const defs = getDefs(true);\n\n let highlighted = \"\";\n\n for (const { type, value } of tokenize(text)) {\n if (type in defs) {\n highlighted += value\n .split(NEWLINE)\n .map(str => defs[type as InternalTokenType](str))\n .join(\"\\n\");\n } else {\n highlighted += value;\n }\n }\n\n return highlighted;\n}\n","import { getDefs, isColorSupported } from \"./defs.ts\";\nimport { highlight } from \"./highlight.ts\";\n\nexport { highlight };\n\nlet deprecationWarningShown = false;\n\ntype Location = {\n column: number;\n line: number;\n};\n\ntype NodeLocation = {\n end?: Location;\n start: Location;\n};\n\nexport interface Options {\n /** Syntax highlight the code as JavaScript for terminals. default: false */\n highlightCode?: boolean;\n /** The number of lines to show above the error. default: 2 */\n linesAbove?: number;\n /** The number of lines to show below the error. default: 3 */\n linesBelow?: number;\n /**\n * Forcibly syntax highlight the code as JavaScript (for non-terminals);\n * overrides highlightCode.\n * default: false\n */\n forceColor?: boolean;\n /**\n * Pass in a string to be displayed inline (if possible) next to the\n * highlighted location in the code. If it can't be positioned inline,\n * it will be placed above the code frame.\n * default: nothing\n */\n message?: string;\n}\n\n/**\n * RegExp to test for newlines in terminal.\n */\n\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * Extract what lines should be marked and highlighted.\n */\n\ntype MarkerLines = Record;\n\nfunction getMarkerLines(\n loc: NodeLocation,\n source: Array,\n opts: Options,\n): {\n start: number;\n end: number;\n markerLines: MarkerLines;\n} {\n const startLoc: Location = {\n column: 0,\n line: -1,\n ...loc.start,\n };\n const endLoc: Location = {\n ...startLoc,\n ...loc.end,\n };\n const { linesAbove = 2, linesBelow = 3 } = opts || {};\n const startLine = startLoc.line;\n const startColumn = startLoc.column;\n const endLine = endLoc.line;\n const endColumn = endLoc.column;\n\n let start = Math.max(startLine - (linesAbove + 1), 0);\n let end = Math.min(source.length, endLine + linesBelow);\n\n if (startLine === -1) {\n start = 0;\n }\n\n if (endLine === -1) {\n end = source.length;\n }\n\n const lineDiff = endLine - startLine;\n const markerLines: MarkerLines = {};\n\n if (lineDiff) {\n for (let i = 0; i <= lineDiff; i++) {\n const lineNumber = i + startLine;\n\n if (!startColumn) {\n markerLines[lineNumber] = true;\n } else if (i === 0) {\n const sourceLength = source[lineNumber - 1].length;\n\n markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];\n } else if (i === lineDiff) {\n markerLines[lineNumber] = [0, endColumn];\n } else {\n const sourceLength = source[lineNumber - i].length;\n\n markerLines[lineNumber] = [0, sourceLength];\n }\n }\n } else {\n if (startColumn === endColumn) {\n if (startColumn) {\n markerLines[startLine] = [startColumn, 0];\n } else {\n markerLines[startLine] = true;\n }\n } else {\n markerLines[startLine] = [startColumn, endColumn - startColumn];\n }\n }\n\n return { start, end, markerLines };\n}\n\nexport function codeFrameColumns(\n rawLines: string,\n loc: NodeLocation,\n opts: Options = {},\n): string {\n const shouldHighlight =\n opts.forceColor || (isColorSupported() && opts.highlightCode);\n const defs = getDefs(shouldHighlight);\n\n const lines = rawLines.split(NEWLINE);\n const { start, end, markerLines } = getMarkerLines(loc, lines, opts);\n const hasColumns = loc.start && typeof loc.start.column === \"number\";\n\n const numberMaxWidth = String(end).length;\n\n const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;\n\n let frame = highlightedLines\n .split(NEWLINE, end)\n .slice(start, end)\n .map((line, index) => {\n const number = start + 1 + index;\n const paddedNumber = ` ${number}`.slice(-numberMaxWidth);\n const gutter = ` ${paddedNumber} |`;\n const hasMarker = markerLines[number];\n const lastMarkerLine = !markerLines[number + 1];\n if (hasMarker) {\n let markerLine = \"\";\n if (Array.isArray(hasMarker)) {\n const markerSpacing = line\n .slice(0, Math.max(hasMarker[0] - 1, 0))\n .replace(/[^\\t]/g, \" \");\n const numberOfMarkers = hasMarker[1] || 1;\n\n markerLine = [\n \"\\n \",\n defs.gutter(gutter.replace(/\\d/g, \" \")),\n \" \",\n markerSpacing,\n defs.marker(\"^\").repeat(numberOfMarkers),\n ].join(\"\");\n\n if (lastMarkerLine && opts.message) {\n markerLine += \" \" + defs.message(opts.message);\n }\n }\n return [\n defs.marker(\">\"),\n defs.gutter(gutter),\n line.length > 0 ? ` ${line}` : \"\",\n markerLine,\n ].join(\"\");\n } else {\n return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : \"\"}`;\n }\n })\n .join(\"\\n\");\n\n if (opts.message && !hasColumns) {\n frame = `${\" \".repeat(numberMaxWidth + 1)}${opts.message}\\n${frame}`;\n }\n\n if (shouldHighlight) {\n return defs.reset(frame);\n } else {\n return frame;\n }\n}\n\n/**\n * Create a code frame, adding line numbers, code highlighting, and pointing to a given position.\n */\n\nexport default function (\n rawLines: string,\n lineNumber: number,\n colNumber?: number | null,\n opts: Options = {},\n): string {\n if (!deprecationWarningShown) {\n deprecationWarningShown = true;\n\n const message =\n \"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";\n\n if (process.emitWarning) {\n // A string is directly supplied to emitWarning, because when supplying an\n // Error object node throws in the tests because of different contexts\n process.emitWarning(message, \"DeprecationWarning\");\n } else {\n const deprecationError = new Error(message);\n deprecationError.name = \"DeprecationWarning\";\n console.warn(new Error(message));\n }\n }\n\n colNumber = Math.max(colNumber, 0);\n\n const location: NodeLocation = {\n start: { column: colNumber, line: lineNumber },\n };\n\n return codeFrameColumns(rawLines, location, opts);\n}\n"],"names":["isColorSupported","process","env","FORCE_COLOR","picocolors","compose","f","g","v","buildDefs","colors","keyword","cyan","capitalized","yellow","jsxIdentifier","punctuator","number","magenta","string","green","regex","comment","gray","invalid","white","bgRed","bold","gutter","marker","red","message","reset","defsOn","createColors","defsOff","getDefs","enabled","sometimesKeywords","Set","NEWLINE","BRACKET","tokenize","JSX_TAG","getTokenType","token","offset","text","type","isKeyword","value","isStrictReservedWord","has","test","slice","toLowerCase","match","jsTokens","default","exec","matchToToken","index","highlight","defs","highlighted","split","map","str","join","deprecationWarningShown","getMarkerLines","loc","source","opts","startLoc","Object","assign","column","line","start","endLoc","end","linesAbove","linesBelow","startLine","startColumn","endLine","endColumn","Math","max","min","length","lineDiff","markerLines","i","lineNumber","sourceLength","codeFrameColumns","rawLines","shouldHighlight","forceColor","highlightCode","lines","hasColumns","numberMaxWidth","String","highlightedLines","frame","paddedNumber","hasMarker","lastMarkerLine","markerLine","Array","isArray","markerSpacing","replace","numberOfMarkers","repeat","colNumber","emitWarning","deprecationError","Error","name","console","warn","location"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@babel/code-frame/package.json b/node_modules/@babel/code-frame/package.json
new file mode 100644
index 00000000..c95c2449
--- /dev/null
+++ b/node_modules/@babel/code-frame/package.json
@@ -0,0 +1,31 @@
+{
+ "name": "@babel/code-frame",
+ "version": "7.27.1",
+ "description": "Generate errors that contain a code frame that point to source locations.",
+ "author": "The Babel Team (https://babel.dev/team)",
+ "homepage": "https://babel.dev/docs/en/next/babel-code-frame",
+ "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen",
+ "license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel.git",
+ "directory": "packages/babel-code-frame"
+ },
+ "main": "./lib/index.js",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "devDependencies": {
+ "import-meta-resolve": "^4.1.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "type": "commonjs"
+}
\ No newline at end of file
diff --git a/node_modules/@babel/compat-data/LICENSE b/node_modules/@babel/compat-data/LICENSE
new file mode 100644
index 00000000..f31575ec
--- /dev/null
+++ b/node_modules/@babel/compat-data/LICENSE
@@ -0,0 +1,22 @@
+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.
diff --git a/node_modules/@babel/compat-data/README.md b/node_modules/@babel/compat-data/README.md
new file mode 100644
index 00000000..c1918987
--- /dev/null
+++ b/node_modules/@babel/compat-data/README.md
@@ -0,0 +1,19 @@
+# @babel/compat-data
+
+> The compat-data to determine required Babel plugins
+
+See our website [@babel/compat-data](https://babeljs.io/docs/babel-compat-data) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save @babel/compat-data
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/compat-data
+```
diff --git a/node_modules/@babel/compat-data/corejs2-built-ins.js b/node_modules/@babel/compat-data/corejs2-built-ins.js
new file mode 100644
index 00000000..ed19e0b8
--- /dev/null
+++ b/node_modules/@babel/compat-data/corejs2-built-ins.js
@@ -0,0 +1,2 @@
+// Todo (Babel 8): remove this file as Babel 8 drop support of core-js 2
+module.exports = require("./data/corejs2-built-ins.json");
diff --git a/node_modules/@babel/compat-data/corejs3-shipped-proposals.js b/node_modules/@babel/compat-data/corejs3-shipped-proposals.js
new file mode 100644
index 00000000..7909b8c4
--- /dev/null
+++ b/node_modules/@babel/compat-data/corejs3-shipped-proposals.js
@@ -0,0 +1,2 @@
+// Todo (Babel 8): remove this file now that it is included in babel-plugin-polyfill-corejs3
+module.exports = require("./data/corejs3-shipped-proposals.json");
diff --git a/node_modules/@babel/compat-data/data/corejs2-built-ins.json b/node_modules/@babel/compat-data/data/corejs2-built-ins.json
new file mode 100644
index 00000000..5fe8ca8d
--- /dev/null
+++ b/node_modules/@babel/compat-data/data/corejs2-built-ins.json
@@ -0,0 +1,2090 @@
+{
+ "es6.array.copy-within": {
+ "chrome": "45",
+ "opera": "32",
+ "edge": "12",
+ "firefox": "32",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.31"
+ },
+ "es6.array.every": {
+ "chrome": "5",
+ "opera": "10.10",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "3.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.array.fill": {
+ "chrome": "45",
+ "opera": "32",
+ "edge": "12",
+ "firefox": "31",
+ "safari": "7.1",
+ "node": "4",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.31"
+ },
+ "es6.array.filter": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.array.find": {
+ "chrome": "45",
+ "opera": "32",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "4",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.31"
+ },
+ "es6.array.find-index": {
+ "chrome": "45",
+ "opera": "32",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "4",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.31"
+ },
+ "es7.array.flat-map": {
+ "chrome": "69",
+ "opera": "56",
+ "edge": "79",
+ "firefox": "62",
+ "safari": "12",
+ "node": "11",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "10",
+ "rhino": "1.7.15",
+ "opera_mobile": "48",
+ "electron": "4.0"
+ },
+ "es6.array.for-each": {
+ "chrome": "5",
+ "opera": "10.10",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "3.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.array.from": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "15",
+ "firefox": "36",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "rhino": "1.7.15",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es7.array.includes": {
+ "chrome": "47",
+ "opera": "34",
+ "edge": "14",
+ "firefox": "102",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "34",
+ "electron": "0.36"
+ },
+ "es6.array.index-of": {
+ "chrome": "5",
+ "opera": "10.10",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "3.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.array.is-array": {
+ "chrome": "5",
+ "opera": "10.50",
+ "edge": "12",
+ "firefox": "4",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.array.iterator": {
+ "chrome": "66",
+ "opera": "53",
+ "edge": "12",
+ "firefox": "60",
+ "safari": "9",
+ "node": "10",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "9",
+ "rhino": "1.7.13",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "es6.array.last-index-of": {
+ "chrome": "5",
+ "opera": "10.10",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "3.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.array.map": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.array.of": {
+ "chrome": "45",
+ "opera": "32",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.31"
+ },
+ "es6.array.reduce": {
+ "chrome": "5",
+ "opera": "10.50",
+ "edge": "12",
+ "firefox": "3",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.array.reduce-right": {
+ "chrome": "5",
+ "opera": "10.50",
+ "edge": "12",
+ "firefox": "3",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.array.slice": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.array.some": {
+ "chrome": "5",
+ "opera": "10.10",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "3.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.array.sort": {
+ "chrome": "63",
+ "opera": "50",
+ "edge": "12",
+ "firefox": "5",
+ "safari": "12",
+ "node": "10",
+ "deno": "1",
+ "ie": "9",
+ "ios": "12",
+ "samsung": "8",
+ "rhino": "1.7.13",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "es6.array.species": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "rhino": "1.7.15",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.date.now": {
+ "chrome": "5",
+ "opera": "10.50",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.date.to-iso-string": {
+ "chrome": "5",
+ "opera": "10.50",
+ "edge": "12",
+ "firefox": "3.5",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.date.to-json": {
+ "chrome": "5",
+ "opera": "12.10",
+ "edge": "12",
+ "firefox": "4",
+ "safari": "10",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "10",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "12.1",
+ "electron": "0.20"
+ },
+ "es6.date.to-primitive": {
+ "chrome": "47",
+ "opera": "34",
+ "edge": "15",
+ "firefox": "44",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "34",
+ "electron": "0.36"
+ },
+ "es6.date.to-string": {
+ "chrome": "5",
+ "opera": "10.50",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "3.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "10",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.function.bind": {
+ "chrome": "7",
+ "opera": "12",
+ "edge": "12",
+ "firefox": "4",
+ "safari": "5.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "12",
+ "electron": "0.20"
+ },
+ "es6.function.has-instance": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "15",
+ "firefox": "50",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.function.name": {
+ "chrome": "5",
+ "opera": "10.50",
+ "edge": "14",
+ "firefox": "2",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es6.map": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "15",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.math.acosh": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.asinh": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.atanh": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.cbrt": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.clz32": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "31",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.cosh": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.expm1": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.fround": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "26",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.hypot": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "27",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.imul": {
+ "chrome": "30",
+ "opera": "17",
+ "edge": "12",
+ "firefox": "23",
+ "safari": "7",
+ "node": "0.12",
+ "deno": "1",
+ "android": "4.4",
+ "ios": "7",
+ "samsung": "2",
+ "rhino": "1.7.13",
+ "opera_mobile": "18",
+ "electron": "0.20"
+ },
+ "es6.math.log1p": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.log10": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.log2": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.sign": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.sinh": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.tanh": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.math.trunc": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "7.1",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.number.constructor": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "36",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "es6.number.epsilon": {
+ "chrome": "34",
+ "opera": "21",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "2",
+ "rhino": "1.7.14",
+ "opera_mobile": "21",
+ "electron": "0.20"
+ },
+ "es6.number.is-finite": {
+ "chrome": "19",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "16",
+ "safari": "9",
+ "node": "0.8",
+ "deno": "1",
+ "android": "4.1",
+ "ios": "9",
+ "samsung": "1.5",
+ "rhino": "1.7.13",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.number.is-integer": {
+ "chrome": "34",
+ "opera": "21",
+ "edge": "12",
+ "firefox": "16",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "2",
+ "rhino": "1.7.13",
+ "opera_mobile": "21",
+ "electron": "0.20"
+ },
+ "es6.number.is-nan": {
+ "chrome": "19",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "15",
+ "safari": "9",
+ "node": "0.8",
+ "deno": "1",
+ "android": "4.1",
+ "ios": "9",
+ "samsung": "1.5",
+ "rhino": "1.7.13",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.number.is-safe-integer": {
+ "chrome": "34",
+ "opera": "21",
+ "edge": "12",
+ "firefox": "32",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "2",
+ "rhino": "1.7.13",
+ "opera_mobile": "21",
+ "electron": "0.20"
+ },
+ "es6.number.max-safe-integer": {
+ "chrome": "34",
+ "opera": "21",
+ "edge": "12",
+ "firefox": "31",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "2",
+ "rhino": "1.7.13",
+ "opera_mobile": "21",
+ "electron": "0.20"
+ },
+ "es6.number.min-safe-integer": {
+ "chrome": "34",
+ "opera": "21",
+ "edge": "12",
+ "firefox": "31",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "2",
+ "rhino": "1.7.13",
+ "opera_mobile": "21",
+ "electron": "0.20"
+ },
+ "es6.number.parse-float": {
+ "chrome": "34",
+ "opera": "21",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "2",
+ "rhino": "1.7.14",
+ "opera_mobile": "21",
+ "electron": "0.20"
+ },
+ "es6.number.parse-int": {
+ "chrome": "34",
+ "opera": "21",
+ "edge": "12",
+ "firefox": "25",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "2",
+ "rhino": "1.7.14",
+ "opera_mobile": "21",
+ "electron": "0.20"
+ },
+ "es6.object.assign": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "13",
+ "firefox": "36",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.object.create": {
+ "chrome": "5",
+ "opera": "12",
+ "edge": "12",
+ "firefox": "4",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "12",
+ "electron": "0.20"
+ },
+ "es7.object.define-getter": {
+ "chrome": "62",
+ "opera": "49",
+ "edge": "16",
+ "firefox": "48",
+ "safari": "9",
+ "node": "8.10",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "8",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "es7.object.define-setter": {
+ "chrome": "62",
+ "opera": "49",
+ "edge": "16",
+ "firefox": "48",
+ "safari": "9",
+ "node": "8.10",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "8",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "es6.object.define-property": {
+ "chrome": "5",
+ "opera": "12",
+ "edge": "12",
+ "firefox": "4",
+ "safari": "5.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "12",
+ "electron": "0.20"
+ },
+ "es6.object.define-properties": {
+ "chrome": "5",
+ "opera": "12",
+ "edge": "12",
+ "firefox": "4",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "12",
+ "electron": "0.20"
+ },
+ "es7.object.entries": {
+ "chrome": "54",
+ "opera": "41",
+ "edge": "14",
+ "firefox": "47",
+ "safari": "10.1",
+ "node": "7",
+ "deno": "1",
+ "ios": "10.3",
+ "samsung": "6",
+ "rhino": "1.7.14",
+ "opera_mobile": "41",
+ "electron": "1.4"
+ },
+ "es6.object.freeze": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "es6.object.get-own-property-descriptor": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "es7.object.get-own-property-descriptors": {
+ "chrome": "54",
+ "opera": "41",
+ "edge": "15",
+ "firefox": "50",
+ "safari": "10.1",
+ "node": "7",
+ "deno": "1",
+ "ios": "10.3",
+ "samsung": "6",
+ "opera_mobile": "41",
+ "electron": "1.4"
+ },
+ "es6.object.get-own-property-names": {
+ "chrome": "40",
+ "opera": "27",
+ "edge": "12",
+ "firefox": "33",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "27",
+ "electron": "0.21"
+ },
+ "es6.object.get-prototype-of": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "es7.object.lookup-getter": {
+ "chrome": "62",
+ "opera": "49",
+ "edge": "79",
+ "firefox": "36",
+ "safari": "9",
+ "node": "8.10",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "8",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "es7.object.lookup-setter": {
+ "chrome": "62",
+ "opera": "49",
+ "edge": "79",
+ "firefox": "36",
+ "safari": "9",
+ "node": "8.10",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "8",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "es6.object.prevent-extensions": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "es6.object.to-string": {
+ "chrome": "57",
+ "opera": "44",
+ "edge": "15",
+ "firefox": "51",
+ "safari": "10",
+ "node": "8",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "7",
+ "opera_mobile": "43",
+ "electron": "1.7"
+ },
+ "es6.object.is": {
+ "chrome": "19",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "22",
+ "safari": "9",
+ "node": "0.8",
+ "deno": "1",
+ "android": "4.1",
+ "ios": "9",
+ "samsung": "1.5",
+ "rhino": "1.7.13",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.object.is-frozen": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "es6.object.is-sealed": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "es6.object.is-extensible": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "es6.object.keys": {
+ "chrome": "40",
+ "opera": "27",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "27",
+ "electron": "0.21"
+ },
+ "es6.object.seal": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "35",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.13",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "es6.object.set-prototype-of": {
+ "chrome": "34",
+ "opera": "21",
+ "edge": "12",
+ "firefox": "31",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ie": "11",
+ "ios": "9",
+ "samsung": "2",
+ "rhino": "1.7.13",
+ "opera_mobile": "21",
+ "electron": "0.20"
+ },
+ "es7.object.values": {
+ "chrome": "54",
+ "opera": "41",
+ "edge": "14",
+ "firefox": "47",
+ "safari": "10.1",
+ "node": "7",
+ "deno": "1",
+ "ios": "10.3",
+ "samsung": "6",
+ "rhino": "1.7.14",
+ "opera_mobile": "41",
+ "electron": "1.4"
+ },
+ "es6.promise": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "14",
+ "firefox": "45",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "rhino": "1.7.15",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es7.promise.finally": {
+ "chrome": "63",
+ "opera": "50",
+ "edge": "18",
+ "firefox": "58",
+ "safari": "11.1",
+ "node": "10",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "8",
+ "rhino": "1.7.15",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "es6.reflect.apply": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.construct": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "13",
+ "firefox": "49",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.define-property": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "13",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.delete-property": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.get": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.get-own-property-descriptor": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.get-prototype-of": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.has": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.is-extensible": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.own-keys": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.prevent-extensions": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.set": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.reflect.set-prototype-of": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "42",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.regexp.constructor": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "79",
+ "firefox": "40",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "es6.regexp.flags": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "79",
+ "firefox": "37",
+ "safari": "9",
+ "node": "6",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "5",
+ "rhino": "1.7.15",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "es6.regexp.match": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "79",
+ "firefox": "49",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "es6.regexp.replace": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "79",
+ "firefox": "49",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "es6.regexp.split": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "79",
+ "firefox": "49",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "es6.regexp.search": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "79",
+ "firefox": "49",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "es6.regexp.to-string": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "79",
+ "firefox": "39",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "rhino": "1.7.15",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "es6.set": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "15",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.symbol": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "79",
+ "firefox": "51",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es7.symbol.async-iterator": {
+ "chrome": "63",
+ "opera": "50",
+ "edge": "79",
+ "firefox": "57",
+ "safari": "12",
+ "node": "10",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "8",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "es6.string.anchor": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.big": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.blink": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.bold": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.code-point-at": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "29",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "es6.string.ends-with": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "29",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "es6.string.fixed": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.fontcolor": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.fontsize": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.from-code-point": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "29",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "es6.string.includes": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "40",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "es6.string.italics": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.iterator": {
+ "chrome": "38",
+ "opera": "25",
+ "edge": "12",
+ "firefox": "36",
+ "safari": "9",
+ "node": "0.12",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3",
+ "rhino": "1.7.13",
+ "opera_mobile": "25",
+ "electron": "0.20"
+ },
+ "es6.string.link": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es7.string.pad-start": {
+ "chrome": "57",
+ "opera": "44",
+ "edge": "15",
+ "firefox": "48",
+ "safari": "10",
+ "node": "8",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "7",
+ "rhino": "1.7.13",
+ "opera_mobile": "43",
+ "electron": "1.7"
+ },
+ "es7.string.pad-end": {
+ "chrome": "57",
+ "opera": "44",
+ "edge": "15",
+ "firefox": "48",
+ "safari": "10",
+ "node": "8",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "7",
+ "rhino": "1.7.13",
+ "opera_mobile": "43",
+ "electron": "1.7"
+ },
+ "es6.string.raw": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "34",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.14",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "es6.string.repeat": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "24",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "es6.string.small": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.starts-with": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "29",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "rhino": "1.7.13",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "es6.string.strike": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.sub": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.sup": {
+ "chrome": "5",
+ "opera": "15",
+ "edge": "12",
+ "firefox": "17",
+ "safari": "6",
+ "node": "0.4",
+ "deno": "1",
+ "android": "4",
+ "ios": "7",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.14",
+ "opera_mobile": "14",
+ "electron": "0.20"
+ },
+ "es6.string.trim": {
+ "chrome": "5",
+ "opera": "10.50",
+ "edge": "12",
+ "firefox": "3.5",
+ "safari": "4",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "es7.string.trim-left": {
+ "chrome": "66",
+ "opera": "53",
+ "edge": "79",
+ "firefox": "61",
+ "safari": "12",
+ "node": "10",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "9",
+ "rhino": "1.7.13",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "es7.string.trim-right": {
+ "chrome": "66",
+ "opera": "53",
+ "edge": "79",
+ "firefox": "61",
+ "safari": "12",
+ "node": "10",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "9",
+ "rhino": "1.7.13",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "es6.typed.array-buffer": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.data-view": {
+ "chrome": "5",
+ "opera": "12",
+ "edge": "12",
+ "firefox": "15",
+ "safari": "5.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "10",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "12",
+ "electron": "0.20"
+ },
+ "es6.typed.int8-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.uint8-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.uint8-clamped-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.int16-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.uint16-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.int32-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.uint32-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.float32-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.typed.float64-array": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "13",
+ "firefox": "48",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.weak-map": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "15",
+ "firefox": "53",
+ "safari": "9",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "5",
+ "rhino": "1.7.15",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "es6.weak-set": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "15",
+ "firefox": "53",
+ "safari": "9",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "5",
+ "rhino": "1.7.15",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ }
+}
diff --git a/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json b/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json
new file mode 100644
index 00000000..d03b698f
--- /dev/null
+++ b/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json
@@ -0,0 +1,5 @@
+[
+ "esnext.promise.all-settled",
+ "esnext.string.match-all",
+ "esnext.global-this"
+]
diff --git a/node_modules/@babel/compat-data/data/native-modules.json b/node_modules/@babel/compat-data/data/native-modules.json
new file mode 100644
index 00000000..2328d213
--- /dev/null
+++ b/node_modules/@babel/compat-data/data/native-modules.json
@@ -0,0 +1,18 @@
+{
+ "es6.module": {
+ "chrome": "61",
+ "and_chr": "61",
+ "edge": "16",
+ "firefox": "60",
+ "and_ff": "60",
+ "node": "13.2.0",
+ "opera": "48",
+ "op_mob": "45",
+ "safari": "10.1",
+ "ios": "10.3",
+ "samsung": "8.2",
+ "android": "61",
+ "electron": "2.0",
+ "ios_saf": "10.3"
+ }
+}
diff --git a/node_modules/@babel/compat-data/data/overlapping-plugins.json b/node_modules/@babel/compat-data/data/overlapping-plugins.json
new file mode 100644
index 00000000..9b884bd4
--- /dev/null
+++ b/node_modules/@babel/compat-data/data/overlapping-plugins.json
@@ -0,0 +1,35 @@
+{
+ "transform-async-to-generator": [
+ "bugfix/transform-async-arrows-in-class"
+ ],
+ "transform-parameters": [
+ "bugfix/transform-edge-default-parameters",
+ "bugfix/transform-safari-id-destructuring-collision-in-function-expression"
+ ],
+ "transform-function-name": [
+ "bugfix/transform-edge-function-name"
+ ],
+ "transform-block-scoping": [
+ "bugfix/transform-safari-block-shadowing",
+ "bugfix/transform-safari-for-shadowing"
+ ],
+ "transform-template-literals": [
+ "bugfix/transform-tagged-template-caching"
+ ],
+ "transform-optional-chaining": [
+ "bugfix/transform-v8-spread-parameters-in-optional-chaining"
+ ],
+ "proposal-optional-chaining": [
+ "bugfix/transform-v8-spread-parameters-in-optional-chaining"
+ ],
+ "transform-class-properties": [
+ "bugfix/transform-v8-static-class-fields-redefine-readonly",
+ "bugfix/transform-firefox-class-in-computed-class-key",
+ "bugfix/transform-safari-class-field-initializer-scope"
+ ],
+ "proposal-class-properties": [
+ "bugfix/transform-v8-static-class-fields-redefine-readonly",
+ "bugfix/transform-firefox-class-in-computed-class-key",
+ "bugfix/transform-safari-class-field-initializer-scope"
+ ]
+}
diff --git a/node_modules/@babel/compat-data/data/plugin-bugfixes.json b/node_modules/@babel/compat-data/data/plugin-bugfixes.json
new file mode 100644
index 00000000..d90915d8
--- /dev/null
+++ b/node_modules/@babel/compat-data/data/plugin-bugfixes.json
@@ -0,0 +1,201 @@
+{
+ "bugfix/transform-async-arrows-in-class": {
+ "chrome": "55",
+ "opera": "42",
+ "edge": "15",
+ "firefox": "52",
+ "safari": "11",
+ "node": "7.6",
+ "deno": "1",
+ "ios": "11",
+ "samsung": "6",
+ "opera_mobile": "42",
+ "electron": "1.6"
+ },
+ "bugfix/transform-edge-default-parameters": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "18",
+ "firefox": "52",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "bugfix/transform-edge-function-name": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "79",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "bugfix/transform-safari-block-shadowing": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "44",
+ "safari": "11",
+ "node": "6",
+ "deno": "1",
+ "ie": "11",
+ "ios": "11",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "bugfix/transform-safari-for-shadowing": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "12",
+ "firefox": "4",
+ "safari": "11",
+ "node": "6",
+ "deno": "1",
+ "ie": "11",
+ "ios": "11",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "bugfix/transform-safari-id-destructuring-collision-in-function-expression": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "14",
+ "firefox": "2",
+ "safari": "16.3",
+ "node": "6",
+ "deno": "1",
+ "ios": "16.3",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "bugfix/transform-tagged-template-caching": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "34",
+ "safari": "13",
+ "node": "4",
+ "deno": "1",
+ "ios": "13",
+ "samsung": "3.4",
+ "rhino": "1.7.14",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "bugfix/transform-v8-spread-parameters-in-optional-chaining": {
+ "chrome": "91",
+ "opera": "77",
+ "edge": "91",
+ "firefox": "74",
+ "safari": "13.1",
+ "node": "16.9",
+ "deno": "1.9",
+ "ios": "13.4",
+ "samsung": "16",
+ "opera_mobile": "64",
+ "electron": "13.0"
+ },
+ "transform-optional-chaining": {
+ "chrome": "80",
+ "opera": "67",
+ "edge": "80",
+ "firefox": "74",
+ "safari": "13.1",
+ "node": "14",
+ "deno": "1",
+ "ios": "13.4",
+ "samsung": "13",
+ "opera_mobile": "57",
+ "electron": "8.0"
+ },
+ "proposal-optional-chaining": {
+ "chrome": "80",
+ "opera": "67",
+ "edge": "80",
+ "firefox": "74",
+ "safari": "13.1",
+ "node": "14",
+ "deno": "1",
+ "ios": "13.4",
+ "samsung": "13",
+ "opera_mobile": "57",
+ "electron": "8.0"
+ },
+ "transform-parameters": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "15",
+ "firefox": "52",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "transform-async-to-generator": {
+ "chrome": "55",
+ "opera": "42",
+ "edge": "15",
+ "firefox": "52",
+ "safari": "10.1",
+ "node": "7.6",
+ "deno": "1",
+ "ios": "10.3",
+ "samsung": "6",
+ "opera_mobile": "42",
+ "electron": "1.6"
+ },
+ "transform-template-literals": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "13",
+ "firefox": "34",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "transform-function-name": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "14",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "transform-block-scoping": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "14",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ }
+}
diff --git a/node_modules/@babel/compat-data/data/plugins.json b/node_modules/@babel/compat-data/data/plugins.json
new file mode 100644
index 00000000..9acbc909
--- /dev/null
+++ b/node_modules/@babel/compat-data/data/plugins.json
@@ -0,0 +1,825 @@
+{
+ "transform-duplicate-named-capturing-groups-regex": {
+ "chrome": "126",
+ "opera": "112",
+ "edge": "126",
+ "firefox": "129",
+ "safari": "17.4",
+ "node": "23",
+ "ios": "17.4",
+ "electron": "31.0"
+ },
+ "transform-regexp-modifiers": {
+ "chrome": "125",
+ "opera": "111",
+ "edge": "125",
+ "firefox": "132",
+ "node": "23",
+ "electron": "31.0"
+ },
+ "transform-unicode-sets-regex": {
+ "chrome": "112",
+ "opera": "98",
+ "edge": "112",
+ "firefox": "116",
+ "safari": "17",
+ "node": "20",
+ "deno": "1.32",
+ "ios": "17",
+ "opera_mobile": "75",
+ "electron": "24.0"
+ },
+ "bugfix/transform-v8-static-class-fields-redefine-readonly": {
+ "chrome": "98",
+ "opera": "84",
+ "edge": "98",
+ "firefox": "75",
+ "safari": "15",
+ "node": "12",
+ "deno": "1.18",
+ "ios": "15",
+ "samsung": "11",
+ "opera_mobile": "52",
+ "electron": "17.0"
+ },
+ "bugfix/transform-firefox-class-in-computed-class-key": {
+ "chrome": "74",
+ "opera": "62",
+ "edge": "79",
+ "firefox": "126",
+ "safari": "16",
+ "node": "12",
+ "deno": "1",
+ "ios": "16",
+ "samsung": "11",
+ "opera_mobile": "53",
+ "electron": "6.0"
+ },
+ "bugfix/transform-safari-class-field-initializer-scope": {
+ "chrome": "74",
+ "opera": "62",
+ "edge": "79",
+ "firefox": "69",
+ "safari": "16",
+ "node": "12",
+ "deno": "1",
+ "ios": "16",
+ "samsung": "11",
+ "opera_mobile": "53",
+ "electron": "6.0"
+ },
+ "transform-class-static-block": {
+ "chrome": "94",
+ "opera": "80",
+ "edge": "94",
+ "firefox": "93",
+ "safari": "16.4",
+ "node": "16.11",
+ "deno": "1.14",
+ "ios": "16.4",
+ "samsung": "17",
+ "opera_mobile": "66",
+ "electron": "15.0"
+ },
+ "proposal-class-static-block": {
+ "chrome": "94",
+ "opera": "80",
+ "edge": "94",
+ "firefox": "93",
+ "safari": "16.4",
+ "node": "16.11",
+ "deno": "1.14",
+ "ios": "16.4",
+ "samsung": "17",
+ "opera_mobile": "66",
+ "electron": "15.0"
+ },
+ "transform-private-property-in-object": {
+ "chrome": "91",
+ "opera": "77",
+ "edge": "91",
+ "firefox": "90",
+ "safari": "15",
+ "node": "16.9",
+ "deno": "1.9",
+ "ios": "15",
+ "samsung": "16",
+ "opera_mobile": "64",
+ "electron": "13.0"
+ },
+ "proposal-private-property-in-object": {
+ "chrome": "91",
+ "opera": "77",
+ "edge": "91",
+ "firefox": "90",
+ "safari": "15",
+ "node": "16.9",
+ "deno": "1.9",
+ "ios": "15",
+ "samsung": "16",
+ "opera_mobile": "64",
+ "electron": "13.0"
+ },
+ "transform-class-properties": {
+ "chrome": "74",
+ "opera": "62",
+ "edge": "79",
+ "firefox": "90",
+ "safari": "14.1",
+ "node": "12",
+ "deno": "1",
+ "ios": "14.5",
+ "samsung": "11",
+ "opera_mobile": "53",
+ "electron": "6.0"
+ },
+ "proposal-class-properties": {
+ "chrome": "74",
+ "opera": "62",
+ "edge": "79",
+ "firefox": "90",
+ "safari": "14.1",
+ "node": "12",
+ "deno": "1",
+ "ios": "14.5",
+ "samsung": "11",
+ "opera_mobile": "53",
+ "electron": "6.0"
+ },
+ "transform-private-methods": {
+ "chrome": "84",
+ "opera": "70",
+ "edge": "84",
+ "firefox": "90",
+ "safari": "15",
+ "node": "14.6",
+ "deno": "1",
+ "ios": "15",
+ "samsung": "14",
+ "opera_mobile": "60",
+ "electron": "10.0"
+ },
+ "proposal-private-methods": {
+ "chrome": "84",
+ "opera": "70",
+ "edge": "84",
+ "firefox": "90",
+ "safari": "15",
+ "node": "14.6",
+ "deno": "1",
+ "ios": "15",
+ "samsung": "14",
+ "opera_mobile": "60",
+ "electron": "10.0"
+ },
+ "transform-numeric-separator": {
+ "chrome": "75",
+ "opera": "62",
+ "edge": "79",
+ "firefox": "70",
+ "safari": "13",
+ "node": "12.5",
+ "deno": "1",
+ "ios": "13",
+ "samsung": "11",
+ "rhino": "1.7.14",
+ "opera_mobile": "54",
+ "electron": "6.0"
+ },
+ "proposal-numeric-separator": {
+ "chrome": "75",
+ "opera": "62",
+ "edge": "79",
+ "firefox": "70",
+ "safari": "13",
+ "node": "12.5",
+ "deno": "1",
+ "ios": "13",
+ "samsung": "11",
+ "rhino": "1.7.14",
+ "opera_mobile": "54",
+ "electron": "6.0"
+ },
+ "transform-logical-assignment-operators": {
+ "chrome": "85",
+ "opera": "71",
+ "edge": "85",
+ "firefox": "79",
+ "safari": "14",
+ "node": "15",
+ "deno": "1.2",
+ "ios": "14",
+ "samsung": "14",
+ "opera_mobile": "60",
+ "electron": "10.0"
+ },
+ "proposal-logical-assignment-operators": {
+ "chrome": "85",
+ "opera": "71",
+ "edge": "85",
+ "firefox": "79",
+ "safari": "14",
+ "node": "15",
+ "deno": "1.2",
+ "ios": "14",
+ "samsung": "14",
+ "opera_mobile": "60",
+ "electron": "10.0"
+ },
+ "transform-nullish-coalescing-operator": {
+ "chrome": "80",
+ "opera": "67",
+ "edge": "80",
+ "firefox": "72",
+ "safari": "13.1",
+ "node": "14",
+ "deno": "1",
+ "ios": "13.4",
+ "samsung": "13",
+ "opera_mobile": "57",
+ "electron": "8.0"
+ },
+ "proposal-nullish-coalescing-operator": {
+ "chrome": "80",
+ "opera": "67",
+ "edge": "80",
+ "firefox": "72",
+ "safari": "13.1",
+ "node": "14",
+ "deno": "1",
+ "ios": "13.4",
+ "samsung": "13",
+ "opera_mobile": "57",
+ "electron": "8.0"
+ },
+ "transform-optional-chaining": {
+ "chrome": "91",
+ "opera": "77",
+ "edge": "91",
+ "firefox": "74",
+ "safari": "13.1",
+ "node": "16.9",
+ "deno": "1.9",
+ "ios": "13.4",
+ "samsung": "16",
+ "opera_mobile": "64",
+ "electron": "13.0"
+ },
+ "proposal-optional-chaining": {
+ "chrome": "91",
+ "opera": "77",
+ "edge": "91",
+ "firefox": "74",
+ "safari": "13.1",
+ "node": "16.9",
+ "deno": "1.9",
+ "ios": "13.4",
+ "samsung": "16",
+ "opera_mobile": "64",
+ "electron": "13.0"
+ },
+ "transform-json-strings": {
+ "chrome": "66",
+ "opera": "53",
+ "edge": "79",
+ "firefox": "62",
+ "safari": "12",
+ "node": "10",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "9",
+ "rhino": "1.7.14",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "proposal-json-strings": {
+ "chrome": "66",
+ "opera": "53",
+ "edge": "79",
+ "firefox": "62",
+ "safari": "12",
+ "node": "10",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "9",
+ "rhino": "1.7.14",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "transform-optional-catch-binding": {
+ "chrome": "66",
+ "opera": "53",
+ "edge": "79",
+ "firefox": "58",
+ "safari": "11.1",
+ "node": "10",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "9",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "proposal-optional-catch-binding": {
+ "chrome": "66",
+ "opera": "53",
+ "edge": "79",
+ "firefox": "58",
+ "safari": "11.1",
+ "node": "10",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "9",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "transform-parameters": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "18",
+ "firefox": "52",
+ "safari": "16.3",
+ "node": "6",
+ "deno": "1",
+ "ios": "16.3",
+ "samsung": "5",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "transform-async-generator-functions": {
+ "chrome": "63",
+ "opera": "50",
+ "edge": "79",
+ "firefox": "57",
+ "safari": "12",
+ "node": "10",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "8",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "proposal-async-generator-functions": {
+ "chrome": "63",
+ "opera": "50",
+ "edge": "79",
+ "firefox": "57",
+ "safari": "12",
+ "node": "10",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "8",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "transform-object-rest-spread": {
+ "chrome": "60",
+ "opera": "47",
+ "edge": "79",
+ "firefox": "55",
+ "safari": "11.1",
+ "node": "8.3",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "8",
+ "opera_mobile": "44",
+ "electron": "2.0"
+ },
+ "proposal-object-rest-spread": {
+ "chrome": "60",
+ "opera": "47",
+ "edge": "79",
+ "firefox": "55",
+ "safari": "11.1",
+ "node": "8.3",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "8",
+ "opera_mobile": "44",
+ "electron": "2.0"
+ },
+ "transform-dotall-regex": {
+ "chrome": "62",
+ "opera": "49",
+ "edge": "79",
+ "firefox": "78",
+ "safari": "11.1",
+ "node": "8.10",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "8",
+ "rhino": "1.7.15",
+ "opera_mobile": "46",
+ "electron": "3.0"
+ },
+ "transform-unicode-property-regex": {
+ "chrome": "64",
+ "opera": "51",
+ "edge": "79",
+ "firefox": "78",
+ "safari": "11.1",
+ "node": "10",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "9",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "proposal-unicode-property-regex": {
+ "chrome": "64",
+ "opera": "51",
+ "edge": "79",
+ "firefox": "78",
+ "safari": "11.1",
+ "node": "10",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "9",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "transform-named-capturing-groups-regex": {
+ "chrome": "64",
+ "opera": "51",
+ "edge": "79",
+ "firefox": "78",
+ "safari": "11.1",
+ "node": "10",
+ "deno": "1",
+ "ios": "11.3",
+ "samsung": "9",
+ "opera_mobile": "47",
+ "electron": "3.0"
+ },
+ "transform-async-to-generator": {
+ "chrome": "55",
+ "opera": "42",
+ "edge": "15",
+ "firefox": "52",
+ "safari": "11",
+ "node": "7.6",
+ "deno": "1",
+ "ios": "11",
+ "samsung": "6",
+ "opera_mobile": "42",
+ "electron": "1.6"
+ },
+ "transform-exponentiation-operator": {
+ "chrome": "52",
+ "opera": "39",
+ "edge": "14",
+ "firefox": "52",
+ "safari": "10.1",
+ "node": "7",
+ "deno": "1",
+ "ios": "10.3",
+ "samsung": "6",
+ "rhino": "1.7.14",
+ "opera_mobile": "41",
+ "electron": "1.3"
+ },
+ "transform-template-literals": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "13",
+ "firefox": "34",
+ "safari": "13",
+ "node": "4",
+ "deno": "1",
+ "ios": "13",
+ "samsung": "3.4",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "transform-literals": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "53",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.15",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "transform-function-name": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "79",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "transform-arrow-functions": {
+ "chrome": "47",
+ "opera": "34",
+ "edge": "13",
+ "firefox": "43",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "rhino": "1.7.13",
+ "opera_mobile": "34",
+ "electron": "0.36"
+ },
+ "transform-block-scoped-functions": {
+ "chrome": "41",
+ "opera": "28",
+ "edge": "12",
+ "firefox": "46",
+ "safari": "10",
+ "node": "4",
+ "deno": "1",
+ "ie": "11",
+ "ios": "10",
+ "samsung": "3.4",
+ "opera_mobile": "28",
+ "electron": "0.21"
+ },
+ "transform-classes": {
+ "chrome": "46",
+ "opera": "33",
+ "edge": "13",
+ "firefox": "45",
+ "safari": "10",
+ "node": "5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "33",
+ "electron": "0.36"
+ },
+ "transform-object-super": {
+ "chrome": "46",
+ "opera": "33",
+ "edge": "13",
+ "firefox": "45",
+ "safari": "10",
+ "node": "5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "33",
+ "electron": "0.36"
+ },
+ "transform-shorthand-properties": {
+ "chrome": "43",
+ "opera": "30",
+ "edge": "12",
+ "firefox": "33",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.14",
+ "opera_mobile": "30",
+ "electron": "0.27"
+ },
+ "transform-duplicate-keys": {
+ "chrome": "42",
+ "opera": "29",
+ "edge": "12",
+ "firefox": "34",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "3.4",
+ "opera_mobile": "29",
+ "electron": "0.25"
+ },
+ "transform-computed-properties": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "34",
+ "safari": "7.1",
+ "node": "4",
+ "deno": "1",
+ "ios": "8",
+ "samsung": "4",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "transform-for-of": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "15",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "transform-sticky-regex": {
+ "chrome": "49",
+ "opera": "36",
+ "edge": "13",
+ "firefox": "3",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "rhino": "1.7.15",
+ "opera_mobile": "36",
+ "electron": "0.37"
+ },
+ "transform-unicode-escapes": {
+ "chrome": "44",
+ "opera": "31",
+ "edge": "12",
+ "firefox": "53",
+ "safari": "9",
+ "node": "4",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "4",
+ "rhino": "1.7.15",
+ "opera_mobile": "32",
+ "electron": "0.30"
+ },
+ "transform-unicode-regex": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "13",
+ "firefox": "46",
+ "safari": "12",
+ "node": "6",
+ "deno": "1",
+ "ios": "12",
+ "samsung": "5",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "transform-spread": {
+ "chrome": "46",
+ "opera": "33",
+ "edge": "13",
+ "firefox": "45",
+ "safari": "10",
+ "node": "5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "33",
+ "electron": "0.36"
+ },
+ "transform-destructuring": {
+ "chrome": "51",
+ "opera": "38",
+ "edge": "15",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6.5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "41",
+ "electron": "1.2"
+ },
+ "transform-block-scoping": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "14",
+ "firefox": "53",
+ "safari": "11",
+ "node": "6",
+ "deno": "1",
+ "ios": "11",
+ "samsung": "5",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "transform-typeof-symbol": {
+ "chrome": "48",
+ "opera": "35",
+ "edge": "12",
+ "firefox": "36",
+ "safari": "9",
+ "node": "6",
+ "deno": "1",
+ "ios": "9",
+ "samsung": "5",
+ "opera_mobile": "35",
+ "electron": "0.37"
+ },
+ "transform-new-target": {
+ "chrome": "46",
+ "opera": "33",
+ "edge": "14",
+ "firefox": "41",
+ "safari": "10",
+ "node": "5",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "33",
+ "electron": "0.36"
+ },
+ "transform-regenerator": {
+ "chrome": "50",
+ "opera": "37",
+ "edge": "13",
+ "firefox": "53",
+ "safari": "10",
+ "node": "6",
+ "deno": "1",
+ "ios": "10",
+ "samsung": "5",
+ "opera_mobile": "37",
+ "electron": "1.1"
+ },
+ "transform-member-expression-literals": {
+ "chrome": "7",
+ "opera": "12",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "5.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "12",
+ "electron": "0.20"
+ },
+ "transform-property-literals": {
+ "chrome": "7",
+ "opera": "12",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "5.1",
+ "node": "0.4",
+ "deno": "1",
+ "ie": "9",
+ "android": "4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "12",
+ "electron": "0.20"
+ },
+ "transform-reserved-words": {
+ "chrome": "13",
+ "opera": "10.50",
+ "edge": "12",
+ "firefox": "2",
+ "safari": "3.1",
+ "node": "0.6",
+ "deno": "1",
+ "ie": "9",
+ "android": "4.4",
+ "ios": "6",
+ "phantom": "1.9",
+ "samsung": "1",
+ "rhino": "1.7.13",
+ "opera_mobile": "10.1",
+ "electron": "0.20"
+ },
+ "transform-export-namespace-from": {
+ "chrome": "72",
+ "deno": "1.0",
+ "edge": "79",
+ "firefox": "80",
+ "node": "13.2.0",
+ "opera": "60",
+ "opera_mobile": "51",
+ "safari": "14.1",
+ "ios": "14.5",
+ "samsung": "11.0",
+ "android": "72",
+ "electron": "5.0"
+ },
+ "proposal-export-namespace-from": {
+ "chrome": "72",
+ "deno": "1.0",
+ "edge": "79",
+ "firefox": "80",
+ "node": "13.2.0",
+ "opera": "60",
+ "opera_mobile": "51",
+ "safari": "14.1",
+ "ios": "14.5",
+ "samsung": "11.0",
+ "android": "72",
+ "electron": "5.0"
+ }
+}
diff --git a/node_modules/@babel/compat-data/native-modules.js b/node_modules/@babel/compat-data/native-modules.js
new file mode 100644
index 00000000..f8c25fa3
--- /dev/null
+++ b/node_modules/@babel/compat-data/native-modules.js
@@ -0,0 +1,2 @@
+// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
+module.exports = require("./data/native-modules.json");
diff --git a/node_modules/@babel/compat-data/overlapping-plugins.js b/node_modules/@babel/compat-data/overlapping-plugins.js
new file mode 100644
index 00000000..0dd35f15
--- /dev/null
+++ b/node_modules/@babel/compat-data/overlapping-plugins.js
@@ -0,0 +1,2 @@
+// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
+module.exports = require("./data/overlapping-plugins.json");
diff --git a/node_modules/@babel/compat-data/package.json b/node_modules/@babel/compat-data/package.json
new file mode 100644
index 00000000..71e2d54f
--- /dev/null
+++ b/node_modules/@babel/compat-data/package.json
@@ -0,0 +1,40 @@
+{
+ "name": "@babel/compat-data",
+ "version": "7.27.2",
+ "author": "The Babel Team (https://babel.dev/team)",
+ "license": "MIT",
+ "description": "The compat-data to determine required Babel plugins",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel.git",
+ "directory": "packages/babel-compat-data"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "exports": {
+ "./plugins": "./plugins.js",
+ "./native-modules": "./native-modules.js",
+ "./corejs2-built-ins": "./corejs2-built-ins.js",
+ "./corejs3-shipped-proposals": "./corejs3-shipped-proposals.js",
+ "./overlapping-plugins": "./overlapping-plugins.js",
+ "./plugin-bugfixes": "./plugin-bugfixes.js"
+ },
+ "scripts": {
+ "build-data": "./scripts/download-compat-table.sh && node ./scripts/build-data.mjs && node ./scripts/build-modules-support.mjs && node ./scripts/build-bugfixes-targets.mjs"
+ },
+ "keywords": [
+ "babel",
+ "compat-table",
+ "compat-data"
+ ],
+ "devDependencies": {
+ "@mdn/browser-compat-data": "^6.0.8",
+ "core-js-compat": "^3.41.0",
+ "electron-to-chromium": "^1.5.140"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "type": "commonjs"
+}
\ No newline at end of file
diff --git a/node_modules/@babel/compat-data/plugin-bugfixes.js b/node_modules/@babel/compat-data/plugin-bugfixes.js
new file mode 100644
index 00000000..9aaf3641
--- /dev/null
+++ b/node_modules/@babel/compat-data/plugin-bugfixes.js
@@ -0,0 +1,2 @@
+// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
+module.exports = require("./data/plugin-bugfixes.json");
diff --git a/node_modules/@babel/compat-data/plugins.js b/node_modules/@babel/compat-data/plugins.js
new file mode 100644
index 00000000..b191017b
--- /dev/null
+++ b/node_modules/@babel/compat-data/plugins.js
@@ -0,0 +1,2 @@
+// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
+module.exports = require("./data/plugins.json");
diff --git a/node_modules/@babel/generator/LICENSE b/node_modules/@babel/generator/LICENSE
new file mode 100644
index 00000000..f31575ec
--- /dev/null
+++ b/node_modules/@babel/generator/LICENSE
@@ -0,0 +1,22 @@
+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.
diff --git a/node_modules/@babel/generator/README.md b/node_modules/@babel/generator/README.md
new file mode 100644
index 00000000..d56149a8
--- /dev/null
+++ b/node_modules/@babel/generator/README.md
@@ -0,0 +1,19 @@
+# @babel/generator
+
+> Turns an AST into code.
+
+See our website [@babel/generator](https://babeljs.io/docs/babel-generator) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen) associated with this package.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save-dev @babel/generator
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/generator --dev
+```
diff --git a/node_modules/@babel/generator/lib/buffer.js b/node_modules/@babel/generator/lib/buffer.js
new file mode 100644
index 00000000..23bedfa7
--- /dev/null
+++ b/node_modules/@babel/generator/lib/buffer.js
@@ -0,0 +1,317 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = void 0;
+class Buffer {
+ constructor(map, indentChar) {
+ this._map = null;
+ this._buf = "";
+ this._str = "";
+ this._appendCount = 0;
+ this._last = 0;
+ this._queue = [];
+ this._queueCursor = 0;
+ this._canMarkIdName = true;
+ this._indentChar = "";
+ this._fastIndentations = [];
+ this._position = {
+ line: 1,
+ column: 0
+ };
+ this._sourcePosition = {
+ identifierName: undefined,
+ identifierNamePos: undefined,
+ line: undefined,
+ column: undefined,
+ filename: undefined
+ };
+ this._map = map;
+ this._indentChar = indentChar;
+ for (let i = 0; i < 64; i++) {
+ this._fastIndentations.push(indentChar.repeat(i));
+ }
+ this._allocQueue();
+ }
+ _allocQueue() {
+ const queue = this._queue;
+ for (let i = 0; i < 16; i++) {
+ queue.push({
+ char: 0,
+ repeat: 1,
+ line: undefined,
+ column: undefined,
+ identifierName: undefined,
+ identifierNamePos: undefined,
+ filename: ""
+ });
+ }
+ }
+ _pushQueue(char, repeat, line, column, filename) {
+ const cursor = this._queueCursor;
+ if (cursor === this._queue.length) {
+ this._allocQueue();
+ }
+ const item = this._queue[cursor];
+ item.char = char;
+ item.repeat = repeat;
+ item.line = line;
+ item.column = column;
+ item.filename = filename;
+ this._queueCursor++;
+ }
+ _popQueue() {
+ if (this._queueCursor === 0) {
+ throw new Error("Cannot pop from empty queue");
+ }
+ return this._queue[--this._queueCursor];
+ }
+ get() {
+ this._flush();
+ const map = this._map;
+ const result = {
+ code: (this._buf + this._str).trimRight(),
+ decodedMap: map == null ? void 0 : map.getDecoded(),
+ get __mergedMap() {
+ return this.map;
+ },
+ get map() {
+ const resultMap = map ? map.get() : null;
+ result.map = resultMap;
+ return resultMap;
+ },
+ set map(value) {
+ Object.defineProperty(result, "map", {
+ value,
+ writable: true
+ });
+ },
+ get rawMappings() {
+ const mappings = map == null ? void 0 : map.getRawMappings();
+ result.rawMappings = mappings;
+ return mappings;
+ },
+ set rawMappings(value) {
+ Object.defineProperty(result, "rawMappings", {
+ value,
+ writable: true
+ });
+ }
+ };
+ return result;
+ }
+ append(str, maybeNewline) {
+ this._flush();
+ this._append(str, this._sourcePosition, maybeNewline);
+ }
+ appendChar(char) {
+ this._flush();
+ this._appendChar(char, 1, this._sourcePosition);
+ }
+ queue(char) {
+ if (char === 10) {
+ while (this._queueCursor !== 0) {
+ const char = this._queue[this._queueCursor - 1].char;
+ if (char !== 32 && char !== 9) {
+ break;
+ }
+ this._queueCursor--;
+ }
+ }
+ const sourcePosition = this._sourcePosition;
+ this._pushQueue(char, 1, sourcePosition.line, sourcePosition.column, sourcePosition.filename);
+ }
+ queueIndentation(repeat) {
+ if (repeat === 0) return;
+ this._pushQueue(-1, repeat, undefined, undefined, undefined);
+ }
+ _flush() {
+ const queueCursor = this._queueCursor;
+ const queue = this._queue;
+ for (let i = 0; i < queueCursor; i++) {
+ const item = queue[i];
+ this._appendChar(item.char, item.repeat, item);
+ }
+ this._queueCursor = 0;
+ }
+ _appendChar(char, repeat, sourcePos) {
+ this._last = char;
+ if (char === -1) {
+ const fastIndentation = this._fastIndentations[repeat];
+ if (fastIndentation !== undefined) {
+ this._str += fastIndentation;
+ } else {
+ this._str += repeat > 1 ? this._indentChar.repeat(repeat) : this._indentChar;
+ }
+ } else {
+ this._str += repeat > 1 ? String.fromCharCode(char).repeat(repeat) : String.fromCharCode(char);
+ }
+ if (char !== 10) {
+ this._mark(sourcePos.line, sourcePos.column, sourcePos.identifierName, sourcePos.identifierNamePos, sourcePos.filename);
+ this._position.column += repeat;
+ } else {
+ this._position.line++;
+ this._position.column = 0;
+ }
+ if (this._canMarkIdName) {
+ sourcePos.identifierName = undefined;
+ sourcePos.identifierNamePos = undefined;
+ }
+ }
+ _append(str, sourcePos, maybeNewline) {
+ const len = str.length;
+ const position = this._position;
+ this._last = str.charCodeAt(len - 1);
+ if (++this._appendCount > 4096) {
+ +this._str;
+ this._buf += this._str;
+ this._str = str;
+ this._appendCount = 0;
+ } else {
+ this._str += str;
+ }
+ if (!maybeNewline && !this._map) {
+ position.column += len;
+ return;
+ }
+ const {
+ column,
+ identifierName,
+ identifierNamePos,
+ filename
+ } = sourcePos;
+ let line = sourcePos.line;
+ if ((identifierName != null || identifierNamePos != null) && this._canMarkIdName) {
+ sourcePos.identifierName = undefined;
+ sourcePos.identifierNamePos = undefined;
+ }
+ let i = str.indexOf("\n");
+ let last = 0;
+ if (i !== 0) {
+ this._mark(line, column, identifierName, identifierNamePos, filename);
+ }
+ while (i !== -1) {
+ position.line++;
+ position.column = 0;
+ last = i + 1;
+ if (last < len && line !== undefined) {
+ this._mark(++line, 0, null, null, filename);
+ }
+ i = str.indexOf("\n", last);
+ }
+ position.column += len - last;
+ }
+ _mark(line, column, identifierName, identifierNamePos, filename) {
+ var _this$_map;
+ (_this$_map = this._map) == null || _this$_map.mark(this._position, line, column, identifierName, identifierNamePos, filename);
+ }
+ removeTrailingNewline() {
+ const queueCursor = this._queueCursor;
+ if (queueCursor !== 0 && this._queue[queueCursor - 1].char === 10) {
+ this._queueCursor--;
+ }
+ }
+ removeLastSemicolon() {
+ const queueCursor = this._queueCursor;
+ if (queueCursor !== 0 && this._queue[queueCursor - 1].char === 59) {
+ this._queueCursor--;
+ }
+ }
+ getLastChar() {
+ const queueCursor = this._queueCursor;
+ return queueCursor !== 0 ? this._queue[queueCursor - 1].char : this._last;
+ }
+ getNewlineCount() {
+ const queueCursor = this._queueCursor;
+ let count = 0;
+ if (queueCursor === 0) return this._last === 10 ? 1 : 0;
+ for (let i = queueCursor - 1; i >= 0; i--) {
+ if (this._queue[i].char !== 10) {
+ break;
+ }
+ count++;
+ }
+ return count === queueCursor && this._last === 10 ? count + 1 : count;
+ }
+ endsWithCharAndNewline() {
+ const queue = this._queue;
+ const queueCursor = this._queueCursor;
+ if (queueCursor !== 0) {
+ const lastCp = queue[queueCursor - 1].char;
+ if (lastCp !== 10) return;
+ if (queueCursor > 1) {
+ return queue[queueCursor - 2].char;
+ } else {
+ return this._last;
+ }
+ }
+ }
+ hasContent() {
+ return this._queueCursor !== 0 || !!this._last;
+ }
+ exactSource(loc, cb) {
+ if (!this._map) {
+ cb();
+ return;
+ }
+ this.source("start", loc);
+ const identifierName = loc.identifierName;
+ const sourcePos = this._sourcePosition;
+ if (identifierName) {
+ this._canMarkIdName = false;
+ sourcePos.identifierName = identifierName;
+ }
+ cb();
+ if (identifierName) {
+ this._canMarkIdName = true;
+ sourcePos.identifierName = undefined;
+ sourcePos.identifierNamePos = undefined;
+ }
+ this.source("end", loc);
+ }
+ source(prop, loc) {
+ if (!this._map) return;
+ this._normalizePosition(prop, loc, 0);
+ }
+ sourceWithOffset(prop, loc, columnOffset) {
+ if (!this._map) return;
+ this._normalizePosition(prop, loc, columnOffset);
+ }
+ _normalizePosition(prop, loc, columnOffset) {
+ const pos = loc[prop];
+ const target = this._sourcePosition;
+ if (pos) {
+ target.line = pos.line;
+ target.column = Math.max(pos.column + columnOffset, 0);
+ target.filename = loc.filename;
+ }
+ }
+ getCurrentColumn() {
+ const queue = this._queue;
+ const queueCursor = this._queueCursor;
+ let lastIndex = -1;
+ let len = 0;
+ for (let i = 0; i < queueCursor; i++) {
+ const item = queue[i];
+ if (item.char === 10) {
+ lastIndex = len;
+ }
+ len += item.repeat;
+ }
+ return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex;
+ }
+ getCurrentLine() {
+ let count = 0;
+ const queue = this._queue;
+ for (let i = 0; i < this._queueCursor; i++) {
+ if (queue[i].char === 10) {
+ count++;
+ }
+ }
+ return this._position.line + count;
+ }
+}
+exports.default = Buffer;
+
+//# sourceMappingURL=buffer.js.map
diff --git a/node_modules/@babel/generator/lib/buffer.js.map b/node_modules/@babel/generator/lib/buffer.js.map
new file mode 100644
index 00000000..d92c017d
--- /dev/null
+++ b/node_modules/@babel/generator/lib/buffer.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["Buffer","constructor","map","indentChar","_map","_buf","_str","_appendCount","_last","_queue","_queueCursor","_canMarkIdName","_indentChar","_fastIndentations","_position","line","column","_sourcePosition","identifierName","undefined","identifierNamePos","filename","i","push","repeat","_allocQueue","queue","char","_pushQueue","cursor","length","item","_popQueue","Error","get","_flush","result","code","trimRight","decodedMap","getDecoded","__mergedMap","resultMap","value","Object","defineProperty","writable","rawMappings","mappings","getRawMappings","append","str","maybeNewline","_append","appendChar","_appendChar","sourcePosition","queueIndentation","queueCursor","sourcePos","fastIndentation","String","fromCharCode","_mark","len","position","charCodeAt","indexOf","last","_this$_map","mark","removeTrailingNewline","removeLastSemicolon","getLastChar","getNewlineCount","count","endsWithCharAndNewline","lastCp","hasContent","exactSource","loc","cb","source","prop","_normalizePosition","sourceWithOffset","columnOffset","pos","target","Math","max","getCurrentColumn","lastIndex","getCurrentLine","exports","default"],"sources":["../src/buffer.ts"],"sourcesContent":["import type SourceMap from \"./source-map.ts\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charcodes from \"charcodes\";\n\nexport type Pos = {\n line: number;\n column: number;\n index: number;\n};\nexport type Loc = {\n start?: Pos;\n end?: Pos;\n filename?: string;\n};\ntype SourcePos = {\n line: number | undefined;\n column: number | undefined;\n identifierName: string | undefined;\n filename: string | undefined;\n};\ntype InternalSourcePos = SourcePos & { identifierNamePos: Pos };\n\ntype QueueItem = {\n char: number;\n repeat: number;\n line: number | undefined;\n column: number | undefined;\n identifierName: undefined; // Not used, it always undefined.\n identifierNamePos: undefined; // Not used, it always undefined.\n filename: string | undefined;\n};\n\nexport default class Buffer {\n constructor(map: SourceMap | null, indentChar: string) {\n this._map = map;\n this._indentChar = indentChar;\n\n for (let i = 0; i < 64; i++) {\n this._fastIndentations.push(indentChar.repeat(i));\n }\n\n this._allocQueue();\n }\n\n _map: SourceMap = null;\n _buf = \"\";\n _str = \"\";\n _appendCount = 0;\n _last = 0;\n _queue: QueueItem[] = [];\n _queueCursor = 0;\n _canMarkIdName = true;\n _indentChar = \"\";\n _fastIndentations: string[] = [];\n\n _position = {\n line: 1,\n column: 0,\n };\n _sourcePosition: InternalSourcePos = {\n identifierName: undefined,\n identifierNamePos: undefined,\n line: undefined,\n column: undefined,\n filename: undefined,\n };\n\n _allocQueue() {\n const queue = this._queue;\n\n for (let i = 0; i < 16; i++) {\n queue.push({\n char: 0,\n repeat: 1,\n line: undefined,\n column: undefined,\n identifierName: undefined,\n identifierNamePos: undefined,\n filename: \"\",\n });\n }\n }\n\n _pushQueue(\n char: number,\n repeat: number,\n line: number | undefined,\n column: number | undefined,\n filename: string | undefined,\n ) {\n const cursor = this._queueCursor;\n if (cursor === this._queue.length) {\n this._allocQueue();\n }\n const item = this._queue[cursor];\n item.char = char;\n item.repeat = repeat;\n item.line = line;\n item.column = column;\n item.filename = filename;\n\n this._queueCursor++;\n }\n\n _popQueue(): QueueItem {\n if (this._queueCursor === 0) {\n throw new Error(\"Cannot pop from empty queue\");\n }\n return this._queue[--this._queueCursor];\n }\n\n /**\n * Get the final string output from the buffer, along with the sourcemap if one exists.\n */\n\n get() {\n this._flush();\n\n const map = this._map;\n const result = {\n // Whatever trim is used here should not execute a regex against the\n // source string since it may be arbitrarily large after all transformations\n code: (this._buf + this._str).trimRight(),\n // Decoded sourcemap is free to generate.\n decodedMap: map?.getDecoded(),\n // Used as a marker for backwards compatibility. We moved input map merging\n // into the generator. We cannot merge the input map a second time, so the\n // presence of this field tells us we've already done the work.\n get __mergedMap() {\n return this.map;\n },\n // Encoding the sourcemap is moderately CPU expensive.\n get map() {\n const resultMap = map ? map.get() : null;\n result.map = resultMap;\n return resultMap;\n },\n set map(value) {\n Object.defineProperty(result, \"map\", { value, writable: true });\n },\n // Retrieving the raw mappings is very memory intensive.\n get rawMappings() {\n const mappings = map?.getRawMappings();\n result.rawMappings = mappings;\n return mappings;\n },\n set rawMappings(value) {\n Object.defineProperty(result, \"rawMappings\", { value, writable: true });\n },\n };\n\n return result;\n }\n\n /**\n * Add a string to the buffer that cannot be reverted.\n */\n\n append(str: string, maybeNewline: boolean): void {\n this._flush();\n\n this._append(str, this._sourcePosition, maybeNewline);\n }\n\n appendChar(char: number): void {\n this._flush();\n this._appendChar(char, 1, this._sourcePosition);\n }\n\n /**\n * Add a string to the buffer than can be reverted.\n */\n queue(char: number): void {\n // Drop trailing spaces when a newline is inserted.\n if (char === charcodes.lineFeed) {\n while (this._queueCursor !== 0) {\n const char = this._queue[this._queueCursor - 1].char;\n if (char !== charcodes.space && char !== charcodes.tab) {\n break;\n }\n\n this._queueCursor--;\n }\n }\n\n const sourcePosition = this._sourcePosition;\n this._pushQueue(\n char,\n 1,\n sourcePosition.line,\n sourcePosition.column,\n sourcePosition.filename,\n );\n }\n\n /**\n * Same as queue, but this indentation will never have a sourcemap marker.\n */\n queueIndentation(repeat: number): void {\n if (repeat === 0) return;\n this._pushQueue(-1, repeat, undefined, undefined, undefined);\n }\n\n _flush(): void {\n const queueCursor = this._queueCursor;\n const queue = this._queue;\n for (let i = 0; i < queueCursor; i++) {\n const item: QueueItem = queue[i];\n this._appendChar(item.char, item.repeat, item);\n }\n this._queueCursor = 0;\n }\n\n _appendChar(\n char: number,\n repeat: number,\n sourcePos: InternalSourcePos,\n ): void {\n this._last = char;\n\n if (char === -1) {\n const fastIndentation = this._fastIndentations[repeat];\n if (fastIndentation !== undefined) {\n this._str += fastIndentation;\n } else {\n this._str +=\n repeat > 1 ? this._indentChar.repeat(repeat) : this._indentChar;\n }\n } else {\n this._str +=\n repeat > 1\n ? String.fromCharCode(char).repeat(repeat)\n : String.fromCharCode(char);\n }\n\n if (char !== charcodes.lineFeed) {\n this._mark(\n sourcePos.line,\n sourcePos.column,\n sourcePos.identifierName,\n sourcePos.identifierNamePos,\n sourcePos.filename,\n );\n this._position.column += repeat;\n } else {\n this._position.line++;\n this._position.column = 0;\n }\n\n if (this._canMarkIdName) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n }\n\n _append(\n str: string,\n sourcePos: InternalSourcePos,\n maybeNewline: boolean,\n ): void {\n const len = str.length;\n const position = this._position;\n\n this._last = str.charCodeAt(len - 1);\n\n if (++this._appendCount > 4096) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n +this._str; // Unexplainable huge performance boost. Ref: https://github.com/davidmarkclements/flatstr License: MIT\n this._buf += this._str;\n this._str = str;\n this._appendCount = 0;\n } else {\n this._str += str;\n }\n\n if (!maybeNewline && !this._map) {\n position.column += len;\n return;\n }\n\n const { column, identifierName, identifierNamePos, filename } = sourcePos;\n let line = sourcePos.line;\n\n if (\n (identifierName != null || identifierNamePos != null) &&\n this._canMarkIdName\n ) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n\n // Search for newline chars. We search only for `\\n`, since both `\\r` and\n // `\\r\\n` are normalized to `\\n` during parse. We exclude `\\u2028` and\n // `\\u2029` for performance reasons, they're so uncommon that it's probably\n // ok. It's also unclear how other sourcemap utilities handle them...\n let i = str.indexOf(\"\\n\");\n let last = 0;\n\n // If the string starts with a newline char, then adding a mark is redundant.\n // This catches both \"no newlines\" and \"newline after several chars\".\n if (i !== 0) {\n this._mark(line, column, identifierName, identifierNamePos, filename);\n }\n\n // Now, find each remaining newline char in the string.\n while (i !== -1) {\n position.line++;\n position.column = 0;\n last = i + 1;\n\n // We mark the start of each line, which happens directly after this newline char\n // unless this is the last char.\n // When manually adding multi-line content (such as a comment), `line` will be `undefined`.\n if (last < len && line !== undefined) {\n this._mark(++line, 0, null, null, filename);\n }\n i = str.indexOf(\"\\n\", last);\n }\n position.column += len - last;\n }\n\n _mark(\n line: number | undefined,\n column: number | undefined,\n identifierName: string | undefined,\n identifierNamePos: Pos | undefined,\n filename: string | undefined,\n ): void {\n this._map?.mark(\n this._position,\n line,\n column,\n identifierName,\n identifierNamePos,\n filename,\n );\n }\n\n removeTrailingNewline(): void {\n const queueCursor = this._queueCursor;\n if (\n queueCursor !== 0 &&\n this._queue[queueCursor - 1].char === charcodes.lineFeed\n ) {\n this._queueCursor--;\n }\n }\n\n removeLastSemicolon(): void {\n const queueCursor = this._queueCursor;\n if (\n queueCursor !== 0 &&\n this._queue[queueCursor - 1].char === charcodes.semicolon\n ) {\n this._queueCursor--;\n }\n }\n\n getLastChar(): number {\n const queueCursor = this._queueCursor;\n return queueCursor !== 0 ? this._queue[queueCursor - 1].char : this._last;\n }\n\n /**\n * This will only detect at most 1 newline after a call to `flush()`,\n * but this has not been found so far, and an accurate count can be achieved if needed later.\n */\n getNewlineCount(): number {\n const queueCursor = this._queueCursor;\n let count = 0;\n if (queueCursor === 0) return this._last === charcodes.lineFeed ? 1 : 0;\n for (let i = queueCursor - 1; i >= 0; i--) {\n if (this._queue[i].char !== charcodes.lineFeed) {\n break;\n }\n count++;\n }\n return count === queueCursor && this._last === charcodes.lineFeed\n ? count + 1\n : count;\n }\n\n /**\n * check if current _last + queue ends with newline, return the character before newline\n */\n endsWithCharAndNewline(): number {\n const queue = this._queue;\n const queueCursor = this._queueCursor;\n if (queueCursor !== 0) {\n // every element in queue is one-length whitespace string\n const lastCp = queue[queueCursor - 1].char;\n if (lastCp !== charcodes.lineFeed) return;\n if (queueCursor > 1) {\n return queue[queueCursor - 2].char;\n } else {\n return this._last;\n }\n }\n // We assume that everything being matched is at most a single token plus some whitespace,\n // which everything currently is, but otherwise we'd have to expand _last or check _buf.\n }\n\n hasContent(): boolean {\n return this._queueCursor !== 0 || !!this._last;\n }\n\n /**\n * Certain sourcemap usecases expect mappings to be more accurate than\n * Babel's generic sourcemap handling allows. For now, we special-case\n * identifiers to allow for the primary cases to work.\n * The goal of this line is to ensure that the map output from Babel will\n * have an exact range on identifiers in the output code. Without this\n * line, Babel would potentially include some number of trailing tokens\n * that are printed after the identifier, but before another location has\n * been assigned.\n * This allows tooling like Rollup and Webpack to more accurately perform\n * their own transformations. Most importantly, this allows the import/export\n * transformations performed by those tools to loose less information when\n * applying their own transformations on top of the code and map results\n * generated by Babel itself.\n *\n * The primary example of this is the snippet:\n *\n * import mod from \"mod\";\n * mod();\n *\n * With this line, there will be one mapping range over \"mod\" and another\n * over \"();\", where previously it would have been a single mapping.\n */\n exactSource(loc: Loc | undefined, cb: () => void) {\n if (!this._map) {\n cb();\n return;\n }\n\n this.source(\"start\", loc);\n // @ts-expect-error identifierName is not defined\n const identifierName = loc.identifierName;\n const sourcePos = this._sourcePosition;\n if (identifierName) {\n this._canMarkIdName = false;\n sourcePos.identifierName = identifierName;\n }\n cb();\n\n if (identifierName) {\n this._canMarkIdName = true;\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n this.source(\"end\", loc);\n }\n\n /**\n * Sets a given position as the current source location so generated code after this call\n * will be given this position in the sourcemap.\n */\n\n source(prop: \"start\" | \"end\", loc: Loc | undefined): void {\n if (!this._map) return;\n\n // Since this is called extremely often, we reuse the same _sourcePosition\n // object for the whole lifetime of the buffer.\n this._normalizePosition(prop, loc, 0);\n }\n\n sourceWithOffset(\n prop: \"start\" | \"end\",\n loc: Loc | undefined,\n columnOffset: number,\n ): void {\n if (!this._map) return;\n\n this._normalizePosition(prop, loc, columnOffset);\n }\n\n _normalizePosition(prop: \"start\" | \"end\", loc: Loc, columnOffset: number) {\n const pos = loc[prop];\n const target = this._sourcePosition;\n\n if (pos) {\n target.line = pos.line;\n // TODO: Fix https://github.com/babel/babel/issues/15712 in downstream\n target.column = Math.max(pos.column + columnOffset, 0);\n target.filename = loc.filename;\n }\n }\n\n getCurrentColumn(): number {\n const queue = this._queue;\n const queueCursor = this._queueCursor;\n\n let lastIndex = -1;\n let len = 0;\n for (let i = 0; i < queueCursor; i++) {\n const item = queue[i];\n if (item.char === charcodes.lineFeed) {\n lastIndex = len;\n }\n len += item.repeat;\n }\n\n return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex;\n }\n\n getCurrentLine(): number {\n let count = 0;\n\n const queue = this._queue;\n for (let i = 0; i < this._queueCursor; i++) {\n if (queue[i].char === charcodes.lineFeed) {\n count++;\n }\n }\n\n return this._position.line + count;\n }\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/base.js b/node_modules/@babel/generator/lib/generators/base.js
new file mode 100644
index 00000000..eca90770
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/base.js
@@ -0,0 +1,87 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.BlockStatement = BlockStatement;
+exports.Directive = Directive;
+exports.DirectiveLiteral = DirectiveLiteral;
+exports.File = File;
+exports.InterpreterDirective = InterpreterDirective;
+exports.Placeholder = Placeholder;
+exports.Program = Program;
+function File(node) {
+ if (node.program) {
+ this.print(node.program.interpreter);
+ }
+ this.print(node.program);
+}
+function Program(node) {
+ var _node$directives;
+ this.noIndentInnerCommentsHere();
+ this.printInnerComments();
+ const directivesLen = (_node$directives = node.directives) == null ? void 0 : _node$directives.length;
+ if (directivesLen) {
+ var _node$directives$trai;
+ const newline = node.body.length ? 2 : 1;
+ this.printSequence(node.directives, undefined, newline);
+ if (!((_node$directives$trai = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai.length)) {
+ this.newline(newline);
+ }
+ }
+ this.printSequence(node.body);
+}
+function BlockStatement(node) {
+ var _node$directives2;
+ this.tokenChar(123);
+ const exit = this.enterDelimited();
+ const directivesLen = (_node$directives2 = node.directives) == null ? void 0 : _node$directives2.length;
+ if (directivesLen) {
+ var _node$directives$trai2;
+ const newline = node.body.length ? 2 : 1;
+ this.printSequence(node.directives, true, newline);
+ if (!((_node$directives$trai2 = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai2.length)) {
+ this.newline(newline);
+ }
+ }
+ this.printSequence(node.body, true);
+ exit();
+ this.rightBrace(node);
+}
+function Directive(node) {
+ this.print(node.value);
+ this.semicolon();
+}
+const unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/;
+const unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/;
+function DirectiveLiteral(node) {
+ const raw = this.getPossibleRaw(node);
+ if (!this.format.minified && raw !== undefined) {
+ this.token(raw);
+ return;
+ }
+ const {
+ value
+ } = node;
+ if (!unescapedDoubleQuoteRE.test(value)) {
+ this.token(`"${value}"`);
+ } else if (!unescapedSingleQuoteRE.test(value)) {
+ this.token(`'${value}'`);
+ } else {
+ throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes.");
+ }
+}
+function InterpreterDirective(node) {
+ this.token(`#!${node.value}`);
+ this.newline(1, true);
+}
+function Placeholder(node) {
+ this.token("%%");
+ this.print(node.name);
+ this.token("%%");
+ if (node.expectedNode === "Statement") {
+ this.semicolon();
+ }
+}
+
+//# sourceMappingURL=base.js.map
diff --git a/node_modules/@babel/generator/lib/generators/base.js.map b/node_modules/@babel/generator/lib/generators/base.js.map
new file mode 100644
index 00000000..c40d63c5
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/base.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["File","node","program","print","interpreter","Program","_node$directives","noIndentInnerCommentsHere","printInnerComments","directivesLen","directives","length","_node$directives$trai","newline","body","printSequence","undefined","trailingComments","BlockStatement","_node$directives2","token","exit","enterDelimited","_node$directives$trai2","rightBrace","Directive","value","semicolon","unescapedSingleQuoteRE","unescapedDoubleQuoteRE","DirectiveLiteral","raw","getPossibleRaw","format","minified","test","Error","InterpreterDirective","Placeholder","name","expectedNode"],"sources":["../../src/generators/base.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\n\nexport function File(this: Printer, node: t.File) {\n if (node.program) {\n // Print this here to ensure that Program node 'leadingComments' still\n // get printed after the hashbang.\n this.print(node.program.interpreter);\n }\n\n this.print(node.program);\n}\n\nexport function Program(this: Printer, node: t.Program) {\n // An empty Program doesn't have any inner tokens, so\n // we must explicitly print its inner comments.\n this.noIndentInnerCommentsHere();\n this.printInnerComments();\n\n const directivesLen = node.directives?.length;\n if (directivesLen) {\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, undefined, newline);\n if (!node.directives[directivesLen - 1].trailingComments?.length) {\n this.newline(newline);\n }\n }\n\n this.printSequence(node.body);\n}\n\nexport function BlockStatement(this: Printer, node: t.BlockStatement) {\n this.token(\"{\");\n const exit = this.enterDelimited();\n\n const directivesLen = node.directives?.length;\n if (directivesLen) {\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, true, newline);\n if (!node.directives[directivesLen - 1].trailingComments?.length) {\n this.newline(newline);\n }\n }\n\n this.printSequence(node.body, true);\n\n exit();\n this.rightBrace(node);\n}\n\nexport function Directive(this: Printer, node: t.Directive) {\n this.print(node.value);\n this.semicolon();\n}\n\n// These regexes match an even number of \\ followed by a quote\nconst unescapedSingleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*'/;\nconst unescapedDoubleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*\"/;\n\nexport function DirectiveLiteral(this: Printer, node: t.DirectiveLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n\n const { value } = node;\n\n // NOTE: In directives we can't change escapings,\n // because they change the behavior.\n // e.g. \"us\\x65 strict\" (\\x65 is e) is not a \"use strict\" directive.\n\n if (!unescapedDoubleQuoteRE.test(value)) {\n this.token(`\"${value}\"`);\n } else if (!unescapedSingleQuoteRE.test(value)) {\n this.token(`'${value}'`);\n } else {\n throw new Error(\n \"Malformed AST: it is not possible to print a directive containing\" +\n \" both unescaped single and double quotes.\",\n );\n }\n}\n\nexport function InterpreterDirective(\n this: Printer,\n node: t.InterpreterDirective,\n) {\n this.token(`#!${node.value}`);\n this.newline(1, true);\n}\n\nexport function Placeholder(this: Printer, node: t.Placeholder) {\n this.token(\"%%\");\n this.print(node.name);\n this.token(\"%%\");\n\n if (node.expectedNode === \"Statement\") {\n this.semicolon();\n }\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/classes.js b/node_modules/@babel/generator/lib/generators/classes.js
new file mode 100644
index 00000000..6cdc9754
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/classes.js
@@ -0,0 +1,212 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.ClassAccessorProperty = ClassAccessorProperty;
+exports.ClassBody = ClassBody;
+exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration;
+exports.ClassMethod = ClassMethod;
+exports.ClassPrivateMethod = ClassPrivateMethod;
+exports.ClassPrivateProperty = ClassPrivateProperty;
+exports.ClassProperty = ClassProperty;
+exports.StaticBlock = StaticBlock;
+exports._classMethodHead = _classMethodHead;
+var _t = require("@babel/types");
+const {
+ isExportDefaultDeclaration,
+ isExportNamedDeclaration
+} = _t;
+function ClassDeclaration(node, parent) {
+ const inExport = isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent);
+ if (!inExport || !this._shouldPrintDecoratorsBeforeExport(parent)) {
+ this.printJoin(node.decorators);
+ }
+ if (node.declare) {
+ this.word("declare");
+ this.space();
+ }
+ if (node.abstract) {
+ this.word("abstract");
+ this.space();
+ }
+ this.word("class");
+ if (node.id) {
+ this.space();
+ this.print(node.id);
+ }
+ this.print(node.typeParameters);
+ if (node.superClass) {
+ this.space();
+ this.word("extends");
+ this.space();
+ this.print(node.superClass);
+ this.print(node.superTypeParameters);
+ }
+ if (node.implements) {
+ this.space();
+ this.word("implements");
+ this.space();
+ this.printList(node.implements);
+ }
+ this.space();
+ this.print(node.body);
+}
+function ClassBody(node) {
+ this.tokenChar(123);
+ if (node.body.length === 0) {
+ this.tokenChar(125);
+ } else {
+ this.newline();
+ const separator = classBodyEmptySemicolonsPrinter(this, node);
+ separator == null || separator(-1);
+ const exit = this.enterDelimited();
+ this.printJoin(node.body, true, true, separator, true);
+ exit();
+ if (!this.endsWith(10)) this.newline();
+ this.rightBrace(node);
+ }
+}
+function classBodyEmptySemicolonsPrinter(printer, node) {
+ if (!printer.tokenMap || node.start == null || node.end == null) {
+ return null;
+ }
+ const indexes = printer.tokenMap.getIndexes(node);
+ if (!indexes) return null;
+ let k = 1;
+ let occurrenceCount = 0;
+ let nextLocIndex = 0;
+ const advanceNextLocIndex = () => {
+ while (nextLocIndex < node.body.length && node.body[nextLocIndex].start == null) {
+ nextLocIndex++;
+ }
+ };
+ advanceNextLocIndex();
+ return i => {
+ if (nextLocIndex <= i) {
+ nextLocIndex = i + 1;
+ advanceNextLocIndex();
+ }
+ const end = nextLocIndex === node.body.length ? node.end : node.body[nextLocIndex].start;
+ let tok;
+ while (k < indexes.length && printer.tokenMap.matchesOriginal(tok = printer._tokens[indexes[k]], ";") && tok.start < end) {
+ printer.token(";", undefined, occurrenceCount++);
+ k++;
+ }
+ };
+}
+function ClassProperty(node) {
+ this.printJoin(node.decorators);
+ if (!node.static && !this.format.preserveFormat) {
+ var _node$key$loc;
+ const endLine = (_node$key$loc = node.key.loc) == null || (_node$key$loc = _node$key$loc.end) == null ? void 0 : _node$key$loc.line;
+ if (endLine) this.catchUp(endLine);
+ }
+ this.tsPrintClassMemberModifiers(node);
+ if (node.computed) {
+ this.tokenChar(91);
+ this.print(node.key);
+ this.tokenChar(93);
+ } else {
+ this._variance(node);
+ this.print(node.key);
+ }
+ if (node.optional) {
+ this.tokenChar(63);
+ }
+ if (node.definite) {
+ this.tokenChar(33);
+ }
+ this.print(node.typeAnnotation);
+ if (node.value) {
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.value);
+ }
+ this.semicolon();
+}
+function ClassAccessorProperty(node) {
+ var _node$key$loc2;
+ this.printJoin(node.decorators);
+ const endLine = (_node$key$loc2 = node.key.loc) == null || (_node$key$loc2 = _node$key$loc2.end) == null ? void 0 : _node$key$loc2.line;
+ if (endLine) this.catchUp(endLine);
+ this.tsPrintClassMemberModifiers(node);
+ this.word("accessor", true);
+ this.space();
+ if (node.computed) {
+ this.tokenChar(91);
+ this.print(node.key);
+ this.tokenChar(93);
+ } else {
+ this._variance(node);
+ this.print(node.key);
+ }
+ if (node.optional) {
+ this.tokenChar(63);
+ }
+ if (node.definite) {
+ this.tokenChar(33);
+ }
+ this.print(node.typeAnnotation);
+ if (node.value) {
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.value);
+ }
+ this.semicolon();
+}
+function ClassPrivateProperty(node) {
+ this.printJoin(node.decorators);
+ this.tsPrintClassMemberModifiers(node);
+ this.print(node.key);
+ if (node.optional) {
+ this.tokenChar(63);
+ }
+ if (node.definite) {
+ this.tokenChar(33);
+ }
+ this.print(node.typeAnnotation);
+ if (node.value) {
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.value);
+ }
+ this.semicolon();
+}
+function ClassMethod(node) {
+ this._classMethodHead(node);
+ this.space();
+ this.print(node.body);
+}
+function ClassPrivateMethod(node) {
+ this._classMethodHead(node);
+ this.space();
+ this.print(node.body);
+}
+function _classMethodHead(node) {
+ this.printJoin(node.decorators);
+ if (!this.format.preserveFormat) {
+ var _node$key$loc3;
+ const endLine = (_node$key$loc3 = node.key.loc) == null || (_node$key$loc3 = _node$key$loc3.end) == null ? void 0 : _node$key$loc3.line;
+ if (endLine) this.catchUp(endLine);
+ }
+ this.tsPrintClassMemberModifiers(node);
+ this._methodHead(node);
+}
+function StaticBlock(node) {
+ this.word("static");
+ this.space();
+ this.tokenChar(123);
+ if (node.body.length === 0) {
+ this.tokenChar(125);
+ } else {
+ this.newline();
+ this.printSequence(node.body, true);
+ this.rightBrace(node);
+ }
+}
+
+//# sourceMappingURL=classes.js.map
diff --git a/node_modules/@babel/generator/lib/generators/classes.js.map b/node_modules/@babel/generator/lib/generators/classes.js.map
new file mode 100644
index 00000000..8eea53ae
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/classes.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","isExportDefaultDeclaration","isExportNamedDeclaration","ClassDeclaration","node","parent","inExport","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","declare","word","space","abstract","id","print","typeParameters","superClass","superTypeParameters","implements","printList","body","ClassBody","token","length","newline","separator","classBodyEmptySemicolonsPrinter","exit","enterDelimited","endsWith","rightBrace","printer","tokenMap","start","end","indexes","getIndexes","k","occurrenceCount","nextLocIndex","advanceNextLocIndex","i","tok","matchesOriginal","_tokens","undefined","ClassProperty","static","format","preserveFormat","_node$key$loc","endLine","key","loc","line","catchUp","tsPrintClassMemberModifiers","computed","_variance","optional","definite","typeAnnotation","value","semicolon","ClassAccessorProperty","_node$key$loc2","ClassPrivateProperty","ClassMethod","_classMethodHead","ClassPrivateMethod","_node$key$loc3","_methodHead","StaticBlock","printSequence"],"sources":["../../src/generators/classes.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport {\n isExportDefaultDeclaration,\n isExportNamedDeclaration,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\nexport function ClassDeclaration(\n this: Printer,\n node: t.ClassDeclaration,\n parent: t.Node,\n) {\n const inExport =\n isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent);\n\n if (\n !inExport ||\n !this._shouldPrintDecoratorsBeforeExport(\n parent as t.ExportDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n this.printJoin(node.decorators);\n }\n\n if (node.declare) {\n // TS\n this.word(\"declare\");\n this.space();\n }\n\n if (node.abstract) {\n // TS\n this.word(\"abstract\");\n this.space();\n }\n\n this.word(\"class\");\n\n if (node.id) {\n this.space();\n this.print(node.id);\n }\n\n this.print(node.typeParameters);\n\n if (node.superClass) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.superClass);\n this.print(\n process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Renamed\n node.superTypeArguments\n : // @ts-ignore(Babel 7 vs Babel 8) Renamed\n node.superTypeParameters,\n );\n }\n\n if (node.implements) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements);\n }\n\n this.space();\n this.print(node.body);\n}\n\nexport { ClassDeclaration as ClassExpression };\n\nexport function ClassBody(this: Printer, node: t.ClassBody) {\n this.token(\"{\");\n if (node.body.length === 0) {\n this.token(\"}\");\n } else {\n this.newline();\n\n const separator = classBodyEmptySemicolonsPrinter(this, node);\n separator?.(-1); // print leading semicolons in preserveFormat mode\n\n const exit = this.enterDelimited();\n this.printJoin(node.body, true, true, separator, true);\n exit();\n\n if (!this.endsWith(charCodes.lineFeed)) this.newline();\n\n this.rightBrace(node);\n }\n}\n\nfunction classBodyEmptySemicolonsPrinter(printer: Printer, node: t.ClassBody) {\n if (!printer.tokenMap || node.start == null || node.end == null) {\n return null;\n }\n\n // \"empty statements\" in class bodies are not represented in the AST.\n // Print them by checking if there are any ; tokens between the current AST\n // member and the next one.\n\n const indexes = printer.tokenMap.getIndexes(node);\n if (!indexes) return null;\n\n let k = 1; // start from 1 to skip '{'\n\n let occurrenceCount = 0;\n\n let nextLocIndex = 0;\n const advanceNextLocIndex = () => {\n while (\n nextLocIndex < node.body.length &&\n node.body[nextLocIndex].start == null\n ) {\n nextLocIndex++;\n }\n };\n advanceNextLocIndex();\n\n return (i: number) => {\n if (nextLocIndex <= i) {\n nextLocIndex = i + 1;\n advanceNextLocIndex();\n }\n\n const end =\n nextLocIndex === node.body.length\n ? node.end\n : node.body[nextLocIndex].start;\n\n let tok;\n while (\n k < indexes.length &&\n printer.tokenMap.matchesOriginal(\n (tok = printer._tokens[indexes[k]]),\n \";\",\n ) &&\n tok.start < end\n ) {\n printer.token(\";\", undefined, occurrenceCount++);\n k++;\n }\n };\n}\n\nexport function ClassProperty(this: Printer, node: t.ClassProperty) {\n this.printJoin(node.decorators);\n\n if (!node.static && !this.format.preserveFormat) {\n // catch up to property key, avoid line break\n // between member TS modifiers and the property key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n }\n\n this.tsPrintClassMemberModifiers(node);\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key);\n this.token(\"]\");\n } else {\n this._variance(node);\n this.print(node.key);\n }\n\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\n\nexport function ClassAccessorProperty(\n this: Printer,\n node: t.ClassAccessorProperty,\n) {\n this.printJoin(node.decorators);\n\n // catch up to property key, avoid line break\n // between member modifiers and the property key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n\n // TS does not support class accessor property yet\n this.tsPrintClassMemberModifiers(node);\n\n this.word(\"accessor\", true);\n this.space();\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key);\n this.token(\"]\");\n } else {\n // Todo: Flow does not support class accessor property yet.\n this._variance(node);\n this.print(node.key);\n }\n\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\n\nexport function ClassPrivateProperty(\n this: Printer,\n node: t.ClassPrivateProperty,\n) {\n this.printJoin(node.decorators);\n this.tsPrintClassMemberModifiers(node);\n this.print(node.key);\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\n\nexport function ClassMethod(this: Printer, node: t.ClassMethod) {\n this._classMethodHead(node);\n this.space();\n this.print(node.body);\n}\n\nexport function ClassPrivateMethod(this: Printer, node: t.ClassPrivateMethod) {\n this._classMethodHead(node);\n this.space();\n this.print(node.body);\n}\n\nexport function _classMethodHead(\n this: Printer,\n node: t.ClassMethod | t.ClassPrivateMethod | t.TSDeclareMethod,\n) {\n this.printJoin(node.decorators);\n\n if (!this.format.preserveFormat) {\n // catch up to method key, avoid line break\n // between member modifiers/method heads and the method key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n }\n\n this.tsPrintClassMemberModifiers(node);\n this._methodHead(node);\n}\n\nexport function StaticBlock(this: Printer, node: t.StaticBlock) {\n this.word(\"static\");\n this.space();\n this.token(\"{\");\n if (node.body.length === 0) {\n this.token(\"}\");\n } else {\n this.newline();\n this.printSequence(node.body, true);\n this.rightBrace(node);\n }\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/deprecated.js b/node_modules/@babel/generator/lib/generators/deprecated.js
new file mode 100644
index 00000000..fc02bf96
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/deprecated.js
@@ -0,0 +1,28 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.addDeprecatedGenerators = addDeprecatedGenerators;
+function addDeprecatedGenerators(PrinterClass) {
+ {
+ const deprecatedBabel7Generators = {
+ Noop() {},
+ TSExpressionWithTypeArguments(node) {
+ this.print(node.expression);
+ this.print(node.typeParameters);
+ },
+ DecimalLiteral(node) {
+ const raw = this.getPossibleRaw(node);
+ if (!this.format.minified && raw !== undefined) {
+ this.word(raw);
+ return;
+ }
+ this.word(node.value + "m");
+ }
+ };
+ Object.assign(PrinterClass.prototype, deprecatedBabel7Generators);
+ }
+}
+
+//# sourceMappingURL=deprecated.js.map
diff --git a/node_modules/@babel/generator/lib/generators/deprecated.js.map b/node_modules/@babel/generator/lib/generators/deprecated.js.map
new file mode 100644
index 00000000..73275264
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/deprecated.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["addDeprecatedGenerators","PrinterClass","deprecatedBabel7Generators","Noop","TSExpressionWithTypeArguments","node","print","expression","typeParameters","DecimalLiteral","raw","getPossibleRaw","format","minified","undefined","word","value","Object","assign","prototype"],"sources":["../../src/generators/deprecated.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\n\nexport type DeprecatedBabel7ASTTypes =\n | \"Noop\"\n | \"TSExpressionWithTypeArguments\"\n | \"DecimalLiteral\";\n\nexport function addDeprecatedGenerators(PrinterClass: typeof Printer) {\n // Add Babel 7 generator methods that is removed in Babel 8\n if (!process.env.BABEL_8_BREAKING) {\n const deprecatedBabel7Generators = {\n Noop(this: Printer) {},\n\n TSExpressionWithTypeArguments(\n this: Printer,\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n node: t.TSExpressionWithTypeArguments,\n ) {\n this.print(node.expression);\n this.print(node.typeParameters);\n },\n\n DecimalLiteral(this: Printer, node: any) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"m\");\n },\n } satisfies Record<\n DeprecatedBabel7ASTTypes,\n (this: Printer, node: any) => void\n >;\n Object.assign(PrinterClass.prototype, deprecatedBabel7Generators);\n }\n}\n"],"mappings":";;;;;;AAQO,SAASA,uBAAuBA,CAACC,YAA4B,EAAE;EAEjC;IACjC,MAAMC,0BAA0B,GAAG;MACjCC,IAAIA,CAAA,EAAgB,CAAC,CAAC;MAEtBC,6BAA6BA,CAG3BC,IAAqC,EACrC;QACA,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,UAAU,CAAC;QAC3B,IAAI,CAACD,KAAK,CAACD,IAAI,CAACG,cAAc,CAAC;MACjC,CAAC;MAEDC,cAAcA,CAAgBJ,IAAS,EAAE;QACvC,MAAMK,GAAG,GAAG,IAAI,CAACC,cAAc,CAACN,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,CAACO,MAAM,CAACC,QAAQ,IAAIH,GAAG,KAAKI,SAAS,EAAE;UAC9C,IAAI,CAACC,IAAI,CAACL,GAAG,CAAC;UACd;QACF;QACA,IAAI,CAACK,IAAI,CAACV,IAAI,CAACW,KAAK,GAAG,GAAG,CAAC;MAC7B;IACF,CAGC;IACDC,MAAM,CAACC,MAAM,CAACjB,YAAY,CAACkB,SAAS,EAAEjB,0BAA0B,CAAC;EACnE;AACF","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/expressions.js b/node_modules/@babel/generator/lib/generators/expressions.js
new file mode 100644
index 00000000..b113ef79
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/expressions.js
@@ -0,0 +1,300 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression;
+exports.AssignmentPattern = AssignmentPattern;
+exports.AwaitExpression = AwaitExpression;
+exports.BindExpression = BindExpression;
+exports.CallExpression = CallExpression;
+exports.ConditionalExpression = ConditionalExpression;
+exports.Decorator = Decorator;
+exports.DoExpression = DoExpression;
+exports.EmptyStatement = EmptyStatement;
+exports.ExpressionStatement = ExpressionStatement;
+exports.Import = Import;
+exports.MemberExpression = MemberExpression;
+exports.MetaProperty = MetaProperty;
+exports.ModuleExpression = ModuleExpression;
+exports.NewExpression = NewExpression;
+exports.OptionalCallExpression = OptionalCallExpression;
+exports.OptionalMemberExpression = OptionalMemberExpression;
+exports.ParenthesizedExpression = ParenthesizedExpression;
+exports.PrivateName = PrivateName;
+exports.SequenceExpression = SequenceExpression;
+exports.Super = Super;
+exports.ThisExpression = ThisExpression;
+exports.UnaryExpression = UnaryExpression;
+exports.UpdateExpression = UpdateExpression;
+exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier;
+exports.YieldExpression = YieldExpression;
+exports._shouldPrintDecoratorsBeforeExport = _shouldPrintDecoratorsBeforeExport;
+var _t = require("@babel/types");
+var _index = require("../node/index.js");
+const {
+ isCallExpression,
+ isLiteral,
+ isMemberExpression,
+ isNewExpression,
+ isPattern
+} = _t;
+function UnaryExpression(node) {
+ const {
+ operator
+ } = node;
+ if (operator === "void" || operator === "delete" || operator === "typeof" || operator === "throw") {
+ this.word(operator);
+ this.space();
+ } else {
+ this.token(operator);
+ }
+ this.print(node.argument);
+}
+function DoExpression(node) {
+ if (node.async) {
+ this.word("async", true);
+ this.space();
+ }
+ this.word("do");
+ this.space();
+ this.print(node.body);
+}
+function ParenthesizedExpression(node) {
+ this.tokenChar(40);
+ const exit = this.enterDelimited();
+ this.print(node.expression);
+ exit();
+ this.rightParens(node);
+}
+function UpdateExpression(node) {
+ if (node.prefix) {
+ this.token(node.operator);
+ this.print(node.argument);
+ } else {
+ this.print(node.argument, true);
+ this.token(node.operator);
+ }
+}
+function ConditionalExpression(node) {
+ this.print(node.test);
+ this.space();
+ this.tokenChar(63);
+ this.space();
+ this.print(node.consequent);
+ this.space();
+ this.tokenChar(58);
+ this.space();
+ this.print(node.alternate);
+}
+function NewExpression(node, parent) {
+ this.word("new");
+ this.space();
+ this.print(node.callee);
+ if (this.format.minified && node.arguments.length === 0 && !node.optional && !isCallExpression(parent, {
+ callee: node
+ }) && !isMemberExpression(parent) && !isNewExpression(parent)) {
+ return;
+ }
+ this.print(node.typeArguments);
+ {
+ this.print(node.typeParameters);
+ }
+ if (node.optional) {
+ this.token("?.");
+ }
+ if (node.arguments.length === 0 && this.tokenMap && !this.tokenMap.endMatches(node, ")")) {
+ return;
+ }
+ this.tokenChar(40);
+ const exit = this.enterDelimited();
+ this.printList(node.arguments, this.shouldPrintTrailingComma(")"));
+ exit();
+ this.rightParens(node);
+}
+function SequenceExpression(node) {
+ this.printList(node.expressions);
+}
+function ThisExpression() {
+ this.word("this");
+}
+function Super() {
+ this.word("super");
+}
+function _shouldPrintDecoratorsBeforeExport(node) {
+ if (typeof this.format.decoratorsBeforeExport === "boolean") {
+ return this.format.decoratorsBeforeExport;
+ }
+ return typeof node.start === "number" && node.start === node.declaration.start;
+}
+function Decorator(node) {
+ this.tokenChar(64);
+ this.print(node.expression);
+ this.newline();
+}
+function OptionalMemberExpression(node) {
+ let {
+ computed
+ } = node;
+ const {
+ optional,
+ property
+ } = node;
+ this.print(node.object);
+ if (!computed && isMemberExpression(property)) {
+ throw new TypeError("Got a MemberExpression for MemberExpression property");
+ }
+ if (isLiteral(property) && typeof property.value === "number") {
+ computed = true;
+ }
+ if (optional) {
+ this.token("?.");
+ }
+ if (computed) {
+ this.tokenChar(91);
+ this.print(property);
+ this.tokenChar(93);
+ } else {
+ if (!optional) {
+ this.tokenChar(46);
+ }
+ this.print(property);
+ }
+}
+function OptionalCallExpression(node) {
+ this.print(node.callee);
+ {
+ this.print(node.typeParameters);
+ }
+ if (node.optional) {
+ this.token("?.");
+ }
+ this.print(node.typeArguments);
+ this.tokenChar(40);
+ const exit = this.enterDelimited();
+ this.printList(node.arguments);
+ exit();
+ this.rightParens(node);
+}
+function CallExpression(node) {
+ this.print(node.callee);
+ this.print(node.typeArguments);
+ {
+ this.print(node.typeParameters);
+ }
+ this.tokenChar(40);
+ const exit = this.enterDelimited();
+ this.printList(node.arguments, this.shouldPrintTrailingComma(")"));
+ exit();
+ this.rightParens(node);
+}
+function Import() {
+ this.word("import");
+}
+function AwaitExpression(node) {
+ this.word("await");
+ this.space();
+ this.print(node.argument);
+}
+function YieldExpression(node) {
+ if (node.delegate) {
+ this.word("yield", true);
+ this.tokenChar(42);
+ if (node.argument) {
+ this.space();
+ this.print(node.argument);
+ }
+ } else if (node.argument) {
+ this.word("yield", true);
+ this.space();
+ this.print(node.argument);
+ } else {
+ this.word("yield");
+ }
+}
+function EmptyStatement() {
+ this.semicolon(true);
+}
+function ExpressionStatement(node) {
+ this.tokenContext |= _index.TokenContext.expressionStatement;
+ this.print(node.expression);
+ this.semicolon();
+}
+function AssignmentPattern(node) {
+ this.print(node.left);
+ if (node.left.type === "Identifier" || isPattern(node.left)) {
+ if (node.left.optional) this.tokenChar(63);
+ this.print(node.left.typeAnnotation);
+ }
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.right);
+}
+function AssignmentExpression(node) {
+ this.print(node.left);
+ this.space();
+ if (node.operator === "in" || node.operator === "instanceof") {
+ this.word(node.operator);
+ } else {
+ this.token(node.operator);
+ this._endsWithDiv = node.operator === "/";
+ }
+ this.space();
+ this.print(node.right);
+}
+function BindExpression(node) {
+ this.print(node.object);
+ this.token("::");
+ this.print(node.callee);
+}
+function MemberExpression(node) {
+ this.print(node.object);
+ if (!node.computed && isMemberExpression(node.property)) {
+ throw new TypeError("Got a MemberExpression for MemberExpression property");
+ }
+ let computed = node.computed;
+ if (isLiteral(node.property) && typeof node.property.value === "number") {
+ computed = true;
+ }
+ if (computed) {
+ const exit = this.enterDelimited();
+ this.tokenChar(91);
+ this.print(node.property);
+ this.tokenChar(93);
+ exit();
+ } else {
+ this.tokenChar(46);
+ this.print(node.property);
+ }
+}
+function MetaProperty(node) {
+ this.print(node.meta);
+ this.tokenChar(46);
+ this.print(node.property);
+}
+function PrivateName(node) {
+ this.tokenChar(35);
+ this.print(node.id);
+}
+function V8IntrinsicIdentifier(node) {
+ this.tokenChar(37);
+ this.word(node.name);
+}
+function ModuleExpression(node) {
+ this.word("module", true);
+ this.space();
+ this.tokenChar(123);
+ this.indent();
+ const {
+ body
+ } = node;
+ if (body.body.length || body.directives.length) {
+ this.newline();
+ }
+ this.print(body);
+ this.dedent();
+ this.rightBrace(node);
+}
+
+//# sourceMappingURL=expressions.js.map
diff --git a/node_modules/@babel/generator/lib/generators/expressions.js.map b/node_modules/@babel/generator/lib/generators/expressions.js.map
new file mode 100644
index 00000000..69c8daaa
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/expressions.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","_index","isCallExpression","isLiteral","isMemberExpression","isNewExpression","isPattern","UnaryExpression","node","operator","word","space","token","print","argument","DoExpression","async","body","ParenthesizedExpression","exit","enterDelimited","expression","rightParens","UpdateExpression","prefix","ConditionalExpression","test","consequent","alternate","NewExpression","parent","callee","format","minified","arguments","length","optional","typeArguments","typeParameters","tokenMap","endMatches","printList","shouldPrintTrailingComma","SequenceExpression","expressions","ThisExpression","Super","_shouldPrintDecoratorsBeforeExport","decoratorsBeforeExport","start","declaration","Decorator","newline","OptionalMemberExpression","computed","property","object","TypeError","value","OptionalCallExpression","CallExpression","Import","AwaitExpression","YieldExpression","delegate","EmptyStatement","semicolon","ExpressionStatement","tokenContext","TokenContext","expressionStatement","AssignmentPattern","left","type","typeAnnotation","right","AssignmentExpression","_endsWithDiv","BindExpression","MemberExpression","MetaProperty","meta","PrivateName","id","V8IntrinsicIdentifier","name","ModuleExpression","indent","directives","dedent","rightBrace"],"sources":["../../src/generators/expressions.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport {\n isCallExpression,\n isLiteral,\n isMemberExpression,\n isNewExpression,\n isPattern,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { TokenContext } from \"../node/index.ts\";\n\nexport function UnaryExpression(this: Printer, node: t.UnaryExpression) {\n const { operator } = node;\n if (\n operator === \"void\" ||\n operator === \"delete\" ||\n operator === \"typeof\" ||\n // throwExpressions\n operator === \"throw\"\n ) {\n this.word(operator);\n this.space();\n } else {\n this.token(operator);\n }\n\n this.print(node.argument);\n}\n\nexport function DoExpression(this: Printer, node: t.DoExpression) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n this.word(\"do\");\n this.space();\n this.print(node.body);\n}\n\nexport function ParenthesizedExpression(\n this: Printer,\n node: t.ParenthesizedExpression,\n) {\n this.token(\"(\");\n const exit = this.enterDelimited();\n this.print(node.expression);\n exit();\n this.rightParens(node);\n}\n\nexport function UpdateExpression(this: Printer, node: t.UpdateExpression) {\n if (node.prefix) {\n this.token(node.operator);\n this.print(node.argument);\n } else {\n this.print(node.argument, true);\n this.token(node.operator);\n }\n}\n\nexport function ConditionalExpression(\n this: Printer,\n node: t.ConditionalExpression,\n) {\n this.print(node.test);\n this.space();\n this.token(\"?\");\n this.space();\n this.print(node.consequent);\n this.space();\n this.token(\":\");\n this.space();\n this.print(node.alternate);\n}\n\nexport function NewExpression(\n this: Printer,\n node: t.NewExpression,\n parent: t.Node,\n) {\n this.word(\"new\");\n this.space();\n this.print(node.callee);\n if (\n this.format.minified &&\n node.arguments.length === 0 &&\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n !node.optional &&\n !isCallExpression(parent, { callee: node }) &&\n !isMemberExpression(parent) &&\n !isNewExpression(parent)\n ) {\n return;\n }\n\n this.print(node.typeArguments);\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters); // Legacy TS AST\n }\n\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n if (node.optional) {\n // TODO: This can never happen\n this.token(\"?.\");\n }\n\n if (\n node.arguments.length === 0 &&\n this.tokenMap &&\n !this.tokenMap.endMatches(node, \")\")\n ) {\n return;\n }\n\n this.token(\"(\");\n const exit = this.enterDelimited();\n this.printList(node.arguments, this.shouldPrintTrailingComma(\")\"));\n exit();\n this.rightParens(node);\n}\n\nexport function SequenceExpression(this: Printer, node: t.SequenceExpression) {\n this.printList(node.expressions);\n}\n\nexport function ThisExpression(this: Printer) {\n this.word(\"this\");\n}\n\nexport function Super(this: Printer) {\n this.word(\"super\");\n}\n\nexport function _shouldPrintDecoratorsBeforeExport(\n this: Printer,\n node: t.ExportDeclaration & { declaration: t.ClassDeclaration },\n) {\n if (typeof this.format.decoratorsBeforeExport === \"boolean\") {\n return this.format.decoratorsBeforeExport;\n }\n return (\n typeof node.start === \"number\" && node.start === node.declaration.start\n );\n}\n\nexport function Decorator(this: Printer, node: t.Decorator) {\n this.token(\"@\");\n this.print(node.expression);\n this.newline();\n}\n\nexport function OptionalMemberExpression(\n this: Printer,\n node: t.OptionalMemberExpression,\n) {\n let { computed } = node;\n const { optional, property } = node;\n\n this.print(node.object);\n\n if (!computed && isMemberExpression(property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n\n // @ts-expect-error todo(flow->ts) maybe instead of typeof check specific literal types?\n if (isLiteral(property) && typeof property.value === \"number\") {\n computed = true;\n }\n if (optional) {\n this.token(\"?.\");\n }\n\n if (computed) {\n this.token(\"[\");\n this.print(property);\n this.token(\"]\");\n } else {\n if (!optional) {\n this.token(\".\");\n }\n this.print(property);\n }\n}\n\nexport function OptionalCallExpression(\n this: Printer,\n node: t.OptionalCallExpression,\n) {\n this.print(node.callee);\n\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters); // legacy TS AST\n }\n\n if (node.optional) {\n this.token(\"?.\");\n }\n\n this.print(node.typeArguments);\n\n this.token(\"(\");\n const exit = this.enterDelimited();\n this.printList(node.arguments);\n exit();\n this.rightParens(node);\n}\n\nexport function CallExpression(this: Printer, node: t.CallExpression) {\n this.print(node.callee);\n\n this.print(node.typeArguments);\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters); // legacy TS AST\n }\n this.token(\"(\");\n const exit = this.enterDelimited();\n this.printList(node.arguments, this.shouldPrintTrailingComma(\")\"));\n exit();\n this.rightParens(node);\n}\n\nexport function Import(this: Printer) {\n this.word(\"import\");\n}\n\nexport function AwaitExpression(this: Printer, node: t.AwaitExpression) {\n this.word(\"await\");\n this.space();\n this.print(node.argument);\n}\n\nexport function YieldExpression(this: Printer, node: t.YieldExpression) {\n if (node.delegate) {\n this.word(\"yield\", true);\n this.token(\"*\");\n if (node.argument) {\n this.space();\n // line terminators are allowed after yield*\n this.print(node.argument);\n }\n } else if (node.argument) {\n this.word(\"yield\", true);\n this.space();\n this.print(node.argument);\n } else {\n this.word(\"yield\");\n }\n}\n\nexport function EmptyStatement(this: Printer) {\n this.semicolon(true /* force */);\n}\n\nexport function ExpressionStatement(\n this: Printer,\n node: t.ExpressionStatement,\n) {\n this.tokenContext |= TokenContext.expressionStatement;\n this.print(node.expression);\n this.semicolon();\n}\n\nexport function AssignmentPattern(this: Printer, node: t.AssignmentPattern) {\n this.print(node.left);\n if (node.left.type === \"Identifier\" || isPattern(node.left)) {\n if (node.left.optional) this.token(\"?\");\n this.print(node.left.typeAnnotation);\n }\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right);\n}\n\nexport function AssignmentExpression(\n this: Printer,\n node: t.AssignmentExpression | t.BinaryExpression | t.LogicalExpression,\n) {\n this.print(node.left);\n\n this.space();\n if (node.operator === \"in\" || node.operator === \"instanceof\") {\n this.word(node.operator);\n } else {\n this.token(node.operator);\n this._endsWithDiv = node.operator === \"/\";\n }\n this.space();\n\n this.print(node.right);\n}\n\nexport function BindExpression(this: Printer, node: t.BindExpression) {\n this.print(node.object);\n this.token(\"::\");\n this.print(node.callee);\n}\n\nexport {\n AssignmentExpression as BinaryExpression,\n AssignmentExpression as LogicalExpression,\n};\n\nexport function MemberExpression(this: Printer, node: t.MemberExpression) {\n this.print(node.object);\n\n if (!node.computed && isMemberExpression(node.property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n\n let computed = node.computed;\n // @ts-expect-error todo(flow->ts) maybe use specific literal types\n if (isLiteral(node.property) && typeof node.property.value === \"number\") {\n computed = true;\n }\n\n if (computed) {\n const exit = this.enterDelimited();\n this.token(\"[\");\n this.print(node.property);\n this.token(\"]\");\n exit();\n } else {\n this.token(\".\");\n this.print(node.property);\n }\n}\n\nexport function MetaProperty(this: Printer, node: t.MetaProperty) {\n this.print(node.meta);\n this.token(\".\");\n this.print(node.property);\n}\n\nexport function PrivateName(this: Printer, node: t.PrivateName) {\n this.token(\"#\");\n this.print(node.id);\n}\n\nexport function V8IntrinsicIdentifier(\n this: Printer,\n node: t.V8IntrinsicIdentifier,\n) {\n this.token(\"%\");\n this.word(node.name);\n}\n\nexport function ModuleExpression(this: Printer, node: t.ModuleExpression) {\n this.word(\"module\", true);\n this.space();\n this.token(\"{\");\n this.indent();\n const { body } = node;\n if (body.body.length || body.directives.length) {\n this.newline();\n }\n this.print(body);\n this.dedent();\n this.rightBrace(node);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,EAAA,GAAAC,OAAA;AAQA,IAAAC,MAAA,GAAAD,OAAA;AAAgD;EAP9CE,gBAAgB;EAChBC,SAAS;EACTC,kBAAkB;EAClBC,eAAe;EACfC;AAAS,IAAAP,EAAA;AAKJ,SAASQ,eAAeA,CAAgBC,IAAuB,EAAE;EACtE,MAAM;IAAEC;EAAS,CAAC,GAAGD,IAAI;EACzB,IACEC,QAAQ,KAAK,MAAM,IACnBA,QAAQ,KAAK,QAAQ,IACrBA,QAAQ,KAAK,QAAQ,IAErBA,QAAQ,KAAK,OAAO,EACpB;IACA,IAAI,CAACC,IAAI,CAACD,QAAQ,CAAC;IACnB,IAAI,CAACE,KAAK,CAAC,CAAC;EACd,CAAC,MAAM;IACL,IAAI,CAACC,KAAK,CAACH,QAAQ,CAAC;EACtB;EAEA,IAAI,CAACI,KAAK,CAACL,IAAI,CAACM,QAAQ,CAAC;AAC3B;AAEO,SAASC,YAAYA,CAAgBP,IAAoB,EAAE;EAChE,IAAIA,IAAI,CAACQ,KAAK,EAAE;IACd,IAAI,CAACN,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACxB,IAAI,CAACC,KAAK,CAAC,CAAC;EACd;EACA,IAAI,CAACD,IAAI,CAAC,IAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACS,IAAI,CAAC;AACvB;AAEO,SAASC,uBAAuBA,CAErCV,IAA+B,EAC/B;EACA,IAAI,CAACI,SAAK,GAAI,CAAC;EACf,MAAMO,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;EAClC,IAAI,CAACP,KAAK,CAACL,IAAI,CAACa,UAAU,CAAC;EAC3BF,IAAI,CAAC,CAAC;EACN,IAAI,CAACG,WAAW,CAACd,IAAI,CAAC;AACxB;AAEO,SAASe,gBAAgBA,CAAgBf,IAAwB,EAAE;EACxE,IAAIA,IAAI,CAACgB,MAAM,EAAE;IACf,IAAI,CAACZ,KAAK,CAACJ,IAAI,CAACC,QAAQ,CAAC;IACzB,IAAI,CAACI,KAAK,CAACL,IAAI,CAACM,QAAQ,CAAC;EAC3B,CAAC,MAAM;IACL,IAAI,CAACD,KAAK,CAACL,IAAI,CAACM,QAAQ,EAAE,IAAI,CAAC;IAC/B,IAAI,CAACF,KAAK,CAACJ,IAAI,CAACC,QAAQ,CAAC;EAC3B;AACF;AAEO,SAASgB,qBAAqBA,CAEnCjB,IAA6B,EAC7B;EACA,IAAI,CAACK,KAAK,CAACL,IAAI,CAACkB,IAAI,CAAC;EACrB,IAAI,CAACf,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACD,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACmB,UAAU,CAAC;EAC3B,IAAI,CAAChB,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACD,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACoB,SAAS,CAAC;AAC5B;AAEO,SAASC,aAAaA,CAE3BrB,IAAqB,EACrBsB,MAAc,EACd;EACA,IAAI,CAACpB,IAAI,CAAC,KAAK,CAAC;EAChB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACuB,MAAM,CAAC;EACvB,IACE,IAAI,CAACC,MAAM,CAACC,QAAQ,IACpBzB,IAAI,CAAC0B,SAAS,CAACC,MAAM,KAAK,CAAC,IAE3B,CAAC3B,IAAI,CAAC4B,QAAQ,IACd,CAAClC,gBAAgB,CAAC4B,MAAM,EAAE;IAAEC,MAAM,EAAEvB;EAAK,CAAC,CAAC,IAC3C,CAACJ,kBAAkB,CAAC0B,MAAM,CAAC,IAC3B,CAACzB,eAAe,CAACyB,MAAM,CAAC,EACxB;IACA;EACF;EAEA,IAAI,CAACjB,KAAK,CAACL,IAAI,CAAC6B,aAAa,CAAC;EACK;IAEjC,IAAI,CAACxB,KAAK,CAACL,IAAI,CAAC8B,cAAc,CAAC;EACjC;EAGA,IAAI9B,IAAI,CAAC4B,QAAQ,EAAE;IAEjB,IAAI,CAACxB,KAAK,CAAC,IAAI,CAAC;EAClB;EAEA,IACEJ,IAAI,CAAC0B,SAAS,CAACC,MAAM,KAAK,CAAC,IAC3B,IAAI,CAACI,QAAQ,IACb,CAAC,IAAI,CAACA,QAAQ,CAACC,UAAU,CAAChC,IAAI,EAAE,GAAG,CAAC,EACpC;IACA;EACF;EAEA,IAAI,CAACI,SAAK,GAAI,CAAC;EACf,MAAMO,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;EAClC,IAAI,CAACqB,SAAS,CAACjC,IAAI,CAAC0B,SAAS,EAAE,IAAI,CAACQ,wBAAwB,CAAC,GAAG,CAAC,CAAC;EAClEvB,IAAI,CAAC,CAAC;EACN,IAAI,CAACG,WAAW,CAACd,IAAI,CAAC;AACxB;AAEO,SAASmC,kBAAkBA,CAAgBnC,IAA0B,EAAE;EAC5E,IAAI,CAACiC,SAAS,CAACjC,IAAI,CAACoC,WAAW,CAAC;AAClC;AAEO,SAASC,cAAcA,CAAA,EAAgB;EAC5C,IAAI,CAACnC,IAAI,CAAC,MAAM,CAAC;AACnB;AAEO,SAASoC,KAAKA,CAAA,EAAgB;EACnC,IAAI,CAACpC,IAAI,CAAC,OAAO,CAAC;AACpB;AAEO,SAASqC,kCAAkCA,CAEhDvC,IAA+D,EAC/D;EACA,IAAI,OAAO,IAAI,CAACwB,MAAM,CAACgB,sBAAsB,KAAK,SAAS,EAAE;IAC3D,OAAO,IAAI,CAAChB,MAAM,CAACgB,sBAAsB;EAC3C;EACA,OACE,OAAOxC,IAAI,CAACyC,KAAK,KAAK,QAAQ,IAAIzC,IAAI,CAACyC,KAAK,KAAKzC,IAAI,CAAC0C,WAAW,CAACD,KAAK;AAE3E;AAEO,SAASE,SAASA,CAAgB3C,IAAiB,EAAE;EAC1D,IAAI,CAACI,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAACa,UAAU,CAAC;EAC3B,IAAI,CAAC+B,OAAO,CAAC,CAAC;AAChB;AAEO,SAASC,wBAAwBA,CAEtC7C,IAAgC,EAChC;EACA,IAAI;IAAE8C;EAAS,CAAC,GAAG9C,IAAI;EACvB,MAAM;IAAE4B,QAAQ;IAAEmB;EAAS,CAAC,GAAG/C,IAAI;EAEnC,IAAI,CAACK,KAAK,CAACL,IAAI,CAACgD,MAAM,CAAC;EAEvB,IAAI,CAACF,QAAQ,IAAIlD,kBAAkB,CAACmD,QAAQ,CAAC,EAAE;IAC7C,MAAM,IAAIE,SAAS,CAAC,sDAAsD,CAAC;EAC7E;EAGA,IAAItD,SAAS,CAACoD,QAAQ,CAAC,IAAI,OAAOA,QAAQ,CAACG,KAAK,KAAK,QAAQ,EAAE;IAC7DJ,QAAQ,GAAG,IAAI;EACjB;EACA,IAAIlB,QAAQ,EAAE;IACZ,IAAI,CAACxB,KAAK,CAAC,IAAI,CAAC;EAClB;EAEA,IAAI0C,QAAQ,EAAE;IACZ,IAAI,CAAC1C,SAAK,GAAI,CAAC;IACf,IAAI,CAACC,KAAK,CAAC0C,QAAQ,CAAC;IACpB,IAAI,CAAC3C,SAAK,GAAI,CAAC;EACjB,CAAC,MAAM;IACL,IAAI,CAACwB,QAAQ,EAAE;MACb,IAAI,CAACxB,SAAK,GAAI,CAAC;IACjB;IACA,IAAI,CAACC,KAAK,CAAC0C,QAAQ,CAAC;EACtB;AACF;AAEO,SAASI,sBAAsBA,CAEpCnD,IAA8B,EAC9B;EACA,IAAI,CAACK,KAAK,CAACL,IAAI,CAACuB,MAAM,CAAC;EAEY;IAEjC,IAAI,CAAClB,KAAK,CAACL,IAAI,CAAC8B,cAAc,CAAC;EACjC;EAEA,IAAI9B,IAAI,CAAC4B,QAAQ,EAAE;IACjB,IAAI,CAACxB,KAAK,CAAC,IAAI,CAAC;EAClB;EAEA,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC6B,aAAa,CAAC;EAE9B,IAAI,CAACzB,SAAK,GAAI,CAAC;EACf,MAAMO,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;EAClC,IAAI,CAACqB,SAAS,CAACjC,IAAI,CAAC0B,SAAS,CAAC;EAC9Bf,IAAI,CAAC,CAAC;EACN,IAAI,CAACG,WAAW,CAACd,IAAI,CAAC;AACxB;AAEO,SAASoD,cAAcA,CAAgBpD,IAAsB,EAAE;EACpE,IAAI,CAACK,KAAK,CAACL,IAAI,CAACuB,MAAM,CAAC;EAEvB,IAAI,CAAClB,KAAK,CAACL,IAAI,CAAC6B,aAAa,CAAC;EACK;IAEjC,IAAI,CAACxB,KAAK,CAACL,IAAI,CAAC8B,cAAc,CAAC;EACjC;EACA,IAAI,CAAC1B,SAAK,GAAI,CAAC;EACf,MAAMO,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;EAClC,IAAI,CAACqB,SAAS,CAACjC,IAAI,CAAC0B,SAAS,EAAE,IAAI,CAACQ,wBAAwB,CAAC,GAAG,CAAC,CAAC;EAClEvB,IAAI,CAAC,CAAC;EACN,IAAI,CAACG,WAAW,CAACd,IAAI,CAAC;AACxB;AAEO,SAASqD,MAAMA,CAAA,EAAgB;EACpC,IAAI,CAACnD,IAAI,CAAC,QAAQ,CAAC;AACrB;AAEO,SAASoD,eAAeA,CAAgBtD,IAAuB,EAAE;EACtE,IAAI,CAACE,IAAI,CAAC,OAAO,CAAC;EAClB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACM,QAAQ,CAAC;AAC3B;AAEO,SAASiD,eAAeA,CAAgBvD,IAAuB,EAAE;EACtE,IAAIA,IAAI,CAACwD,QAAQ,EAAE;IACjB,IAAI,CAACtD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACxB,IAAI,CAACE,SAAK,GAAI,CAAC;IACf,IAAIJ,IAAI,CAACM,QAAQ,EAAE;MACjB,IAAI,CAACH,KAAK,CAAC,CAAC;MAEZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACM,QAAQ,CAAC;IAC3B;EACF,CAAC,MAAM,IAAIN,IAAI,CAACM,QAAQ,EAAE;IACxB,IAAI,CAACJ,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACxB,IAAI,CAACC,KAAK,CAAC,CAAC;IACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACM,QAAQ,CAAC;EAC3B,CAAC,MAAM;IACL,IAAI,CAACJ,IAAI,CAAC,OAAO,CAAC;EACpB;AACF;AAEO,SAASuD,cAAcA,CAAA,EAAgB;EAC5C,IAAI,CAACC,SAAS,CAAC,IAAgB,CAAC;AAClC;AAEO,SAASC,mBAAmBA,CAEjC3D,IAA2B,EAC3B;EACA,IAAI,CAAC4D,YAAY,IAAIC,mBAAY,CAACC,mBAAmB;EACrD,IAAI,CAACzD,KAAK,CAACL,IAAI,CAACa,UAAU,CAAC;EAC3B,IAAI,CAAC6C,SAAS,CAAC,CAAC;AAClB;AAEO,SAASK,iBAAiBA,CAAgB/D,IAAyB,EAAE;EAC1E,IAAI,CAACK,KAAK,CAACL,IAAI,CAACgE,IAAI,CAAC;EACrB,IAAIhE,IAAI,CAACgE,IAAI,CAACC,IAAI,KAAK,YAAY,IAAInE,SAAS,CAACE,IAAI,CAACgE,IAAI,CAAC,EAAE;IAC3D,IAAIhE,IAAI,CAACgE,IAAI,CAACpC,QAAQ,EAAE,IAAI,CAACxB,SAAK,GAAI,CAAC;IACvC,IAAI,CAACC,KAAK,CAACL,IAAI,CAACgE,IAAI,CAACE,cAAc,CAAC;EACtC;EACA,IAAI,CAAC/D,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACD,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACmE,KAAK,CAAC;AACxB;AAEO,SAASC,oBAAoBA,CAElCpE,IAAuE,EACvE;EACA,IAAI,CAACK,KAAK,CAACL,IAAI,CAACgE,IAAI,CAAC;EAErB,IAAI,CAAC7D,KAAK,CAAC,CAAC;EACZ,IAAIH,IAAI,CAACC,QAAQ,KAAK,IAAI,IAAID,IAAI,CAACC,QAAQ,KAAK,YAAY,EAAE;IAC5D,IAAI,CAACC,IAAI,CAACF,IAAI,CAACC,QAAQ,CAAC;EAC1B,CAAC,MAAM;IACL,IAAI,CAACG,KAAK,CAACJ,IAAI,CAACC,QAAQ,CAAC;IACzB,IAAI,CAACoE,YAAY,GAAGrE,IAAI,CAACC,QAAQ,KAAK,GAAG;EAC3C;EACA,IAAI,CAACE,KAAK,CAAC,CAAC;EAEZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACmE,KAAK,CAAC;AACxB;AAEO,SAASG,cAAcA,CAAgBtE,IAAsB,EAAE;EACpE,IAAI,CAACK,KAAK,CAACL,IAAI,CAACgD,MAAM,CAAC;EACvB,IAAI,CAAC5C,KAAK,CAAC,IAAI,CAAC;EAChB,IAAI,CAACC,KAAK,CAACL,IAAI,CAACuB,MAAM,CAAC;AACzB;AAOO,SAASgD,gBAAgBA,CAAgBvE,IAAwB,EAAE;EACxE,IAAI,CAACK,KAAK,CAACL,IAAI,CAACgD,MAAM,CAAC;EAEvB,IAAI,CAAChD,IAAI,CAAC8C,QAAQ,IAAIlD,kBAAkB,CAACI,IAAI,CAAC+C,QAAQ,CAAC,EAAE;IACvD,MAAM,IAAIE,SAAS,CAAC,sDAAsD,CAAC;EAC7E;EAEA,IAAIH,QAAQ,GAAG9C,IAAI,CAAC8C,QAAQ;EAE5B,IAAInD,SAAS,CAACK,IAAI,CAAC+C,QAAQ,CAAC,IAAI,OAAO/C,IAAI,CAAC+C,QAAQ,CAACG,KAAK,KAAK,QAAQ,EAAE;IACvEJ,QAAQ,GAAG,IAAI;EACjB;EAEA,IAAIA,QAAQ,EAAE;IACZ,MAAMnC,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IAClC,IAAI,CAACR,SAAK,GAAI,CAAC;IACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC+C,QAAQ,CAAC;IACzB,IAAI,CAAC3C,SAAK,GAAI,CAAC;IACfO,IAAI,CAAC,CAAC;EACR,CAAC,MAAM;IACL,IAAI,CAACP,SAAK,GAAI,CAAC;IACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC+C,QAAQ,CAAC;EAC3B;AACF;AAEO,SAASyB,YAAYA,CAAgBxE,IAAoB,EAAE;EAChE,IAAI,CAACK,KAAK,CAACL,IAAI,CAACyE,IAAI,CAAC;EACrB,IAAI,CAACrE,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC+C,QAAQ,CAAC;AAC3B;AAEO,SAAS2B,WAAWA,CAAgB1E,IAAmB,EAAE;EAC9D,IAAI,CAACI,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC2E,EAAE,CAAC;AACrB;AAEO,SAASC,qBAAqBA,CAEnC5E,IAA6B,EAC7B;EACA,IAAI,CAACI,SAAK,GAAI,CAAC;EACf,IAAI,CAACF,IAAI,CAACF,IAAI,CAAC6E,IAAI,CAAC;AACtB;AAEO,SAASC,gBAAgBA,CAAgB9E,IAAwB,EAAE;EACxE,IAAI,CAACE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;EACzB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,IAAI,CAAC;EACf,IAAI,CAAC2E,MAAM,CAAC,CAAC;EACb,MAAM;IAAEtE;EAAK,CAAC,GAAGT,IAAI;EACrB,IAAIS,IAAI,CAACA,IAAI,CAACkB,MAAM,IAAIlB,IAAI,CAACuE,UAAU,CAACrD,MAAM,EAAE;IAC9C,IAAI,CAACiB,OAAO,CAAC,CAAC;EAChB;EACA,IAAI,CAACvC,KAAK,CAACI,IAAI,CAAC;EAChB,IAAI,CAACwE,MAAM,CAAC,CAAC;EACb,IAAI,CAACC,UAAU,CAAClF,IAAI,CAAC;AACvB","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/flow.js b/node_modules/@babel/generator/lib/generators/flow.js
new file mode 100644
index 00000000..322aa343
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/flow.js
@@ -0,0 +1,660 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.AnyTypeAnnotation = AnyTypeAnnotation;
+exports.ArrayTypeAnnotation = ArrayTypeAnnotation;
+exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation;
+exports.BooleanTypeAnnotation = BooleanTypeAnnotation;
+exports.DeclareClass = DeclareClass;
+exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration;
+exports.DeclareExportDeclaration = DeclareExportDeclaration;
+exports.DeclareFunction = DeclareFunction;
+exports.DeclareInterface = DeclareInterface;
+exports.DeclareModule = DeclareModule;
+exports.DeclareModuleExports = DeclareModuleExports;
+exports.DeclareOpaqueType = DeclareOpaqueType;
+exports.DeclareTypeAlias = DeclareTypeAlias;
+exports.DeclareVariable = DeclareVariable;
+exports.DeclaredPredicate = DeclaredPredicate;
+exports.EmptyTypeAnnotation = EmptyTypeAnnotation;
+exports.EnumBooleanBody = EnumBooleanBody;
+exports.EnumBooleanMember = EnumBooleanMember;
+exports.EnumDeclaration = EnumDeclaration;
+exports.EnumDefaultedMember = EnumDefaultedMember;
+exports.EnumNumberBody = EnumNumberBody;
+exports.EnumNumberMember = EnumNumberMember;
+exports.EnumStringBody = EnumStringBody;
+exports.EnumStringMember = EnumStringMember;
+exports.EnumSymbolBody = EnumSymbolBody;
+exports.ExistsTypeAnnotation = ExistsTypeAnnotation;
+exports.FunctionTypeAnnotation = FunctionTypeAnnotation;
+exports.FunctionTypeParam = FunctionTypeParam;
+exports.IndexedAccessType = IndexedAccessType;
+exports.InferredPredicate = InferredPredicate;
+exports.InterfaceDeclaration = InterfaceDeclaration;
+exports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends;
+exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation;
+exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation;
+exports.MixedTypeAnnotation = MixedTypeAnnotation;
+exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation;
+exports.NullableTypeAnnotation = NullableTypeAnnotation;
+Object.defineProperty(exports, "NumberLiteralTypeAnnotation", {
+ enumerable: true,
+ get: function () {
+ return _types2.NumericLiteral;
+ }
+});
+exports.NumberTypeAnnotation = NumberTypeAnnotation;
+exports.ObjectTypeAnnotation = ObjectTypeAnnotation;
+exports.ObjectTypeCallProperty = ObjectTypeCallProperty;
+exports.ObjectTypeIndexer = ObjectTypeIndexer;
+exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot;
+exports.ObjectTypeProperty = ObjectTypeProperty;
+exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty;
+exports.OpaqueType = OpaqueType;
+exports.OptionalIndexedAccessType = OptionalIndexedAccessType;
+exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier;
+Object.defineProperty(exports, "StringLiteralTypeAnnotation", {
+ enumerable: true,
+ get: function () {
+ return _types2.StringLiteral;
+ }
+});
+exports.StringTypeAnnotation = StringTypeAnnotation;
+exports.SymbolTypeAnnotation = SymbolTypeAnnotation;
+exports.ThisTypeAnnotation = ThisTypeAnnotation;
+exports.TupleTypeAnnotation = TupleTypeAnnotation;
+exports.TypeAlias = TypeAlias;
+exports.TypeAnnotation = TypeAnnotation;
+exports.TypeCastExpression = TypeCastExpression;
+exports.TypeParameter = TypeParameter;
+exports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation;
+exports.TypeofTypeAnnotation = TypeofTypeAnnotation;
+exports.UnionTypeAnnotation = UnionTypeAnnotation;
+exports.Variance = Variance;
+exports.VoidTypeAnnotation = VoidTypeAnnotation;
+exports._interfaceish = _interfaceish;
+exports._variance = _variance;
+var _t = require("@babel/types");
+var _modules = require("./modules.js");
+var _index = require("../node/index.js");
+var _types2 = require("./types.js");
+const {
+ isDeclareExportDeclaration,
+ isStatement
+} = _t;
+function AnyTypeAnnotation() {
+ this.word("any");
+}
+function ArrayTypeAnnotation(node) {
+ this.print(node.elementType, true);
+ this.tokenChar(91);
+ this.tokenChar(93);
+}
+function BooleanTypeAnnotation() {
+ this.word("boolean");
+}
+function BooleanLiteralTypeAnnotation(node) {
+ this.word(node.value ? "true" : "false");
+}
+function NullLiteralTypeAnnotation() {
+ this.word("null");
+}
+function DeclareClass(node, parent) {
+ if (!isDeclareExportDeclaration(parent)) {
+ this.word("declare");
+ this.space();
+ }
+ this.word("class");
+ this.space();
+ this._interfaceish(node);
+}
+function DeclareFunction(node, parent) {
+ if (!isDeclareExportDeclaration(parent)) {
+ this.word("declare");
+ this.space();
+ }
+ this.word("function");
+ this.space();
+ this.print(node.id);
+ this.print(node.id.typeAnnotation.typeAnnotation);
+ if (node.predicate) {
+ this.space();
+ this.print(node.predicate);
+ }
+ this.semicolon();
+}
+function InferredPredicate() {
+ this.tokenChar(37);
+ this.word("checks");
+}
+function DeclaredPredicate(node) {
+ this.tokenChar(37);
+ this.word("checks");
+ this.tokenChar(40);
+ this.print(node.value);
+ this.tokenChar(41);
+}
+function DeclareInterface(node) {
+ this.word("declare");
+ this.space();
+ this.InterfaceDeclaration(node);
+}
+function DeclareModule(node) {
+ this.word("declare");
+ this.space();
+ this.word("module");
+ this.space();
+ this.print(node.id);
+ this.space();
+ this.print(node.body);
+}
+function DeclareModuleExports(node) {
+ this.word("declare");
+ this.space();
+ this.word("module");
+ this.tokenChar(46);
+ this.word("exports");
+ this.print(node.typeAnnotation);
+}
+function DeclareTypeAlias(node) {
+ this.word("declare");
+ this.space();
+ this.TypeAlias(node);
+}
+function DeclareOpaqueType(node, parent) {
+ if (!isDeclareExportDeclaration(parent)) {
+ this.word("declare");
+ this.space();
+ }
+ this.OpaqueType(node);
+}
+function DeclareVariable(node, parent) {
+ if (!isDeclareExportDeclaration(parent)) {
+ this.word("declare");
+ this.space();
+ }
+ this.word("var");
+ this.space();
+ this.print(node.id);
+ this.print(node.id.typeAnnotation);
+ this.semicolon();
+}
+function DeclareExportDeclaration(node) {
+ this.word("declare");
+ this.space();
+ this.word("export");
+ this.space();
+ if (node.default) {
+ this.word("default");
+ this.space();
+ }
+ FlowExportDeclaration.call(this, node);
+}
+function DeclareExportAllDeclaration(node) {
+ this.word("declare");
+ this.space();
+ _modules.ExportAllDeclaration.call(this, node);
+}
+function EnumDeclaration(node) {
+ const {
+ id,
+ body
+ } = node;
+ this.word("enum");
+ this.space();
+ this.print(id);
+ this.print(body);
+}
+function enumExplicitType(context, name, hasExplicitType) {
+ if (hasExplicitType) {
+ context.space();
+ context.word("of");
+ context.space();
+ context.word(name);
+ }
+ context.space();
+}
+function enumBody(context, node) {
+ const {
+ members
+ } = node;
+ context.token("{");
+ context.indent();
+ context.newline();
+ for (const member of members) {
+ context.print(member);
+ context.newline();
+ }
+ if (node.hasUnknownMembers) {
+ context.token("...");
+ context.newline();
+ }
+ context.dedent();
+ context.token("}");
+}
+function EnumBooleanBody(node) {
+ const {
+ explicitType
+ } = node;
+ enumExplicitType(this, "boolean", explicitType);
+ enumBody(this, node);
+}
+function EnumNumberBody(node) {
+ const {
+ explicitType
+ } = node;
+ enumExplicitType(this, "number", explicitType);
+ enumBody(this, node);
+}
+function EnumStringBody(node) {
+ const {
+ explicitType
+ } = node;
+ enumExplicitType(this, "string", explicitType);
+ enumBody(this, node);
+}
+function EnumSymbolBody(node) {
+ enumExplicitType(this, "symbol", true);
+ enumBody(this, node);
+}
+function EnumDefaultedMember(node) {
+ const {
+ id
+ } = node;
+ this.print(id);
+ this.tokenChar(44);
+}
+function enumInitializedMember(context, node) {
+ context.print(node.id);
+ context.space();
+ context.token("=");
+ context.space();
+ context.print(node.init);
+ context.token(",");
+}
+function EnumBooleanMember(node) {
+ enumInitializedMember(this, node);
+}
+function EnumNumberMember(node) {
+ enumInitializedMember(this, node);
+}
+function EnumStringMember(node) {
+ enumInitializedMember(this, node);
+}
+function FlowExportDeclaration(node) {
+ if (node.declaration) {
+ const declar = node.declaration;
+ this.print(declar);
+ if (!isStatement(declar)) this.semicolon();
+ } else {
+ this.tokenChar(123);
+ if (node.specifiers.length) {
+ this.space();
+ this.printList(node.specifiers);
+ this.space();
+ }
+ this.tokenChar(125);
+ if (node.source) {
+ this.space();
+ this.word("from");
+ this.space();
+ this.print(node.source);
+ }
+ this.semicolon();
+ }
+}
+function ExistsTypeAnnotation() {
+ this.tokenChar(42);
+}
+function FunctionTypeAnnotation(node, parent) {
+ this.print(node.typeParameters);
+ this.tokenChar(40);
+ if (node.this) {
+ this.word("this");
+ this.tokenChar(58);
+ this.space();
+ this.print(node.this.typeAnnotation);
+ if (node.params.length || node.rest) {
+ this.tokenChar(44);
+ this.space();
+ }
+ }
+ this.printList(node.params);
+ if (node.rest) {
+ if (node.params.length) {
+ this.tokenChar(44);
+ this.space();
+ }
+ this.token("...");
+ this.print(node.rest);
+ }
+ this.tokenChar(41);
+ const type = parent == null ? void 0 : parent.type;
+ if (type != null && (type === "ObjectTypeCallProperty" || type === "ObjectTypeInternalSlot" || type === "DeclareFunction" || type === "ObjectTypeProperty" && parent.method)) {
+ this.tokenChar(58);
+ } else {
+ this.space();
+ this.token("=>");
+ }
+ this.space();
+ this.print(node.returnType);
+}
+function FunctionTypeParam(node) {
+ this.print(node.name);
+ if (node.optional) this.tokenChar(63);
+ if (node.name) {
+ this.tokenChar(58);
+ this.space();
+ }
+ this.print(node.typeAnnotation);
+}
+function InterfaceExtends(node) {
+ this.print(node.id);
+ this.print(node.typeParameters, true);
+}
+function _interfaceish(node) {
+ var _node$extends;
+ this.print(node.id);
+ this.print(node.typeParameters);
+ if ((_node$extends = node.extends) != null && _node$extends.length) {
+ this.space();
+ this.word("extends");
+ this.space();
+ this.printList(node.extends);
+ }
+ if (node.type === "DeclareClass") {
+ var _node$mixins, _node$implements;
+ if ((_node$mixins = node.mixins) != null && _node$mixins.length) {
+ this.space();
+ this.word("mixins");
+ this.space();
+ this.printList(node.mixins);
+ }
+ if ((_node$implements = node.implements) != null && _node$implements.length) {
+ this.space();
+ this.word("implements");
+ this.space();
+ this.printList(node.implements);
+ }
+ }
+ this.space();
+ this.print(node.body);
+}
+function _variance(node) {
+ var _node$variance;
+ const kind = (_node$variance = node.variance) == null ? void 0 : _node$variance.kind;
+ if (kind != null) {
+ if (kind === "plus") {
+ this.tokenChar(43);
+ } else if (kind === "minus") {
+ this.tokenChar(45);
+ }
+ }
+}
+function InterfaceDeclaration(node) {
+ this.word("interface");
+ this.space();
+ this._interfaceish(node);
+}
+function andSeparator(occurrenceCount) {
+ this.space();
+ this.token("&", false, occurrenceCount);
+ this.space();
+}
+function InterfaceTypeAnnotation(node) {
+ var _node$extends2;
+ this.word("interface");
+ if ((_node$extends2 = node.extends) != null && _node$extends2.length) {
+ this.space();
+ this.word("extends");
+ this.space();
+ this.printList(node.extends);
+ }
+ this.space();
+ this.print(node.body);
+}
+function IntersectionTypeAnnotation(node) {
+ this.printJoin(node.types, undefined, undefined, andSeparator);
+}
+function MixedTypeAnnotation() {
+ this.word("mixed");
+}
+function EmptyTypeAnnotation() {
+ this.word("empty");
+}
+function NullableTypeAnnotation(node) {
+ this.tokenChar(63);
+ this.print(node.typeAnnotation);
+}
+function NumberTypeAnnotation() {
+ this.word("number");
+}
+function StringTypeAnnotation() {
+ this.word("string");
+}
+function ThisTypeAnnotation() {
+ this.word("this");
+}
+function TupleTypeAnnotation(node) {
+ this.tokenChar(91);
+ this.printList(node.types);
+ this.tokenChar(93);
+}
+function TypeofTypeAnnotation(node) {
+ this.word("typeof");
+ this.space();
+ this.print(node.argument);
+}
+function TypeAlias(node) {
+ this.word("type");
+ this.space();
+ this.print(node.id);
+ this.print(node.typeParameters);
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.right);
+ this.semicolon();
+}
+function TypeAnnotation(node, parent) {
+ this.tokenChar(58);
+ this.space();
+ if (parent.type === "ArrowFunctionExpression") {
+ this.tokenContext |= _index.TokenContext.arrowFlowReturnType;
+ } else if (node.optional) {
+ this.tokenChar(63);
+ }
+ this.print(node.typeAnnotation);
+}
+function TypeParameterInstantiation(node) {
+ this.tokenChar(60);
+ this.printList(node.params);
+ this.tokenChar(62);
+}
+function TypeParameter(node) {
+ this._variance(node);
+ this.word(node.name);
+ if (node.bound) {
+ this.print(node.bound);
+ }
+ if (node.default) {
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.default);
+ }
+}
+function OpaqueType(node) {
+ this.word("opaque");
+ this.space();
+ this.word("type");
+ this.space();
+ this.print(node.id);
+ this.print(node.typeParameters);
+ if (node.supertype) {
+ this.tokenChar(58);
+ this.space();
+ this.print(node.supertype);
+ }
+ if (node.impltype) {
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.impltype);
+ }
+ this.semicolon();
+}
+function ObjectTypeAnnotation(node) {
+ if (node.exact) {
+ this.token("{|");
+ } else {
+ this.tokenChar(123);
+ }
+ const props = [...node.properties, ...(node.callProperties || []), ...(node.indexers || []), ...(node.internalSlots || [])];
+ if (props.length) {
+ this.newline();
+ this.space();
+ this.printJoin(props, true, true, undefined, undefined, function addNewlines(leading) {
+ if (leading && !props[0]) return 1;
+ }, () => {
+ if (props.length !== 1 || node.inexact) {
+ this.tokenChar(44);
+ this.space();
+ }
+ });
+ this.space();
+ }
+ if (node.inexact) {
+ this.indent();
+ this.token("...");
+ if (props.length) {
+ this.newline();
+ }
+ this.dedent();
+ }
+ if (node.exact) {
+ this.token("|}");
+ } else {
+ this.tokenChar(125);
+ }
+}
+function ObjectTypeInternalSlot(node) {
+ if (node.static) {
+ this.word("static");
+ this.space();
+ }
+ this.tokenChar(91);
+ this.tokenChar(91);
+ this.print(node.id);
+ this.tokenChar(93);
+ this.tokenChar(93);
+ if (node.optional) this.tokenChar(63);
+ if (!node.method) {
+ this.tokenChar(58);
+ this.space();
+ }
+ this.print(node.value);
+}
+function ObjectTypeCallProperty(node) {
+ if (node.static) {
+ this.word("static");
+ this.space();
+ }
+ this.print(node.value);
+}
+function ObjectTypeIndexer(node) {
+ if (node.static) {
+ this.word("static");
+ this.space();
+ }
+ this._variance(node);
+ this.tokenChar(91);
+ if (node.id) {
+ this.print(node.id);
+ this.tokenChar(58);
+ this.space();
+ }
+ this.print(node.key);
+ this.tokenChar(93);
+ this.tokenChar(58);
+ this.space();
+ this.print(node.value);
+}
+function ObjectTypeProperty(node) {
+ if (node.proto) {
+ this.word("proto");
+ this.space();
+ }
+ if (node.static) {
+ this.word("static");
+ this.space();
+ }
+ if (node.kind === "get" || node.kind === "set") {
+ this.word(node.kind);
+ this.space();
+ }
+ this._variance(node);
+ this.print(node.key);
+ if (node.optional) this.tokenChar(63);
+ if (!node.method) {
+ this.tokenChar(58);
+ this.space();
+ }
+ this.print(node.value);
+}
+function ObjectTypeSpreadProperty(node) {
+ this.token("...");
+ this.print(node.argument);
+}
+function QualifiedTypeIdentifier(node) {
+ this.print(node.qualification);
+ this.tokenChar(46);
+ this.print(node.id);
+}
+function SymbolTypeAnnotation() {
+ this.word("symbol");
+}
+function orSeparator(occurrenceCount) {
+ this.space();
+ this.token("|", false, occurrenceCount);
+ this.space();
+}
+function UnionTypeAnnotation(node) {
+ this.printJoin(node.types, undefined, undefined, orSeparator);
+}
+function TypeCastExpression(node) {
+ this.tokenChar(40);
+ this.print(node.expression);
+ this.print(node.typeAnnotation);
+ this.tokenChar(41);
+}
+function Variance(node) {
+ if (node.kind === "plus") {
+ this.tokenChar(43);
+ } else {
+ this.tokenChar(45);
+ }
+}
+function VoidTypeAnnotation() {
+ this.word("void");
+}
+function IndexedAccessType(node) {
+ this.print(node.objectType, true);
+ this.tokenChar(91);
+ this.print(node.indexType);
+ this.tokenChar(93);
+}
+function OptionalIndexedAccessType(node) {
+ this.print(node.objectType);
+ if (node.optional) {
+ this.token("?.");
+ }
+ this.tokenChar(91);
+ this.print(node.indexType);
+ this.tokenChar(93);
+}
+
+//# sourceMappingURL=flow.js.map
diff --git a/node_modules/@babel/generator/lib/generators/flow.js.map b/node_modules/@babel/generator/lib/generators/flow.js.map
new file mode 100644
index 00000000..a50152af
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/flow.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","_modules","_index","_types2","isDeclareExportDeclaration","isStatement","AnyTypeAnnotation","word","ArrayTypeAnnotation","node","print","elementType","token","BooleanTypeAnnotation","BooleanLiteralTypeAnnotation","value","NullLiteralTypeAnnotation","DeclareClass","parent","space","_interfaceish","DeclareFunction","id","typeAnnotation","predicate","semicolon","InferredPredicate","DeclaredPredicate","DeclareInterface","InterfaceDeclaration","DeclareModule","body","DeclareModuleExports","DeclareTypeAlias","TypeAlias","DeclareOpaqueType","OpaqueType","DeclareVariable","DeclareExportDeclaration","default","FlowExportDeclaration","call","DeclareExportAllDeclaration","ExportAllDeclaration","EnumDeclaration","enumExplicitType","context","name","hasExplicitType","enumBody","members","indent","newline","member","hasUnknownMembers","dedent","EnumBooleanBody","explicitType","EnumNumberBody","EnumStringBody","EnumSymbolBody","EnumDefaultedMember","enumInitializedMember","init","EnumBooleanMember","EnumNumberMember","EnumStringMember","declaration","declar","specifiers","length","printList","source","ExistsTypeAnnotation","FunctionTypeAnnotation","typeParameters","this","params","rest","type","method","returnType","FunctionTypeParam","optional","InterfaceExtends","_node$extends","extends","_node$mixins","_node$implements","mixins","implements","_variance","_node$variance","kind","variance","andSeparator","occurrenceCount","InterfaceTypeAnnotation","_node$extends2","IntersectionTypeAnnotation","printJoin","types","undefined","MixedTypeAnnotation","EmptyTypeAnnotation","NullableTypeAnnotation","NumberTypeAnnotation","StringTypeAnnotation","ThisTypeAnnotation","TupleTypeAnnotation","TypeofTypeAnnotation","argument","right","TypeAnnotation","tokenContext","TokenContext","arrowFlowReturnType","TypeParameterInstantiation","TypeParameter","bound","supertype","impltype","ObjectTypeAnnotation","exact","props","properties","callProperties","indexers","internalSlots","addNewlines","leading","inexact","ObjectTypeInternalSlot","static","ObjectTypeCallProperty","ObjectTypeIndexer","key","ObjectTypeProperty","proto","ObjectTypeSpreadProperty","QualifiedTypeIdentifier","qualification","SymbolTypeAnnotation","orSeparator","UnionTypeAnnotation","TypeCastExpression","expression","Variance","VoidTypeAnnotation","IndexedAccessType","objectType","indexType","OptionalIndexedAccessType"],"sources":["../../src/generators/flow.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport { isDeclareExportDeclaration, isStatement } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { ExportAllDeclaration } from \"./modules.ts\";\nimport { TokenContext } from \"../node/index.ts\";\n\nexport function AnyTypeAnnotation(this: Printer) {\n this.word(\"any\");\n}\n\nexport function ArrayTypeAnnotation(\n this: Printer,\n node: t.ArrayTypeAnnotation,\n) {\n this.print(node.elementType, true);\n this.token(\"[\");\n this.token(\"]\");\n}\n\nexport function BooleanTypeAnnotation(this: Printer) {\n this.word(\"boolean\");\n}\n\nexport function BooleanLiteralTypeAnnotation(\n this: Printer,\n node: t.BooleanLiteralTypeAnnotation,\n) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteralTypeAnnotation(this: Printer) {\n this.word(\"null\");\n}\n\nexport function DeclareClass(\n this: Printer,\n node: t.DeclareClass,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"class\");\n this.space();\n this._interfaceish(node);\n}\n\nexport function DeclareFunction(\n this: Printer,\n node: t.DeclareFunction,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"function\");\n this.space();\n this.print(node.id);\n // @ts-ignore(Babel 7 vs Babel 8) TODO(Babel 8) Remove this comment, since we'll remove the Noop node\n this.print(node.id.typeAnnotation.typeAnnotation);\n\n if (node.predicate) {\n this.space();\n this.print(node.predicate);\n }\n\n this.semicolon();\n}\n\nexport function InferredPredicate(this: Printer) {\n this.token(\"%\");\n this.word(\"checks\");\n}\n\nexport function DeclaredPredicate(this: Printer, node: t.DeclaredPredicate) {\n this.token(\"%\");\n this.word(\"checks\");\n this.token(\"(\");\n this.print(node.value);\n this.token(\")\");\n}\n\nexport function DeclareInterface(this: Printer, node: t.DeclareInterface) {\n this.word(\"declare\");\n this.space();\n this.InterfaceDeclaration(node);\n}\n\nexport function DeclareModule(this: Printer, node: t.DeclareModule) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.space();\n this.print(node.id);\n this.space();\n this.print(node.body);\n}\n\nexport function DeclareModuleExports(\n this: Printer,\n node: t.DeclareModuleExports,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.token(\".\");\n this.word(\"exports\");\n this.print(node.typeAnnotation);\n}\n\nexport function DeclareTypeAlias(this: Printer, node: t.DeclareTypeAlias) {\n this.word(\"declare\");\n this.space();\n this.TypeAlias(node);\n}\n\nexport function DeclareOpaqueType(\n this: Printer,\n node: t.DeclareOpaqueType,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.OpaqueType(node);\n}\n\nexport function DeclareVariable(\n this: Printer,\n node: t.DeclareVariable,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"var\");\n this.space();\n this.print(node.id);\n this.print(node.id.typeAnnotation);\n this.semicolon();\n}\n\nexport function DeclareExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"export\");\n this.space();\n if (node.default) {\n this.word(\"default\");\n this.space();\n }\n\n FlowExportDeclaration.call(this, node);\n}\n\nexport function DeclareExportAllDeclaration(\n this: Printer,\n node: t.DeclareExportAllDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n ExportAllDeclaration.call(this, node);\n}\n\nexport function EnumDeclaration(this: Printer, node: t.EnumDeclaration) {\n const { id, body } = node;\n this.word(\"enum\");\n this.space();\n this.print(id);\n this.print(body);\n}\n\nfunction enumExplicitType(\n context: Printer,\n name: string,\n hasExplicitType: boolean,\n) {\n if (hasExplicitType) {\n context.space();\n context.word(\"of\");\n context.space();\n context.word(name);\n }\n context.space();\n}\n\nfunction enumBody(context: Printer, node: t.EnumBody) {\n const { members } = node;\n context.token(\"{\");\n context.indent();\n context.newline();\n for (const member of members) {\n context.print(member);\n context.newline();\n }\n if (node.hasUnknownMembers) {\n context.token(\"...\");\n context.newline();\n }\n context.dedent();\n context.token(\"}\");\n}\n\nexport function EnumBooleanBody(this: Printer, node: t.EnumBooleanBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"boolean\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumNumberBody(this: Printer, node: t.EnumNumberBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"number\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumStringBody(this: Printer, node: t.EnumStringBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"string\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumSymbolBody(this: Printer, node: t.EnumSymbolBody) {\n enumExplicitType(this, \"symbol\", true);\n enumBody(this, node);\n}\n\nexport function EnumDefaultedMember(\n this: Printer,\n node: t.EnumDefaultedMember,\n) {\n const { id } = node;\n this.print(id);\n this.token(\",\");\n}\n\nfunction enumInitializedMember(\n context: Printer,\n node: t.EnumBooleanMember | t.EnumNumberMember | t.EnumStringMember,\n) {\n context.print(node.id);\n context.space();\n context.token(\"=\");\n context.space();\n context.print(node.init);\n context.token(\",\");\n}\n\nexport function EnumBooleanMember(this: Printer, node: t.EnumBooleanMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumNumberMember(this: Printer, node: t.EnumNumberMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumStringMember(this: Printer, node: t.EnumStringMember) {\n enumInitializedMember(this, node);\n}\n\nfunction FlowExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n } else {\n this.token(\"{\");\n if (node.specifiers.length) {\n this.space();\n this.printList(node.specifiers);\n this.space();\n }\n this.token(\"}\");\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n this.print(node.source);\n }\n\n this.semicolon();\n }\n}\n\nexport function ExistsTypeAnnotation(this: Printer) {\n this.token(\"*\");\n}\n\nexport function FunctionTypeAnnotation(\n this: Printer,\n node: t.FunctionTypeAnnotation,\n parent?: t.Node,\n) {\n this.print(node.typeParameters);\n this.token(\"(\");\n\n if (node.this) {\n this.word(\"this\");\n this.token(\":\");\n this.space();\n this.print(node.this.typeAnnotation);\n if (node.params.length || node.rest) {\n this.token(\",\");\n this.space();\n }\n }\n\n this.printList(node.params);\n\n if (node.rest) {\n if (node.params.length) {\n this.token(\",\");\n this.space();\n }\n this.token(\"...\");\n this.print(node.rest);\n }\n\n this.token(\")\");\n\n // this node type is overloaded, not sure why but it makes it EXTREMELY annoying\n\n const type = parent?.type;\n if (\n type != null &&\n (type === \"ObjectTypeCallProperty\" ||\n type === \"ObjectTypeInternalSlot\" ||\n type === \"DeclareFunction\" ||\n (type === \"ObjectTypeProperty\" && parent.method))\n ) {\n this.token(\":\");\n } else {\n this.space();\n this.token(\"=>\");\n }\n\n this.space();\n this.print(node.returnType);\n}\n\nexport function FunctionTypeParam(this: Printer, node: t.FunctionTypeParam) {\n this.print(node.name);\n if (node.optional) this.token(\"?\");\n if (node.name) {\n this.token(\":\");\n this.space();\n }\n this.print(node.typeAnnotation);\n}\n\nexport function InterfaceExtends(this: Printer, node: t.InterfaceExtends) {\n this.print(node.id);\n this.print(node.typeParameters, true);\n}\n\nexport {\n InterfaceExtends as ClassImplements,\n InterfaceExtends as GenericTypeAnnotation,\n};\n\nexport function _interfaceish(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface | t.DeclareClass,\n) {\n this.print(node.id);\n this.print(node.typeParameters);\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends);\n }\n if (node.type === \"DeclareClass\") {\n if (node.mixins?.length) {\n this.space();\n this.word(\"mixins\");\n this.space();\n this.printList(node.mixins);\n }\n if (node.implements?.length) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements);\n }\n }\n this.space();\n this.print(node.body);\n}\n\nexport function _variance(\n this: Printer,\n node:\n | t.TypeParameter\n | t.ObjectTypeIndexer\n | t.ObjectTypeProperty\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty,\n) {\n const kind = node.variance?.kind;\n if (kind != null) {\n if (kind === \"plus\") {\n this.token(\"+\");\n } else if (kind === \"minus\") {\n this.token(\"-\");\n }\n }\n}\n\nexport function InterfaceDeclaration(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface,\n) {\n this.word(\"interface\");\n this.space();\n this._interfaceish(node);\n}\n\nfunction andSeparator(this: Printer, occurrenceCount: number) {\n this.space();\n this.token(\"&\", false, occurrenceCount);\n this.space();\n}\n\nexport function InterfaceTypeAnnotation(\n this: Printer,\n node: t.InterfaceTypeAnnotation,\n) {\n this.word(\"interface\");\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends);\n }\n this.space();\n this.print(node.body);\n}\n\nexport function IntersectionTypeAnnotation(\n this: Printer,\n node: t.IntersectionTypeAnnotation,\n) {\n this.printJoin(node.types, undefined, undefined, andSeparator);\n}\n\nexport function MixedTypeAnnotation(this: Printer) {\n this.word(\"mixed\");\n}\n\nexport function EmptyTypeAnnotation(this: Printer) {\n this.word(\"empty\");\n}\n\nexport function NullableTypeAnnotation(\n this: Printer,\n node: t.NullableTypeAnnotation,\n) {\n this.token(\"?\");\n this.print(node.typeAnnotation);\n}\n\nexport {\n NumericLiteral as NumberLiteralTypeAnnotation,\n StringLiteral as StringLiteralTypeAnnotation,\n} from \"./types.ts\";\n\nexport function NumberTypeAnnotation(this: Printer) {\n this.word(\"number\");\n}\n\nexport function StringTypeAnnotation(this: Printer) {\n this.word(\"string\");\n}\n\nexport function ThisTypeAnnotation(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TupleTypeAnnotation(\n this: Printer,\n node: t.TupleTypeAnnotation,\n) {\n this.token(\"[\");\n this.printList(node.types);\n this.token(\"]\");\n}\n\nexport function TypeofTypeAnnotation(\n this: Printer,\n node: t.TypeofTypeAnnotation,\n) {\n this.word(\"typeof\");\n this.space();\n this.print(node.argument);\n}\n\nexport function TypeAlias(\n this: Printer,\n node: t.TypeAlias | t.DeclareTypeAlias,\n) {\n this.word(\"type\");\n this.space();\n this.print(node.id);\n this.print(node.typeParameters);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right);\n this.semicolon();\n}\n\nexport function TypeAnnotation(\n this: Printer,\n node: t.TypeAnnotation,\n parent: t.Node,\n) {\n this.token(\":\");\n this.space();\n if (parent.type === \"ArrowFunctionExpression\") {\n this.tokenContext |= TokenContext.arrowFlowReturnType;\n } else if (\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n node.optional\n ) {\n this.token(\"?\");\n }\n this.print(node.typeAnnotation);\n}\n\nexport function TypeParameterInstantiation(\n this: Printer,\n node: t.TypeParameterInstantiation,\n): void {\n this.token(\"<\");\n this.printList(node.params);\n this.token(\">\");\n}\n\nexport { TypeParameterInstantiation as TypeParameterDeclaration };\n\nexport function TypeParameter(this: Printer, node: t.TypeParameter) {\n this._variance(node);\n\n this.word(node.name);\n\n if (node.bound) {\n this.print(node.bound);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default);\n }\n}\n\nexport function OpaqueType(\n this: Printer,\n node: t.OpaqueType | t.DeclareOpaqueType,\n) {\n this.word(\"opaque\");\n this.space();\n this.word(\"type\");\n this.space();\n this.print(node.id);\n this.print(node.typeParameters);\n if (node.supertype) {\n this.token(\":\");\n this.space();\n this.print(node.supertype);\n }\n\n if (node.impltype) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.impltype);\n }\n this.semicolon();\n}\n\nexport function ObjectTypeAnnotation(\n this: Printer,\n node: t.ObjectTypeAnnotation,\n) {\n if (node.exact) {\n this.token(\"{|\");\n } else {\n this.token(\"{\");\n }\n\n // TODO: remove the array fallbacks and instead enforce the types to require an array\n const props = [\n ...node.properties,\n ...(node.callProperties || []),\n ...(node.indexers || []),\n ...(node.internalSlots || []),\n ];\n\n if (props.length) {\n this.newline();\n\n this.space();\n\n this.printJoin(\n props,\n true,\n true,\n undefined,\n undefined,\n function addNewlines(leading) {\n if (leading && !props[0]) return 1;\n },\n () => {\n if (props.length !== 1 || node.inexact) {\n this.token(\",\");\n this.space();\n }\n },\n );\n\n this.space();\n }\n\n if (node.inexact) {\n this.indent();\n this.token(\"...\");\n if (props.length) {\n this.newline();\n }\n this.dedent();\n }\n\n if (node.exact) {\n this.token(\"|}\");\n } else {\n this.token(\"}\");\n }\n}\n\nexport function ObjectTypeInternalSlot(\n this: Printer,\n node: t.ObjectTypeInternalSlot,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.token(\"[\");\n this.token(\"[\");\n this.print(node.id);\n this.token(\"]\");\n this.token(\"]\");\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value);\n}\n\nexport function ObjectTypeCallProperty(\n this: Printer,\n node: t.ObjectTypeCallProperty,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.value);\n}\n\nexport function ObjectTypeIndexer(this: Printer, node: t.ObjectTypeIndexer) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this._variance(node);\n this.token(\"[\");\n if (node.id) {\n this.print(node.id);\n this.token(\":\");\n this.space();\n }\n this.print(node.key);\n this.token(\"]\");\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ObjectTypeProperty(this: Printer, node: t.ObjectTypeProperty) {\n if (node.proto) {\n this.word(\"proto\");\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.kind === \"get\" || node.kind === \"set\") {\n this.word(node.kind);\n this.space();\n }\n this._variance(node);\n this.print(node.key);\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value);\n}\n\nexport function ObjectTypeSpreadProperty(\n this: Printer,\n node: t.ObjectTypeSpreadProperty,\n) {\n this.token(\"...\");\n this.print(node.argument);\n}\n\nexport function QualifiedTypeIdentifier(\n this: Printer,\n node: t.QualifiedTypeIdentifier,\n) {\n this.print(node.qualification);\n this.token(\".\");\n this.print(node.id);\n}\n\nexport function SymbolTypeAnnotation(this: Printer) {\n this.word(\"symbol\");\n}\n\nfunction orSeparator(this: Printer, occurrenceCount: number) {\n this.space();\n this.token(\"|\", false, occurrenceCount);\n this.space();\n}\n\nexport function UnionTypeAnnotation(\n this: Printer,\n node: t.UnionTypeAnnotation,\n) {\n this.printJoin(node.types, undefined, undefined, orSeparator);\n}\n\nexport function TypeCastExpression(this: Printer, node: t.TypeCastExpression) {\n this.token(\"(\");\n this.print(node.expression);\n this.print(node.typeAnnotation);\n this.token(\")\");\n}\n\nexport function Variance(this: Printer, node: t.Variance) {\n if (node.kind === \"plus\") {\n this.token(\"+\");\n } else {\n this.token(\"-\");\n }\n}\n\nexport function VoidTypeAnnotation(this: Printer) {\n this.word(\"void\");\n}\n\nexport function IndexedAccessType(this: Printer, node: t.IndexedAccessType) {\n this.print(node.objectType, true);\n this.token(\"[\");\n this.print(node.indexType);\n this.token(\"]\");\n}\n\nexport function OptionalIndexedAccessType(\n this: Printer,\n node: t.OptionalIndexedAccessType,\n) {\n this.print(node.objectType);\n if (node.optional) {\n this.token(\"?.\");\n }\n this.token(\"[\");\n this.print(node.indexType);\n this.token(\"]\");\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/index.js b/node_modules/@babel/generator/lib/generators/index.js
new file mode 100644
index 00000000..331c73f7
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/index.js
@@ -0,0 +1,128 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var _templateLiterals = require("./template-literals.js");
+Object.keys(_templateLiterals).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _templateLiterals[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _templateLiterals[key];
+ }
+ });
+});
+var _expressions = require("./expressions.js");
+Object.keys(_expressions).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _expressions[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _expressions[key];
+ }
+ });
+});
+var _statements = require("./statements.js");
+Object.keys(_statements).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _statements[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _statements[key];
+ }
+ });
+});
+var _classes = require("./classes.js");
+Object.keys(_classes).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _classes[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _classes[key];
+ }
+ });
+});
+var _methods = require("./methods.js");
+Object.keys(_methods).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _methods[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _methods[key];
+ }
+ });
+});
+var _modules = require("./modules.js");
+Object.keys(_modules).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _modules[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _modules[key];
+ }
+ });
+});
+var _types = require("./types.js");
+Object.keys(_types).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _types[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _types[key];
+ }
+ });
+});
+var _flow = require("./flow.js");
+Object.keys(_flow).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _flow[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _flow[key];
+ }
+ });
+});
+var _base = require("./base.js");
+Object.keys(_base).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _base[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _base[key];
+ }
+ });
+});
+var _jsx = require("./jsx.js");
+Object.keys(_jsx).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _jsx[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _jsx[key];
+ }
+ });
+});
+var _typescript = require("./typescript.js");
+Object.keys(_typescript).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (key in exports && exports[key] === _typescript[key]) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _typescript[key];
+ }
+ });
+});
+
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/generator/lib/generators/index.js.map b/node_modules/@babel/generator/lib/generators/index.js.map
new file mode 100644
index 00000000..e8b0341b
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/index.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_templateLiterals","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_expressions","_statements","_classes","_methods","_modules","_types","_flow","_base","_jsx","_typescript"],"sources":["../../src/generators/index.ts"],"sourcesContent":["export * from \"./template-literals.ts\";\nexport * from \"./expressions.ts\";\nexport * from \"./statements.ts\";\nexport * from \"./classes.ts\";\nexport * from \"./methods.ts\";\nexport * from \"./modules.ts\";\nexport * from \"./types.ts\";\nexport * from \"./flow.ts\";\nexport * from \"./base.ts\";\nexport * from \"./jsx.ts\";\nexport * from \"./typescript.ts\";\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/jsx.js b/node_modules/@babel/generator/lib/generators/jsx.js
new file mode 100644
index 00000000..2650ec1e
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/jsx.js
@@ -0,0 +1,126 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.JSXAttribute = JSXAttribute;
+exports.JSXClosingElement = JSXClosingElement;
+exports.JSXClosingFragment = JSXClosingFragment;
+exports.JSXElement = JSXElement;
+exports.JSXEmptyExpression = JSXEmptyExpression;
+exports.JSXExpressionContainer = JSXExpressionContainer;
+exports.JSXFragment = JSXFragment;
+exports.JSXIdentifier = JSXIdentifier;
+exports.JSXMemberExpression = JSXMemberExpression;
+exports.JSXNamespacedName = JSXNamespacedName;
+exports.JSXOpeningElement = JSXOpeningElement;
+exports.JSXOpeningFragment = JSXOpeningFragment;
+exports.JSXSpreadAttribute = JSXSpreadAttribute;
+exports.JSXSpreadChild = JSXSpreadChild;
+exports.JSXText = JSXText;
+function JSXAttribute(node) {
+ this.print(node.name);
+ if (node.value) {
+ this.tokenChar(61);
+ this.print(node.value);
+ }
+}
+function JSXIdentifier(node) {
+ this.word(node.name);
+}
+function JSXNamespacedName(node) {
+ this.print(node.namespace);
+ this.tokenChar(58);
+ this.print(node.name);
+}
+function JSXMemberExpression(node) {
+ this.print(node.object);
+ this.tokenChar(46);
+ this.print(node.property);
+}
+function JSXSpreadAttribute(node) {
+ this.tokenChar(123);
+ this.token("...");
+ this.print(node.argument);
+ this.rightBrace(node);
+}
+function JSXExpressionContainer(node) {
+ this.tokenChar(123);
+ this.print(node.expression);
+ this.rightBrace(node);
+}
+function JSXSpreadChild(node) {
+ this.tokenChar(123);
+ this.token("...");
+ this.print(node.expression);
+ this.rightBrace(node);
+}
+function JSXText(node) {
+ const raw = this.getPossibleRaw(node);
+ if (raw !== undefined) {
+ this.token(raw, true);
+ } else {
+ this.token(node.value, true);
+ }
+}
+function JSXElement(node) {
+ const open = node.openingElement;
+ this.print(open);
+ if (open.selfClosing) return;
+ this.indent();
+ for (const child of node.children) {
+ this.print(child);
+ }
+ this.dedent();
+ this.print(node.closingElement);
+}
+function spaceSeparator() {
+ this.space();
+}
+function JSXOpeningElement(node) {
+ this.tokenChar(60);
+ this.print(node.name);
+ {
+ if (node.typeArguments) {
+ this.print(node.typeArguments);
+ }
+ this.print(node.typeParameters);
+ }
+ if (node.attributes.length > 0) {
+ this.space();
+ this.printJoin(node.attributes, undefined, undefined, spaceSeparator);
+ }
+ if (node.selfClosing) {
+ this.space();
+ this.tokenChar(47);
+ }
+ this.tokenChar(62);
+}
+function JSXClosingElement(node) {
+ this.tokenChar(60);
+ this.tokenChar(47);
+ this.print(node.name);
+ this.tokenChar(62);
+}
+function JSXEmptyExpression() {
+ this.printInnerComments();
+}
+function JSXFragment(node) {
+ this.print(node.openingFragment);
+ this.indent();
+ for (const child of node.children) {
+ this.print(child);
+ }
+ this.dedent();
+ this.print(node.closingFragment);
+}
+function JSXOpeningFragment() {
+ this.tokenChar(60);
+ this.tokenChar(62);
+}
+function JSXClosingFragment() {
+ this.token("");
+ this.tokenChar(62);
+}
+
+//# sourceMappingURL=jsx.js.map
diff --git a/node_modules/@babel/generator/lib/generators/jsx.js.map b/node_modules/@babel/generator/lib/generators/jsx.js.map
new file mode 100644
index 00000000..8412ddf2
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/jsx.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["JSXAttribute","node","print","name","value","token","JSXIdentifier","word","JSXNamespacedName","namespace","JSXMemberExpression","object","property","JSXSpreadAttribute","argument","rightBrace","JSXExpressionContainer","expression","JSXSpreadChild","JSXText","raw","getPossibleRaw","undefined","JSXElement","open","openingElement","selfClosing","indent","child","children","dedent","closingElement","spaceSeparator","space","JSXOpeningElement","typeArguments","typeParameters","attributes","length","printJoin","JSXClosingElement","JSXEmptyExpression","printInnerComments","JSXFragment","openingFragment","closingFragment","JSXOpeningFragment","JSXClosingFragment"],"sources":["../../src/generators/jsx.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\n\nexport function JSXAttribute(this: Printer, node: t.JSXAttribute) {\n this.print(node.name);\n if (node.value) {\n this.token(\"=\");\n this.print(node.value);\n }\n}\n\nexport function JSXIdentifier(this: Printer, node: t.JSXIdentifier) {\n this.word(node.name);\n}\n\nexport function JSXNamespacedName(this: Printer, node: t.JSXNamespacedName) {\n this.print(node.namespace);\n this.token(\":\");\n this.print(node.name);\n}\n\nexport function JSXMemberExpression(\n this: Printer,\n node: t.JSXMemberExpression,\n) {\n this.print(node.object);\n this.token(\".\");\n this.print(node.property);\n}\n\nexport function JSXSpreadAttribute(this: Printer, node: t.JSXSpreadAttribute) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.argument);\n this.rightBrace(node);\n}\n\nexport function JSXExpressionContainer(\n this: Printer,\n node: t.JSXExpressionContainer,\n) {\n this.token(\"{\");\n this.print(node.expression);\n this.rightBrace(node);\n}\n\nexport function JSXSpreadChild(this: Printer, node: t.JSXSpreadChild) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.expression);\n this.rightBrace(node);\n}\n\nexport function JSXText(this: Printer, node: t.JSXText) {\n const raw = this.getPossibleRaw(node);\n\n if (raw !== undefined) {\n this.token(raw, true);\n } else {\n this.token(node.value, true);\n }\n}\n\nexport function JSXElement(this: Printer, node: t.JSXElement) {\n const open = node.openingElement;\n this.print(open);\n if (open.selfClosing) return;\n\n this.indent();\n for (const child of node.children) {\n this.print(child);\n }\n this.dedent();\n\n this.print(node.closingElement);\n}\n\nfunction spaceSeparator(this: Printer) {\n this.space();\n}\n\nexport function JSXOpeningElement(this: Printer, node: t.JSXOpeningElement) {\n this.token(\"<\");\n this.print(node.name);\n if (process.env.BABEL_8_BREAKING) {\n //@ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n this.print(node.typeArguments);\n } else {\n if (node.typeArguments) {\n this.print(node.typeArguments); // Flow AST\n }\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters); // Legacy TS AST\n }\n\n if (node.attributes.length > 0) {\n this.space();\n this.printJoin(node.attributes, undefined, undefined, spaceSeparator);\n }\n if (node.selfClosing) {\n this.space();\n this.token(\"/\");\n }\n this.token(\">\");\n}\n\nexport function JSXClosingElement(this: Printer, node: t.JSXClosingElement) {\n this.token(\"<\");\n this.token(\"/\");\n this.print(node.name);\n this.token(\">\");\n}\n\nexport function JSXEmptyExpression(this: Printer) {\n // This node is empty, so forcefully print its inner comments.\n this.printInnerComments();\n}\n\nexport function JSXFragment(this: Printer, node: t.JSXFragment) {\n this.print(node.openingFragment);\n\n this.indent();\n for (const child of node.children) {\n this.print(child);\n }\n this.dedent();\n\n this.print(node.closingFragment);\n}\n\nexport function JSXOpeningFragment(this: Printer) {\n this.token(\"<\");\n this.token(\">\");\n}\n\nexport function JSXClosingFragment(this: Printer) {\n this.token(\"\");\n this.token(\">\");\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/methods.js b/node_modules/@babel/generator/lib/generators/methods.js
new file mode 100644
index 00000000..eabb16d1
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/methods.js
@@ -0,0 +1,198 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.ArrowFunctionExpression = ArrowFunctionExpression;
+exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression;
+exports._functionHead = _functionHead;
+exports._methodHead = _methodHead;
+exports._param = _param;
+exports._parameters = _parameters;
+exports._params = _params;
+exports._predicate = _predicate;
+exports._shouldPrintArrowParamsParens = _shouldPrintArrowParamsParens;
+var _t = require("@babel/types");
+var _index = require("../node/index.js");
+const {
+ isIdentifier
+} = _t;
+function _params(node, idNode, parentNode) {
+ this.print(node.typeParameters);
+ const nameInfo = _getFuncIdName.call(this, idNode, parentNode);
+ if (nameInfo) {
+ this.sourceIdentifierName(nameInfo.name, nameInfo.pos);
+ }
+ this.tokenChar(40);
+ this._parameters(node.params, ")");
+ const noLineTerminator = node.type === "ArrowFunctionExpression";
+ this.print(node.returnType, noLineTerminator);
+ this._noLineTerminator = noLineTerminator;
+}
+function _parameters(parameters, endToken) {
+ const exit = this.enterDelimited();
+ const trailingComma = this.shouldPrintTrailingComma(endToken);
+ const paramLength = parameters.length;
+ for (let i = 0; i < paramLength; i++) {
+ this._param(parameters[i]);
+ if (trailingComma || i < paramLength - 1) {
+ this.token(",", null, i);
+ this.space();
+ }
+ }
+ this.token(endToken);
+ exit();
+}
+function _param(parameter) {
+ this.printJoin(parameter.decorators);
+ this.print(parameter);
+ if (parameter.optional) {
+ this.tokenChar(63);
+ }
+ this.print(parameter.typeAnnotation);
+}
+function _methodHead(node) {
+ const kind = node.kind;
+ const key = node.key;
+ if (kind === "get" || kind === "set") {
+ this.word(kind);
+ this.space();
+ }
+ if (node.async) {
+ this.word("async", true);
+ this.space();
+ }
+ if (kind === "method" || kind === "init") {
+ if (node.generator) {
+ this.tokenChar(42);
+ }
+ }
+ if (node.computed) {
+ this.tokenChar(91);
+ this.print(key);
+ this.tokenChar(93);
+ } else {
+ this.print(key);
+ }
+ if (node.optional) {
+ this.tokenChar(63);
+ }
+ this._params(node, node.computed && node.key.type !== "StringLiteral" ? undefined : node.key, undefined);
+}
+function _predicate(node, noLineTerminatorAfter) {
+ if (node.predicate) {
+ if (!node.returnType) {
+ this.tokenChar(58);
+ }
+ this.space();
+ this.print(node.predicate, noLineTerminatorAfter);
+ }
+}
+function _functionHead(node, parent) {
+ if (node.async) {
+ this.word("async");
+ if (!this.format.preserveFormat) {
+ this._endsWithInnerRaw = false;
+ }
+ this.space();
+ }
+ this.word("function");
+ if (node.generator) {
+ if (!this.format.preserveFormat) {
+ this._endsWithInnerRaw = false;
+ }
+ this.tokenChar(42);
+ }
+ this.space();
+ if (node.id) {
+ this.print(node.id);
+ }
+ this._params(node, node.id, parent);
+ if (node.type !== "TSDeclareFunction") {
+ this._predicate(node);
+ }
+}
+function FunctionExpression(node, parent) {
+ this._functionHead(node, parent);
+ this.space();
+ this.print(node.body);
+}
+function ArrowFunctionExpression(node, parent) {
+ if (node.async) {
+ this.word("async", true);
+ this.space();
+ }
+ if (this._shouldPrintArrowParamsParens(node)) {
+ this._params(node, undefined, parent);
+ } else {
+ this.print(node.params[0], true);
+ }
+ this._predicate(node, true);
+ this.space();
+ this.printInnerComments();
+ this.token("=>");
+ this.space();
+ this.tokenContext |= _index.TokenContext.arrowBody;
+ this.print(node.body);
+}
+function _shouldPrintArrowParamsParens(node) {
+ var _firstParam$leadingCo, _firstParam$trailingC;
+ if (node.params.length !== 1) return true;
+ if (node.typeParameters || node.returnType || node.predicate) {
+ return true;
+ }
+ const firstParam = node.params[0];
+ if (!isIdentifier(firstParam) || firstParam.typeAnnotation || firstParam.optional || (_firstParam$leadingCo = firstParam.leadingComments) != null && _firstParam$leadingCo.length || (_firstParam$trailingC = firstParam.trailingComments) != null && _firstParam$trailingC.length) {
+ return true;
+ }
+ if (this.tokenMap) {
+ if (node.loc == null) return true;
+ if (this.tokenMap.findMatching(node, "(") !== null) return true;
+ const arrowToken = this.tokenMap.findMatching(node, "=>");
+ if ((arrowToken == null ? void 0 : arrowToken.loc) == null) return true;
+ return arrowToken.loc.start.line !== node.loc.start.line;
+ }
+ if (this.format.retainLines) return true;
+ return false;
+}
+function _getFuncIdName(idNode, parent) {
+ let id = idNode;
+ if (!id && parent) {
+ const parentType = parent.type;
+ if (parentType === "VariableDeclarator") {
+ id = parent.id;
+ } else if (parentType === "AssignmentExpression" || parentType === "AssignmentPattern") {
+ id = parent.left;
+ } else if (parentType === "ObjectProperty" || parentType === "ClassProperty") {
+ if (!parent.computed || parent.key.type === "StringLiteral") {
+ id = parent.key;
+ }
+ } else if (parentType === "ClassPrivateProperty" || parentType === "ClassAccessorProperty") {
+ id = parent.key;
+ }
+ }
+ if (!id) return;
+ let nameInfo;
+ if (id.type === "Identifier") {
+ var _id$loc, _id$loc2;
+ nameInfo = {
+ pos: (_id$loc = id.loc) == null ? void 0 : _id$loc.start,
+ name: ((_id$loc2 = id.loc) == null ? void 0 : _id$loc2.identifierName) || id.name
+ };
+ } else if (id.type === "PrivateName") {
+ var _id$loc3;
+ nameInfo = {
+ pos: (_id$loc3 = id.loc) == null ? void 0 : _id$loc3.start,
+ name: "#" + id.id.name
+ };
+ } else if (id.type === "StringLiteral") {
+ var _id$loc4;
+ nameInfo = {
+ pos: (_id$loc4 = id.loc) == null ? void 0 : _id$loc4.start,
+ name: id.value
+ };
+ }
+ return nameInfo;
+}
+
+//# sourceMappingURL=methods.js.map
diff --git a/node_modules/@babel/generator/lib/generators/methods.js.map b/node_modules/@babel/generator/lib/generators/methods.js.map
new file mode 100644
index 00000000..b81e15e7
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/methods.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","_index","isIdentifier","_params","node","idNode","parentNode","print","typeParameters","nameInfo","_getFuncIdName","call","sourceIdentifierName","name","pos","token","_parameters","params","noLineTerminator","type","returnType","_noLineTerminator","parameters","endToken","exit","enterDelimited","trailingComma","shouldPrintTrailingComma","paramLength","length","i","_param","space","parameter","printJoin","decorators","optional","typeAnnotation","_methodHead","kind","key","word","async","generator","computed","undefined","_predicate","noLineTerminatorAfter","predicate","_functionHead","parent","format","preserveFormat","_endsWithInnerRaw","id","FunctionExpression","body","ArrowFunctionExpression","_shouldPrintArrowParamsParens","printInnerComments","tokenContext","TokenContext","arrowBody","_firstParam$leadingCo","_firstParam$trailingC","firstParam","leadingComments","trailingComments","tokenMap","loc","findMatching","arrowToken","start","line","retainLines","parentType","left","_id$loc","_id$loc2","identifierName","_id$loc3","_id$loc4","value"],"sources":["../../src/generators/methods.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\nimport { isIdentifier, type ParentMaps } from \"@babel/types\";\nimport { TokenContext } from \"../node/index.ts\";\n\ntype ParentsOf = ParentMaps[T[\"type\"]];\n\nexport function _params(\n this: Printer,\n node: t.Function | t.TSDeclareMethod | t.TSDeclareFunction,\n idNode: t.Expression | t.PrivateName,\n parentNode: ParentsOf,\n) {\n this.print(node.typeParameters);\n\n const nameInfo = _getFuncIdName.call(this, idNode, parentNode);\n if (nameInfo) {\n this.sourceIdentifierName(nameInfo.name, nameInfo.pos);\n }\n\n this.token(\"(\");\n this._parameters(node.params, \")\");\n\n const noLineTerminator = node.type === \"ArrowFunctionExpression\";\n this.print(node.returnType, noLineTerminator);\n\n this._noLineTerminator = noLineTerminator;\n}\n\nexport function _parameters(\n this: Printer,\n parameters: t.Function[\"params\"],\n endToken: string,\n) {\n const exit = this.enterDelimited();\n\n const trailingComma = this.shouldPrintTrailingComma(endToken);\n\n const paramLength = parameters.length;\n for (let i = 0; i < paramLength; i++) {\n this._param(parameters[i]);\n\n if (trailingComma || i < paramLength - 1) {\n this.token(\",\", null, i);\n this.space();\n }\n }\n\n this.token(endToken);\n exit();\n}\n\nexport function _param(\n this: Printer,\n parameter: t.Identifier | t.RestElement | t.Pattern | t.TSParameterProperty,\n) {\n this.printJoin(parameter.decorators);\n this.print(parameter);\n if (\n // @ts-expect-error optional is not in TSParameterProperty\n parameter.optional\n ) {\n this.token(\"?\"); // TS / flow\n }\n\n this.print(\n // @ts-expect-error typeAnnotation is not in TSParameterProperty\n parameter.typeAnnotation,\n ); // TS / flow\n}\n\nexport function _methodHead(this: Printer, node: t.Method | t.TSDeclareMethod) {\n const kind = node.kind;\n const key = node.key;\n\n if (kind === \"get\" || kind === \"set\") {\n this.word(kind);\n this.space();\n }\n\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (\n kind === \"method\" ||\n // @ts-expect-error Fixme: kind: \"init\" is not defined\n kind === \"init\"\n ) {\n if (node.generator) {\n this.token(\"*\");\n }\n }\n\n if (node.computed) {\n this.token(\"[\");\n this.print(key);\n this.token(\"]\");\n } else {\n this.print(key);\n }\n\n if (\n // @ts-expect-error optional is not in ObjectMethod\n node.optional\n ) {\n // TS\n this.token(\"?\");\n }\n\n this._params(\n node,\n node.computed && node.key.type !== \"StringLiteral\" ? undefined : node.key,\n undefined,\n );\n}\n\nexport function _predicate(\n this: Printer,\n node:\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.ArrowFunctionExpression,\n noLineTerminatorAfter?: boolean,\n) {\n if (node.predicate) {\n if (!node.returnType) {\n this.token(\":\");\n }\n this.space();\n this.print(node.predicate, noLineTerminatorAfter);\n }\n}\n\nexport function _functionHead(\n this: Printer,\n node: t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction,\n parent: ParentsOf,\n) {\n if (node.async) {\n this.word(\"async\");\n if (!this.format.preserveFormat) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n }\n this.space();\n }\n this.word(\"function\");\n if (node.generator) {\n if (!this.format.preserveFormat) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n }\n this.token(\"*\");\n }\n\n this.space();\n if (node.id) {\n this.print(node.id);\n }\n\n this._params(node, node.id, parent);\n if (node.type !== \"TSDeclareFunction\") {\n this._predicate(node);\n }\n}\n\nexport function FunctionExpression(\n this: Printer,\n node: t.FunctionExpression,\n parent: ParentsOf,\n) {\n this._functionHead(node, parent);\n this.space();\n this.print(node.body);\n}\n\nexport { FunctionExpression as FunctionDeclaration };\n\nexport function ArrowFunctionExpression(\n this: Printer,\n node: t.ArrowFunctionExpression,\n parent: ParentsOf,\n) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (this._shouldPrintArrowParamsParens(node)) {\n this._params(node, undefined, parent);\n } else {\n this.print(node.params[0], true);\n }\n\n this._predicate(node, true);\n this.space();\n // When printing (x)/*1*/=>{}, we remove the parentheses\n // and thus there aren't two contiguous inner tokens.\n // We forcefully print inner comments here.\n this.printInnerComments();\n this.token(\"=>\");\n\n this.space();\n\n this.tokenContext |= TokenContext.arrowBody;\n this.print(node.body);\n}\n\n// Try to avoid printing parens in simple cases, but only if we're pretty\n// sure that they aren't needed by type annotations or potential newlines.\nexport function _shouldPrintArrowParamsParens(\n this: Printer,\n node: t.ArrowFunctionExpression,\n): boolean {\n if (node.params.length !== 1) return true;\n\n if (node.typeParameters || node.returnType || node.predicate) {\n return true;\n }\n\n const firstParam = node.params[0];\n if (\n !isIdentifier(firstParam) ||\n firstParam.typeAnnotation ||\n firstParam.optional ||\n // Flow does not support `foo /*: string*/ => {};`\n firstParam.leadingComments?.length ||\n firstParam.trailingComments?.length\n ) {\n return true;\n }\n\n if (this.tokenMap) {\n if (node.loc == null) return true;\n if (this.tokenMap.findMatching(node, \"(\") !== null) return true;\n const arrowToken = this.tokenMap.findMatching(node, \"=>\");\n if (arrowToken?.loc == null) return true;\n return arrowToken.loc.start.line !== node.loc.start.line;\n }\n\n if (this.format.retainLines) return true;\n\n return false;\n}\n\nfunction _getFuncIdName(\n this: Printer,\n idNode: t.Expression | t.PrivateName,\n parent: ParentsOf,\n) {\n let id: t.Expression | t.PrivateName | t.LVal = idNode;\n\n if (!id && parent) {\n const parentType = parent.type;\n\n if (parentType === \"VariableDeclarator\") {\n id = parent.id;\n } else if (\n parentType === \"AssignmentExpression\" ||\n parentType === \"AssignmentPattern\"\n ) {\n id = parent.left;\n } else if (\n parentType === \"ObjectProperty\" ||\n parentType === \"ClassProperty\"\n ) {\n if (!parent.computed || parent.key.type === \"StringLiteral\") {\n id = parent.key;\n }\n } else if (\n parentType === \"ClassPrivateProperty\" ||\n parentType === \"ClassAccessorProperty\"\n ) {\n id = parent.key;\n }\n }\n\n if (!id) return;\n\n let nameInfo;\n\n if (id.type === \"Identifier\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.loc?.identifierName || id.name,\n };\n } else if (id.type === \"PrivateName\") {\n nameInfo = {\n pos: id.loc?.start,\n name: \"#\" + id.id.name,\n };\n } else if (id.type === \"StringLiteral\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.value,\n };\n }\n\n return nameInfo;\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/modules.js b/node_modules/@babel/generator/lib/generators/modules.js
new file mode 100644
index 00000000..8b536d90
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/modules.js
@@ -0,0 +1,287 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.ExportAllDeclaration = ExportAllDeclaration;
+exports.ExportDefaultDeclaration = ExportDefaultDeclaration;
+exports.ExportDefaultSpecifier = ExportDefaultSpecifier;
+exports.ExportNamedDeclaration = ExportNamedDeclaration;
+exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier;
+exports.ExportSpecifier = ExportSpecifier;
+exports.ImportAttribute = ImportAttribute;
+exports.ImportDeclaration = ImportDeclaration;
+exports.ImportDefaultSpecifier = ImportDefaultSpecifier;
+exports.ImportExpression = ImportExpression;
+exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier;
+exports.ImportSpecifier = ImportSpecifier;
+exports._printAttributes = _printAttributes;
+var _t = require("@babel/types");
+var _index = require("../node/index.js");
+const {
+ isClassDeclaration,
+ isExportDefaultSpecifier,
+ isExportNamespaceSpecifier,
+ isImportDefaultSpecifier,
+ isImportNamespaceSpecifier,
+ isStatement
+} = _t;
+function ImportSpecifier(node) {
+ if (node.importKind === "type" || node.importKind === "typeof") {
+ this.word(node.importKind);
+ this.space();
+ }
+ this.print(node.imported);
+ if (node.local && node.local.name !== node.imported.name) {
+ this.space();
+ this.word("as");
+ this.space();
+ this.print(node.local);
+ }
+}
+function ImportDefaultSpecifier(node) {
+ this.print(node.local);
+}
+function ExportDefaultSpecifier(node) {
+ this.print(node.exported);
+}
+function ExportSpecifier(node) {
+ if (node.exportKind === "type") {
+ this.word("type");
+ this.space();
+ }
+ this.print(node.local);
+ if (node.exported && node.local.name !== node.exported.name) {
+ this.space();
+ this.word("as");
+ this.space();
+ this.print(node.exported);
+ }
+}
+function ExportNamespaceSpecifier(node) {
+ this.tokenChar(42);
+ this.space();
+ this.word("as");
+ this.space();
+ this.print(node.exported);
+}
+let warningShown = false;
+function _printAttributes(node, hasPreviousBrace) {
+ var _node$extra;
+ const {
+ importAttributesKeyword
+ } = this.format;
+ const {
+ attributes,
+ assertions
+ } = node;
+ if (attributes && !importAttributesKeyword && node.extra && (node.extra.deprecatedAssertSyntax || node.extra.deprecatedWithLegacySyntax) && !warningShown) {
+ warningShown = true;
+ console.warn(`\
+You are using import attributes, without specifying the desired output syntax.
+Please specify the "importAttributesKeyword" generator option, whose value can be one of:
+ - "with" : \`import { a } from "b" with { type: "json" };\`
+ - "assert" : \`import { a } from "b" assert { type: "json" };\`
+ - "with-legacy" : \`import { a } from "b" with type: "json";\`
+`);
+ }
+ const useAssertKeyword = importAttributesKeyword === "assert" || !importAttributesKeyword && assertions;
+ this.word(useAssertKeyword ? "assert" : "with");
+ this.space();
+ if (!useAssertKeyword && (importAttributesKeyword === "with-legacy" || !importAttributesKeyword && (_node$extra = node.extra) != null && _node$extra.deprecatedWithLegacySyntax)) {
+ this.printList(attributes || assertions);
+ return;
+ }
+ const occurrenceCount = hasPreviousBrace ? 1 : 0;
+ this.token("{", null, occurrenceCount);
+ this.space();
+ this.printList(attributes || assertions, this.shouldPrintTrailingComma("}"));
+ this.space();
+ this.token("}", null, occurrenceCount);
+}
+function ExportAllDeclaration(node) {
+ var _node$attributes, _node$assertions;
+ this.word("export");
+ this.space();
+ if (node.exportKind === "type") {
+ this.word("type");
+ this.space();
+ }
+ this.tokenChar(42);
+ this.space();
+ this.word("from");
+ this.space();
+ if ((_node$attributes = node.attributes) != null && _node$attributes.length || (_node$assertions = node.assertions) != null && _node$assertions.length) {
+ this.print(node.source, true);
+ this.space();
+ this._printAttributes(node, false);
+ } else {
+ this.print(node.source);
+ }
+ this.semicolon();
+}
+function maybePrintDecoratorsBeforeExport(printer, node) {
+ if (isClassDeclaration(node.declaration) && printer._shouldPrintDecoratorsBeforeExport(node)) {
+ printer.printJoin(node.declaration.decorators);
+ }
+}
+function ExportNamedDeclaration(node) {
+ maybePrintDecoratorsBeforeExport(this, node);
+ this.word("export");
+ this.space();
+ if (node.declaration) {
+ const declar = node.declaration;
+ this.print(declar);
+ if (!isStatement(declar)) this.semicolon();
+ } else {
+ if (node.exportKind === "type") {
+ this.word("type");
+ this.space();
+ }
+ const specifiers = node.specifiers.slice(0);
+ let hasSpecial = false;
+ for (;;) {
+ const first = specifiers[0];
+ if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) {
+ hasSpecial = true;
+ this.print(specifiers.shift());
+ if (specifiers.length) {
+ this.tokenChar(44);
+ this.space();
+ }
+ } else {
+ break;
+ }
+ }
+ let hasBrace = false;
+ if (specifiers.length || !specifiers.length && !hasSpecial) {
+ hasBrace = true;
+ this.tokenChar(123);
+ if (specifiers.length) {
+ this.space();
+ this.printList(specifiers, this.shouldPrintTrailingComma("}"));
+ this.space();
+ }
+ this.tokenChar(125);
+ }
+ if (node.source) {
+ var _node$attributes2, _node$assertions2;
+ this.space();
+ this.word("from");
+ this.space();
+ if ((_node$attributes2 = node.attributes) != null && _node$attributes2.length || (_node$assertions2 = node.assertions) != null && _node$assertions2.length) {
+ this.print(node.source, true);
+ this.space();
+ this._printAttributes(node, hasBrace);
+ } else {
+ this.print(node.source);
+ }
+ }
+ this.semicolon();
+ }
+}
+function ExportDefaultDeclaration(node) {
+ maybePrintDecoratorsBeforeExport(this, node);
+ this.word("export");
+ this.noIndentInnerCommentsHere();
+ this.space();
+ this.word("default");
+ this.space();
+ this.tokenContext |= _index.TokenContext.exportDefault;
+ const declar = node.declaration;
+ this.print(declar);
+ if (!isStatement(declar)) this.semicolon();
+}
+function ImportDeclaration(node) {
+ var _node$attributes3, _node$assertions3;
+ this.word("import");
+ this.space();
+ const isTypeKind = node.importKind === "type" || node.importKind === "typeof";
+ if (isTypeKind) {
+ this.noIndentInnerCommentsHere();
+ this.word(node.importKind);
+ this.space();
+ } else if (node.module) {
+ this.noIndentInnerCommentsHere();
+ this.word("module");
+ this.space();
+ } else if (node.phase) {
+ this.noIndentInnerCommentsHere();
+ this.word(node.phase);
+ this.space();
+ }
+ const specifiers = node.specifiers.slice(0);
+ const hasSpecifiers = !!specifiers.length;
+ while (hasSpecifiers) {
+ const first = specifiers[0];
+ if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {
+ this.print(specifiers.shift());
+ if (specifiers.length) {
+ this.tokenChar(44);
+ this.space();
+ }
+ } else {
+ break;
+ }
+ }
+ let hasBrace = false;
+ if (specifiers.length) {
+ hasBrace = true;
+ this.tokenChar(123);
+ this.space();
+ this.printList(specifiers, this.shouldPrintTrailingComma("}"));
+ this.space();
+ this.tokenChar(125);
+ } else if (isTypeKind && !hasSpecifiers) {
+ hasBrace = true;
+ this.tokenChar(123);
+ this.tokenChar(125);
+ }
+ if (hasSpecifiers || isTypeKind) {
+ this.space();
+ this.word("from");
+ this.space();
+ }
+ if ((_node$attributes3 = node.attributes) != null && _node$attributes3.length || (_node$assertions3 = node.assertions) != null && _node$assertions3.length) {
+ this.print(node.source, true);
+ this.space();
+ this._printAttributes(node, hasBrace);
+ } else {
+ this.print(node.source);
+ }
+ this.semicolon();
+}
+function ImportAttribute(node) {
+ this.print(node.key);
+ this.tokenChar(58);
+ this.space();
+ this.print(node.value);
+}
+function ImportNamespaceSpecifier(node) {
+ this.tokenChar(42);
+ this.space();
+ this.word("as");
+ this.space();
+ this.print(node.local);
+}
+function ImportExpression(node) {
+ this.word("import");
+ if (node.phase) {
+ this.tokenChar(46);
+ this.word(node.phase);
+ }
+ this.tokenChar(40);
+ const shouldPrintTrailingComma = this.shouldPrintTrailingComma(")");
+ this.print(node.source);
+ if (node.options != null) {
+ this.tokenChar(44);
+ this.space();
+ this.print(node.options);
+ }
+ if (shouldPrintTrailingComma) {
+ this.tokenChar(44);
+ }
+ this.rightParens(node);
+}
+
+//# sourceMappingURL=modules.js.map
diff --git a/node_modules/@babel/generator/lib/generators/modules.js.map b/node_modules/@babel/generator/lib/generators/modules.js.map
new file mode 100644
index 00000000..66a2d4de
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/modules.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","_index","isClassDeclaration","isExportDefaultSpecifier","isExportNamespaceSpecifier","isImportDefaultSpecifier","isImportNamespaceSpecifier","isStatement","ImportSpecifier","node","importKind","word","space","print","imported","local","name","ImportDefaultSpecifier","ExportDefaultSpecifier","exported","ExportSpecifier","exportKind","ExportNamespaceSpecifier","token","warningShown","_printAttributes","hasPreviousBrace","_node$extra","importAttributesKeyword","format","attributes","assertions","extra","deprecatedAssertSyntax","deprecatedWithLegacySyntax","console","warn","useAssertKeyword","printList","occurrenceCount","shouldPrintTrailingComma","ExportAllDeclaration","_node$attributes","_node$assertions","length","source","semicolon","maybePrintDecoratorsBeforeExport","printer","declaration","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","ExportNamedDeclaration","declar","specifiers","slice","hasSpecial","first","shift","hasBrace","_node$attributes2","_node$assertions2","ExportDefaultDeclaration","noIndentInnerCommentsHere","tokenContext","TokenContext","exportDefault","ImportDeclaration","_node$attributes3","_node$assertions3","isTypeKind","module","phase","hasSpecifiers","ImportAttribute","key","value","ImportNamespaceSpecifier","ImportExpression","options","rightParens"],"sources":["../../src/generators/modules.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport {\n isClassDeclaration,\n isExportDefaultSpecifier,\n isExportNamespaceSpecifier,\n isImportDefaultSpecifier,\n isImportNamespaceSpecifier,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { TokenContext } from \"../node/index.ts\";\n\nexport function ImportSpecifier(this: Printer, node: t.ImportSpecifier) {\n if (node.importKind === \"type\" || node.importKind === \"typeof\") {\n this.word(node.importKind);\n this.space();\n }\n\n this.print(node.imported);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.local && node.local.name !== node.imported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local);\n }\n}\n\nexport function ImportDefaultSpecifier(\n this: Printer,\n node: t.ImportDefaultSpecifier,\n) {\n this.print(node.local);\n}\n\nexport function ExportDefaultSpecifier(\n this: Printer,\n node: t.ExportDefaultSpecifier,\n) {\n this.print(node.exported);\n}\n\nexport function ExportSpecifier(this: Printer, node: t.ExportSpecifier) {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n this.print(node.local);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.exported && node.local.name !== node.exported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported);\n }\n}\n\nexport function ExportNamespaceSpecifier(\n this: Printer,\n node: t.ExportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported);\n}\n\nlet warningShown = false;\n\nexport function _printAttributes(\n this: Printer,\n node: Extract,\n hasPreviousBrace: boolean,\n) {\n const { importAttributesKeyword } = this.format;\n const { attributes, assertions } = node;\n\n if (\n !process.env.BABEL_8_BREAKING &&\n attributes &&\n !importAttributesKeyword &&\n node.extra &&\n (node.extra.deprecatedAssertSyntax ||\n node.extra.deprecatedWithLegacySyntax) &&\n // In the production build only show the warning once.\n // We want to show it per-usage locally for tests.\n (!process.env.IS_PUBLISH || !warningShown)\n ) {\n warningShown = true;\n console.warn(`\\\nYou are using import attributes, without specifying the desired output syntax.\nPlease specify the \"importAttributesKeyword\" generator option, whose value can be one of:\n - \"with\" : \\`import { a } from \"b\" with { type: \"json\" };\\`\n - \"assert\" : \\`import { a } from \"b\" assert { type: \"json\" };\\`\n - \"with-legacy\" : \\`import { a } from \"b\" with type: \"json\";\\`\n`);\n }\n\n const useAssertKeyword =\n importAttributesKeyword === \"assert\" ||\n (!importAttributesKeyword && assertions);\n\n this.word(useAssertKeyword ? \"assert\" : \"with\");\n this.space();\n\n if (\n !process.env.BABEL_8_BREAKING &&\n !useAssertKeyword &&\n (importAttributesKeyword === \"with-legacy\" ||\n (!importAttributesKeyword && node.extra?.deprecatedWithLegacySyntax))\n ) {\n // with-legacy\n this.printList(attributes || assertions);\n return;\n }\n\n const occurrenceCount = hasPreviousBrace ? 1 : 0;\n\n this.token(\"{\", null, occurrenceCount);\n this.space();\n this.printList(attributes || assertions, this.shouldPrintTrailingComma(\"}\"));\n this.space();\n this.token(\"}\", null, occurrenceCount);\n}\n\nexport function ExportAllDeclaration(\n this: Printer,\n node: t.ExportAllDeclaration | t.DeclareExportAllDeclaration,\n) {\n this.word(\"export\");\n this.space();\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n this.token(\"*\");\n this.space();\n this.word(\"from\");\n this.space();\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, true);\n this.space();\n this._printAttributes(node, false);\n } else {\n this.print(node.source);\n }\n\n this.semicolon();\n}\n\nfunction maybePrintDecoratorsBeforeExport(\n printer: Printer,\n node: t.ExportNamedDeclaration | t.ExportDefaultDeclaration,\n) {\n if (\n isClassDeclaration(node.declaration) &&\n printer._shouldPrintDecoratorsBeforeExport(\n node as t.ExportNamedDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n printer.printJoin(node.declaration.decorators);\n }\n}\n\nexport function ExportNamedDeclaration(\n this: Printer,\n node: t.ExportNamedDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.space();\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n } else {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n\n // print \"special\" specifiers first\n let hasSpecial = false;\n for (;;) {\n const first = specifiers[0];\n if (\n isExportDefaultSpecifier(first) ||\n isExportNamespaceSpecifier(first)\n ) {\n hasSpecial = true;\n this.print(specifiers.shift());\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n let hasBrace = false;\n if (specifiers.length || (!specifiers.length && !hasSpecial)) {\n hasBrace = true;\n this.token(\"{\");\n if (specifiers.length) {\n this.space();\n this.printList(specifiers, this.shouldPrintTrailingComma(\"}\"));\n this.space();\n }\n this.token(\"}\");\n }\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, true);\n this.space();\n this._printAttributes(node, hasBrace);\n } else {\n this.print(node.source);\n }\n }\n\n this.semicolon();\n }\n}\n\nexport function ExportDefaultDeclaration(\n this: Printer,\n node: t.ExportDefaultDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.noIndentInnerCommentsHere();\n this.space();\n this.word(\"default\");\n this.space();\n this.tokenContext |= TokenContext.exportDefault;\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n}\n\nexport function ImportDeclaration(this: Printer, node: t.ImportDeclaration) {\n this.word(\"import\");\n this.space();\n\n const isTypeKind = node.importKind === \"type\" || node.importKind === \"typeof\";\n if (isTypeKind) {\n this.noIndentInnerCommentsHere();\n this.word(node.importKind);\n this.space();\n } else if (node.module) {\n this.noIndentInnerCommentsHere();\n this.word(\"module\");\n this.space();\n } else if (node.phase) {\n this.noIndentInnerCommentsHere();\n this.word(node.phase);\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n const hasSpecifiers = !!specifiers.length;\n // print \"special\" specifiers first. The loop condition is constant,\n // but there is a \"break\" in the body.\n while (hasSpecifiers) {\n const first = specifiers[0];\n if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {\n this.print(specifiers.shift());\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n let hasBrace = false;\n if (specifiers.length) {\n hasBrace = true;\n this.token(\"{\");\n this.space();\n this.printList(specifiers, this.shouldPrintTrailingComma(\"}\"));\n this.space();\n this.token(\"}\");\n } else if (isTypeKind && !hasSpecifiers) {\n hasBrace = true;\n this.token(\"{\");\n this.token(\"}\");\n }\n\n if (hasSpecifiers || isTypeKind) {\n this.space();\n this.word(\"from\");\n this.space();\n }\n\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, true);\n this.space();\n this._printAttributes(node, hasBrace);\n } else {\n this.print(node.source);\n }\n\n this.semicolon();\n}\n\nexport function ImportAttribute(this: Printer, node: t.ImportAttribute) {\n this.print(node.key);\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ImportNamespaceSpecifier(\n this: Printer,\n node: t.ImportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local);\n}\n\nexport function ImportExpression(this: Printer, node: t.ImportExpression) {\n this.word(\"import\");\n if (node.phase) {\n this.token(\".\");\n this.word(node.phase);\n }\n this.token(\"(\");\n const shouldPrintTrailingComma = this.shouldPrintTrailingComma(\")\");\n this.print(node.source);\n if (node.options != null) {\n this.token(\",\");\n this.space();\n this.print(node.options);\n }\n if (shouldPrintTrailingComma) {\n this.token(\",\");\n }\n this.rightParens(node);\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/statements.js b/node_modules/@babel/generator/lib/generators/statements.js
new file mode 100644
index 00000000..b4c72581
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/statements.js
@@ -0,0 +1,279 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.BreakStatement = BreakStatement;
+exports.CatchClause = CatchClause;
+exports.ContinueStatement = ContinueStatement;
+exports.DebuggerStatement = DebuggerStatement;
+exports.DoWhileStatement = DoWhileStatement;
+exports.ForOfStatement = exports.ForInStatement = void 0;
+exports.ForStatement = ForStatement;
+exports.IfStatement = IfStatement;
+exports.LabeledStatement = LabeledStatement;
+exports.ReturnStatement = ReturnStatement;
+exports.SwitchCase = SwitchCase;
+exports.SwitchStatement = SwitchStatement;
+exports.ThrowStatement = ThrowStatement;
+exports.TryStatement = TryStatement;
+exports.VariableDeclaration = VariableDeclaration;
+exports.VariableDeclarator = VariableDeclarator;
+exports.WhileStatement = WhileStatement;
+exports.WithStatement = WithStatement;
+var _t = require("@babel/types");
+const {
+ isFor,
+ isForStatement,
+ isIfStatement,
+ isStatement
+} = _t;
+function WithStatement(node) {
+ this.word("with");
+ this.space();
+ this.tokenChar(40);
+ this.print(node.object);
+ this.tokenChar(41);
+ this.printBlock(node);
+}
+function IfStatement(node) {
+ this.word("if");
+ this.space();
+ this.tokenChar(40);
+ this.print(node.test);
+ this.tokenChar(41);
+ this.space();
+ const needsBlock = node.alternate && isIfStatement(getLastStatement(node.consequent));
+ if (needsBlock) {
+ this.tokenChar(123);
+ this.newline();
+ this.indent();
+ }
+ this.printAndIndentOnComments(node.consequent);
+ if (needsBlock) {
+ this.dedent();
+ this.newline();
+ this.tokenChar(125);
+ }
+ if (node.alternate) {
+ if (this.endsWith(125)) this.space();
+ this.word("else");
+ this.space();
+ this.printAndIndentOnComments(node.alternate);
+ }
+}
+function getLastStatement(statement) {
+ const {
+ body
+ } = statement;
+ if (isStatement(body) === false) {
+ return statement;
+ }
+ return getLastStatement(body);
+}
+function ForStatement(node) {
+ this.word("for");
+ this.space();
+ this.tokenChar(40);
+ {
+ const exit = this.enterForStatementInit();
+ this.print(node.init);
+ exit();
+ }
+ this.tokenChar(59);
+ if (node.test) {
+ this.space();
+ this.print(node.test);
+ }
+ this.token(";", false, 1);
+ if (node.update) {
+ this.space();
+ this.print(node.update);
+ }
+ this.tokenChar(41);
+ this.printBlock(node);
+}
+function WhileStatement(node) {
+ this.word("while");
+ this.space();
+ this.tokenChar(40);
+ this.print(node.test);
+ this.tokenChar(41);
+ this.printBlock(node);
+}
+function ForXStatement(node) {
+ this.word("for");
+ this.space();
+ const isForOf = node.type === "ForOfStatement";
+ if (isForOf && node.await) {
+ this.word("await");
+ this.space();
+ }
+ this.noIndentInnerCommentsHere();
+ this.tokenChar(40);
+ {
+ const exit = this.enterForXStatementInit(isForOf);
+ this.print(node.left);
+ exit == null || exit();
+ }
+ this.space();
+ this.word(isForOf ? "of" : "in");
+ this.space();
+ this.print(node.right);
+ this.tokenChar(41);
+ this.printBlock(node);
+}
+const ForInStatement = exports.ForInStatement = ForXStatement;
+const ForOfStatement = exports.ForOfStatement = ForXStatement;
+function DoWhileStatement(node) {
+ this.word("do");
+ this.space();
+ this.print(node.body);
+ this.space();
+ this.word("while");
+ this.space();
+ this.tokenChar(40);
+ this.print(node.test);
+ this.tokenChar(41);
+ this.semicolon();
+}
+function printStatementAfterKeyword(printer, node) {
+ if (node) {
+ printer.space();
+ printer.printTerminatorless(node);
+ }
+ printer.semicolon();
+}
+function BreakStatement(node) {
+ this.word("break");
+ printStatementAfterKeyword(this, node.label);
+}
+function ContinueStatement(node) {
+ this.word("continue");
+ printStatementAfterKeyword(this, node.label);
+}
+function ReturnStatement(node) {
+ this.word("return");
+ printStatementAfterKeyword(this, node.argument);
+}
+function ThrowStatement(node) {
+ this.word("throw");
+ printStatementAfterKeyword(this, node.argument);
+}
+function LabeledStatement(node) {
+ this.print(node.label);
+ this.tokenChar(58);
+ this.space();
+ this.print(node.body);
+}
+function TryStatement(node) {
+ this.word("try");
+ this.space();
+ this.print(node.block);
+ this.space();
+ if (node.handlers) {
+ this.print(node.handlers[0]);
+ } else {
+ this.print(node.handler);
+ }
+ if (node.finalizer) {
+ this.space();
+ this.word("finally");
+ this.space();
+ this.print(node.finalizer);
+ }
+}
+function CatchClause(node) {
+ this.word("catch");
+ this.space();
+ if (node.param) {
+ this.tokenChar(40);
+ this.print(node.param);
+ this.print(node.param.typeAnnotation);
+ this.tokenChar(41);
+ this.space();
+ }
+ this.print(node.body);
+}
+function SwitchStatement(node) {
+ this.word("switch");
+ this.space();
+ this.tokenChar(40);
+ this.print(node.discriminant);
+ this.tokenChar(41);
+ this.space();
+ this.tokenChar(123);
+ this.printSequence(node.cases, true, undefined, function addNewlines(leading, cas) {
+ if (!leading && node.cases[node.cases.length - 1] === cas) return -1;
+ });
+ this.rightBrace(node);
+}
+function SwitchCase(node) {
+ if (node.test) {
+ this.word("case");
+ this.space();
+ this.print(node.test);
+ this.tokenChar(58);
+ } else {
+ this.word("default");
+ this.tokenChar(58);
+ }
+ if (node.consequent.length) {
+ this.newline();
+ this.printSequence(node.consequent, true);
+ }
+}
+function DebuggerStatement() {
+ this.word("debugger");
+ this.semicolon();
+}
+function VariableDeclaration(node, parent) {
+ if (node.declare) {
+ this.word("declare");
+ this.space();
+ }
+ const {
+ kind
+ } = node;
+ if (kind === "await using") {
+ this.word("await");
+ this.space();
+ this.word("using", true);
+ } else {
+ this.word(kind, kind === "using");
+ }
+ this.space();
+ let hasInits = false;
+ if (!isFor(parent)) {
+ for (const declar of node.declarations) {
+ if (declar.init) {
+ hasInits = true;
+ }
+ }
+ }
+ this.printList(node.declarations, undefined, undefined, node.declarations.length > 1, hasInits ? function (occurrenceCount) {
+ this.token(",", false, occurrenceCount);
+ this.newline();
+ } : undefined);
+ if (isFor(parent)) {
+ if (isForStatement(parent)) {
+ if (parent.init === node) return;
+ } else {
+ if (parent.left === node) return;
+ }
+ }
+ this.semicolon();
+}
+function VariableDeclarator(node) {
+ this.print(node.id);
+ if (node.definite) this.tokenChar(33);
+ this.print(node.id.typeAnnotation);
+ if (node.init) {
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.init);
+ }
+}
+
+//# sourceMappingURL=statements.js.map
diff --git a/node_modules/@babel/generator/lib/generators/statements.js.map b/node_modules/@babel/generator/lib/generators/statements.js.map
new file mode 100644
index 00000000..c977cc98
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/statements.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","isFor","isForStatement","isIfStatement","isStatement","WithStatement","node","word","space","token","print","object","printBlock","IfStatement","test","needsBlock","alternate","getLastStatement","consequent","newline","indent","printAndIndentOnComments","dedent","endsWith","statement","body","ForStatement","exit","enterForStatementInit","init","update","WhileStatement","ForXStatement","isForOf","type","await","noIndentInnerCommentsHere","enterForXStatementInit","left","right","ForInStatement","exports","ForOfStatement","DoWhileStatement","semicolon","printStatementAfterKeyword","printer","printTerminatorless","BreakStatement","label","ContinueStatement","ReturnStatement","argument","ThrowStatement","LabeledStatement","TryStatement","block","handlers","handler","finalizer","CatchClause","param","typeAnnotation","SwitchStatement","discriminant","printSequence","cases","undefined","addNewlines","leading","cas","length","rightBrace","SwitchCase","DebuggerStatement","VariableDeclaration","parent","declare","kind","hasInits","declar","declarations","printList","occurrenceCount","VariableDeclarator","id","definite"],"sources":["../../src/generators/statements.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport {\n isFor,\n isForStatement,\n isIfStatement,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\nexport function WithStatement(this: Printer, node: t.WithStatement) {\n this.word(\"with\");\n this.space();\n this.token(\"(\");\n this.print(node.object);\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport function IfStatement(this: Printer, node: t.IfStatement) {\n this.word(\"if\");\n this.space();\n this.token(\"(\");\n this.print(node.test);\n this.token(\")\");\n this.space();\n\n const needsBlock =\n node.alternate && isIfStatement(getLastStatement(node.consequent));\n if (needsBlock) {\n this.token(\"{\");\n this.newline();\n this.indent();\n }\n\n this.printAndIndentOnComments(node.consequent);\n\n if (needsBlock) {\n this.dedent();\n this.newline();\n this.token(\"}\");\n }\n\n if (node.alternate) {\n if (this.endsWith(charCodes.rightCurlyBrace)) this.space();\n this.word(\"else\");\n this.space();\n this.printAndIndentOnComments(node.alternate);\n }\n}\n\n// Recursively get the last statement.\nfunction getLastStatement(statement: t.Statement): t.Statement {\n // @ts-expect-error: If statement.body is empty or not a Node, isStatement will return false\n const { body } = statement;\n if (isStatement(body) === false) {\n return statement;\n }\n\n return getLastStatement(body);\n}\n\nexport function ForStatement(this: Printer, node: t.ForStatement) {\n this.word(\"for\");\n this.space();\n this.token(\"(\");\n\n {\n const exit = this.enterForStatementInit();\n this.print(node.init);\n exit();\n }\n\n this.token(\";\");\n\n if (node.test) {\n this.space();\n this.print(node.test);\n }\n this.token(\";\", false, 1);\n\n if (node.update) {\n this.space();\n this.print(node.update);\n }\n\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport function WhileStatement(this: Printer, node: t.WhileStatement) {\n this.word(\"while\");\n this.space();\n this.token(\"(\");\n this.print(node.test);\n this.token(\")\");\n this.printBlock(node);\n}\n\nfunction ForXStatement(this: Printer, node: t.ForXStatement) {\n this.word(\"for\");\n this.space();\n const isForOf = node.type === \"ForOfStatement\";\n if (isForOf && node.await) {\n this.word(\"await\");\n this.space();\n }\n this.noIndentInnerCommentsHere();\n this.token(\"(\");\n {\n const exit = this.enterForXStatementInit(isForOf);\n this.print(node.left);\n exit?.();\n }\n this.space();\n this.word(isForOf ? \"of\" : \"in\");\n this.space();\n this.print(node.right);\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport const ForInStatement = ForXStatement;\nexport const ForOfStatement = ForXStatement;\n\nexport function DoWhileStatement(this: Printer, node: t.DoWhileStatement) {\n this.word(\"do\");\n this.space();\n this.print(node.body);\n this.space();\n this.word(\"while\");\n this.space();\n this.token(\"(\");\n this.print(node.test);\n this.token(\")\");\n this.semicolon();\n}\n\nfunction printStatementAfterKeyword(printer: Printer, node: t.Node) {\n if (node) {\n printer.space();\n printer.printTerminatorless(node);\n }\n\n printer.semicolon();\n}\n\nexport function BreakStatement(this: Printer, node: t.ContinueStatement) {\n this.word(\"break\");\n printStatementAfterKeyword(this, node.label);\n}\n\nexport function ContinueStatement(this: Printer, node: t.ContinueStatement) {\n this.word(\"continue\");\n printStatementAfterKeyword(this, node.label);\n}\n\nexport function ReturnStatement(this: Printer, node: t.ReturnStatement) {\n this.word(\"return\");\n printStatementAfterKeyword(this, node.argument);\n}\n\nexport function ThrowStatement(this: Printer, node: t.ThrowStatement) {\n this.word(\"throw\");\n printStatementAfterKeyword(this, node.argument);\n}\n\nexport function LabeledStatement(this: Printer, node: t.LabeledStatement) {\n this.print(node.label);\n this.token(\":\");\n this.space();\n this.print(node.body);\n}\n\nexport function TryStatement(this: Printer, node: t.TryStatement) {\n this.word(\"try\");\n this.space();\n this.print(node.block);\n this.space();\n\n // Esprima bug puts the catch clause in a `handlers` array.\n // see https://code.google.com/p/esprima/issues/detail?id=433\n // We run into this from regenerator generated ast.\n // @ts-expect-error todo(flow->ts) should ast node type be updated to support this?\n if (node.handlers) {\n // @ts-expect-error todo(flow->ts) should ast node type be updated to support this?\n this.print(node.handlers[0]);\n } else {\n this.print(node.handler);\n }\n\n if (node.finalizer) {\n this.space();\n this.word(\"finally\");\n this.space();\n this.print(node.finalizer);\n }\n}\n\nexport function CatchClause(this: Printer, node: t.CatchClause) {\n this.word(\"catch\");\n this.space();\n if (node.param) {\n this.token(\"(\");\n this.print(node.param);\n this.print(node.param.typeAnnotation);\n this.token(\")\");\n this.space();\n }\n this.print(node.body);\n}\n\nexport function SwitchStatement(this: Printer, node: t.SwitchStatement) {\n this.word(\"switch\");\n this.space();\n this.token(\"(\");\n this.print(node.discriminant);\n this.token(\")\");\n this.space();\n this.token(\"{\");\n\n this.printSequence(\n node.cases,\n true,\n undefined,\n function addNewlines(leading, cas) {\n if (!leading && node.cases[node.cases.length - 1] === cas) return -1;\n },\n );\n\n this.rightBrace(node);\n}\n\nexport function SwitchCase(this: Printer, node: t.SwitchCase) {\n if (node.test) {\n this.word(\"case\");\n this.space();\n this.print(node.test);\n this.token(\":\");\n } else {\n this.word(\"default\");\n this.token(\":\");\n }\n\n if (node.consequent.length) {\n this.newline();\n this.printSequence(node.consequent, true);\n }\n}\n\nexport function DebuggerStatement(this: Printer) {\n this.word(\"debugger\");\n this.semicolon();\n}\n\nexport function VariableDeclaration(\n this: Printer,\n node: t.VariableDeclaration,\n parent: t.Node,\n) {\n if (node.declare) {\n // TS\n this.word(\"declare\");\n this.space();\n }\n\n const { kind } = node;\n if (kind === \"await using\") {\n this.word(\"await\");\n this.space();\n this.word(\"using\", true);\n } else {\n this.word(kind, kind === \"using\");\n }\n this.space();\n\n let hasInits = false;\n // don't add whitespace to loop heads\n if (!isFor(parent)) {\n for (const declar of node.declarations) {\n if (declar.init) {\n // has an init so let's split it up over multiple lines\n hasInits = true;\n }\n }\n }\n\n //\n // use a pretty separator when we aren't in compact mode, have initializers and don't have retainLines on\n // this will format declarations like:\n //\n // let foo = \"bar\", bar = \"foo\";\n //\n // into\n //\n // let foo = \"bar\",\n // bar = \"foo\";\n //\n\n this.printList(\n node.declarations,\n undefined,\n undefined,\n node.declarations.length > 1,\n hasInits\n ? function (this: Printer, occurrenceCount: number) {\n this.token(\",\", false, occurrenceCount);\n this.newline();\n }\n : undefined,\n );\n\n if (isFor(parent)) {\n // don't give semicolons to these nodes since they'll be inserted in the parent generator\n if (isForStatement(parent)) {\n if (parent.init === node) return;\n } else {\n if (parent.left === node) return;\n }\n }\n\n this.semicolon();\n}\n\nexport function VariableDeclarator(this: Printer, node: t.VariableDeclarator) {\n this.print(node.id);\n if (node.definite) this.token(\"!\"); // TS\n // @ts-ignore(Babel 7 vs Babel 8) Property 'typeAnnotation' does not exist on type 'MemberExpression'.\n this.print(node.id.typeAnnotation);\n if (node.init) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.init);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,EAAA,GAAAC,OAAA;AAKsB;EAJpBC,KAAK;EACLC,cAAc;EACdC,aAAa;EACbC;AAAW,IAAAL,EAAA;AAQN,SAASM,aAAaA,CAAgBC,IAAqB,EAAE;EAClE,IAAI,CAACC,IAAI,CAAC,MAAM,CAAC;EACjB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,MAAM,CAAC;EACvB,IAAI,CAACF,SAAK,GAAI,CAAC;EACf,IAAI,CAACG,UAAU,CAACN,IAAI,CAAC;AACvB;AAEO,SAASO,WAAWA,CAAgBP,IAAmB,EAAE;EAC9D,IAAI,CAACC,IAAI,CAAC,IAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACQ,IAAI,CAAC;EACrB,IAAI,CAACL,SAAK,GAAI,CAAC;EACf,IAAI,CAACD,KAAK,CAAC,CAAC;EAEZ,MAAMO,UAAU,GACdT,IAAI,CAACU,SAAS,IAAIb,aAAa,CAACc,gBAAgB,CAACX,IAAI,CAACY,UAAU,CAAC,CAAC;EACpE,IAAIH,UAAU,EAAE;IACd,IAAI,CAACN,SAAK,IAAI,CAAC;IACf,IAAI,CAACU,OAAO,CAAC,CAAC;IACd,IAAI,CAACC,MAAM,CAAC,CAAC;EACf;EAEA,IAAI,CAACC,wBAAwB,CAACf,IAAI,CAACY,UAAU,CAAC;EAE9C,IAAIH,UAAU,EAAE;IACd,IAAI,CAACO,MAAM,CAAC,CAAC;IACb,IAAI,CAACH,OAAO,CAAC,CAAC;IACd,IAAI,CAACV,SAAK,IAAI,CAAC;EACjB;EAEA,IAAIH,IAAI,CAACU,SAAS,EAAE;IAClB,IAAI,IAAI,CAACO,QAAQ,IAA0B,CAAC,EAAE,IAAI,CAACf,KAAK,CAAC,CAAC;IAC1D,IAAI,CAACD,IAAI,CAAC,MAAM,CAAC;IACjB,IAAI,CAACC,KAAK,CAAC,CAAC;IACZ,IAAI,CAACa,wBAAwB,CAACf,IAAI,CAACU,SAAS,CAAC;EAC/C;AACF;AAGA,SAASC,gBAAgBA,CAACO,SAAsB,EAAe;EAE7D,MAAM;IAAEC;EAAK,CAAC,GAAGD,SAAS;EAC1B,IAAIpB,WAAW,CAACqB,IAAI,CAAC,KAAK,KAAK,EAAE;IAC/B,OAAOD,SAAS;EAClB;EAEA,OAAOP,gBAAgB,CAACQ,IAAI,CAAC;AAC/B;AAEO,SAASC,YAAYA,CAAgBpB,IAAoB,EAAE;EAChE,IAAI,CAACC,IAAI,CAAC,KAAK,CAAC;EAChB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EAEf;IACE,MAAMkB,IAAI,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACzC,IAAI,CAAClB,KAAK,CAACJ,IAAI,CAACuB,IAAI,CAAC;IACrBF,IAAI,CAAC,CAAC;EACR;EAEA,IAAI,CAAClB,SAAK,GAAI,CAAC;EAEf,IAAIH,IAAI,CAACQ,IAAI,EAAE;IACb,IAAI,CAACN,KAAK,CAAC,CAAC;IACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACQ,IAAI,CAAC;EACvB;EACA,IAAI,CAACL,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;EAEzB,IAAIH,IAAI,CAACwB,MAAM,EAAE;IACf,IAAI,CAACtB,KAAK,CAAC,CAAC;IACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACwB,MAAM,CAAC;EACzB;EAEA,IAAI,CAACrB,SAAK,GAAI,CAAC;EACf,IAAI,CAACG,UAAU,CAACN,IAAI,CAAC;AACvB;AAEO,SAASyB,cAAcA,CAAgBzB,IAAsB,EAAE;EACpE,IAAI,CAACC,IAAI,CAAC,OAAO,CAAC;EAClB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACQ,IAAI,CAAC;EACrB,IAAI,CAACL,SAAK,GAAI,CAAC;EACf,IAAI,CAACG,UAAU,CAACN,IAAI,CAAC;AACvB;AAEA,SAAS0B,aAAaA,CAAgB1B,IAAqB,EAAE;EAC3D,IAAI,CAACC,IAAI,CAAC,KAAK,CAAC;EAChB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,MAAMyB,OAAO,GAAG3B,IAAI,CAAC4B,IAAI,KAAK,gBAAgB;EAC9C,IAAID,OAAO,IAAI3B,IAAI,CAAC6B,KAAK,EAAE;IACzB,IAAI,CAAC5B,IAAI,CAAC,OAAO,CAAC;IAClB,IAAI,CAACC,KAAK,CAAC,CAAC;EACd;EACA,IAAI,CAAC4B,yBAAyB,CAAC,CAAC;EAChC,IAAI,CAAC3B,SAAK,GAAI,CAAC;EACf;IACE,MAAMkB,IAAI,GAAG,IAAI,CAACU,sBAAsB,CAACJ,OAAO,CAAC;IACjD,IAAI,CAACvB,KAAK,CAACJ,IAAI,CAACgC,IAAI,CAAC;IACrBX,IAAI,YAAJA,IAAI,CAAG,CAAC;EACV;EACA,IAAI,CAACnB,KAAK,CAAC,CAAC;EACZ,IAAI,CAACD,IAAI,CAAC0B,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;EAChC,IAAI,CAACzB,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACiC,KAAK,CAAC;EACtB,IAAI,CAAC9B,SAAK,GAAI,CAAC;EACf,IAAI,CAACG,UAAU,CAACN,IAAI,CAAC;AACvB;AAEO,MAAMkC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGR,aAAa;AACpC,MAAMU,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAGV,aAAa;AAEpC,SAASW,gBAAgBA,CAAgBrC,IAAwB,EAAE;EACxE,IAAI,CAACC,IAAI,CAAC,IAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACmB,IAAI,CAAC;EACrB,IAAI,CAACjB,KAAK,CAAC,CAAC;EACZ,IAAI,CAACD,IAAI,CAAC,OAAO,CAAC;EAClB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACQ,IAAI,CAAC;EACrB,IAAI,CAACL,SAAK,GAAI,CAAC;EACf,IAAI,CAACmC,SAAS,CAAC,CAAC;AAClB;AAEA,SAASC,0BAA0BA,CAACC,OAAgB,EAAExC,IAAY,EAAE;EAClE,IAAIA,IAAI,EAAE;IACRwC,OAAO,CAACtC,KAAK,CAAC,CAAC;IACfsC,OAAO,CAACC,mBAAmB,CAACzC,IAAI,CAAC;EACnC;EAEAwC,OAAO,CAACF,SAAS,CAAC,CAAC;AACrB;AAEO,SAASI,cAAcA,CAAgB1C,IAAyB,EAAE;EACvE,IAAI,CAACC,IAAI,CAAC,OAAO,CAAC;EAClBsC,0BAA0B,CAAC,IAAI,EAAEvC,IAAI,CAAC2C,KAAK,CAAC;AAC9C;AAEO,SAASC,iBAAiBA,CAAgB5C,IAAyB,EAAE;EAC1E,IAAI,CAACC,IAAI,CAAC,UAAU,CAAC;EACrBsC,0BAA0B,CAAC,IAAI,EAAEvC,IAAI,CAAC2C,KAAK,CAAC;AAC9C;AAEO,SAASE,eAAeA,CAAgB7C,IAAuB,EAAE;EACtE,IAAI,CAACC,IAAI,CAAC,QAAQ,CAAC;EACnBsC,0BAA0B,CAAC,IAAI,EAAEvC,IAAI,CAAC8C,QAAQ,CAAC;AACjD;AAEO,SAASC,cAAcA,CAAgB/C,IAAsB,EAAE;EACpE,IAAI,CAACC,IAAI,CAAC,OAAO,CAAC;EAClBsC,0BAA0B,CAAC,IAAI,EAAEvC,IAAI,CAAC8C,QAAQ,CAAC;AACjD;AAEO,SAASE,gBAAgBA,CAAgBhD,IAAwB,EAAE;EACxE,IAAI,CAACI,KAAK,CAACJ,IAAI,CAAC2C,KAAK,CAAC;EACtB,IAAI,CAACxC,SAAK,GAAI,CAAC;EACf,IAAI,CAACD,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACmB,IAAI,CAAC;AACvB;AAEO,SAAS8B,YAAYA,CAAgBjD,IAAoB,EAAE;EAChE,IAAI,CAACC,IAAI,CAAC,KAAK,CAAC;EAChB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACkD,KAAK,CAAC;EACtB,IAAI,CAAChD,KAAK,CAAC,CAAC;EAMZ,IAAIF,IAAI,CAACmD,QAAQ,EAAE;IAEjB,IAAI,CAAC/C,KAAK,CAACJ,IAAI,CAACmD,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC9B,CAAC,MAAM;IACL,IAAI,CAAC/C,KAAK,CAACJ,IAAI,CAACoD,OAAO,CAAC;EAC1B;EAEA,IAAIpD,IAAI,CAACqD,SAAS,EAAE;IAClB,IAAI,CAACnD,KAAK,CAAC,CAAC;IACZ,IAAI,CAACD,IAAI,CAAC,SAAS,CAAC;IACpB,IAAI,CAACC,KAAK,CAAC,CAAC;IACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACqD,SAAS,CAAC;EAC5B;AACF;AAEO,SAASC,WAAWA,CAAgBtD,IAAmB,EAAE;EAC9D,IAAI,CAACC,IAAI,CAAC,OAAO,CAAC;EAClB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAIF,IAAI,CAACuD,KAAK,EAAE;IACd,IAAI,CAACpD,SAAK,GAAI,CAAC;IACf,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACuD,KAAK,CAAC;IACtB,IAAI,CAACnD,KAAK,CAACJ,IAAI,CAACuD,KAAK,CAACC,cAAc,CAAC;IACrC,IAAI,CAACrD,SAAK,GAAI,CAAC;IACf,IAAI,CAACD,KAAK,CAAC,CAAC;EACd;EACA,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACmB,IAAI,CAAC;AACvB;AAEO,SAASsC,eAAeA,CAAgBzD,IAAuB,EAAE;EACtE,IAAI,CAACC,IAAI,CAAC,QAAQ,CAAC;EACnB,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,KAAK,CAACJ,IAAI,CAAC0D,YAAY,CAAC;EAC7B,IAAI,CAACvD,SAAK,GAAI,CAAC;EACf,IAAI,CAACD,KAAK,CAAC,CAAC;EACZ,IAAI,CAACC,SAAK,IAAI,CAAC;EAEf,IAAI,CAACwD,aAAa,CAChB3D,IAAI,CAAC4D,KAAK,EACV,IAAI,EACJC,SAAS,EACT,SAASC,WAAWA,CAACC,OAAO,EAAEC,GAAG,EAAE;IACjC,IAAI,CAACD,OAAO,IAAI/D,IAAI,CAAC4D,KAAK,CAAC5D,IAAI,CAAC4D,KAAK,CAACK,MAAM,GAAG,CAAC,CAAC,KAAKD,GAAG,EAAE,OAAO,CAAC,CAAC;EACtE,CACF,CAAC;EAED,IAAI,CAACE,UAAU,CAAClE,IAAI,CAAC;AACvB;AAEO,SAASmE,UAAUA,CAAgBnE,IAAkB,EAAE;EAC5D,IAAIA,IAAI,CAACQ,IAAI,EAAE;IACb,IAAI,CAACP,IAAI,CAAC,MAAM,CAAC;IACjB,IAAI,CAACC,KAAK,CAAC,CAAC;IACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACQ,IAAI,CAAC;IACrB,IAAI,CAACL,SAAK,GAAI,CAAC;EACjB,CAAC,MAAM;IACL,IAAI,CAACF,IAAI,CAAC,SAAS,CAAC;IACpB,IAAI,CAACE,SAAK,GAAI,CAAC;EACjB;EAEA,IAAIH,IAAI,CAACY,UAAU,CAACqD,MAAM,EAAE;IAC1B,IAAI,CAACpD,OAAO,CAAC,CAAC;IACd,IAAI,CAAC8C,aAAa,CAAC3D,IAAI,CAACY,UAAU,EAAE,IAAI,CAAC;EAC3C;AACF;AAEO,SAASwD,iBAAiBA,CAAA,EAAgB;EAC/C,IAAI,CAACnE,IAAI,CAAC,UAAU,CAAC;EACrB,IAAI,CAACqC,SAAS,CAAC,CAAC;AAClB;AAEO,SAAS+B,mBAAmBA,CAEjCrE,IAA2B,EAC3BsE,MAAc,EACd;EACA,IAAItE,IAAI,CAACuE,OAAO,EAAE;IAEhB,IAAI,CAACtE,IAAI,CAAC,SAAS,CAAC;IACpB,IAAI,CAACC,KAAK,CAAC,CAAC;EACd;EAEA,MAAM;IAAEsE;EAAK,CAAC,GAAGxE,IAAI;EACrB,IAAIwE,IAAI,KAAK,aAAa,EAAE;IAC1B,IAAI,CAACvE,IAAI,CAAC,OAAO,CAAC;IAClB,IAAI,CAACC,KAAK,CAAC,CAAC;IACZ,IAAI,CAACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;EAC1B,CAAC,MAAM;IACL,IAAI,CAACA,IAAI,CAACuE,IAAI,EAAEA,IAAI,KAAK,OAAO,CAAC;EACnC;EACA,IAAI,CAACtE,KAAK,CAAC,CAAC;EAEZ,IAAIuE,QAAQ,GAAG,KAAK;EAEpB,IAAI,CAAC9E,KAAK,CAAC2E,MAAM,CAAC,EAAE;IAClB,KAAK,MAAMI,MAAM,IAAI1E,IAAI,CAAC2E,YAAY,EAAE;MACtC,IAAID,MAAM,CAACnD,IAAI,EAAE;QAEfkD,QAAQ,GAAG,IAAI;MACjB;IACF;EACF;EAcA,IAAI,CAACG,SAAS,CACZ5E,IAAI,CAAC2E,YAAY,EACjBd,SAAS,EACTA,SAAS,EACT7D,IAAI,CAAC2E,YAAY,CAACV,MAAM,GAAG,CAAC,EAC5BQ,QAAQ,GACJ,UAAyBI,eAAuB,EAAE;IAChD,IAAI,CAAC1E,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE0E,eAAe,CAAC;IACvC,IAAI,CAAChE,OAAO,CAAC,CAAC;EAChB,CAAC,GACDgD,SACN,CAAC;EAED,IAAIlE,KAAK,CAAC2E,MAAM,CAAC,EAAE;IAEjB,IAAI1E,cAAc,CAAC0E,MAAM,CAAC,EAAE;MAC1B,IAAIA,MAAM,CAAC/C,IAAI,KAAKvB,IAAI,EAAE;IAC5B,CAAC,MAAM;MACL,IAAIsE,MAAM,CAACtC,IAAI,KAAKhC,IAAI,EAAE;IAC5B;EACF;EAEA,IAAI,CAACsC,SAAS,CAAC,CAAC;AAClB;AAEO,SAASwC,kBAAkBA,CAAgB9E,IAA0B,EAAE;EAC5E,IAAI,CAACI,KAAK,CAACJ,IAAI,CAAC+E,EAAE,CAAC;EACnB,IAAI/E,IAAI,CAACgF,QAAQ,EAAE,IAAI,CAAC7E,SAAK,GAAI,CAAC;EAElC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAAC+E,EAAE,CAACvB,cAAc,CAAC;EAClC,IAAIxD,IAAI,CAACuB,IAAI,EAAE;IACb,IAAI,CAACrB,KAAK,CAAC,CAAC;IACZ,IAAI,CAACC,SAAK,GAAI,CAAC;IACf,IAAI,CAACD,KAAK,CAAC,CAAC;IACZ,IAAI,CAACE,KAAK,CAACJ,IAAI,CAACuB,IAAI,CAAC;EACvB;AACF","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/template-literals.js b/node_modules/@babel/generator/lib/generators/template-literals.js
new file mode 100644
index 00000000..0e4b6a91
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/template-literals.js
@@ -0,0 +1,40 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.TaggedTemplateExpression = TaggedTemplateExpression;
+exports.TemplateElement = TemplateElement;
+exports.TemplateLiteral = TemplateLiteral;
+exports._printTemplate = _printTemplate;
+function TaggedTemplateExpression(node) {
+ this.print(node.tag);
+ {
+ this.print(node.typeParameters);
+ }
+ this.print(node.quasi);
+}
+function TemplateElement() {
+ throw new Error("TemplateElement printing is handled in TemplateLiteral");
+}
+function _printTemplate(node, substitutions) {
+ const quasis = node.quasis;
+ let partRaw = "`";
+ for (let i = 0; i < quasis.length - 1; i++) {
+ partRaw += quasis[i].value.raw;
+ this.token(partRaw + "${", true);
+ this.print(substitutions[i]);
+ partRaw = "}";
+ if (this.tokenMap) {
+ const token = this.tokenMap.findMatching(node, "}", i);
+ if (token) this._catchUpTo(token.loc.start);
+ }
+ }
+ partRaw += quasis[quasis.length - 1].value.raw;
+ this.token(partRaw + "`", true);
+}
+function TemplateLiteral(node) {
+ this._printTemplate(node, node.expressions);
+}
+
+//# sourceMappingURL=template-literals.js.map
diff --git a/node_modules/@babel/generator/lib/generators/template-literals.js.map b/node_modules/@babel/generator/lib/generators/template-literals.js.map
new file mode 100644
index 00000000..26bd4e94
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/template-literals.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["TaggedTemplateExpression","node","print","tag","typeParameters","quasi","TemplateElement","Error","_printTemplate","substitutions","quasis","partRaw","i","length","value","raw","token","tokenMap","findMatching","_catchUpTo","loc","start","TemplateLiteral","expressions"],"sources":["../../src/generators/template-literals.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\n\nexport function TaggedTemplateExpression(\n this: Printer,\n node: t.TaggedTemplateExpression,\n) {\n this.print(node.tag);\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n this.print(node.typeArguments);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n this.print(node.typeParameters);\n }\n this.print(node.quasi);\n}\n\nexport function TemplateElement(this: Printer) {\n throw new Error(\"TemplateElement printing is handled in TemplateLiteral\");\n}\n\nexport type TemplateLiteralBase = t.Node & {\n quasis: t.TemplateElement[];\n};\n\nexport function _printTemplate(\n this: Printer,\n node: TemplateLiteralBase,\n substitutions: T[],\n) {\n const quasis = node.quasis;\n let partRaw = \"`\";\n for (let i = 0; i < quasis.length - 1; i++) {\n partRaw += quasis[i].value.raw;\n this.token(partRaw + \"${\", true);\n this.print(substitutions[i]);\n partRaw = \"}\";\n\n // In Babel 7 we have individual tokens for ${ and }, so the automatic\n // catchup logic does not work. Manually look for those tokens.\n if (!process.env.BABEL_8_BREAKING && this.tokenMap) {\n const token = this.tokenMap.findMatching(node, \"}\", i);\n if (token) this._catchUpTo(token.loc.start);\n }\n }\n partRaw += quasis[quasis.length - 1].value.raw;\n this.token(partRaw + \"`\", true);\n}\n\nexport function TemplateLiteral(this: Printer, node: t.TemplateLiteral) {\n this._printTemplate(node, node.expressions);\n}\n"],"mappings":";;;;;;;;;AAGO,SAASA,wBAAwBA,CAEtCC,IAAgC,EAChC;EACA,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAAC;EAIb;IAEL,IAAI,CAACD,KAAK,CAACD,IAAI,CAACG,cAAc,CAAC;EACjC;EACA,IAAI,CAACF,KAAK,CAACD,IAAI,CAACI,KAAK,CAAC;AACxB;AAEO,SAASC,eAAeA,CAAA,EAAgB;EAC7C,MAAM,IAAIC,KAAK,CAAC,wDAAwD,CAAC;AAC3E;AAMO,SAASC,cAAcA,CAE5BP,IAAyB,EACzBQ,aAAkB,EAClB;EACA,MAAMC,MAAM,GAAGT,IAAI,CAACS,MAAM;EAC1B,IAAIC,OAAO,GAAG,GAAG;EACjB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACG,MAAM,GAAG,CAAC,EAAED,CAAC,EAAE,EAAE;IAC1CD,OAAO,IAAID,MAAM,CAACE,CAAC,CAAC,CAACE,KAAK,CAACC,GAAG;IAC9B,IAAI,CAACC,KAAK,CAACL,OAAO,GAAG,IAAI,EAAE,IAAI,CAAC;IAChC,IAAI,CAACT,KAAK,CAACO,aAAa,CAACG,CAAC,CAAC,CAAC;IAC5BD,OAAO,GAAG,GAAG;IAIb,IAAqC,IAAI,CAACM,QAAQ,EAAE;MAClD,MAAMD,KAAK,GAAG,IAAI,CAACC,QAAQ,CAACC,YAAY,CAACjB,IAAI,EAAE,GAAG,EAAEW,CAAC,CAAC;MACtD,IAAII,KAAK,EAAE,IAAI,CAACG,UAAU,CAACH,KAAK,CAACI,GAAG,CAACC,KAAK,CAAC;IAC7C;EACF;EACAV,OAAO,IAAID,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK,CAACC,GAAG;EAC9C,IAAI,CAACC,KAAK,CAACL,OAAO,GAAG,GAAG,EAAE,IAAI,CAAC;AACjC;AAEO,SAASW,eAAeA,CAAgBrB,IAAuB,EAAE;EACtE,IAAI,CAACO,cAAc,CAACP,IAAI,EAAEA,IAAI,CAACsB,WAAW,CAAC;AAC7C","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/types.js b/node_modules/@babel/generator/lib/generators/types.js
new file mode 100644
index 00000000..77223bb8
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/types.js
@@ -0,0 +1,234 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.ArgumentPlaceholder = ArgumentPlaceholder;
+exports.ArrayPattern = exports.ArrayExpression = ArrayExpression;
+exports.BigIntLiteral = BigIntLiteral;
+exports.BooleanLiteral = BooleanLiteral;
+exports.Identifier = Identifier;
+exports.NullLiteral = NullLiteral;
+exports.NumericLiteral = NumericLiteral;
+exports.ObjectPattern = exports.ObjectExpression = ObjectExpression;
+exports.ObjectMethod = ObjectMethod;
+exports.ObjectProperty = ObjectProperty;
+exports.PipelineBareFunction = PipelineBareFunction;
+exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference;
+exports.PipelineTopicExpression = PipelineTopicExpression;
+exports.RecordExpression = RecordExpression;
+exports.RegExpLiteral = RegExpLiteral;
+exports.SpreadElement = exports.RestElement = RestElement;
+exports.StringLiteral = StringLiteral;
+exports.TopicReference = TopicReference;
+exports.TupleExpression = TupleExpression;
+exports._getRawIdentifier = _getRawIdentifier;
+var _t = require("@babel/types");
+var _jsesc = require("jsesc");
+const {
+ isAssignmentPattern,
+ isIdentifier
+} = _t;
+let lastRawIdentNode = null;
+let lastRawIdentResult = "";
+function _getRawIdentifier(node) {
+ if (node === lastRawIdentNode) return lastRawIdentResult;
+ lastRawIdentNode = node;
+ const {
+ name
+ } = node;
+ const token = this.tokenMap.find(node, tok => tok.value === name);
+ if (token) {
+ lastRawIdentResult = this._originalCode.slice(token.start, token.end);
+ return lastRawIdentResult;
+ }
+ return lastRawIdentResult = node.name;
+}
+function Identifier(node) {
+ var _node$loc;
+ this.sourceIdentifierName(((_node$loc = node.loc) == null ? void 0 : _node$loc.identifierName) || node.name);
+ this.word(this.tokenMap ? this._getRawIdentifier(node) : node.name);
+}
+function ArgumentPlaceholder() {
+ this.tokenChar(63);
+}
+function RestElement(node) {
+ this.token("...");
+ this.print(node.argument);
+}
+function ObjectExpression(node) {
+ const props = node.properties;
+ this.tokenChar(123);
+ if (props.length) {
+ const exit = this.enterDelimited();
+ this.space();
+ this.printList(props, this.shouldPrintTrailingComma("}"), true, true);
+ this.space();
+ exit();
+ }
+ this.sourceWithOffset("end", node.loc, -1);
+ this.tokenChar(125);
+}
+function ObjectMethod(node) {
+ this.printJoin(node.decorators);
+ this._methodHead(node);
+ this.space();
+ this.print(node.body);
+}
+function ObjectProperty(node) {
+ this.printJoin(node.decorators);
+ if (node.computed) {
+ this.tokenChar(91);
+ this.print(node.key);
+ this.tokenChar(93);
+ } else {
+ if (isAssignmentPattern(node.value) && isIdentifier(node.key) && node.key.name === node.value.left.name) {
+ this.print(node.value);
+ return;
+ }
+ this.print(node.key);
+ if (node.shorthand && isIdentifier(node.key) && isIdentifier(node.value) && node.key.name === node.value.name) {
+ return;
+ }
+ }
+ this.tokenChar(58);
+ this.space();
+ this.print(node.value);
+}
+function ArrayExpression(node) {
+ const elems = node.elements;
+ const len = elems.length;
+ this.tokenChar(91);
+ const exit = this.enterDelimited();
+ for (let i = 0; i < elems.length; i++) {
+ const elem = elems[i];
+ if (elem) {
+ if (i > 0) this.space();
+ this.print(elem);
+ if (i < len - 1 || this.shouldPrintTrailingComma("]")) {
+ this.token(",", false, i);
+ }
+ } else {
+ this.token(",", false, i);
+ }
+ }
+ exit();
+ this.tokenChar(93);
+}
+function RecordExpression(node) {
+ const props = node.properties;
+ let startToken;
+ let endToken;
+ {
+ if (this.format.recordAndTupleSyntaxType === "bar") {
+ startToken = "{|";
+ endToken = "|}";
+ } else if (this.format.recordAndTupleSyntaxType !== "hash" && this.format.recordAndTupleSyntaxType != null) {
+ throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)} received).`);
+ } else {
+ startToken = "#{";
+ endToken = "}";
+ }
+ }
+ this.token(startToken);
+ if (props.length) {
+ this.space();
+ this.printList(props, this.shouldPrintTrailingComma(endToken), true, true);
+ this.space();
+ }
+ this.token(endToken);
+}
+function TupleExpression(node) {
+ const elems = node.elements;
+ const len = elems.length;
+ let startToken;
+ let endToken;
+ {
+ if (this.format.recordAndTupleSyntaxType === "bar") {
+ startToken = "[|";
+ endToken = "|]";
+ } else if (this.format.recordAndTupleSyntaxType === "hash") {
+ startToken = "#[";
+ endToken = "]";
+ } else {
+ throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);
+ }
+ }
+ this.token(startToken);
+ for (let i = 0; i < elems.length; i++) {
+ const elem = elems[i];
+ if (elem) {
+ if (i > 0) this.space();
+ this.print(elem);
+ if (i < len - 1 || this.shouldPrintTrailingComma(endToken)) {
+ this.token(",", false, i);
+ }
+ }
+ }
+ this.token(endToken);
+}
+function RegExpLiteral(node) {
+ this.word(`/${node.pattern}/${node.flags}`);
+}
+function BooleanLiteral(node) {
+ this.word(node.value ? "true" : "false");
+}
+function NullLiteral() {
+ this.word("null");
+}
+function NumericLiteral(node) {
+ const raw = this.getPossibleRaw(node);
+ const opts = this.format.jsescOption;
+ const value = node.value;
+ const str = value + "";
+ if (opts.numbers) {
+ this.number(_jsesc(value, opts), value);
+ } else if (raw == null) {
+ this.number(str, value);
+ } else if (this.format.minified) {
+ this.number(raw.length < str.length ? raw : str, value);
+ } else {
+ this.number(raw, value);
+ }
+}
+function StringLiteral(node) {
+ const raw = this.getPossibleRaw(node);
+ if (!this.format.minified && raw !== undefined) {
+ this.token(raw);
+ return;
+ }
+ const val = _jsesc(node.value, this.format.jsescOption);
+ this.token(val);
+}
+function BigIntLiteral(node) {
+ const raw = this.getPossibleRaw(node);
+ if (!this.format.minified && raw !== undefined) {
+ this.word(raw);
+ return;
+ }
+ this.word(node.value + "n");
+}
+const validTopicTokenSet = new Set(["^^", "@@", "^", "%", "#"]);
+function TopicReference() {
+ const {
+ topicToken
+ } = this.format;
+ if (validTopicTokenSet.has(topicToken)) {
+ this.token(topicToken);
+ } else {
+ const givenTopicTokenJSON = JSON.stringify(topicToken);
+ const validTopics = Array.from(validTopicTokenSet, v => JSON.stringify(v));
+ throw new Error(`The "topicToken" generator option must be one of ` + `${validTopics.join(", ")} (${givenTopicTokenJSON} received instead).`);
+ }
+}
+function PipelineTopicExpression(node) {
+ this.print(node.expression);
+}
+function PipelineBareFunction(node) {
+ this.print(node.callee);
+}
+function PipelinePrimaryTopicReference() {
+ this.tokenChar(35);
+}
+
+//# sourceMappingURL=types.js.map
diff --git a/node_modules/@babel/generator/lib/generators/types.js.map b/node_modules/@babel/generator/lib/generators/types.js.map
new file mode 100644
index 00000000..7075d53e
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/types.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","_jsesc","isAssignmentPattern","isIdentifier","lastRawIdentNode","lastRawIdentResult","_getRawIdentifier","node","name","token","tokenMap","find","tok","value","_originalCode","slice","start","end","Identifier","_node$loc","sourceIdentifierName","loc","identifierName","word","ArgumentPlaceholder","RestElement","print","argument","ObjectExpression","props","properties","length","exit","enterDelimited","space","printList","shouldPrintTrailingComma","sourceWithOffset","ObjectMethod","printJoin","decorators","_methodHead","body","ObjectProperty","computed","key","left","shorthand","ArrayExpression","elems","elements","len","i","elem","RecordExpression","startToken","endToken","format","recordAndTupleSyntaxType","Error","JSON","stringify","TupleExpression","RegExpLiteral","pattern","flags","BooleanLiteral","NullLiteral","NumericLiteral","raw","getPossibleRaw","opts","jsescOption","str","numbers","number","jsesc","minified","StringLiteral","undefined","val","BigIntLiteral","validTopicTokenSet","Set","TopicReference","topicToken","has","givenTopicTokenJSON","validTopics","Array","from","v","join","PipelineTopicExpression","expression","PipelineBareFunction","callee","PipelinePrimaryTopicReference"],"sources":["../../src/generators/types.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport { isAssignmentPattern, isIdentifier } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport jsesc from \"jsesc\";\n\nlet lastRawIdentNode: t.Identifier | null = null;\nlet lastRawIdentResult: string = \"\";\nexport function _getRawIdentifier(this: Printer, node: t.Identifier) {\n if (node === lastRawIdentNode) return lastRawIdentResult;\n lastRawIdentNode = node;\n\n const { name } = node;\n const token = this.tokenMap.find(node, tok => tok.value === name);\n if (token) {\n lastRawIdentResult = this._originalCode.slice(token.start, token.end);\n return lastRawIdentResult;\n }\n return (lastRawIdentResult = node.name);\n}\n\nexport function Identifier(this: Printer, node: t.Identifier) {\n this.sourceIdentifierName(node.loc?.identifierName || node.name);\n\n this.word(this.tokenMap ? this._getRawIdentifier(node) : node.name);\n}\n\nexport function ArgumentPlaceholder(this: Printer) {\n this.token(\"?\");\n}\n\nexport function RestElement(this: Printer, node: t.RestElement) {\n this.token(\"...\");\n this.print(node.argument);\n}\n\nexport { RestElement as SpreadElement };\n\nexport function ObjectExpression(this: Printer, node: t.ObjectExpression) {\n const props = node.properties;\n\n this.token(\"{\");\n\n if (props.length) {\n const exit = this.enterDelimited();\n this.space();\n this.printList(props, this.shouldPrintTrailingComma(\"}\"), true, true);\n this.space();\n exit();\n }\n\n this.sourceWithOffset(\"end\", node.loc, -1);\n\n this.token(\"}\");\n}\n\nexport { ObjectExpression as ObjectPattern };\n\nexport function ObjectMethod(this: Printer, node: t.ObjectMethod) {\n this.printJoin(node.decorators);\n this._methodHead(node);\n this.space();\n this.print(node.body);\n}\n\nexport function ObjectProperty(this: Printer, node: t.ObjectProperty) {\n this.printJoin(node.decorators);\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key);\n this.token(\"]\");\n } else {\n // print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});`\n if (\n isAssignmentPattern(node.value) &&\n isIdentifier(node.key) &&\n // @ts-expect-error todo(flow->ts) `.name` does not exist on some types in union\n node.key.name === node.value.left.name\n ) {\n this.print(node.value);\n return;\n }\n\n this.print(node.key);\n\n // shorthand!\n if (\n node.shorthand &&\n isIdentifier(node.key) &&\n isIdentifier(node.value) &&\n node.key.name === node.value.name\n ) {\n return;\n }\n }\n\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ArrayExpression(this: Printer, node: t.ArrayExpression) {\n const elems = node.elements;\n const len = elems.length;\n\n this.token(\"[\");\n\n const exit = this.enterDelimited();\n\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem);\n if (i < len - 1 || this.shouldPrintTrailingComma(\"]\")) {\n this.token(\",\", false, i);\n }\n } else {\n // If the array expression ends with a hole, that hole\n // will be ignored by the interpreter, but if it ends with\n // two (or more) holes, we need to write out two (or more)\n // commas so that the resulting code is interpreted with\n // both (all) of the holes.\n this.token(\",\", false, i);\n }\n }\n\n exit();\n\n this.token(\"]\");\n}\n\nexport { ArrayExpression as ArrayPattern };\n\nexport function RecordExpression(this: Printer, node: t.RecordExpression) {\n const props = node.properties;\n\n let startToken;\n let endToken;\n if (process.env.BABEL_8_BREAKING) {\n startToken = \"#{\";\n endToken = \"}\";\n } else {\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"{|\";\n endToken = \"|}\";\n } else if (\n this.format.recordAndTupleSyntaxType !== \"hash\" &&\n this.format.recordAndTupleSyntaxType != null\n ) {\n throw new Error(\n `The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" (${JSON.stringify(\n this.format.recordAndTupleSyntaxType,\n )} received).`,\n );\n } else {\n startToken = \"#{\";\n endToken = \"}\";\n }\n }\n\n this.token(startToken);\n\n if (props.length) {\n this.space();\n this.printList(props, this.shouldPrintTrailingComma(endToken), true, true);\n this.space();\n }\n this.token(endToken);\n}\n\nexport function TupleExpression(this: Printer, node: t.TupleExpression) {\n const elems = node.elements;\n const len = elems.length;\n\n let startToken;\n let endToken;\n if (process.env.BABEL_8_BREAKING) {\n startToken = \"#[\";\n endToken = \"]\";\n } else {\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"[|\";\n endToken = \"|]\";\n } else if (this.format.recordAndTupleSyntaxType === \"hash\") {\n startToken = \"#[\";\n endToken = \"]\";\n } else {\n throw new Error(\n `${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`,\n );\n }\n }\n\n this.token(startToken);\n\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem);\n if (i < len - 1 || this.shouldPrintTrailingComma(endToken)) {\n this.token(\",\", false, i);\n }\n }\n }\n\n this.token(endToken);\n}\n\nexport function RegExpLiteral(this: Printer, node: t.RegExpLiteral) {\n this.word(`/${node.pattern}/${node.flags}`);\n}\n\nexport function BooleanLiteral(this: Printer, node: t.BooleanLiteral) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteral(this: Printer) {\n this.word(\"null\");\n}\n\nexport function NumericLiteral(this: Printer, node: t.NumericLiteral) {\n const raw = this.getPossibleRaw(node);\n const opts = this.format.jsescOption;\n const value = node.value;\n const str = value + \"\";\n if (opts.numbers) {\n this.number(jsesc(value, opts), value);\n } else if (raw == null) {\n this.number(str, value); // normalize\n } else if (this.format.minified) {\n this.number(raw.length < str.length ? raw : str, value);\n } else {\n this.number(raw, value);\n }\n}\n\nexport function StringLiteral(this: Printer, node: t.StringLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n\n const val = jsesc(node.value, this.format.jsescOption);\n\n this.token(val);\n}\n\nexport function BigIntLiteral(this: Printer, node: t.BigIntLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"n\");\n}\n\n// Hack pipe operator\nconst validTopicTokenSet = new Set([\"^^\", \"@@\", \"^\", \"%\", \"#\"]);\nexport function TopicReference(this: Printer) {\n const { topicToken } = this.format;\n\n if (validTopicTokenSet.has(topicToken)) {\n this.token(topicToken);\n } else {\n const givenTopicTokenJSON = JSON.stringify(topicToken);\n const validTopics = Array.from(validTopicTokenSet, v => JSON.stringify(v));\n throw new Error(\n `The \"topicToken\" generator option must be one of ` +\n `${validTopics.join(\", \")} (${givenTopicTokenJSON} received instead).`,\n );\n }\n}\n\n// Smart-mix pipe operator\nexport function PipelineTopicExpression(\n this: Printer,\n node: t.PipelineTopicExpression,\n) {\n this.print(node.expression);\n}\n\nexport function PipelineBareFunction(\n this: Printer,\n node: t.PipelineBareFunction,\n) {\n this.print(node.callee);\n}\n\nexport function PipelinePrimaryTopicReference(this: Printer) {\n this.token(\"#\");\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/generators/typescript.js b/node_modules/@babel/generator/lib/generators/typescript.js
new file mode 100644
index 00000000..6ebc1078
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/typescript.js
@@ -0,0 +1,724 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.TSAnyKeyword = TSAnyKeyword;
+exports.TSArrayType = TSArrayType;
+exports.TSSatisfiesExpression = exports.TSAsExpression = TSTypeExpression;
+exports.TSBigIntKeyword = TSBigIntKeyword;
+exports.TSBooleanKeyword = TSBooleanKeyword;
+exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration;
+exports.TSInterfaceHeritage = exports.TSClassImplements = TSClassImplements;
+exports.TSConditionalType = TSConditionalType;
+exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration;
+exports.TSConstructorType = TSConstructorType;
+exports.TSDeclareFunction = TSDeclareFunction;
+exports.TSDeclareMethod = TSDeclareMethod;
+exports.TSEnumBody = TSEnumBody;
+exports.TSEnumDeclaration = TSEnumDeclaration;
+exports.TSEnumMember = TSEnumMember;
+exports.TSExportAssignment = TSExportAssignment;
+exports.TSExternalModuleReference = TSExternalModuleReference;
+exports.TSFunctionType = TSFunctionType;
+exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration;
+exports.TSImportType = TSImportType;
+exports.TSIndexSignature = TSIndexSignature;
+exports.TSIndexedAccessType = TSIndexedAccessType;
+exports.TSInferType = TSInferType;
+exports.TSInstantiationExpression = TSInstantiationExpression;
+exports.TSInterfaceBody = TSInterfaceBody;
+exports.TSInterfaceDeclaration = TSInterfaceDeclaration;
+exports.TSIntersectionType = TSIntersectionType;
+exports.TSIntrinsicKeyword = TSIntrinsicKeyword;
+exports.TSLiteralType = TSLiteralType;
+exports.TSMappedType = TSMappedType;
+exports.TSMethodSignature = TSMethodSignature;
+exports.TSModuleBlock = TSModuleBlock;
+exports.TSModuleDeclaration = TSModuleDeclaration;
+exports.TSNamedTupleMember = TSNamedTupleMember;
+exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration;
+exports.TSNeverKeyword = TSNeverKeyword;
+exports.TSNonNullExpression = TSNonNullExpression;
+exports.TSNullKeyword = TSNullKeyword;
+exports.TSNumberKeyword = TSNumberKeyword;
+exports.TSObjectKeyword = TSObjectKeyword;
+exports.TSOptionalType = TSOptionalType;
+exports.TSParameterProperty = TSParameterProperty;
+exports.TSParenthesizedType = TSParenthesizedType;
+exports.TSPropertySignature = TSPropertySignature;
+exports.TSQualifiedName = TSQualifiedName;
+exports.TSRestType = TSRestType;
+exports.TSStringKeyword = TSStringKeyword;
+exports.TSSymbolKeyword = TSSymbolKeyword;
+exports.TSTemplateLiteralType = TSTemplateLiteralType;
+exports.TSThisType = TSThisType;
+exports.TSTupleType = TSTupleType;
+exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration;
+exports.TSTypeAnnotation = TSTypeAnnotation;
+exports.TSTypeAssertion = TSTypeAssertion;
+exports.TSTypeLiteral = TSTypeLiteral;
+exports.TSTypeOperator = TSTypeOperator;
+exports.TSTypeParameter = TSTypeParameter;
+exports.TSTypeParameterDeclaration = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation;
+exports.TSTypePredicate = TSTypePredicate;
+exports.TSTypeQuery = TSTypeQuery;
+exports.TSTypeReference = TSTypeReference;
+exports.TSUndefinedKeyword = TSUndefinedKeyword;
+exports.TSUnionType = TSUnionType;
+exports.TSUnknownKeyword = TSUnknownKeyword;
+exports.TSVoidKeyword = TSVoidKeyword;
+exports.tsPrintClassMemberModifiers = tsPrintClassMemberModifiers;
+exports.tsPrintFunctionOrConstructorType = tsPrintFunctionOrConstructorType;
+exports.tsPrintPropertyOrMethodName = tsPrintPropertyOrMethodName;
+exports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase;
+function TSTypeAnnotation(node, parent) {
+ this.token((parent.type === "TSFunctionType" || parent.type === "TSConstructorType") && parent.typeAnnotation === node ? "=>" : ":");
+ this.space();
+ if (node.optional) this.tokenChar(63);
+ this.print(node.typeAnnotation);
+}
+function TSTypeParameterInstantiation(node, parent) {
+ this.tokenChar(60);
+ let printTrailingSeparator = parent.type === "ArrowFunctionExpression" && node.params.length === 1;
+ if (this.tokenMap && node.start != null && node.end != null) {
+ printTrailingSeparator && (printTrailingSeparator = !!this.tokenMap.find(node, t => this.tokenMap.matchesOriginal(t, ",")));
+ printTrailingSeparator || (printTrailingSeparator = this.shouldPrintTrailingComma(">"));
+ }
+ this.printList(node.params, printTrailingSeparator);
+ this.tokenChar(62);
+}
+function TSTypeParameter(node) {
+ if (node.const) {
+ this.word("const");
+ this.space();
+ }
+ if (node.in) {
+ this.word("in");
+ this.space();
+ }
+ if (node.out) {
+ this.word("out");
+ this.space();
+ }
+ this.word(node.name);
+ if (node.constraint) {
+ this.space();
+ this.word("extends");
+ this.space();
+ this.print(node.constraint);
+ }
+ if (node.default) {
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.default);
+ }
+}
+function TSParameterProperty(node) {
+ if (node.accessibility) {
+ this.word(node.accessibility);
+ this.space();
+ }
+ if (node.readonly) {
+ this.word("readonly");
+ this.space();
+ }
+ this._param(node.parameter);
+}
+function TSDeclareFunction(node, parent) {
+ if (node.declare) {
+ this.word("declare");
+ this.space();
+ }
+ this._functionHead(node, parent);
+ this.semicolon();
+}
+function TSDeclareMethod(node) {
+ this._classMethodHead(node);
+ this.semicolon();
+}
+function TSQualifiedName(node) {
+ this.print(node.left);
+ this.tokenChar(46);
+ this.print(node.right);
+}
+function TSCallSignatureDeclaration(node) {
+ this.tsPrintSignatureDeclarationBase(node);
+ maybePrintTrailingCommaOrSemicolon(this, node);
+}
+function maybePrintTrailingCommaOrSemicolon(printer, node) {
+ if (!printer.tokenMap || !node.start || !node.end) {
+ printer.semicolon();
+ return;
+ }
+ if (printer.tokenMap.endMatches(node, ",")) {
+ printer.token(",");
+ } else if (printer.tokenMap.endMatches(node, ";")) {
+ printer.semicolon();
+ }
+}
+function TSConstructSignatureDeclaration(node) {
+ this.word("new");
+ this.space();
+ this.tsPrintSignatureDeclarationBase(node);
+ maybePrintTrailingCommaOrSemicolon(this, node);
+}
+function TSPropertySignature(node) {
+ const {
+ readonly
+ } = node;
+ if (readonly) {
+ this.word("readonly");
+ this.space();
+ }
+ this.tsPrintPropertyOrMethodName(node);
+ this.print(node.typeAnnotation);
+ maybePrintTrailingCommaOrSemicolon(this, node);
+}
+function tsPrintPropertyOrMethodName(node) {
+ if (node.computed) {
+ this.tokenChar(91);
+ }
+ this.print(node.key);
+ if (node.computed) {
+ this.tokenChar(93);
+ }
+ if (node.optional) {
+ this.tokenChar(63);
+ }
+}
+function TSMethodSignature(node) {
+ const {
+ kind
+ } = node;
+ if (kind === "set" || kind === "get") {
+ this.word(kind);
+ this.space();
+ }
+ this.tsPrintPropertyOrMethodName(node);
+ this.tsPrintSignatureDeclarationBase(node);
+ maybePrintTrailingCommaOrSemicolon(this, node);
+}
+function TSIndexSignature(node) {
+ const {
+ readonly,
+ static: isStatic
+ } = node;
+ if (isStatic) {
+ this.word("static");
+ this.space();
+ }
+ if (readonly) {
+ this.word("readonly");
+ this.space();
+ }
+ this.tokenChar(91);
+ this._parameters(node.parameters, "]");
+ this.print(node.typeAnnotation);
+ maybePrintTrailingCommaOrSemicolon(this, node);
+}
+function TSAnyKeyword() {
+ this.word("any");
+}
+function TSBigIntKeyword() {
+ this.word("bigint");
+}
+function TSUnknownKeyword() {
+ this.word("unknown");
+}
+function TSNumberKeyword() {
+ this.word("number");
+}
+function TSObjectKeyword() {
+ this.word("object");
+}
+function TSBooleanKeyword() {
+ this.word("boolean");
+}
+function TSStringKeyword() {
+ this.word("string");
+}
+function TSSymbolKeyword() {
+ this.word("symbol");
+}
+function TSVoidKeyword() {
+ this.word("void");
+}
+function TSUndefinedKeyword() {
+ this.word("undefined");
+}
+function TSNullKeyword() {
+ this.word("null");
+}
+function TSNeverKeyword() {
+ this.word("never");
+}
+function TSIntrinsicKeyword() {
+ this.word("intrinsic");
+}
+function TSThisType() {
+ this.word("this");
+}
+function TSFunctionType(node) {
+ this.tsPrintFunctionOrConstructorType(node);
+}
+function TSConstructorType(node) {
+ if (node.abstract) {
+ this.word("abstract");
+ this.space();
+ }
+ this.word("new");
+ this.space();
+ this.tsPrintFunctionOrConstructorType(node);
+}
+function tsPrintFunctionOrConstructorType(node) {
+ const {
+ typeParameters
+ } = node;
+ const parameters = node.parameters;
+ this.print(typeParameters);
+ this.tokenChar(40);
+ this._parameters(parameters, ")");
+ this.space();
+ const returnType = node.typeAnnotation;
+ this.print(returnType);
+}
+function TSTypeReference(node) {
+ const typeArguments = node.typeParameters;
+ this.print(node.typeName, !!typeArguments);
+ this.print(typeArguments);
+}
+function TSTypePredicate(node) {
+ if (node.asserts) {
+ this.word("asserts");
+ this.space();
+ }
+ this.print(node.parameterName);
+ if (node.typeAnnotation) {
+ this.space();
+ this.word("is");
+ this.space();
+ this.print(node.typeAnnotation.typeAnnotation);
+ }
+}
+function TSTypeQuery(node) {
+ this.word("typeof");
+ this.space();
+ this.print(node.exprName);
+ const typeArguments = node.typeParameters;
+ if (typeArguments) {
+ this.print(typeArguments);
+ }
+}
+function TSTypeLiteral(node) {
+ printBraced(this, node, () => this.printJoin(node.members, true, true));
+}
+function TSArrayType(node) {
+ this.print(node.elementType, true);
+ this.tokenChar(91);
+ this.tokenChar(93);
+}
+function TSTupleType(node) {
+ this.tokenChar(91);
+ this.printList(node.elementTypes, this.shouldPrintTrailingComma("]"));
+ this.tokenChar(93);
+}
+function TSOptionalType(node) {
+ this.print(node.typeAnnotation);
+ this.tokenChar(63);
+}
+function TSRestType(node) {
+ this.token("...");
+ this.print(node.typeAnnotation);
+}
+function TSNamedTupleMember(node) {
+ this.print(node.label);
+ if (node.optional) this.tokenChar(63);
+ this.tokenChar(58);
+ this.space();
+ this.print(node.elementType);
+}
+function TSUnionType(node) {
+ tsPrintUnionOrIntersectionType(this, node, "|");
+}
+function TSIntersectionType(node) {
+ tsPrintUnionOrIntersectionType(this, node, "&");
+}
+function tsPrintUnionOrIntersectionType(printer, node, sep) {
+ var _printer$tokenMap;
+ let hasLeadingToken = 0;
+ if ((_printer$tokenMap = printer.tokenMap) != null && _printer$tokenMap.startMatches(node, sep)) {
+ hasLeadingToken = 1;
+ printer.token(sep);
+ }
+ printer.printJoin(node.types, undefined, undefined, function (i) {
+ this.space();
+ this.token(sep, null, i + hasLeadingToken);
+ this.space();
+ });
+}
+function TSConditionalType(node) {
+ this.print(node.checkType);
+ this.space();
+ this.word("extends");
+ this.space();
+ this.print(node.extendsType);
+ this.space();
+ this.tokenChar(63);
+ this.space();
+ this.print(node.trueType);
+ this.space();
+ this.tokenChar(58);
+ this.space();
+ this.print(node.falseType);
+}
+function TSInferType(node) {
+ this.word("infer");
+ this.print(node.typeParameter);
+}
+function TSParenthesizedType(node) {
+ this.tokenChar(40);
+ this.print(node.typeAnnotation);
+ this.tokenChar(41);
+}
+function TSTypeOperator(node) {
+ this.word(node.operator);
+ this.space();
+ this.print(node.typeAnnotation);
+}
+function TSIndexedAccessType(node) {
+ this.print(node.objectType, true);
+ this.tokenChar(91);
+ this.print(node.indexType);
+ this.tokenChar(93);
+}
+function TSMappedType(node) {
+ const {
+ nameType,
+ optional,
+ readonly,
+ typeAnnotation
+ } = node;
+ this.tokenChar(123);
+ const exit = this.enterDelimited();
+ this.space();
+ if (readonly) {
+ tokenIfPlusMinus(this, readonly);
+ this.word("readonly");
+ this.space();
+ }
+ this.tokenChar(91);
+ {
+ this.word(node.typeParameter.name);
+ }
+ this.space();
+ this.word("in");
+ this.space();
+ {
+ this.print(node.typeParameter.constraint);
+ }
+ if (nameType) {
+ this.space();
+ this.word("as");
+ this.space();
+ this.print(nameType);
+ }
+ this.tokenChar(93);
+ if (optional) {
+ tokenIfPlusMinus(this, optional);
+ this.tokenChar(63);
+ }
+ if (typeAnnotation) {
+ this.tokenChar(58);
+ this.space();
+ this.print(typeAnnotation);
+ }
+ this.space();
+ exit();
+ this.tokenChar(125);
+}
+function tokenIfPlusMinus(self, tok) {
+ if (tok !== true) {
+ self.token(tok);
+ }
+}
+function TSTemplateLiteralType(node) {
+ this._printTemplate(node, node.types);
+}
+function TSLiteralType(node) {
+ this.print(node.literal);
+}
+function TSClassImplements(node) {
+ this.print(node.expression);
+ this.print(node.typeArguments);
+}
+function TSInterfaceDeclaration(node) {
+ const {
+ declare,
+ id,
+ typeParameters,
+ extends: extendz,
+ body
+ } = node;
+ if (declare) {
+ this.word("declare");
+ this.space();
+ }
+ this.word("interface");
+ this.space();
+ this.print(id);
+ this.print(typeParameters);
+ if (extendz != null && extendz.length) {
+ this.space();
+ this.word("extends");
+ this.space();
+ this.printList(extendz);
+ }
+ this.space();
+ this.print(body);
+}
+function TSInterfaceBody(node) {
+ printBraced(this, node, () => this.printJoin(node.body, true, true));
+}
+function TSTypeAliasDeclaration(node) {
+ const {
+ declare,
+ id,
+ typeParameters,
+ typeAnnotation
+ } = node;
+ if (declare) {
+ this.word("declare");
+ this.space();
+ }
+ this.word("type");
+ this.space();
+ this.print(id);
+ this.print(typeParameters);
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(typeAnnotation);
+ this.semicolon();
+}
+function TSTypeExpression(node) {
+ const {
+ type,
+ expression,
+ typeAnnotation
+ } = node;
+ this.print(expression, true);
+ this.space();
+ this.word(type === "TSAsExpression" ? "as" : "satisfies");
+ this.space();
+ this.print(typeAnnotation);
+}
+function TSTypeAssertion(node) {
+ const {
+ typeAnnotation,
+ expression
+ } = node;
+ this.tokenChar(60);
+ this.print(typeAnnotation);
+ this.tokenChar(62);
+ this.space();
+ this.print(expression);
+}
+function TSInstantiationExpression(node) {
+ this.print(node.expression);
+ {
+ this.print(node.typeParameters);
+ }
+}
+function TSEnumDeclaration(node) {
+ const {
+ declare,
+ const: isConst,
+ id
+ } = node;
+ if (declare) {
+ this.word("declare");
+ this.space();
+ }
+ if (isConst) {
+ this.word("const");
+ this.space();
+ }
+ this.word("enum");
+ this.space();
+ this.print(id);
+ this.space();
+ {
+ TSEnumBody.call(this, node);
+ }
+}
+function TSEnumBody(node) {
+ printBraced(this, node, () => {
+ var _this$shouldPrintTrai;
+ return this.printList(node.members, (_this$shouldPrintTrai = this.shouldPrintTrailingComma("}")) != null ? _this$shouldPrintTrai : true, true, true);
+ });
+}
+function TSEnumMember(node) {
+ const {
+ id,
+ initializer
+ } = node;
+ this.print(id);
+ if (initializer) {
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(initializer);
+ }
+}
+function TSModuleDeclaration(node) {
+ const {
+ declare,
+ id,
+ kind
+ } = node;
+ if (declare) {
+ this.word("declare");
+ this.space();
+ }
+ {
+ if (!node.global) {
+ this.word(kind != null ? kind : id.type === "Identifier" ? "namespace" : "module");
+ this.space();
+ }
+ this.print(id);
+ if (!node.body) {
+ this.semicolon();
+ return;
+ }
+ let body = node.body;
+ while (body.type === "TSModuleDeclaration") {
+ this.tokenChar(46);
+ this.print(body.id);
+ body = body.body;
+ }
+ this.space();
+ this.print(body);
+ }
+}
+function TSModuleBlock(node) {
+ printBraced(this, node, () => this.printSequence(node.body, true));
+}
+function TSImportType(node) {
+ const {
+ argument,
+ qualifier,
+ options
+ } = node;
+ this.word("import");
+ this.tokenChar(40);
+ this.print(argument);
+ if (options) {
+ this.tokenChar(44);
+ this.print(options);
+ }
+ this.tokenChar(41);
+ if (qualifier) {
+ this.tokenChar(46);
+ this.print(qualifier);
+ }
+ const typeArguments = node.typeParameters;
+ if (typeArguments) {
+ this.print(typeArguments);
+ }
+}
+function TSImportEqualsDeclaration(node) {
+ const {
+ id,
+ moduleReference
+ } = node;
+ if (node.isExport) {
+ this.word("export");
+ this.space();
+ }
+ this.word("import");
+ this.space();
+ this.print(id);
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(moduleReference);
+ this.semicolon();
+}
+function TSExternalModuleReference(node) {
+ this.token("require(");
+ this.print(node.expression);
+ this.tokenChar(41);
+}
+function TSNonNullExpression(node) {
+ this.print(node.expression);
+ this.tokenChar(33);
+}
+function TSExportAssignment(node) {
+ this.word("export");
+ this.space();
+ this.tokenChar(61);
+ this.space();
+ this.print(node.expression);
+ this.semicolon();
+}
+function TSNamespaceExportDeclaration(node) {
+ this.word("export");
+ this.space();
+ this.word("as");
+ this.space();
+ this.word("namespace");
+ this.space();
+ this.print(node.id);
+ this.semicolon();
+}
+function tsPrintSignatureDeclarationBase(node) {
+ const {
+ typeParameters
+ } = node;
+ const parameters = node.parameters;
+ this.print(typeParameters);
+ this.tokenChar(40);
+ this._parameters(parameters, ")");
+ const returnType = node.typeAnnotation;
+ this.print(returnType);
+}
+function tsPrintClassMemberModifiers(node) {
+ const isPrivateField = node.type === "ClassPrivateProperty";
+ const isPublicField = node.type === "ClassAccessorProperty" || node.type === "ClassProperty";
+ printModifiersList(this, node, [isPublicField && node.declare && "declare", !isPrivateField && node.accessibility]);
+ if (node.static) {
+ this.word("static");
+ this.space();
+ }
+ printModifiersList(this, node, [!isPrivateField && node.abstract && "abstract", !isPrivateField && node.override && "override", (isPublicField || isPrivateField) && node.readonly && "readonly"]);
+}
+function printBraced(printer, node, cb) {
+ printer.token("{");
+ const exit = printer.enterDelimited();
+ cb();
+ exit();
+ printer.rightBrace(node);
+}
+function printModifiersList(printer, node, modifiers) {
+ var _printer$tokenMap2;
+ const modifiersSet = new Set();
+ for (const modifier of modifiers) {
+ if (modifier) modifiersSet.add(modifier);
+ }
+ (_printer$tokenMap2 = printer.tokenMap) == null || _printer$tokenMap2.find(node, tok => {
+ if (modifiersSet.has(tok.value)) {
+ printer.token(tok.value);
+ printer.space();
+ modifiersSet.delete(tok.value);
+ return modifiersSet.size === 0;
+ }
+ });
+ for (const modifier of modifiersSet) {
+ printer.word(modifier);
+ printer.space();
+ }
+}
+
+//# sourceMappingURL=typescript.js.map
diff --git a/node_modules/@babel/generator/lib/generators/typescript.js.map b/node_modules/@babel/generator/lib/generators/typescript.js.map
new file mode 100644
index 00000000..81caf47b
--- /dev/null
+++ b/node_modules/@babel/generator/lib/generators/typescript.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["TSTypeAnnotation","node","parent","token","type","typeAnnotation","space","optional","print","TSTypeParameterInstantiation","printTrailingSeparator","params","length","tokenMap","start","end","find","t","matchesOriginal","shouldPrintTrailingComma","printList","TSTypeParameter","const","word","in","out","name","constraint","default","TSParameterProperty","accessibility","readonly","_param","parameter","TSDeclareFunction","declare","_functionHead","semicolon","TSDeclareMethod","_classMethodHead","TSQualifiedName","left","right","TSCallSignatureDeclaration","tsPrintSignatureDeclarationBase","maybePrintTrailingCommaOrSemicolon","printer","endMatches","TSConstructSignatureDeclaration","TSPropertySignature","tsPrintPropertyOrMethodName","computed","key","TSMethodSignature","kind","TSIndexSignature","static","isStatic","_parameters","parameters","TSAnyKeyword","TSBigIntKeyword","TSUnknownKeyword","TSNumberKeyword","TSObjectKeyword","TSBooleanKeyword","TSStringKeyword","TSSymbolKeyword","TSVoidKeyword","TSUndefinedKeyword","TSNullKeyword","TSNeverKeyword","TSIntrinsicKeyword","TSThisType","TSFunctionType","tsPrintFunctionOrConstructorType","TSConstructorType","abstract","typeParameters","returnType","TSTypeReference","typeArguments","typeName","TSTypePredicate","asserts","parameterName","TSTypeQuery","exprName","TSTypeLiteral","printBraced","printJoin","members","TSArrayType","elementType","TSTupleType","elementTypes","TSOptionalType","TSRestType","TSNamedTupleMember","label","TSUnionType","tsPrintUnionOrIntersectionType","TSIntersectionType","sep","_printer$tokenMap","hasLeadingToken","startMatches","types","undefined","i","TSConditionalType","checkType","extendsType","trueType","falseType","TSInferType","typeParameter","TSParenthesizedType","TSTypeOperator","operator","TSIndexedAccessType","objectType","indexType","TSMappedType","nameType","exit","enterDelimited","tokenIfPlusMinus","self","tok","TSTemplateLiteralType","_printTemplate","TSLiteralType","literal","TSClassImplements","expression","TSInterfaceDeclaration","id","extends","extendz","body","TSInterfaceBody","TSTypeAliasDeclaration","TSTypeExpression","TSTypeAssertion","TSInstantiationExpression","TSEnumDeclaration","isConst","TSEnumBody","call","_this$shouldPrintTrai","TSEnumMember","initializer","TSModuleDeclaration","global","TSModuleBlock","printSequence","TSImportType","argument","qualifier","options","TSImportEqualsDeclaration","moduleReference","isExport","TSExternalModuleReference","TSNonNullExpression","TSExportAssignment","TSNamespaceExportDeclaration","tsPrintClassMemberModifiers","isPrivateField","isPublicField","printModifiersList","override","cb","rightBrace","modifiers","_printer$tokenMap2","modifiersSet","Set","modifier","add","has","value","delete","size"],"sources":["../../src/generators/typescript.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\n\nexport function TSTypeAnnotation(\n this: Printer,\n node: t.TSTypeAnnotation,\n parent: t.Node,\n) {\n // TODO(@nicolo-ribaudo): investigate not including => in the range\n // of the return type of an arrow function type\n this.token(\n (parent.type === \"TSFunctionType\" || parent.type === \"TSConstructorType\") &&\n (process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n parent.returnType\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n parent.typeAnnotation) === node\n ? \"=>\"\n : \":\",\n );\n this.space();\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n if (node.optional) this.token(\"?\");\n this.print(node.typeAnnotation);\n}\n\nexport function TSTypeParameterInstantiation(\n this: Printer,\n node: t.TSTypeParameterInstantiation,\n parent: t.Node,\n): void {\n this.token(\"<\");\n\n let printTrailingSeparator =\n parent.type === \"ArrowFunctionExpression\" && node.params.length === 1;\n if (this.tokenMap && node.start != null && node.end != null) {\n // Only force the trailing comma for pre-existing nodes if they\n // already had a comma (either because they were multi-param, or\n // because they had a trailing comma)\n printTrailingSeparator &&= !!this.tokenMap.find(node, t =>\n this.tokenMap.matchesOriginal(t, \",\"),\n );\n // Preserve the trailing comma if it was there before\n printTrailingSeparator ||= this.shouldPrintTrailingComma(\">\");\n }\n\n this.printList(node.params, printTrailingSeparator);\n this.token(\">\");\n}\n\nexport { TSTypeParameterInstantiation as TSTypeParameterDeclaration };\n\nexport function TSTypeParameter(this: Printer, node: t.TSTypeParameter) {\n if (node.const) {\n this.word(\"const\");\n this.space();\n }\n\n if (node.in) {\n this.word(\"in\");\n this.space();\n }\n\n if (node.out) {\n this.word(\"out\");\n this.space();\n }\n\n this.word(\n !process.env.BABEL_8_BREAKING\n ? (node.name as unknown as string)\n : (node.name as unknown as t.Identifier).name,\n );\n\n if (node.constraint) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.constraint);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default);\n }\n}\n\nexport function TSParameterProperty(\n this: Printer,\n node: t.TSParameterProperty,\n) {\n if (node.accessibility) {\n this.word(node.accessibility);\n this.space();\n }\n\n if (node.readonly) {\n this.word(\"readonly\");\n this.space();\n }\n\n this._param(node.parameter);\n}\n\nexport function TSDeclareFunction(\n this: Printer,\n node: t.TSDeclareFunction,\n parent: t.ParentMaps[\"TSDeclareFunction\"],\n) {\n if (node.declare) {\n this.word(\"declare\");\n this.space();\n }\n this._functionHead(node, parent);\n this.semicolon();\n}\n\nexport function TSDeclareMethod(this: Printer, node: t.TSDeclareMethod) {\n this._classMethodHead(node);\n this.semicolon();\n}\n\nexport function TSQualifiedName(this: Printer, node: t.TSQualifiedName) {\n this.print(node.left);\n this.token(\".\");\n this.print(node.right);\n}\n\nexport function TSCallSignatureDeclaration(\n this: Printer,\n node: t.TSCallSignatureDeclaration,\n) {\n this.tsPrintSignatureDeclarationBase(node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nfunction maybePrintTrailingCommaOrSemicolon(printer: Printer, node: t.Node) {\n if (!printer.tokenMap || !node.start || !node.end) {\n printer.semicolon();\n return;\n }\n\n if (printer.tokenMap.endMatches(node, \",\")) {\n printer.token(\",\");\n } else if (printer.tokenMap.endMatches(node, \";\")) {\n printer.semicolon();\n }\n}\n\nexport function TSConstructSignatureDeclaration(\n this: Printer,\n node: t.TSConstructSignatureDeclaration,\n) {\n this.word(\"new\");\n this.space();\n this.tsPrintSignatureDeclarationBase(node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nexport function TSPropertySignature(\n this: Printer,\n node: t.TSPropertySignature,\n) {\n const { readonly } = node;\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.tsPrintPropertyOrMethodName(node);\n this.print(node.typeAnnotation);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nexport function tsPrintPropertyOrMethodName(\n this: Printer,\n node: t.TSPropertySignature | t.TSMethodSignature,\n) {\n if (node.computed) {\n this.token(\"[\");\n }\n this.print(node.key);\n if (node.computed) {\n this.token(\"]\");\n }\n if (node.optional) {\n this.token(\"?\");\n }\n}\n\nexport function TSMethodSignature(this: Printer, node: t.TSMethodSignature) {\n const { kind } = node;\n if (kind === \"set\" || kind === \"get\") {\n this.word(kind);\n this.space();\n }\n this.tsPrintPropertyOrMethodName(node);\n this.tsPrintSignatureDeclarationBase(node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nexport function TSIndexSignature(this: Printer, node: t.TSIndexSignature) {\n const { readonly, static: isStatic } = node;\n if (isStatic) {\n this.word(\"static\");\n this.space();\n }\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.token(\"[\");\n this._parameters(node.parameters, \"]\");\n this.print(node.typeAnnotation);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nexport function TSAnyKeyword(this: Printer) {\n this.word(\"any\");\n}\nexport function TSBigIntKeyword(this: Printer) {\n this.word(\"bigint\");\n}\nexport function TSUnknownKeyword(this: Printer) {\n this.word(\"unknown\");\n}\nexport function TSNumberKeyword(this: Printer) {\n this.word(\"number\");\n}\nexport function TSObjectKeyword(this: Printer) {\n this.word(\"object\");\n}\nexport function TSBooleanKeyword(this: Printer) {\n this.word(\"boolean\");\n}\nexport function TSStringKeyword(this: Printer) {\n this.word(\"string\");\n}\nexport function TSSymbolKeyword(this: Printer) {\n this.word(\"symbol\");\n}\nexport function TSVoidKeyword(this: Printer) {\n this.word(\"void\");\n}\nexport function TSUndefinedKeyword(this: Printer) {\n this.word(\"undefined\");\n}\nexport function TSNullKeyword(this: Printer) {\n this.word(\"null\");\n}\nexport function TSNeverKeyword(this: Printer) {\n this.word(\"never\");\n}\nexport function TSIntrinsicKeyword(this: Printer) {\n this.word(\"intrinsic\");\n}\n\nexport function TSThisType(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TSFunctionType(this: Printer, node: t.TSFunctionType) {\n this.tsPrintFunctionOrConstructorType(node);\n}\n\nexport function TSConstructorType(this: Printer, node: t.TSConstructorType) {\n if (node.abstract) {\n this.word(\"abstract\");\n this.space();\n }\n this.word(\"new\");\n this.space();\n this.tsPrintFunctionOrConstructorType(node);\n}\n\nexport function tsPrintFunctionOrConstructorType(\n this: Printer,\n node: t.TSFunctionType | t.TSConstructorType,\n) {\n const { typeParameters } = node;\n const parameters = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.params\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.parameters;\n this.print(typeParameters);\n this.token(\"(\");\n this._parameters(parameters, \")\");\n this.space();\n const returnType = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.returnType\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.typeAnnotation;\n this.print(returnType);\n}\n\nexport function TSTypeReference(this: Printer, node: t.TSTypeReference) {\n const typeArguments = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.typeArguments\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.typeParameters;\n this.print(node.typeName, !!typeArguments);\n this.print(typeArguments);\n}\n\nexport function TSTypePredicate(this: Printer, node: t.TSTypePredicate) {\n if (node.asserts) {\n this.word(\"asserts\");\n this.space();\n }\n this.print(node.parameterName);\n if (node.typeAnnotation) {\n this.space();\n this.word(\"is\");\n this.space();\n this.print(node.typeAnnotation.typeAnnotation);\n }\n}\n\nexport function TSTypeQuery(this: Printer, node: t.TSTypeQuery) {\n this.word(\"typeof\");\n this.space();\n this.print(node.exprName);\n\n const typeArguments = process.env.BABEL_8_BREAKING\n ? //@ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n node.typeArguments\n : //@ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n node.typeParameters;\n if (typeArguments) {\n this.print(typeArguments);\n }\n}\n\nexport function TSTypeLiteral(this: Printer, node: t.TSTypeLiteral) {\n printBraced(this, node, () => this.printJoin(node.members, true, true));\n}\n\nexport function TSArrayType(this: Printer, node: t.TSArrayType) {\n this.print(node.elementType, true);\n\n this.token(\"[\");\n this.token(\"]\");\n}\n\nexport function TSTupleType(this: Printer, node: t.TSTupleType) {\n this.token(\"[\");\n this.printList(node.elementTypes, this.shouldPrintTrailingComma(\"]\"));\n this.token(\"]\");\n}\n\nexport function TSOptionalType(this: Printer, node: t.TSOptionalType) {\n this.print(node.typeAnnotation);\n this.token(\"?\");\n}\n\nexport function TSRestType(this: Printer, node: t.TSRestType) {\n this.token(\"...\");\n this.print(node.typeAnnotation);\n}\n\nexport function TSNamedTupleMember(this: Printer, node: t.TSNamedTupleMember) {\n this.print(node.label);\n if (node.optional) this.token(\"?\");\n this.token(\":\");\n this.space();\n this.print(node.elementType);\n}\n\nexport function TSUnionType(this: Printer, node: t.TSUnionType) {\n tsPrintUnionOrIntersectionType(this, node, \"|\");\n}\n\nexport function TSIntersectionType(this: Printer, node: t.TSIntersectionType) {\n tsPrintUnionOrIntersectionType(this, node, \"&\");\n}\n\nfunction tsPrintUnionOrIntersectionType(\n printer: Printer,\n node: t.TSUnionType | t.TSIntersectionType,\n sep: \"|\" | \"&\",\n) {\n let hasLeadingToken = 0;\n if (printer.tokenMap?.startMatches(node, sep)) {\n hasLeadingToken = 1;\n printer.token(sep);\n }\n\n printer.printJoin(node.types, undefined, undefined, function (i) {\n this.space();\n this.token(sep, null, i + hasLeadingToken);\n this.space();\n });\n}\n\nexport function TSConditionalType(this: Printer, node: t.TSConditionalType) {\n this.print(node.checkType);\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.extendsType);\n this.space();\n this.token(\"?\");\n this.space();\n this.print(node.trueType);\n this.space();\n this.token(\":\");\n this.space();\n this.print(node.falseType);\n}\n\nexport function TSInferType(this: Printer, node: t.TSInferType) {\n this.word(\"infer\");\n this.print(node.typeParameter);\n}\n\nexport function TSParenthesizedType(\n this: Printer,\n node: t.TSParenthesizedType,\n) {\n this.token(\"(\");\n this.print(node.typeAnnotation);\n this.token(\")\");\n}\n\nexport function TSTypeOperator(this: Printer, node: t.TSTypeOperator) {\n this.word(node.operator);\n this.space();\n this.print(node.typeAnnotation);\n}\n\nexport function TSIndexedAccessType(\n this: Printer,\n node: t.TSIndexedAccessType,\n) {\n this.print(node.objectType, true);\n this.token(\"[\");\n this.print(node.indexType);\n this.token(\"]\");\n}\n\nexport function TSMappedType(this: Printer, node: t.TSMappedType) {\n const { nameType, optional, readonly, typeAnnotation } = node;\n this.token(\"{\");\n const exit = this.enterDelimited();\n this.space();\n if (readonly) {\n tokenIfPlusMinus(this, readonly);\n this.word(\"readonly\");\n this.space();\n }\n\n this.token(\"[\");\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n this.word(node.key.name);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n this.word(node.typeParameter.name);\n }\n\n this.space();\n this.word(\"in\");\n this.space();\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n this.print(node.constraint);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n this.print(node.typeParameter.constraint);\n }\n\n if (nameType) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(nameType);\n }\n\n this.token(\"]\");\n\n if (optional) {\n tokenIfPlusMinus(this, optional);\n this.token(\"?\");\n }\n\n if (typeAnnotation) {\n this.token(\":\");\n this.space();\n this.print(typeAnnotation);\n }\n this.space();\n exit();\n this.token(\"}\");\n}\n\nfunction tokenIfPlusMinus(self: Printer, tok: true | \"+\" | \"-\") {\n if (tok !== true) {\n self.token(tok);\n }\n}\n\nexport function TSTemplateLiteralType(\n this: Printer,\n node: t.TSTemplateLiteralType,\n) {\n this._printTemplate(node, node.types);\n}\n\nexport function TSLiteralType(this: Printer, node: t.TSLiteralType) {\n this.print(node.literal);\n}\n\nexport function TSClassImplements(\n this: Printer,\n // TODO(Babel 8): Just use t.TSClassImplements\n node: t.Node & {\n expression: t.TSEntityName;\n typeArguments?: t.TSTypeParameterInstantiation;\n },\n) {\n this.print(node.expression);\n this.print(node.typeArguments);\n}\n\nexport { TSClassImplements as TSInterfaceHeritage };\n\nexport function TSInterfaceDeclaration(\n this: Printer,\n node: t.TSInterfaceDeclaration,\n) {\n const { declare, id, typeParameters, extends: extendz, body } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"interface\");\n this.space();\n this.print(id);\n this.print(typeParameters);\n if (extendz?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(extendz);\n }\n this.space();\n this.print(body);\n}\n\nexport function TSInterfaceBody(this: Printer, node: t.TSInterfaceBody) {\n printBraced(this, node, () => this.printJoin(node.body, true, true));\n}\n\nexport function TSTypeAliasDeclaration(\n this: Printer,\n node: t.TSTypeAliasDeclaration,\n) {\n const { declare, id, typeParameters, typeAnnotation } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"type\");\n this.space();\n this.print(id);\n this.print(typeParameters);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(typeAnnotation);\n this.semicolon();\n}\n\nfunction TSTypeExpression(\n this: Printer,\n node: t.TSAsExpression | t.TSSatisfiesExpression,\n) {\n const { type, expression, typeAnnotation } = node;\n this.print(expression, true);\n this.space();\n this.word(type === \"TSAsExpression\" ? \"as\" : \"satisfies\");\n this.space();\n this.print(typeAnnotation);\n}\n\nexport {\n TSTypeExpression as TSAsExpression,\n TSTypeExpression as TSSatisfiesExpression,\n};\n\nexport function TSTypeAssertion(this: Printer, node: t.TSTypeAssertion) {\n const { typeAnnotation, expression } = node;\n this.token(\"<\");\n this.print(typeAnnotation);\n this.token(\">\");\n this.space();\n this.print(expression);\n}\n\nexport function TSInstantiationExpression(\n this: Printer,\n node: t.TSInstantiationExpression,\n) {\n this.print(node.expression);\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n this.print(node.typeArguments);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters);\n }\n}\n\nexport function TSEnumDeclaration(this: Printer, node: t.TSEnumDeclaration) {\n const { declare, const: isConst, id } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n if (isConst) {\n this.word(\"const\");\n this.space();\n }\n this.word(\"enum\");\n this.space();\n this.print(id);\n this.space();\n\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n this.print(node.body);\n } else {\n // cast to TSEnumBody for Babel 7 AST\n TSEnumBody.call(this, node as unknown as t.TSEnumBody);\n }\n}\n\nexport function TSEnumBody(this: Printer, node: t.TSEnumBody) {\n printBraced(this, node, () =>\n this.printList(\n node.members,\n this.shouldPrintTrailingComma(\"}\") ??\n (process.env.BABEL_8_BREAKING ? false : true),\n true,\n true,\n ),\n );\n}\n\nexport function TSEnumMember(this: Printer, node: t.TSEnumMember) {\n const { id, initializer } = node;\n this.print(id);\n if (initializer) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(initializer);\n }\n}\n\nexport function TSModuleDeclaration(\n this: Printer,\n node: t.TSModuleDeclaration,\n) {\n const { declare, id, kind } = node;\n\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n\n if (process.env.BABEL_8_BREAKING) {\n if (kind !== \"global\") {\n this.word(kind);\n this.space();\n }\n\n this.print(node.id);\n if (!node.body) {\n this.semicolon();\n return;\n }\n this.space();\n this.print(node.body);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n if (!node.global) {\n this.word(kind ?? (id.type === \"Identifier\" ? \"namespace\" : \"module\"));\n this.space();\n }\n\n this.print(id);\n\n if (!node.body) {\n this.semicolon();\n return;\n }\n\n let body = node.body;\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n while (body.type === \"TSModuleDeclaration\") {\n this.token(\".\");\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n this.print(body.id);\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n body = body.body;\n }\n\n this.space();\n this.print(body);\n }\n}\n\nexport function TSModuleBlock(this: Printer, node: t.TSModuleBlock) {\n printBraced(this, node, () => this.printSequence(node.body, true));\n}\n\nexport function TSImportType(this: Printer, node: t.TSImportType) {\n const { argument, qualifier, options } = node;\n this.word(\"import\");\n this.token(\"(\");\n this.print(argument);\n if (options) {\n this.token(\",\");\n this.print(options);\n }\n this.token(\")\");\n if (qualifier) {\n this.token(\".\");\n this.print(qualifier);\n }\n const typeArguments = process.env.BABEL_8_BREAKING\n ? //@ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n node.typeArguments\n : //@ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n node.typeParameters;\n if (typeArguments) {\n this.print(typeArguments);\n }\n}\n\nexport function TSImportEqualsDeclaration(\n this: Printer,\n node: t.TSImportEqualsDeclaration,\n) {\n const { id, moduleReference } = node;\n if (\n !process.env.BABEL_8_BREAKING &&\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n node.isExport\n ) {\n this.word(\"export\");\n this.space();\n }\n this.word(\"import\");\n this.space();\n this.print(id);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(moduleReference);\n this.semicolon();\n}\n\nexport function TSExternalModuleReference(\n this: Printer,\n node: t.TSExternalModuleReference,\n) {\n this.token(\"require(\");\n this.print(node.expression);\n this.token(\")\");\n}\n\nexport function TSNonNullExpression(\n this: Printer,\n node: t.TSNonNullExpression,\n) {\n this.print(node.expression);\n this.token(\"!\");\n}\n\nexport function TSExportAssignment(this: Printer, node: t.TSExportAssignment) {\n this.word(\"export\");\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.expression);\n this.semicolon();\n}\n\nexport function TSNamespaceExportDeclaration(\n this: Printer,\n node: t.TSNamespaceExportDeclaration,\n) {\n this.word(\"export\");\n this.space();\n this.word(\"as\");\n this.space();\n this.word(\"namespace\");\n this.space();\n this.print(node.id);\n this.semicolon();\n}\n\nexport function tsPrintSignatureDeclarationBase(this: Printer, node: any) {\n const { typeParameters } = node;\n const parameters = process.env.BABEL_8_BREAKING\n ? node.params\n : node.parameters;\n this.print(typeParameters);\n this.token(\"(\");\n this._parameters(parameters, \")\");\n const returnType = process.env.BABEL_8_BREAKING\n ? node.returnType\n : node.typeAnnotation;\n this.print(returnType);\n}\n\nexport function tsPrintClassMemberModifiers(\n this: Printer,\n node:\n | t.ClassProperty\n | t.ClassAccessorProperty\n | t.ClassPrivateProperty\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.TSDeclareMethod,\n) {\n const isPrivateField = node.type === \"ClassPrivateProperty\";\n const isPublicField =\n node.type === \"ClassAccessorProperty\" || node.type === \"ClassProperty\";\n printModifiersList(this, node, [\n isPublicField && node.declare && \"declare\",\n !isPrivateField && node.accessibility,\n ]);\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n printModifiersList(this, node, [\n !isPrivateField && node.abstract && \"abstract\",\n !isPrivateField && node.override && \"override\",\n (isPublicField || isPrivateField) && node.readonly && \"readonly\",\n ]);\n}\n\nfunction printBraced(printer: Printer, node: t.Node, cb: () => void) {\n printer.token(\"{\");\n const exit = printer.enterDelimited();\n cb();\n exit();\n printer.rightBrace(node);\n}\n\nfunction printModifiersList(\n printer: Printer,\n node: t.Node,\n modifiers: (string | false | null)[],\n) {\n const modifiersSet = new Set();\n for (const modifier of modifiers) {\n if (modifier) modifiersSet.add(modifier);\n }\n\n printer.tokenMap?.find(node, tok => {\n if (modifiersSet.has(tok.value)) {\n printer.token(tok.value);\n printer.space();\n modifiersSet.delete(tok.value);\n return modifiersSet.size === 0;\n }\n });\n\n for (const modifier of modifiersSet) {\n printer.word(modifier);\n printer.space();\n }\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/index.js b/node_modules/@babel/generator/lib/index.js
new file mode 100644
index 00000000..9ee293a1
--- /dev/null
+++ b/node_modules/@babel/generator/lib/index.js
@@ -0,0 +1,112 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = void 0;
+exports.generate = generate;
+var _sourceMap = require("./source-map.js");
+var _printer = require("./printer.js");
+function normalizeOptions(code, opts, ast) {
+ if (opts.experimental_preserveFormat) {
+ if (typeof code !== "string") {
+ throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");
+ }
+ if (!opts.retainLines) {
+ throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");
+ }
+ if (opts.compact && opts.compact !== "auto") {
+ throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");
+ }
+ if (opts.minified) {
+ throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");
+ }
+ if (opts.jsescOption) {
+ throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");
+ }
+ if (!Array.isArray(ast.tokens)) {
+ throw new Error("`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable the `tokens: true` parser option.");
+ }
+ }
+ const format = {
+ auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
+ auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
+ shouldPrintComment: opts.shouldPrintComment,
+ preserveFormat: opts.experimental_preserveFormat,
+ retainLines: opts.retainLines,
+ retainFunctionParens: opts.retainFunctionParens,
+ comments: opts.comments == null || opts.comments,
+ compact: opts.compact,
+ minified: opts.minified,
+ concise: opts.concise,
+ indent: {
+ adjustMultilineComment: true,
+ style: " "
+ },
+ jsescOption: Object.assign({
+ quotes: "double",
+ wrap: true,
+ minimal: false
+ }, opts.jsescOption),
+ topicToken: opts.topicToken,
+ importAttributesKeyword: opts.importAttributesKeyword
+ };
+ {
+ var _opts$recordAndTupleS;
+ format.decoratorsBeforeExport = opts.decoratorsBeforeExport;
+ format.jsescOption.json = opts.jsonCompatibleStrings;
+ format.recordAndTupleSyntaxType = (_opts$recordAndTupleS = opts.recordAndTupleSyntaxType) != null ? _opts$recordAndTupleS : "hash";
+ }
+ if (format.minified) {
+ format.compact = true;
+ format.shouldPrintComment = format.shouldPrintComment || (() => format.comments);
+ } else {
+ format.shouldPrintComment = format.shouldPrintComment || (value => format.comments || value.includes("@license") || value.includes("@preserve"));
+ }
+ if (format.compact === "auto") {
+ format.compact = typeof code === "string" && code.length > 500000;
+ if (format.compact) {
+ console.error("[BABEL] Note: The code generator has deoptimised the styling of " + `${opts.filename} as it exceeds the max of ${"500KB"}.`);
+ }
+ }
+ if (format.compact || format.preserveFormat) {
+ format.indent.adjustMultilineComment = false;
+ }
+ const {
+ auxiliaryCommentBefore,
+ auxiliaryCommentAfter,
+ shouldPrintComment
+ } = format;
+ if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {
+ format.auxiliaryCommentBefore = undefined;
+ }
+ if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {
+ format.auxiliaryCommentAfter = undefined;
+ }
+ return format;
+}
+{
+ exports.CodeGenerator = class CodeGenerator {
+ constructor(ast, opts = {}, code) {
+ this._ast = void 0;
+ this._format = void 0;
+ this._map = void 0;
+ this._ast = ast;
+ this._format = normalizeOptions(code, opts, ast);
+ this._map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null;
+ }
+ generate() {
+ const printer = new _printer.default(this._format, this._map);
+ return printer.generate(this._ast);
+ }
+ };
+}
+function generate(ast, opts = {}, code) {
+ const format = normalizeOptions(code, opts, ast);
+ const map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null;
+ const printer = new _printer.default(format, map, ast.tokens, typeof code === "string" ? code : null);
+ return printer.generate(ast);
+}
+var _default = exports.default = generate;
+
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/generator/lib/index.js.map b/node_modules/@babel/generator/lib/index.js.map
new file mode 100644
index 00000000..86913adb
--- /dev/null
+++ b/node_modules/@babel/generator/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_sourceMap","require","_printer","normalizeOptions","code","opts","ast","experimental_preserveFormat","Error","retainLines","compact","minified","jsescOption","Array","isArray","tokens","format","auxiliaryCommentBefore","auxiliaryCommentAfter","shouldPrintComment","preserveFormat","retainFunctionParens","comments","concise","indent","adjustMultilineComment","style","Object","assign","quotes","wrap","minimal","topicToken","importAttributesKeyword","_opts$recordAndTupleS","decoratorsBeforeExport","json","jsonCompatibleStrings","recordAndTupleSyntaxType","value","includes","length","console","error","filename","undefined","exports","CodeGenerator","constructor","_ast","_format","_map","sourceMaps","SourceMap","generate","printer","Printer","map","_default","default"],"sources":["../src/index.ts"],"sourcesContent":["import SourceMap from \"./source-map.ts\";\nimport Printer from \"./printer.ts\";\nimport type * as t from \"@babel/types\";\nimport type { Opts as jsescOptions } from \"jsesc\";\nimport type { Format } from \"./printer.ts\";\nimport type {\n EncodedSourceMap,\n DecodedSourceMap,\n Mapping,\n} from \"@jridgewell/gen-mapping\";\n\n/**\n * Normalize generator options, setting defaults.\n *\n * - Detects code indentation.\n * - If `opts.compact = \"auto\"` and the code is over 500KB, `compact` will be set to `true`.\n */\n\nfunction normalizeOptions(\n code: string | { [filename: string]: string },\n opts: GeneratorOptions,\n ast: t.Node,\n): Format {\n if (opts.experimental_preserveFormat) {\n if (typeof code !== \"string\") {\n throw new Error(\n \"`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string\",\n );\n }\n if (!opts.retainLines) {\n throw new Error(\n \"`experimental_preserveFormat` requires `retainLines` to be set to `true`\",\n );\n }\n if (opts.compact && opts.compact !== \"auto\") {\n throw new Error(\n \"`experimental_preserveFormat` is not compatible with the `compact` option\",\n );\n }\n if (opts.minified) {\n throw new Error(\n \"`experimental_preserveFormat` is not compatible with the `minified` option\",\n );\n }\n if (opts.jsescOption) {\n throw new Error(\n \"`experimental_preserveFormat` is not compatible with the `jsescOption` option\",\n );\n }\n if (!Array.isArray((ast as any).tokens)) {\n throw new Error(\n \"`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable the `tokens: true` parser option.\",\n );\n }\n }\n\n const format: Format = {\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n shouldPrintComment: opts.shouldPrintComment,\n preserveFormat: opts.experimental_preserveFormat,\n retainLines: opts.retainLines,\n retainFunctionParens: opts.retainFunctionParens,\n comments: opts.comments == null || opts.comments,\n compact: opts.compact,\n minified: opts.minified,\n concise: opts.concise,\n indent: {\n adjustMultilineComment: true,\n style: \" \",\n },\n jsescOption: {\n quotes: \"double\",\n wrap: true,\n minimal: process.env.BABEL_8_BREAKING ? true : false,\n ...opts.jsescOption,\n },\n topicToken: opts.topicToken,\n importAttributesKeyword: opts.importAttributesKeyword,\n };\n\n if (!process.env.BABEL_8_BREAKING) {\n format.decoratorsBeforeExport = opts.decoratorsBeforeExport;\n format.jsescOption.json = opts.jsonCompatibleStrings;\n format.recordAndTupleSyntaxType = opts.recordAndTupleSyntaxType ?? \"hash\";\n }\n\n if (format.minified) {\n format.compact = true;\n\n format.shouldPrintComment =\n format.shouldPrintComment || (() => format.comments);\n } else {\n format.shouldPrintComment =\n format.shouldPrintComment ||\n (value =>\n format.comments ||\n value.includes(\"@license\") ||\n value.includes(\"@preserve\"));\n }\n\n if (format.compact === \"auto\") {\n format.compact = typeof code === \"string\" && code.length > 500_000; // 500KB\n\n if (format.compact) {\n console.error(\n \"[BABEL] Note: The code generator has deoptimised the styling of \" +\n `${opts.filename} as it exceeds the max of ${\"500KB\"}.`,\n );\n }\n }\n\n if (format.compact || format.preserveFormat) {\n format.indent.adjustMultilineComment = false;\n }\n\n const { auxiliaryCommentBefore, auxiliaryCommentAfter, shouldPrintComment } =\n format;\n\n if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {\n format.auxiliaryCommentBefore = undefined;\n }\n if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {\n format.auxiliaryCommentAfter = undefined;\n }\n\n return format;\n}\n\nexport interface GeneratorOptions {\n /**\n * Optional string to add as a block comment at the start of the output file.\n */\n auxiliaryCommentBefore?: string;\n\n /**\n * Optional string to add as a block comment at the end of the output file.\n */\n auxiliaryCommentAfter?: string;\n\n /**\n * Function that takes a comment (as a string) and returns true if the comment should be included in the output.\n * By default, comments are included if `opts.comments` is `true` or if `opts.minified` is `false` and the comment\n * contains `@preserve` or `@license`.\n */\n shouldPrintComment?(comment: string): boolean;\n\n /**\n * Preserve the input code format while printing the transformed code.\n * This is experimental, and may have breaking changes in future\n * patch releases. It will be removed in a future minor release,\n * when it will graduate to stable.\n */\n experimental_preserveFormat?: boolean;\n\n /**\n * Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces).\n * Defaults to `false`.\n */\n retainLines?: boolean;\n\n /**\n * Retain parens around function expressions (could be used to change engine parsing behavior)\n * Defaults to `false`.\n */\n retainFunctionParens?: boolean;\n\n /**\n * Should comments be included in output? Defaults to `true`.\n */\n comments?: boolean;\n\n /**\n * Set to true to avoid adding whitespace for formatting. Defaults to the value of `opts.minified`.\n */\n compact?: boolean | \"auto\";\n\n /**\n * Should the output be minified. Defaults to `false`.\n */\n minified?: boolean;\n\n /**\n * Set to true to reduce whitespace (but not as much as opts.compact). Defaults to `false`.\n */\n concise?: boolean;\n\n /**\n * Used in warning messages\n */\n filename?: string;\n\n /**\n * Enable generating source maps. Defaults to `false`.\n */\n sourceMaps?: boolean;\n\n inputSourceMap?: any;\n\n /**\n * A root for all relative URLs in the source map.\n */\n sourceRoot?: string;\n\n /**\n * The filename for the source code (i.e. the code in the `code` argument).\n * This will only be used if `code` is a string.\n */\n sourceFileName?: string;\n\n /**\n * Set to true to run jsesc with \"json\": true to print \"\\u00A9\" vs. \"©\";\n * @deprecated use `jsescOptions: { json: true }` instead\n */\n jsonCompatibleStrings?: boolean;\n\n /**\n * Set to true to enable support for experimental decorators syntax before\n * module exports. If not specified, decorators will be printed in the same\n * position as they were in the input source code.\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n\n /**\n * Options for outputting jsesc representation.\n */\n jsescOption?: jsescOptions;\n\n /**\n * For use with the recordAndTuple token.\n * @deprecated It will be removed in Babel 8.\n */\n recordAndTupleSyntaxType?: \"bar\" | \"hash\";\n\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: \"%\" | \"#\" | \"@@\" | \"^^\" | \"^\";\n\n /**\n * The import attributes syntax style:\n * - \"with\" : `import { a } from \"b\" with { type: \"json\" };`\n * - \"assert\" : `import { a } from \"b\" assert { type: \"json\" };`\n * - \"with-legacy\" : `import { a } from \"b\" with type: \"json\";`\n */\n importAttributesKeyword?: \"with\" | \"assert\" | \"with-legacy\";\n}\n\nexport interface GeneratorResult {\n code: string;\n map: EncodedSourceMap | null;\n decodedMap: DecodedSourceMap | undefined;\n rawMappings: Mapping[] | undefined;\n}\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n /**\n * We originally exported the Generator class above, but to make it extra clear that it is a private API,\n * we have moved that to an internal class instance and simplified the interface to the two public methods\n * that we wish to support.\n */\n\n // eslint-disable-next-line no-restricted-globals\n exports.CodeGenerator = class CodeGenerator {\n private _ast: t.Node;\n private _format: Format | undefined;\n private _map: SourceMap | null;\n constructor(ast: t.Node, opts: GeneratorOptions = {}, code?: string) {\n this._ast = ast;\n this._format = normalizeOptions(code, opts, ast);\n this._map = opts.sourceMaps ? new SourceMap(opts, code) : null;\n }\n generate(): GeneratorResult {\n const printer = new Printer(this._format, this._map);\n\n return printer.generate(this._ast);\n }\n };\n}\n\n/**\n * Turns an AST into code, maintaining sourcemaps, user preferences, and valid output.\n * @param ast - the abstract syntax tree from which to generate output code.\n * @param opts - used for specifying options for code generation.\n * @param code - the original source code, used for source maps.\n * @returns - an object containing the output code and source map.\n */\nexport function generate(\n ast: t.Node,\n opts: GeneratorOptions = {},\n code?: string | { [filename: string]: string },\n): GeneratorResult {\n const format = normalizeOptions(code, opts, ast);\n const map = opts.sourceMaps ? new SourceMap(opts, code) : null;\n\n const printer = new Printer(\n format,\n map,\n (ast as any).tokens,\n typeof code === \"string\" ? code : null,\n );\n\n return printer.generate(ast);\n}\n\nexport default generate;\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/node/index.js b/node_modules/@babel/generator/lib/node/index.js
new file mode 100644
index 00000000..d6120627
--- /dev/null
+++ b/node_modules/@babel/generator/lib/node/index.js
@@ -0,0 +1,122 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.TokenContext = void 0;
+exports.isLastChild = isLastChild;
+exports.needsParens = needsParens;
+exports.needsWhitespace = needsWhitespace;
+exports.needsWhitespaceAfter = needsWhitespaceAfter;
+exports.needsWhitespaceBefore = needsWhitespaceBefore;
+var whitespace = require("./whitespace.js");
+var parens = require("./parentheses.js");
+var _t = require("@babel/types");
+const {
+ FLIPPED_ALIAS_KEYS,
+ VISITOR_KEYS,
+ isCallExpression,
+ isDecorator,
+ isExpressionStatement,
+ isMemberExpression,
+ isNewExpression,
+ isParenthesizedExpression
+} = _t;
+const TokenContext = exports.TokenContext = {
+ normal: 0,
+ expressionStatement: 1,
+ arrowBody: 2,
+ exportDefault: 4,
+ arrowFlowReturnType: 8,
+ forInitHead: 16,
+ forInHead: 32,
+ forOfHead: 64,
+ forInOrInitHeadAccumulate: 128,
+ forInOrInitHeadAccumulatePassThroughMask: 128
+};
+function expandAliases(obj) {
+ const map = new Map();
+ function add(type, func) {
+ const fn = map.get(type);
+ map.set(type, fn ? function (node, parent, stack, getRawIdentifier) {
+ var _fn;
+ return (_fn = fn(node, parent, stack, getRawIdentifier)) != null ? _fn : func(node, parent, stack, getRawIdentifier);
+ } : func);
+ }
+ for (const type of Object.keys(obj)) {
+ const aliases = FLIPPED_ALIAS_KEYS[type];
+ if (aliases) {
+ for (const alias of aliases) {
+ add(alias, obj[type]);
+ }
+ } else {
+ add(type, obj[type]);
+ }
+ }
+ return map;
+}
+const expandedParens = expandAliases(parens);
+const expandedWhitespaceNodes = expandAliases(whitespace.nodes);
+function isOrHasCallExpression(node) {
+ if (isCallExpression(node)) {
+ return true;
+ }
+ return isMemberExpression(node) && isOrHasCallExpression(node.object);
+}
+function needsWhitespace(node, parent, type) {
+ var _expandedWhitespaceNo;
+ if (!node) return false;
+ if (isExpressionStatement(node)) {
+ node = node.expression;
+ }
+ const flag = (_expandedWhitespaceNo = expandedWhitespaceNodes.get(node.type)) == null ? void 0 : _expandedWhitespaceNo(node, parent);
+ if (typeof flag === "number") {
+ return (flag & type) !== 0;
+ }
+ return false;
+}
+function needsWhitespaceBefore(node, parent) {
+ return needsWhitespace(node, parent, 1);
+}
+function needsWhitespaceAfter(node, parent) {
+ return needsWhitespace(node, parent, 2);
+}
+function needsParens(node, parent, tokenContext, getRawIdentifier) {
+ var _expandedParens$get;
+ if (!parent) return false;
+ if (isNewExpression(parent) && parent.callee === node) {
+ if (isOrHasCallExpression(node)) return true;
+ }
+ if (isDecorator(parent)) {
+ return !isDecoratorMemberExpression(node) && !(isCallExpression(node) && isDecoratorMemberExpression(node.callee)) && !isParenthesizedExpression(node);
+ }
+ return (_expandedParens$get = expandedParens.get(node.type)) == null ? void 0 : _expandedParens$get(node, parent, tokenContext, getRawIdentifier);
+}
+function isDecoratorMemberExpression(node) {
+ switch (node.type) {
+ case "Identifier":
+ return true;
+ case "MemberExpression":
+ return !node.computed && node.property.type === "Identifier" && isDecoratorMemberExpression(node.object);
+ default:
+ return false;
+ }
+}
+function isLastChild(parent, child) {
+ const visitorKeys = VISITOR_KEYS[parent.type];
+ for (let i = visitorKeys.length - 1; i >= 0; i--) {
+ const val = parent[visitorKeys[i]];
+ if (val === child) {
+ return true;
+ } else if (Array.isArray(val)) {
+ let j = val.length - 1;
+ while (j >= 0 && val[j] === null) j--;
+ return j >= 0 && val[j] === child;
+ } else if (val) {
+ return false;
+ }
+ }
+ return false;
+}
+
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/generator/lib/node/index.js.map b/node_modules/@babel/generator/lib/node/index.js.map
new file mode 100644
index 00000000..2fbb9049
--- /dev/null
+++ b/node_modules/@babel/generator/lib/node/index.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["whitespace","require","parens","_t","FLIPPED_ALIAS_KEYS","VISITOR_KEYS","isCallExpression","isDecorator","isExpressionStatement","isMemberExpression","isNewExpression","isParenthesizedExpression","TokenContext","exports","normal","expressionStatement","arrowBody","exportDefault","arrowFlowReturnType","forInitHead","forInHead","forOfHead","forInOrInitHeadAccumulate","forInOrInitHeadAccumulatePassThroughMask","expandAliases","obj","map","Map","add","type","func","fn","get","set","node","parent","stack","getRawIdentifier","_fn","Object","keys","aliases","alias","expandedParens","expandedWhitespaceNodes","nodes","isOrHasCallExpression","object","needsWhitespace","_expandedWhitespaceNo","expression","flag","needsWhitespaceBefore","needsWhitespaceAfter","needsParens","tokenContext","_expandedParens$get","callee","isDecoratorMemberExpression","computed","property","isLastChild","child","visitorKeys","i","length","val","Array","isArray","j"],"sources":["../../src/node/index.ts"],"sourcesContent":["import * as whitespace from \"./whitespace.ts\";\nimport * as parens from \"./parentheses.ts\";\nimport {\n FLIPPED_ALIAS_KEYS,\n VISITOR_KEYS,\n isCallExpression,\n isDecorator,\n isExpressionStatement,\n isMemberExpression,\n isNewExpression,\n isParenthesizedExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nimport type { WhitespaceFlag } from \"./whitespace.ts\";\n\nexport const enum TokenContext {\n normal = 0,\n expressionStatement = 1 << 0,\n arrowBody = 1 << 1,\n exportDefault = 1 << 2,\n arrowFlowReturnType = 1 << 3,\n forInitHead = 1 << 4,\n forInHead = 1 << 5,\n forOfHead = 1 << 6,\n // This flag lives across the token boundary, and will\n // be reset after forIn or forInit head is printed\n forInOrInitHeadAccumulate = 1 << 7,\n forInOrInitHeadAccumulatePassThroughMask = 0x80,\n}\n\ntype NodeHandler = (\n node: t.Node,\n // todo:\n // node: K extends keyof typeof t\n // ? Extract\n // : t.Node,\n parent: t.Node,\n tokenContext?: number,\n getRawIdentifier?: (node: t.Identifier) => string,\n) => R;\n\nexport type NodeHandlers = {\n [K in string]?: NodeHandler;\n};\n\nfunction expandAliases(obj: NodeHandlers) {\n const map = new Map>();\n\n function add(type: string, func: NodeHandler) {\n const fn = map.get(type);\n map.set(\n type,\n fn\n ? function (node, parent, stack, getRawIdentifier) {\n return (\n fn(node, parent, stack, getRawIdentifier) ??\n func(node, parent, stack, getRawIdentifier)\n );\n }\n : func,\n );\n }\n\n for (const type of Object.keys(obj)) {\n const aliases = FLIPPED_ALIAS_KEYS[type];\n if (aliases) {\n for (const alias of aliases) {\n add(alias, obj[type]);\n }\n } else {\n add(type, obj[type]);\n }\n }\n\n return map;\n}\n\n// Rather than using `t.is` on each object property, we pre-expand any type aliases\n// into concrete types so that the 'find' call below can be as fast as possible.\nconst expandedParens = expandAliases(parens);\nconst expandedWhitespaceNodes = expandAliases(whitespace.nodes);\n\nfunction isOrHasCallExpression(node: t.Node): boolean {\n if (isCallExpression(node)) {\n return true;\n }\n\n return isMemberExpression(node) && isOrHasCallExpression(node.object);\n}\n\nexport function needsWhitespace(\n node: t.Node,\n parent: t.Node,\n type: WhitespaceFlag,\n): boolean {\n if (!node) return false;\n\n if (isExpressionStatement(node)) {\n node = node.expression;\n }\n\n const flag = expandedWhitespaceNodes.get(node.type)?.(node, parent);\n\n if (typeof flag === \"number\") {\n return (flag & type) !== 0;\n }\n\n return false;\n}\n\nexport function needsWhitespaceBefore(node: t.Node, parent: t.Node) {\n return needsWhitespace(node, parent, 1);\n}\n\nexport function needsWhitespaceAfter(node: t.Node, parent: t.Node) {\n return needsWhitespace(node, parent, 2);\n}\n\nexport function needsParens(\n node: t.Node,\n parent: t.Node,\n tokenContext?: number,\n getRawIdentifier?: (node: t.Identifier) => string,\n) {\n if (!parent) return false;\n\n if (isNewExpression(parent) && parent.callee === node) {\n if (isOrHasCallExpression(node)) return true;\n }\n\n if (isDecorator(parent)) {\n return (\n !isDecoratorMemberExpression(node) &&\n !(isCallExpression(node) && isDecoratorMemberExpression(node.callee)) &&\n !isParenthesizedExpression(node)\n );\n }\n\n return expandedParens.get(node.type)?.(\n node,\n parent,\n tokenContext,\n getRawIdentifier,\n );\n}\n\nfunction isDecoratorMemberExpression(node: t.Node): boolean {\n switch (node.type) {\n case \"Identifier\":\n return true;\n case \"MemberExpression\":\n return (\n !node.computed &&\n node.property.type === \"Identifier\" &&\n isDecoratorMemberExpression(node.object)\n );\n default:\n return false;\n }\n}\n\nexport function isLastChild(parent: t.Node, child: t.Node) {\n const visitorKeys = VISITOR_KEYS[parent.type];\n for (let i = visitorKeys.length - 1; i >= 0; i--) {\n const val = (parent as any)[visitorKeys[i]] as t.Node | t.Node[] | null;\n if (val === child) {\n return true;\n } else if (Array.isArray(val)) {\n let j = val.length - 1;\n while (j >= 0 && val[j] === null) j--;\n return j >= 0 && val[j] === child;\n } else if (val) {\n return false;\n }\n }\n return false;\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/node/parentheses.js b/node_modules/@babel/generator/lib/node/parentheses.js
new file mode 100644
index 00000000..66eb16b5
--- /dev/null
+++ b/node_modules/@babel/generator/lib/node/parentheses.js
@@ -0,0 +1,262 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.AssignmentExpression = AssignmentExpression;
+exports.Binary = Binary;
+exports.BinaryExpression = BinaryExpression;
+exports.ClassExpression = ClassExpression;
+exports.ArrowFunctionExpression = exports.ConditionalExpression = ConditionalExpression;
+exports.DoExpression = DoExpression;
+exports.FunctionExpression = FunctionExpression;
+exports.FunctionTypeAnnotation = FunctionTypeAnnotation;
+exports.Identifier = Identifier;
+exports.LogicalExpression = LogicalExpression;
+exports.NullableTypeAnnotation = NullableTypeAnnotation;
+exports.ObjectExpression = ObjectExpression;
+exports.OptionalIndexedAccessType = OptionalIndexedAccessType;
+exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression;
+exports.SequenceExpression = SequenceExpression;
+exports.TSSatisfiesExpression = exports.TSAsExpression = TSAsExpression;
+exports.TSConditionalType = TSConditionalType;
+exports.TSConstructorType = exports.TSFunctionType = TSFunctionType;
+exports.TSInferType = TSInferType;
+exports.TSInstantiationExpression = TSInstantiationExpression;
+exports.TSIntersectionType = TSIntersectionType;
+exports.UnaryLike = exports.TSTypeAssertion = UnaryLike;
+exports.TSTypeOperator = TSTypeOperator;
+exports.TSUnionType = TSUnionType;
+exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation;
+exports.UpdateExpression = UpdateExpression;
+exports.AwaitExpression = exports.YieldExpression = YieldExpression;
+var _t = require("@babel/types");
+var _index = require("./index.js");
+const {
+ isArrayTypeAnnotation,
+ isBinaryExpression,
+ isCallExpression,
+ isForOfStatement,
+ isIndexedAccessType,
+ isMemberExpression,
+ isObjectPattern,
+ isOptionalMemberExpression,
+ isYieldExpression,
+ isStatement
+} = _t;
+const PRECEDENCE = new Map([["||", 0], ["??", 0], ["|>", 0], ["&&", 1], ["|", 2], ["^", 3], ["&", 4], ["==", 5], ["===", 5], ["!=", 5], ["!==", 5], ["<", 6], [">", 6], ["<=", 6], [">=", 6], ["in", 6], ["instanceof", 6], [">>", 7], ["<<", 7], [">>>", 7], ["+", 8], ["-", 8], ["*", 9], ["/", 9], ["%", 9], ["**", 10]]);
+function getBinaryPrecedence(node, nodeType) {
+ if (nodeType === "BinaryExpression" || nodeType === "LogicalExpression") {
+ return PRECEDENCE.get(node.operator);
+ }
+ if (nodeType === "TSAsExpression" || nodeType === "TSSatisfiesExpression") {
+ return PRECEDENCE.get("in");
+ }
+}
+function isTSTypeExpression(nodeType) {
+ return nodeType === "TSAsExpression" || nodeType === "TSSatisfiesExpression" || nodeType === "TSTypeAssertion";
+}
+const isClassExtendsClause = (node, parent) => {
+ const parentType = parent.type;
+ return (parentType === "ClassDeclaration" || parentType === "ClassExpression") && parent.superClass === node;
+};
+const hasPostfixPart = (node, parent) => {
+ const parentType = parent.type;
+ return (parentType === "MemberExpression" || parentType === "OptionalMemberExpression") && parent.object === node || (parentType === "CallExpression" || parentType === "OptionalCallExpression" || parentType === "NewExpression") && parent.callee === node || parentType === "TaggedTemplateExpression" && parent.tag === node || parentType === "TSNonNullExpression";
+};
+function NullableTypeAnnotation(node, parent) {
+ return isArrayTypeAnnotation(parent);
+}
+function FunctionTypeAnnotation(node, parent, tokenContext) {
+ const parentType = parent.type;
+ return (parentType === "UnionTypeAnnotation" || parentType === "IntersectionTypeAnnotation" || parentType === "ArrayTypeAnnotation" || Boolean(tokenContext & _index.TokenContext.arrowFlowReturnType)
+ );
+}
+function UpdateExpression(node, parent) {
+ return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent);
+}
+function needsParenBeforeExpressionBrace(tokenContext) {
+ return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.arrowBody));
+}
+function ObjectExpression(node, parent, tokenContext) {
+ return needsParenBeforeExpressionBrace(tokenContext);
+}
+function DoExpression(node, parent, tokenContext) {
+ return !node.async && Boolean(tokenContext & _index.TokenContext.expressionStatement);
+}
+function Binary(node, parent) {
+ const parentType = parent.type;
+ if (node.type === "BinaryExpression" && node.operator === "**" && parentType === "BinaryExpression" && parent.operator === "**") {
+ return parent.left === node;
+ }
+ if (isClassExtendsClause(node, parent)) {
+ return true;
+ }
+ if (hasPostfixPart(node, parent) || parentType === "UnaryExpression" || parentType === "SpreadElement" || parentType === "AwaitExpression") {
+ return true;
+ }
+ const parentPos = getBinaryPrecedence(parent, parentType);
+ if (parentPos != null) {
+ const nodePos = getBinaryPrecedence(node, node.type);
+ if (parentPos === nodePos && parentType === "BinaryExpression" && parent.right === node || parentPos > nodePos) {
+ return true;
+ }
+ }
+ return undefined;
+}
+function UnionTypeAnnotation(node, parent) {
+ const parentType = parent.type;
+ return parentType === "ArrayTypeAnnotation" || parentType === "NullableTypeAnnotation" || parentType === "IntersectionTypeAnnotation" || parentType === "UnionTypeAnnotation";
+}
+function OptionalIndexedAccessType(node, parent) {
+ return isIndexedAccessType(parent) && parent.objectType === node;
+}
+function TSAsExpression(node, parent) {
+ if ((parent.type === "AssignmentExpression" || parent.type === "AssignmentPattern") && parent.left === node) {
+ return true;
+ }
+ if (parent.type === "BinaryExpression" && (parent.operator === "|" || parent.operator === "&") && node === parent.left) {
+ return true;
+ }
+ return Binary(node, parent);
+}
+function TSConditionalType(node, parent) {
+ const parentType = parent.type;
+ if (parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType" || parentType === "TSTypeOperator" || parentType === "TSTypeParameter") {
+ return true;
+ }
+ if ((parentType === "TSIntersectionType" || parentType === "TSUnionType") && parent.types[0] === node) {
+ return true;
+ }
+ if (parentType === "TSConditionalType" && (parent.checkType === node || parent.extendsType === node)) {
+ return true;
+ }
+ return false;
+}
+function TSUnionType(node, parent) {
+ const parentType = parent.type;
+ return parentType === "TSIntersectionType" || parentType === "TSTypeOperator" || parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType";
+}
+function TSIntersectionType(node, parent) {
+ const parentType = parent.type;
+ return parentType === "TSTypeOperator" || parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType";
+}
+function TSInferType(node, parent) {
+ const parentType = parent.type;
+ if (parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType") {
+ return true;
+ }
+ if (node.typeParameter.constraint) {
+ if ((parentType === "TSIntersectionType" || parentType === "TSUnionType") && parent.types[0] === node) {
+ return true;
+ }
+ }
+ return false;
+}
+function TSTypeOperator(node, parent) {
+ const parentType = parent.type;
+ return parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType";
+}
+function TSInstantiationExpression(node, parent) {
+ const parentType = parent.type;
+ return (parentType === "CallExpression" || parentType === "OptionalCallExpression" || parentType === "NewExpression" || parentType === "TSInstantiationExpression") && !!parent.typeParameters;
+}
+function TSFunctionType(node, parent) {
+ const parentType = parent.type;
+ return parentType === "TSIntersectionType" || parentType === "TSUnionType" || parentType === "TSTypeOperator" || parentType === "TSOptionalType" || parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSConditionalType" && (parent.checkType === node || parent.extendsType === node);
+}
+function BinaryExpression(node, parent, tokenContext) {
+ return node.operator === "in" && Boolean(tokenContext & _index.TokenContext.forInOrInitHeadAccumulate);
+}
+function SequenceExpression(node, parent) {
+ const parentType = parent.type;
+ if (parentType === "SequenceExpression" || parentType === "ParenthesizedExpression" || parentType === "MemberExpression" && parent.property === node || parentType === "OptionalMemberExpression" && parent.property === node || parentType === "TemplateLiteral") {
+ return false;
+ }
+ if (parentType === "ClassDeclaration") {
+ return true;
+ }
+ if (parentType === "ForOfStatement") {
+ return parent.right === node;
+ }
+ if (parentType === "ExportDefaultDeclaration") {
+ return true;
+ }
+ return !isStatement(parent);
+}
+function YieldExpression(node, parent) {
+ const parentType = parent.type;
+ return parentType === "BinaryExpression" || parentType === "LogicalExpression" || parentType === "UnaryExpression" || parentType === "SpreadElement" || hasPostfixPart(node, parent) || parentType === "AwaitExpression" && isYieldExpression(node) || parentType === "ConditionalExpression" && node === parent.test || isClassExtendsClause(node, parent) || isTSTypeExpression(parentType);
+}
+function ClassExpression(node, parent, tokenContext) {
+ return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.exportDefault));
+}
+function UnaryLike(node, parent) {
+ return hasPostfixPart(node, parent) || isBinaryExpression(parent) && parent.operator === "**" && parent.left === node || isClassExtendsClause(node, parent);
+}
+function FunctionExpression(node, parent, tokenContext) {
+ return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.exportDefault));
+}
+function ConditionalExpression(node, parent) {
+ const parentType = parent.type;
+ if (parentType === "UnaryExpression" || parentType === "SpreadElement" || parentType === "BinaryExpression" || parentType === "LogicalExpression" || parentType === "ConditionalExpression" && parent.test === node || parentType === "AwaitExpression" || isTSTypeExpression(parentType)) {
+ return true;
+ }
+ return UnaryLike(node, parent);
+}
+function OptionalMemberExpression(node, parent) {
+ return isCallExpression(parent) && parent.callee === node || isMemberExpression(parent) && parent.object === node;
+}
+function AssignmentExpression(node, parent, tokenContext) {
+ if (needsParenBeforeExpressionBrace(tokenContext) && isObjectPattern(node.left)) {
+ return true;
+ } else {
+ return ConditionalExpression(node, parent);
+ }
+}
+function LogicalExpression(node, parent) {
+ const parentType = parent.type;
+ if (isTSTypeExpression(parentType)) return true;
+ if (parentType !== "LogicalExpression") return false;
+ switch (node.operator) {
+ case "||":
+ return parent.operator === "??" || parent.operator === "&&";
+ case "&&":
+ return parent.operator === "??";
+ case "??":
+ return parent.operator !== "??";
+ }
+}
+function Identifier(node, parent, tokenContext, getRawIdentifier) {
+ var _node$extra;
+ const parentType = parent.type;
+ if ((_node$extra = node.extra) != null && _node$extra.parenthesized && parentType === "AssignmentExpression" && parent.left === node) {
+ const rightType = parent.right.type;
+ if ((rightType === "FunctionExpression" || rightType === "ClassExpression") && parent.right.id == null) {
+ return true;
+ }
+ }
+ if (getRawIdentifier && getRawIdentifier(node) !== node.name) {
+ return false;
+ }
+ if (node.name === "let") {
+ const isFollowedByBracket = isMemberExpression(parent, {
+ object: node,
+ computed: true
+ }) || isOptionalMemberExpression(parent, {
+ object: node,
+ computed: true,
+ optional: false
+ });
+ if (isFollowedByBracket && tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.forInitHead | _index.TokenContext.forInHead)) {
+ return true;
+ }
+ return Boolean(tokenContext & _index.TokenContext.forOfHead);
+ }
+ return node.name === "async" && isForOfStatement(parent, {
+ left: node,
+ await: false
+ });
+}
+
+//# sourceMappingURL=parentheses.js.map
diff --git a/node_modules/@babel/generator/lib/node/parentheses.js.map b/node_modules/@babel/generator/lib/node/parentheses.js.map
new file mode 100644
index 00000000..2f6f18c4
--- /dev/null
+++ b/node_modules/@babel/generator/lib/node/parentheses.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","_index","isArrayTypeAnnotation","isBinaryExpression","isCallExpression","isForOfStatement","isIndexedAccessType","isMemberExpression","isObjectPattern","isOptionalMemberExpression","isYieldExpression","isStatement","PRECEDENCE","Map","getBinaryPrecedence","node","nodeType","get","operator","isTSTypeExpression","isClassExtendsClause","parent","parentType","type","superClass","hasPostfixPart","object","callee","tag","NullableTypeAnnotation","FunctionTypeAnnotation","tokenContext","Boolean","TokenContext","arrowFlowReturnType","UpdateExpression","needsParenBeforeExpressionBrace","expressionStatement","arrowBody","ObjectExpression","DoExpression","async","Binary","left","parentPos","nodePos","right","undefined","UnionTypeAnnotation","OptionalIndexedAccessType","objectType","TSAsExpression","TSConditionalType","types","checkType","extendsType","TSUnionType","TSIntersectionType","TSInferType","typeParameter","constraint","TSTypeOperator","TSInstantiationExpression","typeParameters","TSFunctionType","BinaryExpression","forInOrInitHeadAccumulate","SequenceExpression","property","YieldExpression","test","ClassExpression","exportDefault","UnaryLike","FunctionExpression","ConditionalExpression","OptionalMemberExpression","AssignmentExpression","LogicalExpression","Identifier","getRawIdentifier","_node$extra","extra","parenthesized","rightType","id","name","isFollowedByBracket","computed","optional","forInitHead","forInHead","forOfHead","await"],"sources":["../../src/node/parentheses.ts"],"sourcesContent":["import {\n isArrayTypeAnnotation,\n isBinaryExpression,\n isCallExpression,\n isForOfStatement,\n isIndexedAccessType,\n isMemberExpression,\n isObjectPattern,\n isOptionalMemberExpression,\n isYieldExpression,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nimport { TokenContext } from \"./index.ts\";\n\nconst PRECEDENCE = new Map([\n [\"||\", 0],\n [\"??\", 0],\n [\"|>\", 0],\n [\"&&\", 1],\n [\"|\", 2],\n [\"^\", 3],\n [\"&\", 4],\n [\"==\", 5],\n [\"===\", 5],\n [\"!=\", 5],\n [\"!==\", 5],\n [\"<\", 6],\n [\">\", 6],\n [\"<=\", 6],\n [\">=\", 6],\n [\"in\", 6],\n [\"instanceof\", 6],\n [\">>\", 7],\n [\"<<\", 7],\n [\">>>\", 7],\n [\"+\", 8],\n [\"-\", 8],\n [\"*\", 9],\n [\"/\", 9],\n [\"%\", 9],\n [\"**\", 10],\n]);\n\nfunction getBinaryPrecedence(\n node: t.Binary | t.TSAsExpression | t.TSSatisfiesExpression,\n nodeType: string,\n): number;\nfunction getBinaryPrecedence(\n node: t.Node,\n nodeType: string,\n): number | undefined;\nfunction getBinaryPrecedence(node: t.Node, nodeType: string) {\n if (nodeType === \"BinaryExpression\" || nodeType === \"LogicalExpression\") {\n return PRECEDENCE.get((node as t.Binary).operator);\n }\n if (nodeType === \"TSAsExpression\" || nodeType === \"TSSatisfiesExpression\") {\n return PRECEDENCE.get(\"in\");\n }\n}\n\nfunction isTSTypeExpression(nodeType: string) {\n return (\n nodeType === \"TSAsExpression\" ||\n nodeType === \"TSSatisfiesExpression\" ||\n nodeType === \"TSTypeAssertion\"\n );\n}\n\nconst isClassExtendsClause = (\n node: t.Node,\n parent: t.Node,\n): parent is t.Class => {\n const parentType = parent.type;\n return (\n (parentType === \"ClassDeclaration\" || parentType === \"ClassExpression\") &&\n parent.superClass === node\n );\n};\n\nconst hasPostfixPart = (node: t.Node, parent: t.Node) => {\n const parentType = parent.type;\n return (\n ((parentType === \"MemberExpression\" ||\n parentType === \"OptionalMemberExpression\") &&\n parent.object === node) ||\n ((parentType === \"CallExpression\" ||\n parentType === \"OptionalCallExpression\" ||\n parentType === \"NewExpression\") &&\n parent.callee === node) ||\n (parentType === \"TaggedTemplateExpression\" && parent.tag === node) ||\n parentType === \"TSNonNullExpression\"\n );\n};\n\nexport function NullableTypeAnnotation(\n node: t.NullableTypeAnnotation,\n parent: t.Node,\n): boolean {\n return isArrayTypeAnnotation(parent);\n}\n\nexport function FunctionTypeAnnotation(\n node: t.FunctionTypeAnnotation,\n parent: t.Node,\n tokenContext: number,\n): boolean {\n const parentType = parent.type;\n return (\n // (() => A) | (() => B)\n parentType === \"UnionTypeAnnotation\" ||\n // (() => A) & (() => B)\n parentType === \"IntersectionTypeAnnotation\" ||\n // (() => A)[]\n parentType === \"ArrayTypeAnnotation\" ||\n Boolean(tokenContext & TokenContext.arrowFlowReturnType)\n );\n}\n\nexport function UpdateExpression(\n node: t.UpdateExpression,\n parent: t.Node,\n): boolean {\n return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent);\n}\n\nfunction needsParenBeforeExpressionBrace(tokenContext: number) {\n return Boolean(\n tokenContext & (TokenContext.expressionStatement | TokenContext.arrowBody),\n );\n}\n\nexport function ObjectExpression(\n node: t.ObjectExpression,\n parent: t.Node,\n tokenContext: number,\n): boolean {\n return needsParenBeforeExpressionBrace(tokenContext);\n}\n\nexport function DoExpression(\n node: t.DoExpression,\n parent: t.Node,\n tokenContext: number,\n): boolean {\n // `async do` can start an expression statement\n return (\n !node.async && Boolean(tokenContext & TokenContext.expressionStatement)\n );\n}\n\nexport function Binary(\n node: t.Binary | t.TSAsExpression | t.TSSatisfiesExpression,\n parent: t.Node,\n): boolean | undefined {\n const parentType = parent.type;\n if (\n node.type === \"BinaryExpression\" &&\n node.operator === \"**\" &&\n parentType === \"BinaryExpression\" &&\n parent.operator === \"**\"\n ) {\n return parent.left === node;\n }\n\n if (isClassExtendsClause(node, parent)) {\n return true;\n }\n\n if (\n hasPostfixPart(node, parent) ||\n parentType === \"UnaryExpression\" ||\n parentType === \"SpreadElement\" ||\n parentType === \"AwaitExpression\"\n ) {\n return true;\n }\n\n const parentPos = getBinaryPrecedence(parent, parentType);\n if (parentPos != null) {\n const nodePos = getBinaryPrecedence(node, node.type);\n if (\n // Logical expressions with the same precedence don't need parens.\n (parentPos === nodePos &&\n parentType === \"BinaryExpression\" &&\n parent.right === node) ||\n parentPos > nodePos\n ) {\n return true;\n }\n }\n\n return undefined;\n}\n\nexport function UnionTypeAnnotation(\n node: t.UnionTypeAnnotation,\n parent: t.Node,\n): boolean {\n const parentType = parent.type;\n return (\n parentType === \"ArrayTypeAnnotation\" ||\n parentType === \"NullableTypeAnnotation\" ||\n parentType === \"IntersectionTypeAnnotation\" ||\n parentType === \"UnionTypeAnnotation\"\n );\n}\n\nexport { UnionTypeAnnotation as IntersectionTypeAnnotation };\n\nexport function OptionalIndexedAccessType(\n node: t.OptionalIndexedAccessType,\n parent: t.Node,\n): boolean {\n return isIndexedAccessType(parent) && parent.objectType === node;\n}\n\nexport function TSAsExpression(\n node: t.TSAsExpression | t.TSSatisfiesExpression,\n parent: t.Node,\n): boolean {\n if (\n (parent.type === \"AssignmentExpression\" ||\n parent.type === \"AssignmentPattern\") &&\n parent.left === node\n ) {\n return true;\n }\n if (\n parent.type === \"BinaryExpression\" &&\n (parent.operator === \"|\" || parent.operator === \"&\") &&\n node === parent.left\n ) {\n return true;\n }\n return Binary(node, parent);\n}\n\nexport { TSAsExpression as TSSatisfiesExpression };\n\nexport { UnaryLike as TSTypeAssertion };\n\nexport function TSConditionalType(\n node: t.TSConditionalType,\n parent: t.Node,\n): boolean {\n const parentType = parent.type;\n if (\n parentType === \"TSArrayType\" ||\n (parentType === \"TSIndexedAccessType\" && parent.objectType === node) ||\n parentType === \"TSOptionalType\" ||\n parentType === \"TSTypeOperator\" ||\n // for `infer K extends (L extends M ? M : ...)`\n parentType === \"TSTypeParameter\"\n ) {\n return true;\n }\n if (\n (parentType === \"TSIntersectionType\" || parentType === \"TSUnionType\") &&\n parent.types[0] === node\n ) {\n return true;\n }\n if (\n parentType === \"TSConditionalType\" &&\n (parent.checkType === node || parent.extendsType === node)\n ) {\n return true;\n }\n return false;\n}\n\nexport function TSUnionType(node: t.TSUnionType, parent: t.Node): boolean {\n const parentType = parent.type;\n return (\n parentType === \"TSIntersectionType\" ||\n parentType === \"TSTypeOperator\" ||\n parentType === \"TSArrayType\" ||\n (parentType === \"TSIndexedAccessType\" && parent.objectType === node) ||\n parentType === \"TSOptionalType\"\n );\n}\n\nexport function TSIntersectionType(\n node: t.TSUnionType,\n parent: t.Node,\n): boolean {\n const parentType = parent.type;\n return (\n parentType === \"TSTypeOperator\" ||\n parentType === \"TSArrayType\" ||\n (parentType === \"TSIndexedAccessType\" && parent.objectType === node) ||\n parentType === \"TSOptionalType\"\n );\n}\n\nexport function TSInferType(node: t.TSInferType, parent: t.Node): boolean {\n const parentType = parent.type;\n if (\n parentType === \"TSArrayType\" ||\n (parentType === \"TSIndexedAccessType\" && parent.objectType === node) ||\n parentType === \"TSOptionalType\"\n ) {\n return true;\n }\n if (node.typeParameter.constraint) {\n if (\n (parentType === \"TSIntersectionType\" || parentType === \"TSUnionType\") &&\n parent.types[0] === node\n ) {\n return true;\n }\n }\n return false;\n}\n\nexport function TSTypeOperator(\n node: t.TSTypeOperator,\n parent: t.Node,\n): boolean {\n const parentType = parent.type;\n return (\n parentType === \"TSArrayType\" ||\n (parentType === \"TSIndexedAccessType\" && parent.objectType === node) ||\n parentType === \"TSOptionalType\"\n );\n}\n\nexport function TSInstantiationExpression(\n node: t.TSInstantiationExpression,\n parent: t.Node,\n) {\n const parentType = parent.type;\n return (\n (parentType === \"CallExpression\" ||\n parentType === \"OptionalCallExpression\" ||\n parentType === \"NewExpression\" ||\n parentType === \"TSInstantiationExpression\") &&\n !!(process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n parent.typeArguments\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n parent.typeParameters)\n );\n}\n\nexport function TSFunctionType(\n node: t.TSFunctionType,\n parent: t.Node,\n): boolean {\n const parentType = parent.type;\n return (\n parentType === \"TSIntersectionType\" ||\n parentType === \"TSUnionType\" ||\n parentType === \"TSTypeOperator\" ||\n parentType === \"TSOptionalType\" ||\n parentType === \"TSArrayType\" ||\n (parentType === \"TSIndexedAccessType\" && parent.objectType === node) ||\n (parentType === \"TSConditionalType\" &&\n (parent.checkType === node || parent.extendsType === node))\n );\n}\n\nexport { TSFunctionType as TSConstructorType };\n\nexport function BinaryExpression(\n node: t.BinaryExpression,\n parent: t.Node,\n tokenContext: number,\n): boolean {\n // for ((1 in []);;);\n // for (var x = (1 in []) in 2);\n return (\n node.operator === \"in\" &&\n Boolean(tokenContext & TokenContext.forInOrInitHeadAccumulate)\n );\n}\n\nexport function SequenceExpression(\n node: t.SequenceExpression,\n parent: t.Node,\n): boolean {\n const parentType = parent.type;\n if (\n parentType === \"SequenceExpression\" ||\n parentType === \"ParenthesizedExpression\" ||\n (parentType === \"MemberExpression\" && parent.property === node) ||\n (parentType === \"OptionalMemberExpression\" && parent.property === node) ||\n parentType === \"TemplateLiteral\"\n ) {\n return false;\n }\n if (parentType === \"ClassDeclaration\") {\n return true;\n }\n if (parentType === \"ForOfStatement\") {\n return parent.right === node;\n }\n if (parentType === \"ExportDefaultDeclaration\") {\n return true;\n }\n\n return !isStatement(parent);\n}\n\nexport function YieldExpression(\n node: t.YieldExpression,\n parent: t.Node,\n): boolean {\n const parentType = parent.type;\n return (\n parentType === \"BinaryExpression\" ||\n parentType === \"LogicalExpression\" ||\n parentType === \"UnaryExpression\" ||\n parentType === \"SpreadElement\" ||\n hasPostfixPart(node, parent) ||\n (parentType === \"AwaitExpression\" && isYieldExpression(node)) ||\n (parentType === \"ConditionalExpression\" && node === parent.test) ||\n isClassExtendsClause(node, parent) ||\n isTSTypeExpression(parentType)\n );\n}\n\nexport { YieldExpression as AwaitExpression };\n\nexport function ClassExpression(\n node: t.ClassExpression,\n parent: t.Node,\n tokenContext: number,\n): boolean {\n return Boolean(\n tokenContext &\n (TokenContext.expressionStatement | TokenContext.exportDefault),\n );\n}\n\nexport function UnaryLike(\n node:\n | t.UnaryLike\n | t.TSTypeAssertion\n | t.ArrowFunctionExpression\n | t.ConditionalExpression\n | t.AssignmentExpression,\n parent: t.Node,\n): boolean {\n return (\n hasPostfixPart(node, parent) ||\n (isBinaryExpression(parent) &&\n parent.operator === \"**\" &&\n parent.left === node) ||\n isClassExtendsClause(node, parent)\n );\n}\n\nexport function FunctionExpression(\n node: t.FunctionExpression,\n parent: t.Node,\n tokenContext: number,\n): boolean {\n return Boolean(\n tokenContext &\n (TokenContext.expressionStatement | TokenContext.exportDefault),\n );\n}\n\nexport function ConditionalExpression(\n node:\n | t.ConditionalExpression\n | t.ArrowFunctionExpression\n | t.AssignmentExpression,\n parent?: t.Node,\n): boolean {\n const parentType = parent.type;\n if (\n parentType === \"UnaryExpression\" ||\n parentType === \"SpreadElement\" ||\n parentType === \"BinaryExpression\" ||\n parentType === \"LogicalExpression\" ||\n (parentType === \"ConditionalExpression\" && parent.test === node) ||\n parentType === \"AwaitExpression\" ||\n isTSTypeExpression(parentType)\n ) {\n return true;\n }\n\n return UnaryLike(node, parent);\n}\n\nexport { ConditionalExpression as ArrowFunctionExpression };\n\nexport function OptionalMemberExpression(\n node: t.OptionalMemberExpression,\n parent: t.Node,\n): boolean {\n return (\n (isCallExpression(parent) && parent.callee === node) ||\n (isMemberExpression(parent) && parent.object === node)\n );\n}\n\nexport { OptionalMemberExpression as OptionalCallExpression };\n\nexport function AssignmentExpression(\n node: t.AssignmentExpression,\n parent: t.Node,\n tokenContext: number,\n): boolean {\n if (\n needsParenBeforeExpressionBrace(tokenContext) &&\n isObjectPattern(node.left)\n ) {\n return true;\n } else {\n return ConditionalExpression(node, parent);\n }\n}\n\nexport function LogicalExpression(\n node: t.LogicalExpression,\n parent: t.Node,\n): boolean {\n const parentType = parent.type;\n if (isTSTypeExpression(parentType)) return true;\n if (parentType !== \"LogicalExpression\") return false;\n switch (node.operator) {\n case \"||\":\n return parent.operator === \"??\" || parent.operator === \"&&\";\n case \"&&\":\n return parent.operator === \"??\";\n case \"??\":\n return parent.operator !== \"??\";\n }\n}\n\nexport function Identifier(\n node: t.Identifier,\n parent: t.Node,\n tokenContext: number,\n getRawIdentifier: (node: t.Identifier) => string,\n): boolean {\n const parentType = parent.type;\n // 13.15.2 AssignmentExpression RS: Evaluation\n // (fn) = function () {};\n if (\n node.extra?.parenthesized &&\n parentType === \"AssignmentExpression\" &&\n parent.left === node\n ) {\n const rightType = parent.right.type;\n if (\n (rightType === \"FunctionExpression\" || rightType === \"ClassExpression\") &&\n parent.right.id == null\n ) {\n return true;\n }\n }\n\n if (getRawIdentifier && getRawIdentifier(node) !== node.name) {\n return false;\n }\n\n // Non-strict code allows the identifier `let`, but it cannot occur as-is in\n // certain contexts to avoid ambiguity with contextual keyword `let`.\n if (node.name === \"let\") {\n // Some contexts only forbid `let [`, so check if the next token would\n // be the left bracket of a computed member expression.\n const isFollowedByBracket =\n isMemberExpression(parent, {\n object: node,\n computed: true,\n }) ||\n isOptionalMemberExpression(parent, {\n object: node,\n computed: true,\n optional: false,\n });\n if (\n isFollowedByBracket &&\n tokenContext &\n (TokenContext.expressionStatement |\n TokenContext.forInitHead |\n TokenContext.forInHead)\n ) {\n return true;\n }\n return Boolean(tokenContext & TokenContext.forOfHead);\n }\n\n // ECMAScript specifically forbids a for-of loop from starting with the\n // token sequence `for (async of`, because it would be ambiguous with\n // `for (async of => {};;)`, so we need to add extra parentheses.\n return (\n node.name === \"async\" &&\n isForOfStatement(parent, { left: node, await: false })\n );\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/node/whitespace.js b/node_modules/@babel/generator/lib/node/whitespace.js
new file mode 100644
index 00000000..181b9566
--- /dev/null
+++ b/node_modules/@babel/generator/lib/node/whitespace.js
@@ -0,0 +1,145 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.nodes = void 0;
+var _t = require("@babel/types");
+const {
+ FLIPPED_ALIAS_KEYS,
+ isArrayExpression,
+ isAssignmentExpression,
+ isBinary,
+ isBlockStatement,
+ isCallExpression,
+ isFunction,
+ isIdentifier,
+ isLiteral,
+ isMemberExpression,
+ isObjectExpression,
+ isOptionalCallExpression,
+ isOptionalMemberExpression,
+ isStringLiteral
+} = _t;
+function crawlInternal(node, state) {
+ if (!node) return state;
+ if (isMemberExpression(node) || isOptionalMemberExpression(node)) {
+ crawlInternal(node.object, state);
+ if (node.computed) crawlInternal(node.property, state);
+ } else if (isBinary(node) || isAssignmentExpression(node)) {
+ crawlInternal(node.left, state);
+ crawlInternal(node.right, state);
+ } else if (isCallExpression(node) || isOptionalCallExpression(node)) {
+ state.hasCall = true;
+ crawlInternal(node.callee, state);
+ } else if (isFunction(node)) {
+ state.hasFunction = true;
+ } else if (isIdentifier(node)) {
+ state.hasHelper = state.hasHelper || node.callee && isHelper(node.callee);
+ }
+ return state;
+}
+function crawl(node) {
+ return crawlInternal(node, {
+ hasCall: false,
+ hasFunction: false,
+ hasHelper: false
+ });
+}
+function isHelper(node) {
+ if (!node) return false;
+ if (isMemberExpression(node)) {
+ return isHelper(node.object) || isHelper(node.property);
+ } else if (isIdentifier(node)) {
+ return node.name === "require" || node.name.charCodeAt(0) === 95;
+ } else if (isCallExpression(node)) {
+ return isHelper(node.callee);
+ } else if (isBinary(node) || isAssignmentExpression(node)) {
+ return isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right);
+ } else {
+ return false;
+ }
+}
+function isType(node) {
+ return isLiteral(node) || isObjectExpression(node) || isArrayExpression(node) || isIdentifier(node) || isMemberExpression(node);
+}
+const nodes = exports.nodes = {
+ AssignmentExpression(node) {
+ const state = crawl(node.right);
+ if (state.hasCall && state.hasHelper || state.hasFunction) {
+ return state.hasFunction ? 1 | 2 : 2;
+ }
+ },
+ SwitchCase(node, parent) {
+ return (!!node.consequent.length || parent.cases[0] === node ? 1 : 0) | (!node.consequent.length && parent.cases[parent.cases.length - 1] === node ? 2 : 0);
+ },
+ LogicalExpression(node) {
+ if (isFunction(node.left) || isFunction(node.right)) {
+ return 2;
+ }
+ },
+ Literal(node) {
+ if (isStringLiteral(node) && node.value === "use strict") {
+ return 2;
+ }
+ },
+ CallExpression(node) {
+ if (isFunction(node.callee) || isHelper(node)) {
+ return 1 | 2;
+ }
+ },
+ OptionalCallExpression(node) {
+ if (isFunction(node.callee)) {
+ return 1 | 2;
+ }
+ },
+ VariableDeclaration(node) {
+ for (let i = 0; i < node.declarations.length; i++) {
+ const declar = node.declarations[i];
+ let enabled = isHelper(declar.id) && !isType(declar.init);
+ if (!enabled && declar.init) {
+ const state = crawl(declar.init);
+ enabled = isHelper(declar.init) && state.hasCall || state.hasFunction;
+ }
+ if (enabled) {
+ return 1 | 2;
+ }
+ }
+ },
+ IfStatement(node) {
+ if (isBlockStatement(node.consequent)) {
+ return 1 | 2;
+ }
+ }
+};
+nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) {
+ if (parent.properties[0] === node) {
+ return 1;
+ }
+};
+nodes.ObjectTypeCallProperty = function (node, parent) {
+ var _parent$properties;
+ if (parent.callProperties[0] === node && !((_parent$properties = parent.properties) != null && _parent$properties.length)) {
+ return 1;
+ }
+};
+nodes.ObjectTypeIndexer = function (node, parent) {
+ var _parent$properties2, _parent$callPropertie;
+ if (parent.indexers[0] === node && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) {
+ return 1;
+ }
+};
+nodes.ObjectTypeInternalSlot = function (node, parent) {
+ var _parent$properties3, _parent$callPropertie2, _parent$indexers;
+ if (parent.internalSlots[0] === node && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) {
+ return 1;
+ }
+};
+[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function ([type, amounts]) {
+ [type].concat(FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) {
+ const ret = amounts ? 1 | 2 : 0;
+ nodes[type] = () => ret;
+ });
+});
+
+//# sourceMappingURL=whitespace.js.map
diff --git a/node_modules/@babel/generator/lib/node/whitespace.js.map b/node_modules/@babel/generator/lib/node/whitespace.js.map
new file mode 100644
index 00000000..dea7ddc6
--- /dev/null
+++ b/node_modules/@babel/generator/lib/node/whitespace.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","FLIPPED_ALIAS_KEYS","isArrayExpression","isAssignmentExpression","isBinary","isBlockStatement","isCallExpression","isFunction","isIdentifier","isLiteral","isMemberExpression","isObjectExpression","isOptionalCallExpression","isOptionalMemberExpression","isStringLiteral","crawlInternal","node","state","object","computed","property","left","right","hasCall","callee","hasFunction","hasHelper","isHelper","crawl","name","charCodeAt","isType","nodes","exports","AssignmentExpression","SwitchCase","parent","consequent","length","cases","LogicalExpression","Literal","value","CallExpression","OptionalCallExpression","VariableDeclaration","i","declarations","declar","enabled","id","init","IfStatement","ObjectProperty","ObjectTypeProperty","ObjectMethod","properties","ObjectTypeCallProperty","_parent$properties","callProperties","ObjectTypeIndexer","_parent$properties2","_parent$callPropertie","indexers","ObjectTypeInternalSlot","_parent$properties3","_parent$callPropertie2","_parent$indexers","internalSlots","forEach","type","amounts","concat","ret"],"sources":["../../src/node/whitespace.ts"],"sourcesContent":["import {\n FLIPPED_ALIAS_KEYS,\n isArrayExpression,\n isAssignmentExpression,\n isBinary,\n isBlockStatement,\n isCallExpression,\n isFunction,\n isIdentifier,\n isLiteral,\n isMemberExpression,\n isObjectExpression,\n isOptionalCallExpression,\n isOptionalMemberExpression,\n isStringLiteral,\n} from \"@babel/types\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\nimport type { NodeHandlers } from \"./index.ts\";\n\nimport type * as t from \"@babel/types\";\n\nconst enum WhitespaceFlag {\n before = 1 << 0,\n after = 1 << 1,\n}\n\nexport type { WhitespaceFlag };\n\nfunction crawlInternal(\n node: t.Node,\n state: { hasCall: boolean; hasFunction: boolean; hasHelper: boolean },\n) {\n if (!node) return state;\n\n if (isMemberExpression(node) || isOptionalMemberExpression(node)) {\n crawlInternal(node.object, state);\n if (node.computed) crawlInternal(node.property, state);\n } else if (isBinary(node) || isAssignmentExpression(node)) {\n crawlInternal(node.left, state);\n crawlInternal(node.right, state);\n } else if (isCallExpression(node) || isOptionalCallExpression(node)) {\n state.hasCall = true;\n crawlInternal(node.callee, state);\n } else if (isFunction(node)) {\n state.hasFunction = true;\n } else if (isIdentifier(node)) {\n state.hasHelper =\n // @ts-expect-error todo(flow->ts): node.callee is not really expected here…\n state.hasHelper || (node.callee && isHelper(node.callee));\n }\n\n return state;\n}\n\n/**\n * Crawl a node to test if it contains a CallExpression, a Function, or a Helper.\n *\n * @example\n * crawl(node)\n * // { hasCall: false, hasFunction: true, hasHelper: false }\n */\n\nfunction crawl(node: t.Node) {\n return crawlInternal(node, {\n hasCall: false,\n hasFunction: false,\n hasHelper: false,\n });\n}\n\n/**\n * Test if a node is or has a helper.\n */\n\nfunction isHelper(node: t.Node): boolean {\n if (!node) return false;\n\n if (isMemberExpression(node)) {\n return isHelper(node.object) || isHelper(node.property);\n } else if (isIdentifier(node)) {\n return (\n node.name === \"require\" ||\n node.name.charCodeAt(0) === charCodes.underscore\n );\n } else if (isCallExpression(node)) {\n return isHelper(node.callee);\n } else if (isBinary(node) || isAssignmentExpression(node)) {\n return (\n (isIdentifier(node.left) && isHelper(node.left)) || isHelper(node.right)\n );\n } else {\n return false;\n }\n}\n\nfunction isType(node: t.Node) {\n return (\n isLiteral(node) ||\n isObjectExpression(node) ||\n isArrayExpression(node) ||\n isIdentifier(node) ||\n isMemberExpression(node)\n );\n}\n\n/**\n * Tests for node types that need whitespace.\n */\n\nexport const nodes: NodeHandlers = {\n /**\n * Test if AssignmentExpression needs whitespace.\n */\n\n AssignmentExpression(node: t.AssignmentExpression): WhitespaceFlag {\n const state = crawl(node.right);\n if ((state.hasCall && state.hasHelper) || state.hasFunction) {\n return state.hasFunction\n ? WhitespaceFlag.before | WhitespaceFlag.after\n : WhitespaceFlag.after;\n }\n },\n\n /**\n * Test if SwitchCase needs whitespace.\n */\n\n SwitchCase(node: t.SwitchCase, parent: t.SwitchStatement): WhitespaceFlag {\n return (\n (!!node.consequent.length || parent.cases[0] === node\n ? WhitespaceFlag.before\n : 0) |\n (!node.consequent.length && parent.cases[parent.cases.length - 1] === node\n ? WhitespaceFlag.after\n : 0)\n );\n },\n\n /**\n * Test if LogicalExpression needs whitespace.\n */\n\n LogicalExpression(node: t.LogicalExpression): WhitespaceFlag {\n if (isFunction(node.left) || isFunction(node.right)) {\n return WhitespaceFlag.after;\n }\n },\n\n /**\n * Test if Literal needs whitespace.\n */\n\n Literal(node: t.Literal): WhitespaceFlag {\n if (isStringLiteral(node) && node.value === \"use strict\") {\n return WhitespaceFlag.after;\n }\n },\n\n /**\n * Test if CallExpressionish needs whitespace.\n */\n\n CallExpression(node: t.CallExpression): WhitespaceFlag {\n if (isFunction(node.callee) || isHelper(node)) {\n return WhitespaceFlag.before | WhitespaceFlag.after;\n }\n },\n\n OptionalCallExpression(node: t.OptionalCallExpression): WhitespaceFlag {\n if (isFunction(node.callee)) {\n return WhitespaceFlag.before | WhitespaceFlag.after;\n }\n },\n\n /**\n * Test if VariableDeclaration needs whitespace.\n */\n\n VariableDeclaration(node: t.VariableDeclaration): WhitespaceFlag {\n for (let i = 0; i < node.declarations.length; i++) {\n const declar = node.declarations[i];\n\n let enabled = isHelper(declar.id) && !isType(declar.init);\n if (!enabled && declar.init) {\n const state = crawl(declar.init);\n enabled = (isHelper(declar.init) && state.hasCall) || state.hasFunction;\n }\n\n if (enabled) {\n return WhitespaceFlag.before | WhitespaceFlag.after;\n }\n }\n },\n\n /**\n * Test if IfStatement needs whitespace.\n */\n\n IfStatement(node: t.IfStatement): WhitespaceFlag {\n if (isBlockStatement(node.consequent)) {\n return WhitespaceFlag.before | WhitespaceFlag.after;\n }\n },\n};\n\n/**\n * Test if Property needs whitespace.\n */\n\nnodes.ObjectProperty =\n nodes.ObjectTypeProperty =\n nodes.ObjectMethod =\n function (\n node: t.ObjectProperty | t.ObjectTypeProperty | t.ObjectMethod,\n parent: t.ObjectExpression,\n ): WhitespaceFlag {\n if (parent.properties[0] === node) {\n return WhitespaceFlag.before;\n }\n };\n\nnodes.ObjectTypeCallProperty = function (\n node: t.ObjectTypeCallProperty,\n parent: t.ObjectTypeAnnotation,\n): WhitespaceFlag {\n if (parent.callProperties[0] === node && !parent.properties?.length) {\n return WhitespaceFlag.before;\n }\n};\n\nnodes.ObjectTypeIndexer = function (\n node: t.ObjectTypeIndexer,\n parent: t.ObjectTypeAnnotation,\n): WhitespaceFlag {\n if (\n parent.indexers[0] === node &&\n !parent.properties?.length &&\n !parent.callProperties?.length\n ) {\n return WhitespaceFlag.before;\n }\n};\n\nnodes.ObjectTypeInternalSlot = function (\n node: t.ObjectTypeInternalSlot,\n parent: t.ObjectTypeAnnotation,\n): WhitespaceFlag {\n if (\n parent.internalSlots[0] === node &&\n !parent.properties?.length &&\n !parent.callProperties?.length &&\n !parent.indexers?.length\n ) {\n return WhitespaceFlag.before;\n }\n};\n\n/**\n * Add whitespace tests for nodes and their aliases.\n */\n\n(\n [\n [\"Function\", true],\n [\"Class\", true],\n [\"Loop\", true],\n [\"LabeledStatement\", true],\n [\"SwitchStatement\", true],\n [\"TryStatement\", true],\n ] as const\n).forEach(function ([type, amounts]) {\n [type as string]\n .concat(FLIPPED_ALIAS_KEYS[type] || [])\n .forEach(function (type) {\n const ret = amounts ? WhitespaceFlag.before | WhitespaceFlag.after : 0;\n nodes[type] = () => ret;\n });\n});\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/generator/lib/printer.js b/node_modules/@babel/generator/lib/printer.js
new file mode 100644
index 00000000..2977e633
--- /dev/null
+++ b/node_modules/@babel/generator/lib/printer.js
@@ -0,0 +1,781 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = void 0;
+var _buffer = require("./buffer.js");
+var _index = require("./node/index.js");
+var n = _index;
+var _t = require("@babel/types");
+var _tokenMap = require("./token-map.js");
+var generatorFunctions = require("./generators/index.js");
+var _deprecated = require("./generators/deprecated.js");
+const {
+ isExpression,
+ isFunction,
+ isStatement,
+ isClassBody,
+ isTSInterfaceBody,
+ isTSEnumMember
+} = _t;
+const SCIENTIFIC_NOTATION = /e/i;
+const ZERO_DECIMAL_INTEGER = /\.0+$/;
+const HAS_NEWLINE = /[\n\r\u2028\u2029]/;
+const HAS_NEWLINE_OR_BlOCK_COMMENT_END = /[\n\r\u2028\u2029]|\*\//;
+function commentIsNewline(c) {
+ return c.type === "CommentLine" || HAS_NEWLINE.test(c.value);
+}
+const {
+ needsParens
+} = n;
+class Printer {
+ constructor(format, map, tokens, originalCode) {
+ this.tokenContext = _index.TokenContext.normal;
+ this._tokens = null;
+ this._originalCode = null;
+ this._currentNode = null;
+ this._indent = 0;
+ this._indentRepeat = 0;
+ this._insideAux = false;
+ this._noLineTerminator = false;
+ this._noLineTerminatorAfterNode = null;
+ this._printAuxAfterOnNextUserNode = false;
+ this._printedComments = new Set();
+ this._endsWithInteger = false;
+ this._endsWithWord = false;
+ this._endsWithDiv = false;
+ this._lastCommentLine = 0;
+ this._endsWithInnerRaw = false;
+ this._indentInnerComments = true;
+ this.tokenMap = null;
+ this._boundGetRawIdentifier = this._getRawIdentifier.bind(this);
+ this._printSemicolonBeforeNextNode = -1;
+ this._printSemicolonBeforeNextToken = -1;
+ this.format = format;
+ this._tokens = tokens;
+ this._originalCode = originalCode;
+ this._indentRepeat = format.indent.style.length;
+ this._inputMap = map == null ? void 0 : map._inputMap;
+ this._buf = new _buffer.default(map, format.indent.style[0]);
+ }
+ enterForStatementInit() {
+ this.tokenContext |= _index.TokenContext.forInitHead | _index.TokenContext.forInOrInitHeadAccumulate;
+ return () => this.tokenContext = _index.TokenContext.normal;
+ }
+ enterForXStatementInit(isForOf) {
+ if (isForOf) {
+ this.tokenContext |= _index.TokenContext.forOfHead;
+ return null;
+ } else {
+ this.tokenContext |= _index.TokenContext.forInHead | _index.TokenContext.forInOrInitHeadAccumulate;
+ return () => this.tokenContext = _index.TokenContext.normal;
+ }
+ }
+ enterDelimited() {
+ const oldTokenContext = this.tokenContext;
+ const oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode;
+ if (!(oldTokenContext & _index.TokenContext.forInOrInitHeadAccumulate) && oldNoLineTerminatorAfterNode === null) {
+ return () => {};
+ }
+ this._noLineTerminatorAfterNode = null;
+ this.tokenContext = _index.TokenContext.normal;
+ return () => {
+ this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;
+ this.tokenContext = oldTokenContext;
+ };
+ }
+ generate(ast) {
+ if (this.format.preserveFormat) {
+ this.tokenMap = new _tokenMap.TokenMap(ast, this._tokens, this._originalCode);
+ }
+ this.print(ast);
+ this._maybeAddAuxComment();
+ return this._buf.get();
+ }
+ indent() {
+ const {
+ format
+ } = this;
+ if (format.preserveFormat || format.compact || format.concise) {
+ return;
+ }
+ this._indent++;
+ }
+ dedent() {
+ const {
+ format
+ } = this;
+ if (format.preserveFormat || format.compact || format.concise) {
+ return;
+ }
+ this._indent--;
+ }
+ semicolon(force = false) {
+ this._maybeAddAuxComment();
+ if (force) {
+ this._appendChar(59);
+ this._noLineTerminator = false;
+ return;
+ }
+ if (this.tokenMap) {
+ const node = this._currentNode;
+ if (node.start != null && node.end != null) {
+ if (!this.tokenMap.endMatches(node, ";")) {
+ this._printSemicolonBeforeNextNode = this._buf.getCurrentLine();
+ return;
+ }
+ const indexes = this.tokenMap.getIndexes(this._currentNode);
+ this._catchUpTo(this._tokens[indexes[indexes.length - 1]].loc.start);
+ }
+ }
+ this._queue(59);
+ this._noLineTerminator = false;
+ }
+ rightBrace(node) {
+ if (this.format.minified) {
+ this._buf.removeLastSemicolon();
+ }
+ this.sourceWithOffset("end", node.loc, -1);
+ this.tokenChar(125);
+ }
+ rightParens(node) {
+ this.sourceWithOffset("end", node.loc, -1);
+ this.tokenChar(41);
+ }
+ space(force = false) {
+ const {
+ format
+ } = this;
+ if (format.compact || format.preserveFormat) return;
+ if (force) {
+ this._space();
+ } else if (this._buf.hasContent()) {
+ const lastCp = this.getLastChar();
+ if (lastCp !== 32 && lastCp !== 10) {
+ this._space();
+ }
+ }
+ }
+ word(str, noLineTerminatorAfter = false) {
+ this.tokenContext &= _index.TokenContext.forInOrInitHeadAccumulatePassThroughMask;
+ this._maybePrintInnerComments(str);
+ this._maybeAddAuxComment();
+ if (this.tokenMap) this._catchUpToCurrentToken(str);
+ if (this._endsWithWord || this._endsWithDiv && str.charCodeAt(0) === 47) {
+ this._space();
+ }
+ this._append(str, false);
+ this._endsWithWord = true;
+ this._noLineTerminator = noLineTerminatorAfter;
+ }
+ number(str, number) {
+ function isNonDecimalLiteral(str) {
+ if (str.length > 2 && str.charCodeAt(0) === 48) {
+ const secondChar = str.charCodeAt(1);
+ return secondChar === 98 || secondChar === 111 || secondChar === 120;
+ }
+ return false;
+ }
+ this.word(str);
+ this._endsWithInteger = Number.isInteger(number) && !isNonDecimalLiteral(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str.charCodeAt(str.length - 1) !== 46;
+ }
+ token(str, maybeNewline = false, occurrenceCount = 0) {
+ this.tokenContext &= _index.TokenContext.forInOrInitHeadAccumulatePassThroughMask;
+ this._maybePrintInnerComments(str, occurrenceCount);
+ this._maybeAddAuxComment();
+ if (this.tokenMap) this._catchUpToCurrentToken(str, occurrenceCount);
+ const lastChar = this.getLastChar();
+ const strFirst = str.charCodeAt(0);
+ if (lastChar === 33 && (str === "--" || strFirst === 61) || strFirst === 43 && lastChar === 43 || strFirst === 45 && lastChar === 45 || strFirst === 46 && this._endsWithInteger) {
+ this._space();
+ }
+ this._append(str, maybeNewline);
+ this._noLineTerminator = false;
+ }
+ tokenChar(char) {
+ this.tokenContext &= _index.TokenContext.forInOrInitHeadAccumulatePassThroughMask;
+ const str = String.fromCharCode(char);
+ this._maybePrintInnerComments(str);
+ this._maybeAddAuxComment();
+ if (this.tokenMap) this._catchUpToCurrentToken(str);
+ const lastChar = this.getLastChar();
+ if (char === 43 && lastChar === 43 || char === 45 && lastChar === 45 || char === 46 && this._endsWithInteger) {
+ this._space();
+ }
+ this._appendChar(char);
+ this._noLineTerminator = false;
+ }
+ newline(i = 1, force) {
+ if (i <= 0) return;
+ if (!force) {
+ if (this.format.retainLines || this.format.compact) return;
+ if (this.format.concise) {
+ this.space();
+ return;
+ }
+ }
+ if (i > 2) i = 2;
+ i -= this._buf.getNewlineCount();
+ for (let j = 0; j < i; j++) {
+ this._newline();
+ }
+ return;
+ }
+ endsWith(char) {
+ return this.getLastChar() === char;
+ }
+ getLastChar() {
+ return this._buf.getLastChar();
+ }
+ endsWithCharAndNewline() {
+ return this._buf.endsWithCharAndNewline();
+ }
+ removeTrailingNewline() {
+ this._buf.removeTrailingNewline();
+ }
+ exactSource(loc, cb) {
+ if (!loc) {
+ cb();
+ return;
+ }
+ this._catchUp("start", loc);
+ this._buf.exactSource(loc, cb);
+ }
+ source(prop, loc) {
+ if (!loc) return;
+ this._catchUp(prop, loc);
+ this._buf.source(prop, loc);
+ }
+ sourceWithOffset(prop, loc, columnOffset) {
+ if (!loc || this.format.preserveFormat) return;
+ this._catchUp(prop, loc);
+ this._buf.sourceWithOffset(prop, loc, columnOffset);
+ }
+ sourceIdentifierName(identifierName, pos) {
+ if (!this._buf._canMarkIdName) return;
+ const sourcePosition = this._buf._sourcePosition;
+ sourcePosition.identifierNamePos = pos;
+ sourcePosition.identifierName = identifierName;
+ }
+ _space() {
+ this._queue(32);
+ }
+ _newline() {
+ this._queue(10);
+ }
+ _catchUpToCurrentToken(str, occurrenceCount = 0) {
+ const token = this.tokenMap.findMatching(this._currentNode, str, occurrenceCount);
+ if (token) this._catchUpTo(token.loc.start);
+ if (this._printSemicolonBeforeNextToken !== -1 && this._printSemicolonBeforeNextToken === this._buf.getCurrentLine()) {
+ this._buf.appendChar(59);
+ this._endsWithWord = false;
+ this._endsWithInteger = false;
+ this._endsWithDiv = false;
+ }
+ this._printSemicolonBeforeNextToken = -1;
+ this._printSemicolonBeforeNextNode = -1;
+ }
+ _append(str, maybeNewline) {
+ this._maybeIndent(str.charCodeAt(0));
+ this._buf.append(str, maybeNewline);
+ this._endsWithWord = false;
+ this._endsWithInteger = false;
+ this._endsWithDiv = false;
+ }
+ _appendChar(char) {
+ this._maybeIndent(char);
+ this._buf.appendChar(char);
+ this._endsWithWord = false;
+ this._endsWithInteger = false;
+ this._endsWithDiv = false;
+ }
+ _queue(char) {
+ this._maybeIndent(char);
+ this._buf.queue(char);
+ this._endsWithWord = false;
+ this._endsWithInteger = false;
+ }
+ _maybeIndent(firstChar) {
+ if (this._indent && firstChar !== 10 && this.endsWith(10)) {
+ this._buf.queueIndentation(this._getIndent());
+ }
+ }
+ _shouldIndent(firstChar) {
+ if (this._indent && firstChar !== 10 && this.endsWith(10)) {
+ return true;
+ }
+ }
+ catchUp(line) {
+ if (!this.format.retainLines) return;
+ const count = line - this._buf.getCurrentLine();
+ for (let i = 0; i < count; i++) {
+ this._newline();
+ }
+ }
+ _catchUp(prop, loc) {
+ const {
+ format
+ } = this;
+ if (!format.preserveFormat) {
+ if (format.retainLines && loc != null && loc[prop]) {
+ this.catchUp(loc[prop].line);
+ }
+ return;
+ }
+ const pos = loc == null ? void 0 : loc[prop];
+ if (pos != null) this._catchUpTo(pos);
+ }
+ _catchUpTo({
+ line,
+ column,
+ index
+ }) {
+ const count = line - this._buf.getCurrentLine();
+ if (count > 0 && this._noLineTerminator) {
+ return;
+ }
+ for (let i = 0; i < count; i++) {
+ this._newline();
+ }
+ const spacesCount = count > 0 ? column : column - this._buf.getCurrentColumn();
+ if (spacesCount > 0) {
+ const spaces = this._originalCode ? this._originalCode.slice(index - spacesCount, index).replace(/[^\t\x0B\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/gu, " ") : " ".repeat(spacesCount);
+ this._append(spaces, false);
+ }
+ }
+ _getIndent() {
+ return this._indentRepeat * this._indent;
+ }
+ printTerminatorless(node) {
+ this._noLineTerminator = true;
+ this.print(node);
+ }
+ print(node, noLineTerminatorAfter, trailingCommentsLineOffset) {
+ var _node$extra, _node$leadingComments, _node$leadingComments2;
+ if (!node) return;
+ this._endsWithInnerRaw = false;
+ const nodeType = node.type;
+ const format = this.format;
+ const oldConcise = format.concise;
+ if (node._compact) {
+ format.concise = true;
+ }
+ const printMethod = this[nodeType];
+ if (printMethod === undefined) {
+ throw new ReferenceError(`unknown node of type ${JSON.stringify(nodeType)} with constructor ${JSON.stringify(node.constructor.name)}`);
+ }
+ const parent = this._currentNode;
+ this._currentNode = node;
+ if (this.tokenMap) {
+ this._printSemicolonBeforeNextToken = this._printSemicolonBeforeNextNode;
+ }
+ const oldInAux = this._insideAux;
+ this._insideAux = node.loc == null;
+ this._maybeAddAuxComment(this._insideAux && !oldInAux);
+ const parenthesized = (_node$extra = node.extra) == null ? void 0 : _node$extra.parenthesized;
+ let shouldPrintParens = parenthesized && format.preserveFormat || parenthesized && format.retainFunctionParens && nodeType === "FunctionExpression" || needsParens(node, parent, this.tokenContext, format.preserveFormat ? this._boundGetRawIdentifier : undefined);
+ if (!shouldPrintParens && parenthesized && (_node$leadingComments = node.leadingComments) != null && _node$leadingComments.length && node.leadingComments[0].type === "CommentBlock") {
+ const parentType = parent == null ? void 0 : parent.type;
+ switch (parentType) {
+ case "ExpressionStatement":
+ case "VariableDeclarator":
+ case "AssignmentExpression":
+ case "ReturnStatement":
+ break;
+ case "CallExpression":
+ case "OptionalCallExpression":
+ case "NewExpression":
+ if (parent.callee !== node) break;
+ default:
+ shouldPrintParens = true;
+ }
+ }
+ let indentParenthesized = false;
+ if (!shouldPrintParens && this._noLineTerminator && ((_node$leadingComments2 = node.leadingComments) != null && _node$leadingComments2.some(commentIsNewline) || this.format.retainLines && node.loc && node.loc.start.line > this._buf.getCurrentLine())) {
+ shouldPrintParens = true;
+ indentParenthesized = true;
+ }
+ let oldNoLineTerminatorAfterNode;
+ let oldTokenContext;
+ if (!shouldPrintParens) {
+ noLineTerminatorAfter || (noLineTerminatorAfter = parent && this._noLineTerminatorAfterNode === parent && n.isLastChild(parent, node));
+ if (noLineTerminatorAfter) {
+ var _node$trailingComment;
+ if ((_node$trailingComment = node.trailingComments) != null && _node$trailingComment.some(commentIsNewline)) {
+ if (isExpression(node)) shouldPrintParens = true;
+ } else {
+ oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode;
+ this._noLineTerminatorAfterNode = node;
+ }
+ }
+ }
+ if (shouldPrintParens) {
+ this.tokenChar(40);
+ if (indentParenthesized) this.indent();
+ this._endsWithInnerRaw = false;
+ if (this.tokenContext & _index.TokenContext.forInOrInitHeadAccumulate) {
+ oldTokenContext = this.tokenContext;
+ this.tokenContext = _index.TokenContext.normal;
+ }
+ oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode;
+ this._noLineTerminatorAfterNode = null;
+ }
+ this._lastCommentLine = 0;
+ this._printLeadingComments(node, parent);
+ const loc = nodeType === "Program" || nodeType === "File" ? null : node.loc;
+ this.exactSource(loc, printMethod.bind(this, node, parent));
+ if (shouldPrintParens) {
+ this._printTrailingComments(node, parent);
+ if (indentParenthesized) {
+ this.dedent();
+ this.newline();
+ }
+ this.tokenChar(41);
+ this._noLineTerminator = noLineTerminatorAfter;
+ if (oldTokenContext) this.tokenContext = oldTokenContext;
+ } else if (noLineTerminatorAfter && !this._noLineTerminator) {
+ this._noLineTerminator = true;
+ this._printTrailingComments(node, parent);
+ } else {
+ this._printTrailingComments(node, parent, trailingCommentsLineOffset);
+ }
+ this._currentNode = parent;
+ format.concise = oldConcise;
+ this._insideAux = oldInAux;
+ if (oldNoLineTerminatorAfterNode !== undefined) {
+ this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;
+ }
+ this._endsWithInnerRaw = false;
+ }
+ _maybeAddAuxComment(enteredPositionlessNode) {
+ if (enteredPositionlessNode) this._printAuxBeforeComment();
+ if (!this._insideAux) this._printAuxAfterComment();
+ }
+ _printAuxBeforeComment() {
+ if (this._printAuxAfterOnNextUserNode) return;
+ this._printAuxAfterOnNextUserNode = true;
+ const comment = this.format.auxiliaryCommentBefore;
+ if (comment) {
+ this._printComment({
+ type: "CommentBlock",
+ value: comment
+ }, 0);
+ }
+ }
+ _printAuxAfterComment() {
+ if (!this._printAuxAfterOnNextUserNode) return;
+ this._printAuxAfterOnNextUserNode = false;
+ const comment = this.format.auxiliaryCommentAfter;
+ if (comment) {
+ this._printComment({
+ type: "CommentBlock",
+ value: comment
+ }, 0);
+ }
+ }
+ getPossibleRaw(node) {
+ const extra = node.extra;
+ if ((extra == null ? void 0 : extra.raw) != null && extra.rawValue != null && node.value === extra.rawValue) {
+ return extra.raw;
+ }
+ }
+ printJoin(nodes, statement, indent, separator, printTrailingSeparator, addNewlines, iterator, trailingCommentsLineOffset) {
+ if (!(nodes != null && nodes.length)) return;
+ if (indent == null && this.format.retainLines) {
+ var _nodes$0$loc;
+ const startLine = (_nodes$0$loc = nodes[0].loc) == null ? void 0 : _nodes$0$loc.start.line;
+ if (startLine != null && startLine !== this._buf.getCurrentLine()) {
+ indent = true;
+ }
+ }
+ if (indent) this.indent();
+ const newlineOpts = {
+ addNewlines: addNewlines,
+ nextNodeStartLine: 0
+ };
+ const boundSeparator = separator == null ? void 0 : separator.bind(this);
+ const len = nodes.length;
+ for (let i = 0; i < len; i++) {
+ const node = nodes[i];
+ if (!node) continue;
+ if (statement) this._printNewline(i === 0, newlineOpts);
+ this.print(node, undefined, trailingCommentsLineOffset || 0);
+ iterator == null || iterator(node, i);
+ if (boundSeparator != null) {
+ if (i < len - 1) boundSeparator(i, false);else if (printTrailingSeparator) boundSeparator(i, true);
+ }
+ if (statement) {
+ var _node$trailingComment2;
+ if (!((_node$trailingComment2 = node.trailingComments) != null && _node$trailingComment2.length)) {
+ this._lastCommentLine = 0;
+ }
+ if (i + 1 === len) {
+ this.newline(1);
+ } else {
+ var _nextNode$loc;
+ const nextNode = nodes[i + 1];
+ newlineOpts.nextNodeStartLine = ((_nextNode$loc = nextNode.loc) == null ? void 0 : _nextNode$loc.start.line) || 0;
+ this._printNewline(true, newlineOpts);
+ }
+ }
+ }
+ if (indent) this.dedent();
+ }
+ printAndIndentOnComments(node) {
+ const indent = node.leadingComments && node.leadingComments.length > 0;
+ if (indent) this.indent();
+ this.print(node);
+ if (indent) this.dedent();
+ }
+ printBlock(parent) {
+ const node = parent.body;
+ if (node.type !== "EmptyStatement") {
+ this.space();
+ }
+ this.print(node);
+ }
+ _printTrailingComments(node, parent, lineOffset) {
+ const {
+ innerComments,
+ trailingComments
+ } = node;
+ if (innerComments != null && innerComments.length) {
+ this._printComments(2, innerComments, node, parent, lineOffset);
+ }
+ if (trailingComments != null && trailingComments.length) {
+ this._printComments(2, trailingComments, node, parent, lineOffset);
+ }
+ }
+ _printLeadingComments(node, parent) {
+ const comments = node.leadingComments;
+ if (!(comments != null && comments.length)) return;
+ this._printComments(0, comments, node, parent);
+ }
+ _maybePrintInnerComments(nextTokenStr, nextTokenOccurrenceCount) {
+ if (this._endsWithInnerRaw) {
+ var _this$tokenMap;
+ this.printInnerComments((_this$tokenMap = this.tokenMap) == null ? void 0 : _this$tokenMap.findMatching(this._currentNode, nextTokenStr, nextTokenOccurrenceCount));
+ }
+ this._endsWithInnerRaw = true;
+ this._indentInnerComments = true;
+ }
+ printInnerComments(nextToken) {
+ const node = this._currentNode;
+ const comments = node.innerComments;
+ if (!(comments != null && comments.length)) return;
+ const hasSpace = this.endsWith(32);
+ const indent = this._indentInnerComments;
+ const printedCommentsCount = this._printedComments.size;
+ if (indent) this.indent();
+ this._printComments(1, comments, node, undefined, undefined, nextToken);
+ if (hasSpace && printedCommentsCount !== this._printedComments.size) {
+ this.space();
+ }
+ if (indent) this.dedent();
+ }
+ noIndentInnerCommentsHere() {
+ this._indentInnerComments = false;
+ }
+ printSequence(nodes, indent, trailingCommentsLineOffset, addNewlines) {
+ this.printJoin(nodes, true, indent != null ? indent : false, undefined, undefined, addNewlines, undefined, trailingCommentsLineOffset);
+ }
+ printList(items, printTrailingSeparator, statement, indent, separator, iterator) {
+ this.printJoin(items, statement, indent, separator != null ? separator : commaSeparator, printTrailingSeparator, undefined, iterator);
+ }
+ shouldPrintTrailingComma(listEnd) {
+ if (!this.tokenMap) return null;
+ const listEndIndex = this.tokenMap.findLastIndex(this._currentNode, token => this.tokenMap.matchesOriginal(token, listEnd));
+ if (listEndIndex <= 0) return null;
+ return this.tokenMap.matchesOriginal(this._tokens[listEndIndex - 1], ",");
+ }
+ _printNewline(newLine, opts) {
+ const format = this.format;
+ if (format.retainLines || format.compact) return;
+ if (format.concise) {
+ this.space();
+ return;
+ }
+ if (!newLine) {
+ return;
+ }
+ const startLine = opts.nextNodeStartLine;
+ const lastCommentLine = this._lastCommentLine;
+ if (startLine > 0 && lastCommentLine > 0) {
+ const offset = startLine - lastCommentLine;
+ if (offset >= 0) {
+ this.newline(offset || 1);
+ return;
+ }
+ }
+ if (this._buf.hasContent()) {
+ this.newline(1);
+ }
+ }
+ _shouldPrintComment(comment, nextToken) {
+ if (comment.ignore) return 0;
+ if (this._printedComments.has(comment)) return 0;
+ if (this._noLineTerminator && HAS_NEWLINE_OR_BlOCK_COMMENT_END.test(comment.value)) {
+ return 2;
+ }
+ if (nextToken && this.tokenMap) {
+ const commentTok = this.tokenMap.find(this._currentNode, token => token.value === comment.value);
+ if (commentTok && commentTok.start > nextToken.start) {
+ return 2;
+ }
+ }
+ this._printedComments.add(comment);
+ if (!this.format.shouldPrintComment(comment.value)) {
+ return 0;
+ }
+ return 1;
+ }
+ _printComment(comment, skipNewLines) {
+ const noLineTerminator = this._noLineTerminator;
+ const isBlockComment = comment.type === "CommentBlock";
+ const printNewLines = isBlockComment && skipNewLines !== 1 && !this._noLineTerminator;
+ if (printNewLines && this._buf.hasContent() && skipNewLines !== 2) {
+ this.newline(1);
+ }
+ const lastCharCode = this.getLastChar();
+ if (lastCharCode !== 91 && lastCharCode !== 123 && lastCharCode !== 40) {
+ this.space();
+ }
+ let val;
+ if (isBlockComment) {
+ val = `/*${comment.value}*/`;
+ if (this.format.indent.adjustMultilineComment) {
+ var _comment$loc;
+ const offset = (_comment$loc = comment.loc) == null ? void 0 : _comment$loc.start.column;
+ if (offset) {
+ const newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g");
+ val = val.replace(newlineRegex, "\n");
+ }
+ if (this.format.concise) {
+ val = val.replace(/\n(?!$)/g, `\n`);
+ } else {
+ let indentSize = this.format.retainLines ? 0 : this._buf.getCurrentColumn();
+ if (this._shouldIndent(47) || this.format.retainLines) {
+ indentSize += this._getIndent();
+ }
+ val = val.replace(/\n(?!$)/g, `\n${" ".repeat(indentSize)}`);
+ }
+ }
+ } else if (!noLineTerminator) {
+ val = `//${comment.value}`;
+ } else {
+ val = `/*${comment.value}*/`;
+ }
+ if (this._endsWithDiv) this._space();
+ if (this.tokenMap) {
+ const {
+ _printSemicolonBeforeNextToken,
+ _printSemicolonBeforeNextNode
+ } = this;
+ this._printSemicolonBeforeNextToken = -1;
+ this._printSemicolonBeforeNextNode = -1;
+ this.source("start", comment.loc);
+ this._append(val, isBlockComment);
+ this._printSemicolonBeforeNextNode = _printSemicolonBeforeNextNode;
+ this._printSemicolonBeforeNextToken = _printSemicolonBeforeNextToken;
+ } else {
+ this.source("start", comment.loc);
+ this._append(val, isBlockComment);
+ }
+ if (!isBlockComment && !noLineTerminator) {
+ this.newline(1, true);
+ }
+ if (printNewLines && skipNewLines !== 3) {
+ this.newline(1);
+ }
+ }
+ _printComments(type, comments, node, parent, lineOffset = 0, nextToken) {
+ const nodeLoc = node.loc;
+ const len = comments.length;
+ let hasLoc = !!nodeLoc;
+ const nodeStartLine = hasLoc ? nodeLoc.start.line : 0;
+ const nodeEndLine = hasLoc ? nodeLoc.end.line : 0;
+ let lastLine = 0;
+ let leadingCommentNewline = 0;
+ const maybeNewline = this._noLineTerminator ? function () {} : this.newline.bind(this);
+ for (let i = 0; i < len; i++) {
+ const comment = comments[i];
+ const shouldPrint = this._shouldPrintComment(comment, nextToken);
+ if (shouldPrint === 2) {
+ hasLoc = false;
+ break;
+ }
+ if (hasLoc && comment.loc && shouldPrint === 1) {
+ const commentStartLine = comment.loc.start.line;
+ const commentEndLine = comment.loc.end.line;
+ if (type === 0) {
+ let offset = 0;
+ if (i === 0) {
+ if (this._buf.hasContent() && (comment.type === "CommentLine" || commentStartLine !== commentEndLine)) {
+ offset = leadingCommentNewline = 1;
+ }
+ } else {
+ offset = commentStartLine - lastLine;
+ }
+ lastLine = commentEndLine;
+ maybeNewline(offset);
+ this._printComment(comment, 1);
+ if (i + 1 === len) {
+ maybeNewline(Math.max(nodeStartLine - lastLine, leadingCommentNewline));
+ lastLine = nodeStartLine;
+ }
+ } else if (type === 1) {
+ const offset = commentStartLine - (i === 0 ? nodeStartLine : lastLine);
+ lastLine = commentEndLine;
+ maybeNewline(offset);
+ this._printComment(comment, 1);
+ if (i + 1 === len) {
+ maybeNewline(Math.min(1, nodeEndLine - lastLine));
+ lastLine = nodeEndLine;
+ }
+ } else {
+ const offset = commentStartLine - (i === 0 ? nodeEndLine - lineOffset : lastLine);
+ lastLine = commentEndLine;
+ maybeNewline(offset);
+ this._printComment(comment, 1);
+ }
+ } else {
+ hasLoc = false;
+ if (shouldPrint !== 1) {
+ continue;
+ }
+ if (len === 1) {
+ const singleLine = comment.loc ? comment.loc.start.line === comment.loc.end.line : !HAS_NEWLINE.test(comment.value);
+ const shouldSkipNewline = singleLine && !isStatement(node) && !isClassBody(parent) && !isTSInterfaceBody(parent) && !isTSEnumMember(node);
+ if (type === 0) {
+ this._printComment(comment, shouldSkipNewline && node.type !== "ObjectExpression" || singleLine && isFunction(parent, {
+ body: node
+ }) ? 1 : 0);
+ } else if (shouldSkipNewline && type === 2) {
+ this._printComment(comment, 1);
+ } else {
+ this._printComment(comment, 0);
+ }
+ } else if (type === 1 && !(node.type === "ObjectExpression" && node.properties.length > 1) && node.type !== "ClassBody" && node.type !== "TSInterfaceBody") {
+ this._printComment(comment, i === 0 ? 2 : i === len - 1 ? 3 : 0);
+ } else {
+ this._printComment(comment, 0);
+ }
+ }
+ }
+ if (type === 2 && hasLoc && lastLine) {
+ this._lastCommentLine = lastLine;
+ }
+ }
+}
+Object.assign(Printer.prototype, generatorFunctions);
+{
+ (0, _deprecated.addDeprecatedGenerators)(Printer);
+}
+var _default = exports.default = Printer;
+function commaSeparator(occurrenceCount, last) {
+ this.token(",", false, occurrenceCount);
+ if (!last) this.space();
+}
+
+//# sourceMappingURL=printer.js.map
diff --git a/node_modules/@babel/generator/lib/printer.js.map b/node_modules/@babel/generator/lib/printer.js.map
new file mode 100644
index 00000000..de4027ee
--- /dev/null
+++ b/node_modules/@babel/generator/lib/printer.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_buffer","require","_index","n","_t","_tokenMap","generatorFunctions","_deprecated","isExpression","isFunction","isStatement","isClassBody","isTSInterfaceBody","isTSEnumMember","SCIENTIFIC_NOTATION","ZERO_DECIMAL_INTEGER","HAS_NEWLINE","HAS_NEWLINE_OR_BlOCK_COMMENT_END","commentIsNewline","c","type","test","value","needsParens","Printer","constructor","format","map","tokens","originalCode","tokenContext","TokenContext","normal","_tokens","_originalCode","_currentNode","_indent","_indentRepeat","_insideAux","_noLineTerminator","_noLineTerminatorAfterNode","_printAuxAfterOnNextUserNode","_printedComments","Set","_endsWithInteger","_endsWithWord","_endsWithDiv","_lastCommentLine","_endsWithInnerRaw","_indentInnerComments","tokenMap","_boundGetRawIdentifier","_getRawIdentifier","bind","_printSemicolonBeforeNextNode","_printSemicolonBeforeNextToken","indent","style","length","_inputMap","_buf","Buffer","enterForStatementInit","forInitHead","forInOrInitHeadAccumulate","enterForXStatementInit","isForOf","forOfHead","forInHead","enterDelimited","oldTokenContext","oldNoLineTerminatorAfterNode","generate","ast","preserveFormat","TokenMap","print","_maybeAddAuxComment","get","compact","concise","dedent","semicolon","force","_appendChar","node","start","end","endMatches","getCurrentLine","indexes","getIndexes","_catchUpTo","loc","_queue","rightBrace","minified","removeLastSemicolon","sourceWithOffset","token","rightParens","space","_space","hasContent","lastCp","getLastChar","word","str","noLineTerminatorAfter","forInOrInitHeadAccumulatePassThroughMask","_maybePrintInnerComments","_catchUpToCurrentToken","charCodeAt","_append","number","isNonDecimalLiteral","secondChar","Number","isInteger","maybeNewline","occurrenceCount","lastChar","strFirst","tokenChar","char","String","fromCharCode","newline","i","retainLines","getNewlineCount","j","_newline","endsWith","endsWithCharAndNewline","removeTrailingNewline","exactSource","cb","_catchUp","source","prop","columnOffset","sourceIdentifierName","identifierName","pos","_canMarkIdName","sourcePosition","_sourcePosition","identifierNamePos","findMatching","appendChar","_maybeIndent","append","queue","firstChar","queueIndentation","_getIndent","_shouldIndent","catchUp","line","count","column","index","spacesCount","getCurrentColumn","spaces","slice","replace","repeat","printTerminatorless","trailingCommentsLineOffset","_node$extra","_node$leadingComments","_node$leadingComments2","nodeType","oldConcise","_compact","printMethod","undefined","ReferenceError","JSON","stringify","name","parent","oldInAux","parenthesized","extra","shouldPrintParens","retainFunctionParens","leadingComments","parentType","callee","indentParenthesized","some","isLastChild","_node$trailingComment","trailingComments","_printLeadingComments","_printTrailingComments","enteredPositionlessNode","_printAuxBeforeComment","_printAuxAfterComment","comment","auxiliaryCommentBefore","_printComment","auxiliaryCommentAfter","getPossibleRaw","raw","rawValue","printJoin","nodes","statement","separator","printTrailingSeparator","addNewlines","iterator","_nodes$0$loc","startLine","newlineOpts","nextNodeStartLine","boundSeparator","len","_printNewline","_node$trailingComment2","_nextNode$loc","nextNode","printAndIndentOnComments","printBlock","body","lineOffset","innerComments","_printComments","comments","nextTokenStr","nextTokenOccurrenceCount","_this$tokenMap","printInnerComments","nextToken","hasSpace","printedCommentsCount","size","noIndentInnerCommentsHere","printSequence","printList","items","commaSeparator","shouldPrintTrailingComma","listEnd","listEndIndex","findLastIndex","matchesOriginal","newLine","opts","lastCommentLine","offset","_shouldPrintComment","ignore","has","commentTok","find","add","shouldPrintComment","skipNewLines","noLineTerminator","isBlockComment","printNewLines","lastCharCode","val","adjustMultilineComment","_comment$loc","newlineRegex","RegExp","indentSize","nodeLoc","hasLoc","nodeStartLine","nodeEndLine","lastLine","leadingCommentNewline","shouldPrint","commentStartLine","commentEndLine","Math","max","min","singleLine","shouldSkipNewline","properties","Object","assign","prototype","addDeprecatedGenerators","_default","exports","default","last"],"sources":["../src/printer.ts"],"sourcesContent":["import Buffer, { type Pos } from \"./buffer.ts\";\nimport type { Loc } from \"./buffer.ts\";\nimport * as n from \"./node/index.ts\";\nimport type * as t from \"@babel/types\";\nimport {\n isExpression,\n isFunction,\n isStatement,\n isClassBody,\n isTSInterfaceBody,\n isTSEnumMember,\n} from \"@babel/types\";\nimport type { Opts as jsescOptions } from \"jsesc\";\n\nimport { TokenMap } from \"./token-map.ts\";\nimport type { GeneratorOptions } from \"./index.ts\";\nimport * as generatorFunctions from \"./generators/index.ts\";\nimport {\n addDeprecatedGenerators,\n type DeprecatedBabel7ASTTypes,\n} from \"./generators/deprecated.ts\";\nimport type SourceMap from \"./source-map.ts\";\nimport type { TraceMap } from \"@jridgewell/trace-mapping\";\nimport type { Token } from \"@babel/parser\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\nconst SCIENTIFIC_NOTATION = /e/i;\nconst ZERO_DECIMAL_INTEGER = /\\.0+$/;\nconst HAS_NEWLINE = /[\\n\\r\\u2028\\u2029]/;\nconst HAS_NEWLINE_OR_BlOCK_COMMENT_END = /[\\n\\r\\u2028\\u2029]|\\*\\//;\n\nfunction commentIsNewline(c: t.Comment) {\n return c.type === \"CommentLine\" || HAS_NEWLINE.test(c.value);\n}\n\nconst { needsParens } = n;\n\nimport { TokenContext } from \"./node/index.ts\";\n\nconst enum COMMENT_TYPE {\n LEADING,\n INNER,\n TRAILING,\n}\n\nconst enum COMMENT_SKIP_NEWLINE {\n DEFAULT,\n ALL,\n LEADING,\n TRAILING,\n}\n\nconst enum PRINT_COMMENT_HINT {\n SKIP,\n ALLOW,\n DEFER,\n}\n\nexport type Format = {\n shouldPrintComment: (comment: string) => boolean;\n preserveFormat: boolean;\n retainLines: boolean;\n retainFunctionParens: boolean;\n comments: boolean;\n auxiliaryCommentBefore: string;\n auxiliaryCommentAfter: string;\n compact: boolean | \"auto\";\n minified: boolean;\n concise: boolean;\n indent: {\n adjustMultilineComment: boolean;\n style: string;\n };\n /**\n * @deprecated Removed in Babel 8, syntax type is always 'hash'\n */\n recordAndTupleSyntaxType?: GeneratorOptions[\"recordAndTupleSyntaxType\"];\n jsescOption: jsescOptions;\n /**\n * @deprecated Removed in Babel 8, use `jsescOption` instead\n */\n jsonCompatibleStrings?: boolean;\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: GeneratorOptions[\"topicToken\"];\n /**\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n /**\n * The import attributes syntax style:\n * - \"with\" : `import { a } from \"b\" with { type: \"json\" };`\n * - \"assert\" : `import { a } from \"b\" assert { type: \"json\" };`\n * - \"with-legacy\" : `import { a } from \"b\" with type: \"json\";`\n */\n importAttributesKeyword?: \"with\" | \"assert\" | \"with-legacy\";\n};\n\ninterface AddNewlinesOptions {\n addNewlines(leading: boolean, node: t.Node): number;\n nextNodeStartLine: number;\n}\n\ninterface PrintSequenceOptions extends Partial {\n statement?: boolean;\n indent?: boolean;\n trailingCommentsLineOffset?: number;\n}\n\ninterface PrintListOptions {\n separator?: (this: Printer, occurrenceCount: number, last: boolean) => void;\n iterator?: (node: t.Node, index: number) => void;\n statement?: boolean;\n indent?: boolean;\n printTrailingSeparator?: boolean;\n}\n\nexport type PrintJoinOptions = PrintListOptions & PrintSequenceOptions;\nclass Printer {\n constructor(\n format: Format,\n map: SourceMap,\n tokens?: Token[],\n originalCode?: string,\n ) {\n this.format = format;\n\n this._tokens = tokens;\n this._originalCode = originalCode;\n\n this._indentRepeat = format.indent.style.length;\n\n this._inputMap = map?._inputMap;\n\n this._buf = new Buffer(map, format.indent.style[0]);\n }\n declare _inputMap: TraceMap;\n\n declare format: Format;\n\n enterForStatementInit() {\n this.tokenContext |=\n TokenContext.forInitHead | TokenContext.forInOrInitHeadAccumulate;\n return () => (this.tokenContext = TokenContext.normal);\n }\n\n enterForXStatementInit(isForOf: boolean) {\n if (isForOf) {\n this.tokenContext |= TokenContext.forOfHead;\n return null;\n } else {\n this.tokenContext |=\n TokenContext.forInHead | TokenContext.forInOrInitHeadAccumulate;\n return () => (this.tokenContext = TokenContext.normal);\n }\n }\n\n enterDelimited() {\n const oldTokenContext = this.tokenContext;\n const oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode;\n if (\n !(oldTokenContext & TokenContext.forInOrInitHeadAccumulate) &&\n oldNoLineTerminatorAfterNode === null\n ) {\n return () => {};\n }\n this._noLineTerminatorAfterNode = null;\n this.tokenContext = TokenContext.normal;\n return () => {\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n this.tokenContext = oldTokenContext;\n };\n }\n\n tokenContext: number = TokenContext.normal;\n\n _tokens: Token[] = null;\n _originalCode: string | null = null;\n\n declare _buf: Buffer;\n _currentNode: t.Node = null;\n _indent: number = 0;\n _indentRepeat: number = 0;\n _insideAux: boolean = false;\n _noLineTerminator: boolean = false;\n _noLineTerminatorAfterNode: t.Node | null = null;\n _printAuxAfterOnNextUserNode: boolean = false;\n _printedComments = new Set();\n _endsWithInteger = false;\n _endsWithWord = false;\n _endsWithDiv = false;\n _lastCommentLine = 0;\n _endsWithInnerRaw: boolean = false;\n _indentInnerComments: boolean = true;\n tokenMap: TokenMap = null;\n\n _boundGetRawIdentifier = this._getRawIdentifier.bind(this);\n\n generate(ast: t.Node) {\n if (this.format.preserveFormat) {\n this.tokenMap = new TokenMap(ast, this._tokens, this._originalCode);\n }\n this.print(ast);\n this._maybeAddAuxComment();\n\n return this._buf.get();\n }\n\n /**\n * Increment indent size.\n */\n\n indent(): void {\n const { format } = this;\n if (format.preserveFormat || format.compact || format.concise) {\n return;\n }\n\n this._indent++;\n }\n\n /**\n * Decrement indent size.\n */\n\n dedent(): void {\n const { format } = this;\n if (format.preserveFormat || format.compact || format.concise) {\n return;\n }\n\n this._indent--;\n }\n\n /**\n * If the next token is on the same line, we must first print a semicolon.\n * This option is only used in `preserveFormat` node, for semicolons that\n * might have omitted due to them being absent in the original code (thanks\n * to ASI).\n *\n * We need both *NextToken and *NextNode because we only want to insert the\n * semicolon when the next token starts a new node, and not in cases like\n * foo} (where } is not starting a new node). So we first set *NextNode, and\n * then the print() method will move it to *NextToken.\n */\n _printSemicolonBeforeNextNode: number = -1;\n _printSemicolonBeforeNextToken: number = -1;\n\n /**\n * Add a semicolon to the buffer.\n */\n semicolon(force: boolean = false): void {\n this._maybeAddAuxComment();\n if (force) {\n this._appendChar(charCodes.semicolon);\n this._noLineTerminator = false;\n return;\n }\n if (this.tokenMap) {\n const node = this._currentNode;\n if (node.start != null && node.end != null) {\n if (!this.tokenMap.endMatches(node, \";\")) {\n // no semicolon\n this._printSemicolonBeforeNextNode = this._buf.getCurrentLine();\n return;\n }\n const indexes = this.tokenMap.getIndexes(this._currentNode);\n this._catchUpTo(this._tokens[indexes[indexes.length - 1]].loc.start);\n }\n }\n this._queue(charCodes.semicolon);\n this._noLineTerminator = false;\n }\n\n /**\n * Add a right brace to the buffer.\n */\n\n rightBrace(node: t.Node): void {\n if (this.format.minified) {\n this._buf.removeLastSemicolon();\n }\n this.sourceWithOffset(\"end\", node.loc, -1);\n this.token(\"}\");\n }\n\n rightParens(node: t.Node): void {\n this.sourceWithOffset(\"end\", node.loc, -1);\n this.token(\")\");\n }\n\n /**\n * Add a space to the buffer unless it is compact.\n */\n\n space(force: boolean = false): void {\n const { format } = this;\n if (format.compact || format.preserveFormat) return;\n\n if (force) {\n this._space();\n } else if (this._buf.hasContent()) {\n const lastCp = this.getLastChar();\n if (lastCp !== charCodes.space && lastCp !== charCodes.lineFeed) {\n this._space();\n }\n }\n }\n\n /**\n * Writes a token that can't be safely parsed without taking whitespace into account.\n */\n\n word(str: string, noLineTerminatorAfter: boolean = false): void {\n this.tokenContext &= TokenContext.forInOrInitHeadAccumulatePassThroughMask;\n\n this._maybePrintInnerComments(str);\n\n this._maybeAddAuxComment();\n\n if (this.tokenMap) this._catchUpToCurrentToken(str);\n\n // prevent concatenating words and creating // comment out of division and regex\n if (\n this._endsWithWord ||\n (this._endsWithDiv && str.charCodeAt(0) === charCodes.slash)\n ) {\n this._space();\n }\n this._append(str, false);\n\n this._endsWithWord = true;\n this._noLineTerminator = noLineTerminatorAfter;\n }\n\n /**\n * Writes a number token so that we can validate if it is an integer.\n */\n\n number(str: string, number?: number): void {\n // const NON_DECIMAL_LITERAL = /^0[box]/;\n function isNonDecimalLiteral(str: string) {\n if (str.length > 2 && str.charCodeAt(0) === charCodes.digit0) {\n const secondChar = str.charCodeAt(1);\n return (\n secondChar === charCodes.lowercaseB ||\n secondChar === charCodes.lowercaseO ||\n secondChar === charCodes.lowercaseX\n );\n }\n return false;\n }\n this.word(str);\n\n // Integer tokens need special handling because they cannot have '.'s inserted\n // immediately after them.\n this._endsWithInteger =\n Number.isInteger(number) &&\n !isNonDecimalLiteral(str) &&\n !SCIENTIFIC_NOTATION.test(str) &&\n !ZERO_DECIMAL_INTEGER.test(str) &&\n str.charCodeAt(str.length - 1) !== charCodes.dot;\n }\n\n /**\n * Writes a simple token.\n *\n * @param {string} str The string to append.\n * @param {boolean} [maybeNewline=false] Wether `str` might potentially\n * contain a line terminator or not.\n * @param {number} [occurrenceCount=0] The occurrence count of this token in\n * the current node. This is used when printing in `preserveFormat` mode,\n * to know which token we should map to (for example, to disambiguate the\n * commas in an array literal).\n */\n token(str: string, maybeNewline = false, occurrenceCount = 0): void {\n this.tokenContext &= TokenContext.forInOrInitHeadAccumulatePassThroughMask;\n\n this._maybePrintInnerComments(str, occurrenceCount);\n\n this._maybeAddAuxComment();\n\n if (this.tokenMap) this._catchUpToCurrentToken(str, occurrenceCount);\n\n const lastChar = this.getLastChar();\n const strFirst = str.charCodeAt(0);\n if (\n (lastChar === charCodes.exclamationMark &&\n // space is mandatory to avoid outputting \n // class Foo {} export { Foo as default }\n if (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n // polyfill when being run by an older Babel version\n path.splitExportDeclaration ??=\n // eslint-disable-next-line no-restricted-globals\n require(\"@babel/traverse\").NodePath.prototype.splitExportDeclaration;\n }\n path.splitExportDeclaration();\n } else {\n // @ts-expect-error Anonymous class declarations can be\n // transformed as if they were expressions\n decl.node.type = \"ClassExpression\";\n }\n }\n }\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js b/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js
new file mode 100644
index 00000000..2fd33fe1
--- /dev/null
+++ b/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js
@@ -0,0 +1,136 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.extractComputedKeys = extractComputedKeys;
+exports.injectInitialization = injectInitialization;
+exports.memoiseComputedKey = memoiseComputedKey;
+var _core = require("@babel/core");
+var _traverse = require("@babel/traverse");
+const findBareSupers = _traverse.visitors.environmentVisitor({
+ Super(path) {
+ const {
+ node,
+ parentPath
+ } = path;
+ if (parentPath.isCallExpression({
+ callee: node
+ })) {
+ this.push(parentPath);
+ }
+ }
+});
+const referenceVisitor = {
+ "TSTypeAnnotation|TypeAnnotation"(path) {
+ path.skip();
+ },
+ ReferencedIdentifier(path, {
+ scope
+ }) {
+ if (scope.hasOwnBinding(path.node.name)) {
+ scope.rename(path.node.name);
+ path.skip();
+ }
+ }
+};
+function handleClassTDZ(path, state) {
+ if (state.classBinding && state.classBinding === path.scope.getBinding(path.node.name)) {
+ const classNameTDZError = state.file.addHelper("classNameTDZError");
+ const throwNode = _core.types.callExpression(classNameTDZError, [_core.types.stringLiteral(path.node.name)]);
+ path.replaceWith(_core.types.sequenceExpression([throwNode, path.node]));
+ path.skip();
+ }
+}
+const classFieldDefinitionEvaluationTDZVisitor = {
+ ReferencedIdentifier: handleClassTDZ,
+ "TSTypeAnnotation|TypeAnnotation"(path) {
+ path.skip();
+ }
+};
+function injectInitialization(path, constructor, nodes, renamer, lastReturnsThis) {
+ if (!nodes.length) return;
+ const isDerived = !!path.node.superClass;
+ if (!constructor) {
+ const newConstructor = _core.types.classMethod("constructor", _core.types.identifier("constructor"), [], _core.types.blockStatement([]));
+ if (isDerived) {
+ newConstructor.params = [_core.types.restElement(_core.types.identifier("args"))];
+ newConstructor.body.body.push(_core.template.statement.ast`super(...args)`);
+ }
+ [constructor] = path.get("body").unshiftContainer("body", newConstructor);
+ }
+ if (renamer) {
+ renamer(referenceVisitor, {
+ scope: constructor.scope
+ });
+ }
+ if (isDerived) {
+ const bareSupers = [];
+ constructor.traverse(findBareSupers, bareSupers);
+ let isFirst = true;
+ for (const bareSuper of bareSupers) {
+ if (isFirst) {
+ isFirst = false;
+ } else {
+ nodes = nodes.map(n => _core.types.cloneNode(n));
+ }
+ if (!bareSuper.parentPath.isExpressionStatement()) {
+ const allNodes = [bareSuper.node, ...nodes.map(n => _core.types.toExpression(n))];
+ if (!lastReturnsThis) allNodes.push(_core.types.thisExpression());
+ bareSuper.replaceWith(_core.types.sequenceExpression(allNodes));
+ } else {
+ bareSuper.insertAfter(nodes);
+ }
+ }
+ } else {
+ constructor.get("body").unshiftContainer("body", nodes);
+ }
+}
+function memoiseComputedKey(keyNode, scope, hint) {
+ const isUidReference = _core.types.isIdentifier(keyNode) && scope.hasUid(keyNode.name);
+ if (isUidReference) {
+ return;
+ }
+ const isMemoiseAssignment = _core.types.isAssignmentExpression(keyNode, {
+ operator: "="
+ }) && _core.types.isIdentifier(keyNode.left) && scope.hasUid(keyNode.left.name);
+ if (isMemoiseAssignment) {
+ return _core.types.cloneNode(keyNode);
+ } else {
+ const ident = _core.types.identifier(hint);
+ scope.push({
+ id: ident,
+ kind: "let"
+ });
+ return _core.types.assignmentExpression("=", _core.types.cloneNode(ident), keyNode);
+ }
+}
+function extractComputedKeys(path, computedPaths, file) {
+ const {
+ scope
+ } = path;
+ const declarations = [];
+ const state = {
+ classBinding: path.node.id && scope.getBinding(path.node.id.name),
+ file
+ };
+ for (const computedPath of computedPaths) {
+ const computedKey = computedPath.get("key");
+ if (computedKey.isReferencedIdentifier()) {
+ handleClassTDZ(computedKey, state);
+ } else {
+ computedKey.traverse(classFieldDefinitionEvaluationTDZVisitor, state);
+ }
+ const computedNode = computedPath.node;
+ if (!computedKey.isConstantExpression()) {
+ const assignment = memoiseComputedKey(computedKey.node, scope, scope.generateUidBasedOnNode(computedKey.node));
+ if (assignment) {
+ declarations.push(_core.types.expressionStatement(assignment));
+ computedNode.key = _core.types.cloneNode(assignment.left);
+ }
+ }
+ }
+ return declarations;
+}
+
+//# sourceMappingURL=misc.js.map
diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js.map b/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js.map
new file mode 100644
index 00000000..341ce2b4
--- /dev/null
+++ b/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_core","require","_traverse","findBareSupers","visitors","environmentVisitor","Super","path","node","parentPath","isCallExpression","callee","push","referenceVisitor","TSTypeAnnotation|TypeAnnotation","skip","ReferencedIdentifier","scope","hasOwnBinding","name","rename","handleClassTDZ","state","classBinding","getBinding","classNameTDZError","file","addHelper","throwNode","t","callExpression","stringLiteral","replaceWith","sequenceExpression","classFieldDefinitionEvaluationTDZVisitor","injectInitialization","constructor","nodes","renamer","lastReturnsThis","length","isDerived","superClass","newConstructor","classMethod","identifier","blockStatement","params","restElement","body","template","statement","ast","get","unshiftContainer","bareSupers","traverse","isFirst","bareSuper","map","n","cloneNode","isExpressionStatement","allNodes","toExpression","thisExpression","insertAfter","memoiseComputedKey","keyNode","hint","isUidReference","isIdentifier","hasUid","isMemoiseAssignment","isAssignmentExpression","operator","left","ident","id","kind","assignmentExpression","extractComputedKeys","computedPaths","declarations","computedPath","computedKey","isReferencedIdentifier","computedNode","isConstantExpression","assignment","generateUidBasedOnNode","expressionStatement","key"],"sources":["../src/misc.ts"],"sourcesContent":["import { template, types as t } from \"@babel/core\";\nimport type { File, NodePath, Scope, Visitor } from \"@babel/core\";\nimport { visitors } from \"@babel/traverse\";\n\nconst findBareSupers = visitors.environmentVisitor<\n NodePath[]\n>({\n Super(path) {\n const { node, parentPath } = path;\n if (parentPath.isCallExpression({ callee: node })) {\n this.push(parentPath);\n }\n },\n});\n\nconst referenceVisitor: Visitor<{ scope: Scope }> = {\n \"TSTypeAnnotation|TypeAnnotation\"(\n path: NodePath,\n ) {\n path.skip();\n },\n\n ReferencedIdentifier(path: NodePath, { scope }) {\n if (scope.hasOwnBinding(path.node.name)) {\n scope.rename(path.node.name);\n path.skip();\n }\n },\n};\n\ntype HandleClassTDZState = {\n classBinding: Scope.Binding;\n file: File;\n};\n\nfunction handleClassTDZ(\n path: NodePath,\n state: HandleClassTDZState,\n) {\n if (\n state.classBinding &&\n state.classBinding === path.scope.getBinding(path.node.name)\n ) {\n const classNameTDZError = state.file.addHelper(\"classNameTDZError\");\n const throwNode = t.callExpression(classNameTDZError, [\n t.stringLiteral(path.node.name),\n ]);\n\n path.replaceWith(t.sequenceExpression([throwNode, path.node]));\n path.skip();\n }\n}\n\nconst classFieldDefinitionEvaluationTDZVisitor: Visitor = {\n ReferencedIdentifier: handleClassTDZ,\n \"TSTypeAnnotation|TypeAnnotation\"(path) {\n path.skip();\n },\n};\n\ninterface RenamerState {\n scope: Scope;\n}\n\nexport function injectInitialization(\n path: NodePath,\n constructor: NodePath | undefined,\n nodes: t.ExpressionStatement[],\n renamer?: (visitor: Visitor, state: RenamerState) => void,\n lastReturnsThis?: boolean,\n) {\n if (!nodes.length) return;\n\n const isDerived = !!path.node.superClass;\n\n if (!constructor) {\n const newConstructor = t.classMethod(\n \"constructor\",\n t.identifier(\"constructor\"),\n [],\n t.blockStatement([]),\n );\n\n if (isDerived) {\n newConstructor.params = [t.restElement(t.identifier(\"args\"))];\n newConstructor.body.body.push(template.statement.ast`super(...args)`);\n }\n\n [constructor] = path\n .get(\"body\")\n .unshiftContainer(\"body\", newConstructor) as NodePath[];\n }\n\n if (renamer) {\n renamer(referenceVisitor, { scope: constructor.scope });\n }\n\n if (isDerived) {\n const bareSupers: NodePath[] = [];\n constructor.traverse(findBareSupers, bareSupers);\n let isFirst = true;\n for (const bareSuper of bareSupers) {\n if (isFirst) {\n isFirst = false;\n } else {\n nodes = nodes.map(n => t.cloneNode(n));\n }\n if (!bareSuper.parentPath.isExpressionStatement()) {\n const allNodes: t.Expression[] = [\n bareSuper.node,\n ...nodes.map(n => t.toExpression(n)),\n ];\n if (!lastReturnsThis) allNodes.push(t.thisExpression());\n bareSuper.replaceWith(t.sequenceExpression(allNodes));\n } else {\n bareSuper.insertAfter(nodes);\n }\n }\n } else {\n constructor.get(\"body\").unshiftContainer(\"body\", nodes);\n }\n}\n\ntype ComputedKeyAssignmentExpression = t.AssignmentExpression & {\n left: t.Identifier;\n};\n\n/**\n * Try to memoise a computed key.\n * It returns undefined when the computed key is an uid reference, otherwise\n * an assignment expression `memoiserId = computed key`\n * @export\n * @param {t.Expression} keyNode Computed key\n * @param {Scope} scope The scope where memoiser id should be registered\n * @param {string} hint The memoiser id hint\n * @returns {(ComputedKeyAssignmentExpression | undefined)}\n */\nexport function memoiseComputedKey(\n keyNode: t.Expression,\n scope: Scope,\n hint: string,\n): ComputedKeyAssignmentExpression | undefined {\n const isUidReference = t.isIdentifier(keyNode) && scope.hasUid(keyNode.name);\n if (isUidReference) {\n return;\n }\n const isMemoiseAssignment =\n t.isAssignmentExpression(keyNode, { operator: \"=\" }) &&\n t.isIdentifier(keyNode.left) &&\n scope.hasUid(keyNode.left.name);\n if (isMemoiseAssignment) {\n return t.cloneNode(keyNode as ComputedKeyAssignmentExpression);\n } else {\n const ident = t.identifier(hint);\n // Declaring in the same block scope\n // Ref: https://github.com/babel/babel/pull/10029/files#diff-fbbdd83e7a9c998721c1484529c2ce92\n scope.push({\n id: ident,\n kind: \"let\",\n });\n return t.assignmentExpression(\n \"=\",\n t.cloneNode(ident),\n keyNode,\n ) as ComputedKeyAssignmentExpression;\n }\n}\n\nexport function extractComputedKeys(\n path: NodePath,\n computedPaths: NodePath[],\n file: File,\n) {\n const { scope } = path;\n const declarations: t.ExpressionStatement[] = [];\n const state = {\n classBinding: path.node.id && scope.getBinding(path.node.id.name),\n file,\n };\n for (const computedPath of computedPaths) {\n const computedKey = computedPath.get(\"key\");\n if (computedKey.isReferencedIdentifier()) {\n handleClassTDZ(computedKey, state);\n } else {\n computedKey.traverse(classFieldDefinitionEvaluationTDZVisitor, state);\n }\n\n const computedNode = computedPath.node;\n // Make sure computed property names are only evaluated once (upon class definition)\n // and in the right order in combination with static properties\n if (!computedKey.isConstantExpression()) {\n const assignment = memoiseComputedKey(\n computedKey.node,\n scope,\n scope.generateUidBasedOnNode(computedKey.node),\n );\n if (assignment) {\n declarations.push(t.expressionStatement(assignment));\n computedNode.key = t.cloneNode(assignment.left);\n }\n }\n }\n\n return declarations;\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js b/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js
new file mode 100644
index 00000000..e68d5de8
--- /dev/null
+++ b/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js
@@ -0,0 +1,13 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.assertFieldTransformed = assertFieldTransformed;
+function assertFieldTransformed(path) {
+ if (path.node.declare || false) {
+ throw path.buildCodeFrameError(`TypeScript 'declare' fields must first be transformed by ` + `@babel/plugin-transform-typescript.\n` + `If you have already enabled that plugin (or '@babel/preset-typescript'), make sure ` + `that it runs before any plugin related to additional class features:\n` + ` - @babel/plugin-transform-class-properties\n` + ` - @babel/plugin-transform-private-methods\n` + ` - @babel/plugin-proposal-decorators`);
+ }
+}
+
+//# sourceMappingURL=typescript.js.map
diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js.map b/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js.map
new file mode 100644
index 00000000..497ebe07
--- /dev/null
+++ b/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["assertFieldTransformed","path","node","declare","buildCodeFrameError"],"sources":["../src/typescript.ts"],"sourcesContent":["import type { NodePath, types as t } from \"@babel/core\";\n\nexport function assertFieldTransformed(\n path: NodePath,\n) {\n if (\n path.node.declare ||\n (process.env.BABEL_8_BREAKING\n ? path.isClassProperty({ definite: true })\n : false)\n ) {\n throw path.buildCodeFrameError(\n `TypeScript 'declare' fields must first be transformed by ` +\n `@babel/plugin-transform-typescript.\\n` +\n `If you have already enabled that plugin (or '@babel/preset-typescript'), make sure ` +\n `that it runs before any plugin related to additional class features:\\n` +\n ` - @babel/plugin-transform-class-properties\\n` +\n ` - @babel/plugin-transform-private-methods\\n` +\n ` - @babel/plugin-proposal-decorators`,\n );\n }\n}\n"],"mappings":";;;;;;AAEO,SAASA,sBAAsBA,CACpCC,IAAoD,EACpD;EACA,IACEA,IAAI,CAACC,IAAI,CAACC,OAAO,IAGb,KAAM,EACV;IACA,MAAMF,IAAI,CAACG,mBAAmB,CAC5B,2DAA2D,GACzD,uCAAuC,GACvC,qFAAqF,GACrF,wEAAwE,GACxE,+CAA+C,GAC/C,8CAA8C,GAC9C,sCACJ,CAAC;EACH;AACF","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/helper-create-class-features-plugin/package.json b/node_modules/@babel/helper-create-class-features-plugin/package.json
new file mode 100644
index 00000000..3b3f2b61
--- /dev/null
+++ b/node_modules/@babel/helper-create-class-features-plugin/package.json
@@ -0,0 +1,43 @@
+{
+ "name": "@babel/helper-create-class-features-plugin",
+ "version": "7.27.1",
+ "author": "The Babel Team (https://babel.dev/team)",
+ "license": "MIT",
+ "description": "Compile class public and private fields, private methods and decorators to ES6",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel.git",
+ "directory": "packages/babel-helper-create-class-features-plugin"
+ },
+ "main": "./lib/index.js",
+ "publishConfig": {
+ "access": "public"
+ },
+ "keywords": [
+ "babel",
+ "babel-plugin"
+ ],
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-member-expression-to-functions": "^7.27.1",
+ "@babel/helper-optimise-call-expression": "^7.27.1",
+ "@babel/helper-replace-supers": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+ "@babel/traverse": "^7.27.1",
+ "semver": "^6.3.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.27.1",
+ "@babel/helper-plugin-test-runner": "^7.27.1",
+ "@babel/preset-env": "^7.27.1",
+ "@types/charcodes": "^0.2.0",
+ "charcodes": "^0.2.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "type": "commonjs"
+}
\ No newline at end of file
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/LICENSE b/node_modules/@babel/helper-create-regexp-features-plugin/LICENSE
new file mode 100644
index 00000000..f31575ec
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/LICENSE
@@ -0,0 +1,22 @@
+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.
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/README.md b/node_modules/@babel/helper-create-regexp-features-plugin/README.md
new file mode 100644
index 00000000..e75d162a
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/README.md
@@ -0,0 +1,19 @@
+# @babel/helper-create-regexp-features-plugin
+
+> Compile ESNext Regular Expressions to ES5
+
+See our website [@babel/helper-create-regexp-features-plugin](https://babeljs.io/docs/babel-helper-create-regexp-features-plugin) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save @babel/helper-create-regexp-features-plugin
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/helper-create-regexp-features-plugin
+```
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js b/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js
new file mode 100644
index 00000000..2769a1b2
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js
@@ -0,0 +1,30 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.FEATURES = void 0;
+exports.enableFeature = enableFeature;
+exports.featuresKey = void 0;
+exports.hasFeature = hasFeature;
+exports.runtimeKey = void 0;
+const FEATURES = exports.FEATURES = Object.freeze({
+ unicodeFlag: 1 << 0,
+ dotAllFlag: 1 << 1,
+ unicodePropertyEscape: 1 << 2,
+ namedCaptureGroups: 1 << 3,
+ unicodeSetsFlag_syntax: 1 << 4,
+ unicodeSetsFlag: 1 << 5,
+ duplicateNamedCaptureGroups: 1 << 6,
+ modifiers: 1 << 7
+});
+const featuresKey = exports.featuresKey = "@babel/plugin-regexp-features/featuresKey";
+const runtimeKey = exports.runtimeKey = "@babel/plugin-regexp-features/runtimeKey";
+function enableFeature(features, feature) {
+ return features | feature;
+}
+function hasFeature(features, feature) {
+ return !!(features & feature);
+}
+
+//# sourceMappingURL=features.js.map
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js.map b/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js.map
new file mode 100644
index 00000000..b0a1437c
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["FEATURES","exports","Object","freeze","unicodeFlag","dotAllFlag","unicodePropertyEscape","namedCaptureGroups","unicodeSetsFlag_syntax","unicodeSetsFlag","duplicateNamedCaptureGroups","modifiers","featuresKey","runtimeKey","enableFeature","features","feature","hasFeature"],"sources":["../src/features.ts"],"sourcesContent":["export const FEATURES = Object.freeze({\n unicodeFlag: 1 << 0,\n dotAllFlag: 1 << 1,\n unicodePropertyEscape: 1 << 2,\n namedCaptureGroups: 1 << 3,\n // Not used, for backward compatibility with syntax-unicode-sets-regex\n unicodeSetsFlag_syntax: 1 << 4,\n unicodeSetsFlag: 1 << 5,\n duplicateNamedCaptureGroups: 1 << 6,\n modifiers: 1 << 7,\n});\n\n// We can't use a symbol because this needs to always be the same, even if\n// this package isn't deduped by npm. e.g.\n// - node_modules/\n// - @babel/plugin-regexp-features\n// - @babel/plugin-transform-unicode-property-regex\n// - node_modules\n// - @babel-plugin-regexp-features\nexport const featuresKey = \"@babel/plugin-regexp-features/featuresKey\";\nexport const runtimeKey = \"@babel/plugin-regexp-features/runtimeKey\";\n\ntype FeatureType = (typeof FEATURES)[keyof typeof FEATURES];\n\nexport function enableFeature(features: number, feature: FeatureType): number {\n return features | feature;\n}\n\nexport function hasFeature(features: number, feature: FeatureType) {\n return !!(features & feature);\n}\n"],"mappings":";;;;;;;;;;AAAO,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAGE,MAAM,CAACC,MAAM,CAAC;EACpCC,WAAW,EAAE,CAAC,IAAI,CAAC;EACnBC,UAAU,EAAE,CAAC,IAAI,CAAC;EAClBC,qBAAqB,EAAE,CAAC,IAAI,CAAC;EAC7BC,kBAAkB,EAAE,CAAC,IAAI,CAAC;EAE1BC,sBAAsB,EAAE,CAAC,IAAI,CAAC;EAC9BC,eAAe,EAAE,CAAC,IAAI,CAAC;EACvBC,2BAA2B,EAAE,CAAC,IAAI,CAAC;EACnCC,SAAS,EAAE,CAAC,IAAI;AAClB,CAAC,CAAC;AASK,MAAMC,WAAW,GAAAX,OAAA,CAAAW,WAAA,GAAG,2CAA2C;AAC/D,MAAMC,UAAU,GAAAZ,OAAA,CAAAY,UAAA,GAAG,0CAA0C;AAI7D,SAASC,aAAaA,CAACC,QAAgB,EAAEC,OAAoB,EAAU;EAC5E,OAAOD,QAAQ,GAAGC,OAAO;AAC3B;AAEO,SAASC,UAAUA,CAACF,QAAgB,EAAEC,OAAoB,EAAE;EACjE,OAAO,CAAC,EAAED,QAAQ,GAAGC,OAAO,CAAC;AAC/B","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js b/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js
new file mode 100644
index 00000000..7fc8dadb
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js
@@ -0,0 +1,116 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.createRegExpFeaturePlugin = createRegExpFeaturePlugin;
+var _regexpuCore = require("regexpu-core");
+var _core = require("@babel/core");
+var _helperAnnotateAsPure = require("@babel/helper-annotate-as-pure");
+var _semver = require("semver");
+var _features = require("./features.js");
+var _util = require("./util.js");
+const versionKey = "@babel/plugin-regexp-features/version";
+function createRegExpFeaturePlugin({
+ name,
+ feature,
+ options = {},
+ manipulateOptions = () => {}
+}) {
+ return {
+ name,
+ manipulateOptions,
+ pre() {
+ var _file$get;
+ const {
+ file
+ } = this;
+ const features = (_file$get = file.get(_features.featuresKey)) != null ? _file$get : 0;
+ let newFeatures = (0, _features.enableFeature)(features, _features.FEATURES[feature]);
+ const {
+ useUnicodeFlag,
+ runtime
+ } = options;
+ if (useUnicodeFlag === false) {
+ newFeatures = (0, _features.enableFeature)(newFeatures, _features.FEATURES.unicodeFlag);
+ }
+ if (newFeatures !== features) {
+ file.set(_features.featuresKey, newFeatures);
+ }
+ if (runtime !== undefined) {
+ if (file.has(_features.runtimeKey) && file.get(_features.runtimeKey) !== runtime && (0, _features.hasFeature)(newFeatures, _features.FEATURES.duplicateNamedCaptureGroups)) {
+ throw new Error(`The 'runtime' option must be the same for ` + `'@babel/plugin-transform-named-capturing-groups-regex' and ` + `'@babel/plugin-transform-duplicate-named-capturing-groups-regex'.`);
+ }
+ if (feature === "namedCaptureGroups") {
+ if (!runtime || !file.has(_features.runtimeKey)) file.set(_features.runtimeKey, runtime);
+ } else {
+ file.set(_features.runtimeKey, runtime);
+ }
+ }
+ {
+ if (typeof file.get(versionKey) === "number") {
+ file.set(versionKey, "7.27.1");
+ return;
+ }
+ }
+ if (!file.get(versionKey) || _semver.lt(file.get(versionKey), "7.27.1")) {
+ file.set(versionKey, "7.27.1");
+ }
+ },
+ visitor: {
+ RegExpLiteral(path) {
+ var _file$get2;
+ const {
+ node
+ } = path;
+ const {
+ file
+ } = this;
+ const features = file.get(_features.featuresKey);
+ const runtime = (_file$get2 = file.get(_features.runtimeKey)) != null ? _file$get2 : true;
+ const regexpuOptions = (0, _util.generateRegexpuOptions)(node.pattern, features);
+ if ((0, _util.canSkipRegexpu)(node, regexpuOptions)) {
+ return;
+ }
+ const namedCaptureGroups = {
+ __proto__: null
+ };
+ if (regexpuOptions.namedGroups === "transform") {
+ regexpuOptions.onNamedGroup = (name, index) => {
+ const prev = namedCaptureGroups[name];
+ if (typeof prev === "number") {
+ namedCaptureGroups[name] = [prev, index];
+ } else if (Array.isArray(prev)) {
+ prev.push(index);
+ } else {
+ namedCaptureGroups[name] = index;
+ }
+ };
+ }
+ let newFlags;
+ if (regexpuOptions.modifiers === "transform") {
+ regexpuOptions.onNewFlags = flags => {
+ newFlags = flags;
+ };
+ }
+ node.pattern = _regexpuCore(node.pattern, node.flags, regexpuOptions);
+ if (regexpuOptions.namedGroups === "transform" && Object.keys(namedCaptureGroups).length > 0 && runtime && !isRegExpTest(path)) {
+ const call = _core.types.callExpression(this.addHelper("wrapRegExp"), [node, _core.types.valueToNode(namedCaptureGroups)]);
+ (0, _helperAnnotateAsPure.default)(call);
+ path.replaceWith(call);
+ }
+ node.flags = (0, _util.transformFlags)(regexpuOptions, newFlags != null ? newFlags : node.flags);
+ }
+ }
+ };
+}
+function isRegExpTest(path) {
+ return path.parentPath.isMemberExpression({
+ object: path.node,
+ computed: false
+ }) && path.parentPath.get("property").isIdentifier({
+ name: "test"
+ });
+}
+
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js.map b/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js.map
new file mode 100644
index 00000000..03f5becc
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_regexpuCore","require","_core","_helperAnnotateAsPure","_semver","_features","_util","versionKey","createRegExpFeaturePlugin","name","feature","options","manipulateOptions","pre","_file$get","file","features","get","featuresKey","newFeatures","enableFeature","FEATURES","useUnicodeFlag","runtime","unicodeFlag","set","undefined","has","runtimeKey","hasFeature","duplicateNamedCaptureGroups","Error","semver","lt","visitor","RegExpLiteral","path","_file$get2","node","regexpuOptions","generateRegexpuOptions","pattern","canSkipRegexpu","namedCaptureGroups","__proto__","namedGroups","onNamedGroup","index","prev","Array","isArray","push","newFlags","modifiers","onNewFlags","flags","rewritePattern","Object","keys","length","isRegExpTest","call","t","callExpression","addHelper","valueToNode","annotateAsPure","replaceWith","transformFlags","parentPath","isMemberExpression","object","computed","isIdentifier"],"sources":["../src/index.ts"],"sourcesContent":["import rewritePattern from \"regexpu-core\";\nimport { types as t, type PluginObject, type NodePath } from \"@babel/core\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\n\nimport semver from \"semver\";\n\nimport {\n featuresKey,\n FEATURES,\n enableFeature,\n runtimeKey,\n hasFeature,\n} from \"./features.ts\";\nimport {\n generateRegexpuOptions,\n canSkipRegexpu,\n transformFlags,\n} from \"./util.ts\";\n\nconst versionKey = \"@babel/plugin-regexp-features/version\";\n\nexport interface Options {\n name: string;\n feature: keyof typeof FEATURES;\n options?: {\n useUnicodeFlag?: boolean;\n runtime?: boolean;\n };\n manipulateOptions?: PluginObject[\"manipulateOptions\"];\n}\n\nexport function createRegExpFeaturePlugin({\n name,\n feature,\n options = {},\n manipulateOptions = () => {},\n}: Options): PluginObject {\n return {\n name,\n\n manipulateOptions,\n\n pre() {\n const { file } = this;\n const features = file.get(featuresKey) ?? 0;\n let newFeatures = enableFeature(features, FEATURES[feature]);\n\n const { useUnicodeFlag, runtime } = options;\n if (useUnicodeFlag === false) {\n newFeatures = enableFeature(newFeatures, FEATURES.unicodeFlag);\n }\n if (newFeatures !== features) {\n file.set(featuresKey, newFeatures);\n }\n\n if (runtime !== undefined) {\n if (\n file.has(runtimeKey) &&\n file.get(runtimeKey) !== runtime &&\n (process.env.BABEL_8_BREAKING ||\n // This check. Is necessary because in Babel 7 we allow multiple\n // copies of transform-named-capturing-groups-regex with\n // conflicting 'runtime' options.\n hasFeature(newFeatures, FEATURES.duplicateNamedCaptureGroups))\n ) {\n throw new Error(\n `The 'runtime' option must be the same for ` +\n `'@babel/plugin-transform-named-capturing-groups-regex' and ` +\n `'@babel/plugin-transform-duplicate-named-capturing-groups-regex'.`,\n );\n }\n\n if (process.env.BABEL_8_BREAKING) {\n file.set(runtimeKey, runtime);\n } else if (\n // This check. Is necessary because in Babel 7 we allow multiple\n // copies of transform-named-capturing-groups-regex with\n // conflicting 'runtime' options.\n feature === \"namedCaptureGroups\"\n ) {\n if (!runtime || !file.has(runtimeKey)) file.set(runtimeKey, runtime);\n } else {\n file.set(runtimeKey, runtime);\n }\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // Until 7.21.4, we used to encode the version as a number.\n // If file.get(versionKey) is a number, it has thus been\n // set by an older version of this plugin.\n if (typeof file.get(versionKey) === \"number\") {\n file.set(versionKey, PACKAGE_JSON.version);\n return;\n }\n }\n if (\n !file.get(versionKey) ||\n semver.lt(file.get(versionKey), PACKAGE_JSON.version)\n ) {\n file.set(versionKey, PACKAGE_JSON.version);\n }\n },\n\n visitor: {\n RegExpLiteral(path) {\n const { node } = path;\n const { file } = this;\n const features = file.get(featuresKey);\n const runtime = file.get(runtimeKey) ?? true;\n\n const regexpuOptions = generateRegexpuOptions(node.pattern, features);\n if (canSkipRegexpu(node, regexpuOptions)) {\n return;\n }\n\n const namedCaptureGroups: Record = {\n __proto__: null,\n };\n if (regexpuOptions.namedGroups === \"transform\") {\n regexpuOptions.onNamedGroup = (name, index) => {\n const prev = namedCaptureGroups[name];\n if (typeof prev === \"number\") {\n namedCaptureGroups[name] = [prev, index];\n } else if (Array.isArray(prev)) {\n prev.push(index);\n } else {\n namedCaptureGroups[name] = index;\n }\n };\n }\n\n let newFlags;\n if (regexpuOptions.modifiers === \"transform\") {\n regexpuOptions.onNewFlags = flags => {\n newFlags = flags;\n };\n }\n\n node.pattern = rewritePattern(node.pattern, node.flags, regexpuOptions);\n\n if (\n regexpuOptions.namedGroups === \"transform\" &&\n Object.keys(namedCaptureGroups).length > 0 &&\n runtime &&\n !isRegExpTest(path)\n ) {\n const call = t.callExpression(this.addHelper(\"wrapRegExp\"), [\n node,\n t.valueToNode(namedCaptureGroups),\n ]);\n annotateAsPure(call);\n\n path.replaceWith(call);\n }\n\n node.flags = transformFlags(regexpuOptions, newFlags ?? node.flags);\n },\n },\n };\n}\n\nfunction isRegExpTest(path: NodePath) {\n return (\n path.parentPath.isMemberExpression({\n object: path.node,\n computed: false,\n }) && path.parentPath.get(\"property\").isIdentifier({ name: \"test\" })\n );\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js
new file mode 100644
index 00000000..508587ec
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js
@@ -0,0 +1,71 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.canSkipRegexpu = canSkipRegexpu;
+exports.generateRegexpuOptions = generateRegexpuOptions;
+exports.transformFlags = transformFlags;
+var _features = require("./features.js");
+function generateRegexpuOptions(pattern, toTransform) {
+ const feat = name => {
+ return (0, _features.hasFeature)(toTransform, _features.FEATURES[name]) ? "transform" : false;
+ };
+ const featDuplicateNamedGroups = () => {
+ if (!feat("duplicateNamedCaptureGroups")) return false;
+ const regex = /\(\?<([^>]+)(>|$)/g;
+ const seen = new Set();
+ for (let match; (match = regex.exec(pattern)) && match[2]; seen.add(match[1])) {
+ if (seen.has(match[1])) return "transform";
+ }
+ return false;
+ };
+ return {
+ unicodeFlag: feat("unicodeFlag"),
+ unicodeSetsFlag: feat("unicodeSetsFlag"),
+ dotAllFlag: feat("dotAllFlag"),
+ unicodePropertyEscapes: feat("unicodePropertyEscape"),
+ namedGroups: feat("namedCaptureGroups") || featDuplicateNamedGroups(),
+ onNamedGroup: () => {},
+ modifiers: feat("modifiers")
+ };
+}
+function canSkipRegexpu(node, options) {
+ const {
+ flags,
+ pattern
+ } = node;
+ if (flags.includes("v")) {
+ if (options.unicodeSetsFlag === "transform") return false;
+ }
+ if (flags.includes("u")) {
+ if (options.unicodeFlag === "transform") return false;
+ if (options.unicodePropertyEscapes === "transform" && /\\p\{/i.test(pattern)) {
+ return false;
+ }
+ }
+ if (flags.includes("s")) {
+ if (options.dotAllFlag === "transform") return false;
+ }
+ if (options.namedGroups === "transform" && /\(\?<(?![=!])/.test(pattern)) {
+ return false;
+ }
+ if (options.modifiers === "transform" && /\(\?[\w-]+:/.test(pattern)) {
+ return false;
+ }
+ return true;
+}
+function transformFlags(regexpuOptions, flags) {
+ if (regexpuOptions.unicodeSetsFlag === "transform") {
+ flags = flags.replace("v", "u");
+ }
+ if (regexpuOptions.unicodeFlag === "transform") {
+ flags = flags.replace("u", "");
+ }
+ if (regexpuOptions.dotAllFlag === "transform") {
+ flags = flags.replace("s", "");
+ }
+ return flags;
+}
+
+//# sourceMappingURL=util.js.map
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js.map b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js.map
new file mode 100644
index 00000000..39cd8e5f
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_features","require","generateRegexpuOptions","pattern","toTransform","feat","name","hasFeature","FEATURES","featDuplicateNamedGroups","regex","seen","Set","match","exec","add","has","unicodeFlag","unicodeSetsFlag","dotAllFlag","unicodePropertyEscapes","namedGroups","onNamedGroup","modifiers","canSkipRegexpu","node","options","flags","includes","test","transformFlags","regexpuOptions","replace"],"sources":["../src/util.ts"],"sourcesContent":["import type { types as t } from \"@babel/core\";\nimport { FEATURES, hasFeature } from \"./features.ts\";\n\nimport type { RegexpuOptions } from \"regexpu-core\";\n\nexport function generateRegexpuOptions(\n pattern: string,\n toTransform: number,\n): RegexpuOptions {\n const feat = (name: keyof typeof FEATURES) => {\n return hasFeature(toTransform, FEATURES[name]) ? \"transform\" : false;\n };\n\n const featDuplicateNamedGroups = (): \"transform\" | false => {\n if (!feat(\"duplicateNamedCaptureGroups\")) return false;\n\n // This can return false positive, for example for /\\(?\\)/.\n // However, it's such a rare occurrence that it's ok to compile\n // the regexp even if we only need to compile regexps with\n // duplicate named capturing groups.\n // The $ is to exit early for malicious input such as \\(?<\\(?<\\(?<...\n const regex = /\\(\\?<([^>]+)(>|$)/g;\n const seen = new Set();\n for (\n let match;\n (match = regex.exec(pattern)) && match[2];\n seen.add(match[1])\n ) {\n if (seen.has(match[1])) return \"transform\";\n }\n return false;\n };\n\n return {\n unicodeFlag: feat(\"unicodeFlag\"),\n unicodeSetsFlag: feat(\"unicodeSetsFlag\"),\n dotAllFlag: feat(\"dotAllFlag\"),\n unicodePropertyEscapes: feat(\"unicodePropertyEscape\"),\n namedGroups: feat(\"namedCaptureGroups\") || featDuplicateNamedGroups(),\n onNamedGroup: () => {},\n modifiers: feat(\"modifiers\"),\n };\n}\n\nexport function canSkipRegexpu(\n node: t.RegExpLiteral,\n options: RegexpuOptions,\n): boolean {\n const { flags, pattern } = node;\n\n if (flags.includes(\"v\")) {\n if (options.unicodeSetsFlag === \"transform\") return false;\n }\n\n if (flags.includes(\"u\")) {\n if (options.unicodeFlag === \"transform\") return false;\n if (\n options.unicodePropertyEscapes === \"transform\" &&\n /\\\\p\\{/i.test(pattern)\n ) {\n return false;\n }\n }\n\n if (flags.includes(\"s\")) {\n if (options.dotAllFlag === \"transform\") return false;\n }\n\n if (options.namedGroups === \"transform\" && /\\(\\?<(?![=!])/.test(pattern)) {\n return false;\n }\n\n if (options.modifiers === \"transform\" && /\\(\\?[\\w-]+:/.test(pattern)) {\n return false;\n }\n\n return true;\n}\n\nexport function transformFlags(regexpuOptions: RegexpuOptions, flags: string) {\n if (regexpuOptions.unicodeSetsFlag === \"transform\") {\n flags = flags.replace(\"v\", \"u\");\n }\n if (regexpuOptions.unicodeFlag === \"transform\") {\n flags = flags.replace(\"u\", \"\");\n }\n if (regexpuOptions.dotAllFlag === \"transform\") {\n flags = flags.replace(\"s\", \"\");\n }\n return flags;\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIO,SAASC,sBAAsBA,CACpCC,OAAe,EACfC,WAAmB,EACH;EAChB,MAAMC,IAAI,GAAIC,IAA2B,IAAK;IAC5C,OAAO,IAAAC,oBAAU,EAACH,WAAW,EAAEI,kBAAQ,CAACF,IAAI,CAAC,CAAC,GAAG,WAAW,GAAG,KAAK;EACtE,CAAC;EAED,MAAMG,wBAAwB,GAAGA,CAAA,KAA2B;IAC1D,IAAI,CAACJ,IAAI,CAAC,6BAA6B,CAAC,EAAE,OAAO,KAAK;IAOtD,MAAMK,KAAK,GAAG,oBAAoB;IAClC,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAAC,CAAC;IACtB,KACE,IAAIC,KAAK,EACT,CAACA,KAAK,GAAGH,KAAK,CAACI,IAAI,CAACX,OAAO,CAAC,KAAKU,KAAK,CAAC,CAAC,CAAC,EACzCF,IAAI,CAACI,GAAG,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,EAClB;MACA,IAAIF,IAAI,CAACK,GAAG,CAACH,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,WAAW;IAC5C;IACA,OAAO,KAAK;EACd,CAAC;EAED,OAAO;IACLI,WAAW,EAAEZ,IAAI,CAAC,aAAa,CAAC;IAChCa,eAAe,EAAEb,IAAI,CAAC,iBAAiB,CAAC;IACxCc,UAAU,EAAEd,IAAI,CAAC,YAAY,CAAC;IAC9Be,sBAAsB,EAAEf,IAAI,CAAC,uBAAuB,CAAC;IACrDgB,WAAW,EAAEhB,IAAI,CAAC,oBAAoB,CAAC,IAAII,wBAAwB,CAAC,CAAC;IACrEa,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;IACtBC,SAAS,EAAElB,IAAI,CAAC,WAAW;EAC7B,CAAC;AACH;AAEO,SAASmB,cAAcA,CAC5BC,IAAqB,EACrBC,OAAuB,EACd;EACT,MAAM;IAAEC,KAAK;IAAExB;EAAQ,CAAC,GAAGsB,IAAI;EAE/B,IAAIE,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvB,IAAIF,OAAO,CAACR,eAAe,KAAK,WAAW,EAAE,OAAO,KAAK;EAC3D;EAEA,IAAIS,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvB,IAAIF,OAAO,CAACT,WAAW,KAAK,WAAW,EAAE,OAAO,KAAK;IACrD,IACES,OAAO,CAACN,sBAAsB,KAAK,WAAW,IAC9C,QAAQ,CAACS,IAAI,CAAC1B,OAAO,CAAC,EACtB;MACA,OAAO,KAAK;IACd;EACF;EAEA,IAAIwB,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvB,IAAIF,OAAO,CAACP,UAAU,KAAK,WAAW,EAAE,OAAO,KAAK;EACtD;EAEA,IAAIO,OAAO,CAACL,WAAW,KAAK,WAAW,IAAI,eAAe,CAACQ,IAAI,CAAC1B,OAAO,CAAC,EAAE;IACxE,OAAO,KAAK;EACd;EAEA,IAAIuB,OAAO,CAACH,SAAS,KAAK,WAAW,IAAI,aAAa,CAACM,IAAI,CAAC1B,OAAO,CAAC,EAAE;IACpE,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb;AAEO,SAAS2B,cAAcA,CAACC,cAA8B,EAAEJ,KAAa,EAAE;EAC5E,IAAII,cAAc,CAACb,eAAe,KAAK,WAAW,EAAE;IAClDS,KAAK,GAAGA,KAAK,CAACK,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;EACjC;EACA,IAAID,cAAc,CAACd,WAAW,KAAK,WAAW,EAAE;IAC9CU,KAAK,GAAGA,KAAK,CAACK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;EAChC;EACA,IAAID,cAAc,CAACZ,UAAU,KAAK,WAAW,EAAE;IAC7CQ,KAAK,GAAGA,KAAK,CAACK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;EAChC;EACA,OAAOL,KAAK;AACd","ignoreList":[]}
\ No newline at end of file
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/package.json b/node_modules/@babel/helper-create-regexp-features-plugin/package.json
new file mode 100644
index 00000000..db55d3e3
--- /dev/null
+++ b/node_modules/@babel/helper-create-regexp-features-plugin/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@babel/helper-create-regexp-features-plugin",
+ "version": "7.27.1",
+ "author": "The Babel Team (https://babel.dev/team)",
+ "license": "MIT",
+ "description": "Compile ESNext Regular Expressions to ES5",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel.git",
+ "directory": "packages/babel-helper-create-regexp-features-plugin"
+ },
+ "main": "./lib/index.js",
+ "publishConfig": {
+ "access": "public"
+ },
+ "keywords": [
+ "babel",
+ "babel-plugin"
+ ],
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "regexpu-core": "^6.2.0",
+ "semver": "^6.3.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.27.1",
+ "@babel/helper-plugin-test-runner": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "type": "commonjs"
+}
\ No newline at end of file
diff --git a/node_modules/@babel/helper-define-polyfill-provider/LICENSE b/node_modules/@babel/helper-define-polyfill-provider/LICENSE
new file mode 100644
index 00000000..b74971fe
--- /dev/null
+++ b/node_modules/@babel/helper-define-polyfill-provider/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2014-present Nicolò Ribaudo 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.
diff --git a/node_modules/@babel/helper-define-polyfill-provider/README.md b/node_modules/@babel/helper-define-polyfill-provider/README.md
new file mode 100644
index 00000000..21989fca
--- /dev/null
+++ b/node_modules/@babel/helper-define-polyfill-provider/README.md
@@ -0,0 +1,15 @@
+# @babel/helper-define-polyfill-provider
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save-dev @babel/helper-define-polyfill-provider
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/helper-define-polyfill-provider --dev
+```
diff --git a/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs b/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs
new file mode 100644
index 00000000..1508b3b7
--- /dev/null
+++ b/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs
@@ -0,0 +1,835 @@
+import { declare } from '@babel/helper-plugin-utils';
+import _getTargets, { prettifyTargets, getInclusionReasons, isRequired } from '@babel/helper-compilation-targets';
+import * as _babel from '@babel/core';
+
+const {
+ types: t$1,
+ template: template
+} = _babel.default || _babel;
+function intersection(a, b) {
+ const result = new Set();
+ a.forEach(v => b.has(v) && result.add(v));
+ return result;
+}
+function has$1(object, key) {
+ return Object.prototype.hasOwnProperty.call(object, key);
+}
+function resolve$1(path, resolved = new Set()) {
+ if (resolved.has(path)) return;
+ resolved.add(path);
+ if (path.isVariableDeclarator()) {
+ if (path.get("id").isIdentifier()) {
+ return resolve$1(path.get("init"), resolved);
+ }
+ } else if (path.isReferencedIdentifier()) {
+ const binding = path.scope.getBinding(path.node.name);
+ if (!binding) return path;
+ if (!binding.constant) return;
+ return resolve$1(binding.path, resolved);
+ }
+ return path;
+}
+function resolveId(path) {
+ if (path.isIdentifier() && !path.scope.hasBinding(path.node.name, /* noGlobals */true)) {
+ return path.node.name;
+ }
+ const resolved = resolve$1(path);
+ if (resolved != null && resolved.isIdentifier()) {
+ return resolved.node.name;
+ }
+}
+function resolveKey(path, computed = false) {
+ const {
+ scope
+ } = path;
+ if (path.isStringLiteral()) return path.node.value;
+ const isIdentifier = path.isIdentifier();
+ if (isIdentifier && !(computed || path.parent.computed)) {
+ return path.node.name;
+ }
+ if (computed && path.isMemberExpression() && path.get("object").isIdentifier({
+ name: "Symbol"
+ }) && !scope.hasBinding("Symbol", /* noGlobals */true)) {
+ const sym = resolveKey(path.get("property"), path.node.computed);
+ if (sym) return "Symbol." + sym;
+ }
+ if (isIdentifier ? scope.hasBinding(path.node.name, /* noGlobals */true) : path.isPure()) {
+ const {
+ value
+ } = path.evaluate();
+ if (typeof value === "string") return value;
+ }
+}
+function resolveSource(obj) {
+ if (obj.isMemberExpression() && obj.get("property").isIdentifier({
+ name: "prototype"
+ })) {
+ const id = resolveId(obj.get("object"));
+ if (id) {
+ return {
+ id,
+ placement: "prototype"
+ };
+ }
+ return {
+ id: null,
+ placement: null
+ };
+ }
+ const id = resolveId(obj);
+ if (id) {
+ return {
+ id,
+ placement: "static"
+ };
+ }
+ const path = resolve$1(obj);
+ switch (path == null ? void 0 : path.type) {
+ case "RegExpLiteral":
+ return {
+ id: "RegExp",
+ placement: "prototype"
+ };
+ case "FunctionExpression":
+ return {
+ id: "Function",
+ placement: "prototype"
+ };
+ case "StringLiteral":
+ return {
+ id: "String",
+ placement: "prototype"
+ };
+ case "NumberLiteral":
+ return {
+ id: "Number",
+ placement: "prototype"
+ };
+ case "BooleanLiteral":
+ return {
+ id: "Boolean",
+ placement: "prototype"
+ };
+ case "ObjectExpression":
+ return {
+ id: "Object",
+ placement: "prototype"
+ };
+ case "ArrayExpression":
+ return {
+ id: "Array",
+ placement: "prototype"
+ };
+ }
+ return {
+ id: null,
+ placement: null
+ };
+}
+function getImportSource({
+ node
+}) {
+ if (node.specifiers.length === 0) return node.source.value;
+}
+function getRequireSource({
+ node
+}) {
+ if (!t$1.isExpressionStatement(node)) return;
+ const {
+ expression
+ } = node;
+ if (t$1.isCallExpression(expression) && t$1.isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && t$1.isStringLiteral(expression.arguments[0])) {
+ return expression.arguments[0].value;
+ }
+}
+function hoist(node) {
+ // @ts-expect-error
+ node._blockHoist = 3;
+ return node;
+}
+function createUtilsGetter(cache) {
+ return path => {
+ const prog = path.findParent(p => p.isProgram());
+ return {
+ injectGlobalImport(url, moduleName) {
+ cache.storeAnonymous(prog, url, moduleName, (isScript, source) => {
+ return isScript ? template.statement.ast`require(${source})` : t$1.importDeclaration([], source);
+ });
+ },
+ injectNamedImport(url, name, hint = name, moduleName) {
+ return cache.storeNamed(prog, url, name, moduleName, (isScript, source, name) => {
+ const id = prog.scope.generateUidIdentifier(hint);
+ return {
+ node: isScript ? hoist(template.statement.ast`
+ var ${id} = require(${source}).${name}
+ `) : t$1.importDeclaration([t$1.importSpecifier(id, name)], source),
+ name: id.name
+ };
+ });
+ },
+ injectDefaultImport(url, hint = url, moduleName) {
+ return cache.storeNamed(prog, url, "default", moduleName, (isScript, source) => {
+ const id = prog.scope.generateUidIdentifier(hint);
+ return {
+ node: isScript ? hoist(template.statement.ast`var ${id} = require(${source})`) : t$1.importDeclaration([t$1.importDefaultSpecifier(id)], source),
+ name: id.name
+ };
+ });
+ }
+ };
+ };
+}
+
+const {
+ types: t
+} = _babel.default || _babel;
+class ImportsCachedInjector {
+ constructor(resolver, getPreferredIndex) {
+ this._imports = new WeakMap();
+ this._anonymousImports = new WeakMap();
+ this._lastImports = new WeakMap();
+ this._resolver = resolver;
+ this._getPreferredIndex = getPreferredIndex;
+ }
+ storeAnonymous(programPath, url, moduleName, getVal) {
+ const key = this._normalizeKey(programPath, url);
+ const imports = this._ensure(this._anonymousImports, programPath, Set);
+ if (imports.has(key)) return;
+ const node = getVal(programPath.node.sourceType === "script", t.stringLiteral(this._resolver(url)));
+ imports.add(key);
+ this._injectImport(programPath, node, moduleName);
+ }
+ storeNamed(programPath, url, name, moduleName, getVal) {
+ const key = this._normalizeKey(programPath, url, name);
+ const imports = this._ensure(this._imports, programPath, Map);
+ if (!imports.has(key)) {
+ const {
+ node,
+ name: id
+ } = getVal(programPath.node.sourceType === "script", t.stringLiteral(this._resolver(url)), t.identifier(name));
+ imports.set(key, id);
+ this._injectImport(programPath, node, moduleName);
+ }
+ return t.identifier(imports.get(key));
+ }
+ _injectImport(programPath, node, moduleName) {
+ var _this$_lastImports$ge;
+ const newIndex = this._getPreferredIndex(moduleName);
+ const lastImports = (_this$_lastImports$ge = this._lastImports.get(programPath)) != null ? _this$_lastImports$ge : [];
+ const isPathStillValid = path => path.node &&
+ // Sometimes the AST is modified and the "last import"
+ // we have has been replaced
+ path.parent === programPath.node && path.container === programPath.node.body;
+ let last;
+ if (newIndex === Infinity) {
+ // Fast path: we can always just insert at the end if newIndex is `Infinity`
+ if (lastImports.length > 0) {
+ last = lastImports[lastImports.length - 1].path;
+ if (!isPathStillValid(last)) last = undefined;
+ }
+ } else {
+ for (const [i, data] of lastImports.entries()) {
+ const {
+ path,
+ index
+ } = data;
+ if (isPathStillValid(path)) {
+ if (newIndex < index) {
+ const [newPath] = path.insertBefore(node);
+ lastImports.splice(i, 0, {
+ path: newPath,
+ index: newIndex
+ });
+ return;
+ }
+ last = path;
+ }
+ }
+ }
+ if (last) {
+ const [newPath] = last.insertAfter(node);
+ lastImports.push({
+ path: newPath,
+ index: newIndex
+ });
+ } else {
+ const [newPath] = programPath.unshiftContainer("body", node);
+ this._lastImports.set(programPath, [{
+ path: newPath,
+ index: newIndex
+ }]);
+ }
+ }
+ _ensure(map, programPath, Collection) {
+ let collection = map.get(programPath);
+ if (!collection) {
+ collection = new Collection();
+ map.set(programPath, collection);
+ }
+ return collection;
+ }
+ _normalizeKey(programPath, url, name = "") {
+ const {
+ sourceType
+ } = programPath.node;
+
+ // If we rely on the imported binding (the "name" parameter), we also need to cache
+ // based on the sourceType. This is because the module transforms change the names
+ // of the import variables.
+ return `${name && sourceType}::${url}::${name}`;
+ }
+}
+
+const presetEnvSilentDebugHeader = "#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets";
+function stringifyTargetsMultiline(targets) {
+ return JSON.stringify(prettifyTargets(targets), null, 2);
+}
+
+function patternToRegExp(pattern) {
+ if (pattern instanceof RegExp) return pattern;
+ try {
+ return new RegExp(`^${pattern}$`);
+ } catch {
+ return null;
+ }
+}
+function buildUnusedError(label, unused) {
+ if (!unused.length) return "";
+ return ` - The following "${label}" patterns didn't match any polyfill:\n` + unused.map(original => ` ${String(original)}\n`).join("");
+}
+function buldDuplicatesError(duplicates) {
+ if (!duplicates.size) return "";
+ return ` - The following polyfills were matched both by "include" and "exclude" patterns:\n` + Array.from(duplicates, name => ` ${name}\n`).join("");
+}
+function validateIncludeExclude(provider, polyfills, includePatterns, excludePatterns) {
+ let current;
+ const filter = pattern => {
+ const regexp = patternToRegExp(pattern);
+ if (!regexp) return false;
+ let matched = false;
+ for (const polyfill of polyfills.keys()) {
+ if (regexp.test(polyfill)) {
+ matched = true;
+ current.add(polyfill);
+ }
+ }
+ return !matched;
+ };
+
+ // prettier-ignore
+ const include = current = new Set();
+ const unusedInclude = Array.from(includePatterns).filter(filter);
+
+ // prettier-ignore
+ const exclude = current = new Set();
+ const unusedExclude = Array.from(excludePatterns).filter(filter);
+ const duplicates = intersection(include, exclude);
+ if (duplicates.size > 0 || unusedInclude.length > 0 || unusedExclude.length > 0) {
+ throw new Error(`Error while validating the "${provider}" provider options:\n` + buildUnusedError("include", unusedInclude) + buildUnusedError("exclude", unusedExclude) + buldDuplicatesError(duplicates));
+ }
+ return {
+ include,
+ exclude
+ };
+}
+function applyMissingDependenciesDefaults(options, babelApi) {
+ const {
+ missingDependencies = {}
+ } = options;
+ if (missingDependencies === false) return false;
+ const caller = babelApi.caller(caller => caller == null ? void 0 : caller.name);
+ const {
+ log = "deferred",
+ inject = caller === "rollup-plugin-babel" ? "throw" : "import",
+ all = false
+ } = missingDependencies;
+ return {
+ log,
+ inject,
+ all
+ };
+}
+
+function isRemoved(path) {
+ if (path.removed) return true;
+ if (!path.parentPath) return false;
+ if (path.listKey) {
+ var _path$parentPath$node;
+ if (!((_path$parentPath$node = path.parentPath.node) != null && (_path$parentPath$node = _path$parentPath$node[path.listKey]) != null && _path$parentPath$node.includes(path.node))) return true;
+ } else {
+ if (path.parentPath.node[path.key] !== path.node) return true;
+ }
+ return isRemoved(path.parentPath);
+}
+var usage = (callProvider => {
+ function property(object, key, placement, path) {
+ return callProvider({
+ kind: "property",
+ object,
+ key,
+ placement
+ }, path);
+ }
+ function handleReferencedIdentifier(path) {
+ const {
+ node: {
+ name
+ },
+ scope
+ } = path;
+ if (scope.getBindingIdentifier(name)) return;
+ callProvider({
+ kind: "global",
+ name
+ }, path);
+ }
+ function analyzeMemberExpression(path) {
+ const key = resolveKey(path.get("property"), path.node.computed);
+ return {
+ key,
+ handleAsMemberExpression: !!key && key !== "prototype"
+ };
+ }
+ return {
+ // Symbol(), new Promise
+ ReferencedIdentifier(path) {
+ const {
+ parentPath
+ } = path;
+ if (parentPath.isMemberExpression({
+ object: path.node
+ }) && analyzeMemberExpression(parentPath).handleAsMemberExpression) {
+ return;
+ }
+ handleReferencedIdentifier(path);
+ },
+ "MemberExpression|OptionalMemberExpression"(path) {
+ const {
+ key,
+ handleAsMemberExpression
+ } = analyzeMemberExpression(path);
+ if (!handleAsMemberExpression) return;
+ const object = path.get("object");
+ let objectIsGlobalIdentifier = object.isIdentifier();
+ if (objectIsGlobalIdentifier) {
+ const binding = object.scope.getBinding(object.node.name);
+ if (binding) {
+ if (binding.path.isImportNamespaceSpecifier()) return;
+ objectIsGlobalIdentifier = false;
+ }
+ }
+ const source = resolveSource(object);
+ let skipObject = property(source.id, key, source.placement, path);
+ skipObject || (skipObject = !objectIsGlobalIdentifier || path.shouldSkip || object.shouldSkip || isRemoved(object));
+ if (!skipObject) handleReferencedIdentifier(object);
+ },
+ ObjectPattern(path) {
+ const {
+ parentPath,
+ parent
+ } = path;
+ let obj;
+
+ // const { keys, values } = Object
+ if (parentPath.isVariableDeclarator()) {
+ obj = parentPath.get("init");
+ // ({ keys, values } = Object)
+ } else if (parentPath.isAssignmentExpression()) {
+ obj = parentPath.get("right");
+ // !function ({ keys, values }) {...} (Object)
+ // resolution does not work after properties transform :-(
+ } else if (parentPath.isFunction()) {
+ const grand = parentPath.parentPath;
+ if (grand.isCallExpression() || grand.isNewExpression()) {
+ if (grand.node.callee === parent) {
+ obj = grand.get("arguments")[path.key];
+ }
+ }
+ }
+ let id = null;
+ let placement = null;
+ if (obj) ({
+ id,
+ placement
+ } = resolveSource(obj));
+ for (const prop of path.get("properties")) {
+ if (prop.isObjectProperty()) {
+ const key = resolveKey(prop.get("key"));
+ if (key) property(id, key, placement, prop);
+ }
+ }
+ },
+ BinaryExpression(path) {
+ if (path.node.operator !== "in") return;
+ const source = resolveSource(path.get("right"));
+ const key = resolveKey(path.get("left"), true);
+ if (!key) return;
+ callProvider({
+ kind: "in",
+ object: source.id,
+ key,
+ placement: source.placement
+ }, path);
+ }
+ };
+});
+
+var entry = (callProvider => ({
+ ImportDeclaration(path) {
+ const source = getImportSource(path);
+ if (!source) return;
+ callProvider({
+ kind: "import",
+ source
+ }, path);
+ },
+ Program(path) {
+ path.get("body").forEach(bodyPath => {
+ const source = getRequireSource(bodyPath);
+ if (!source) return;
+ callProvider({
+ kind: "import",
+ source
+ }, bodyPath);
+ });
+ }
+}));
+
+function resolve(dirname, moduleName, absoluteImports) {
+ if (absoluteImports === false) return moduleName;
+ throw new Error(`"absoluteImports" is not supported in bundles prepared for the browser.`);
+}
+
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+function has(basedir, name) {
+ return true;
+}
+
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+function logMissing(missingDeps) {}
+
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+function laterLogMissing(missingDeps) {}
+
+const PossibleGlobalObjects = new Set(["global", "globalThis", "self", "window"]);
+function createMetaResolver(polyfills) {
+ const {
+ static: staticP,
+ instance: instanceP,
+ global: globalP
+ } = polyfills;
+ return meta => {
+ if (meta.kind === "global" && globalP && has$1(globalP, meta.name)) {
+ return {
+ kind: "global",
+ desc: globalP[meta.name],
+ name: meta.name
+ };
+ }
+ if (meta.kind === "property" || meta.kind === "in") {
+ const {
+ placement,
+ object,
+ key
+ } = meta;
+ if (object && placement === "static") {
+ if (globalP && PossibleGlobalObjects.has(object) && has$1(globalP, key)) {
+ return {
+ kind: "global",
+ desc: globalP[key],
+ name: key
+ };
+ }
+ if (staticP && has$1(staticP, object) && has$1(staticP[object], key)) {
+ return {
+ kind: "static",
+ desc: staticP[object][key],
+ name: `${object}$${key}`
+ };
+ }
+ }
+ if (instanceP && has$1(instanceP, key)) {
+ return {
+ kind: "instance",
+ desc: instanceP[key],
+ name: `${key}`
+ };
+ }
+ }
+ };
+}
+
+const getTargets = _getTargets.default || _getTargets;
+function resolveOptions(options, babelApi) {
+ const {
+ method,
+ targets: targetsOption,
+ ignoreBrowserslistConfig,
+ configPath,
+ debug,
+ shouldInjectPolyfill,
+ absoluteImports,
+ ...providerOptions
+ } = options;
+ if (isEmpty(options)) {
+ throw new Error(`\
+This plugin requires options, for example:
+ {
+ "plugins": [
+ ["", { method: "usage-pure" }]
+ ]
+ }
+
+See more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md`);
+ }
+ let methodName;
+ if (method === "usage-global") methodName = "usageGlobal";else if (method === "entry-global") methodName = "entryGlobal";else if (method === "usage-pure") methodName = "usagePure";else if (typeof method !== "string") {
+ throw new Error(".method must be a string");
+ } else {
+ throw new Error(`.method must be one of "entry-global", "usage-global"` + ` or "usage-pure" (received ${JSON.stringify(method)})`);
+ }
+ if (typeof shouldInjectPolyfill === "function") {
+ if (options.include || options.exclude) {
+ throw new Error(`.include and .exclude are not supported when using the` + ` .shouldInjectPolyfill function.`);
+ }
+ } else if (shouldInjectPolyfill != null) {
+ throw new Error(`.shouldInjectPolyfill must be a function, or undefined` + ` (received ${JSON.stringify(shouldInjectPolyfill)})`);
+ }
+ if (absoluteImports != null && typeof absoluteImports !== "boolean" && typeof absoluteImports !== "string") {
+ throw new Error(`.absoluteImports must be a boolean, a string, or undefined` + ` (received ${JSON.stringify(absoluteImports)})`);
+ }
+ let targets;
+ if (
+ // If any browserslist-related option is specified, fallback to the old
+ // behavior of not using the targets specified in the top-level options.
+ targetsOption || configPath || ignoreBrowserslistConfig) {
+ const targetsObj = typeof targetsOption === "string" || Array.isArray(targetsOption) ? {
+ browsers: targetsOption
+ } : targetsOption;
+ targets = getTargets(targetsObj, {
+ ignoreBrowserslistConfig,
+ configPath
+ });
+ } else {
+ targets = babelApi.targets();
+ }
+ return {
+ method,
+ methodName,
+ targets,
+ absoluteImports: absoluteImports != null ? absoluteImports : false,
+ shouldInjectPolyfill,
+ debug: !!debug,
+ providerOptions: providerOptions
+ };
+}
+function instantiateProvider(factory, options, missingDependencies, dirname, debugLog, babelApi) {
+ const {
+ method,
+ methodName,
+ targets,
+ debug,
+ shouldInjectPolyfill,
+ providerOptions,
+ absoluteImports
+ } = resolveOptions(options, babelApi);
+
+ // eslint-disable-next-line prefer-const
+ let include, exclude;
+ let polyfillsSupport;
+ let polyfillsNames;
+ let filterPolyfills;
+ const getUtils = createUtilsGetter(new ImportsCachedInjector(moduleName => resolve(dirname, moduleName, absoluteImports), name => {
+ var _polyfillsNames$get, _polyfillsNames;
+ return (_polyfillsNames$get = (_polyfillsNames = polyfillsNames) == null ? void 0 : _polyfillsNames.get(name)) != null ? _polyfillsNames$get : Infinity;
+ }));
+ const depsCache = new Map();
+ const api = {
+ babel: babelApi,
+ getUtils,
+ method: options.method,
+ targets,
+ createMetaResolver,
+ shouldInjectPolyfill(name) {
+ if (polyfillsNames === undefined) {
+ throw new Error(`Internal error in the ${factory.name} provider: ` + `shouldInjectPolyfill() can't be called during initialization.`);
+ }
+ if (!polyfillsNames.has(name)) {
+ console.warn(`Internal error in the ${providerName} provider: ` + `unknown polyfill "${name}".`);
+ }
+ if (filterPolyfills && !filterPolyfills(name)) return false;
+ let shouldInject = isRequired(name, targets, {
+ compatData: polyfillsSupport,
+ includes: include,
+ excludes: exclude
+ });
+ if (shouldInjectPolyfill) {
+ shouldInject = shouldInjectPolyfill(name, shouldInject);
+ if (typeof shouldInject !== "boolean") {
+ throw new Error(`.shouldInjectPolyfill must return a boolean.`);
+ }
+ }
+ return shouldInject;
+ },
+ debug(name) {
+ var _debugLog, _debugLog$polyfillsSu;
+ debugLog().found = true;
+ if (!debug || !name) return;
+ if (debugLog().polyfills.has(providerName)) return;
+ debugLog().polyfills.add(name);
+ (_debugLog$polyfillsSu = (_debugLog = debugLog()).polyfillsSupport) != null ? _debugLog$polyfillsSu : _debugLog.polyfillsSupport = polyfillsSupport;
+ },
+ assertDependency(name, version = "*") {
+ if (missingDependencies === false) return;
+ if (absoluteImports) {
+ // If absoluteImports is not false, we will try resolving
+ // the dependency and throw if it's not possible. We can
+ // skip the check here.
+ return;
+ }
+ const dep = version === "*" ? name : `${name}@^${version}`;
+ const found = missingDependencies.all ? false : mapGetOr(depsCache, `${name} :: ${dirname}`, () => has());
+ if (!found) {
+ debugLog().missingDeps.add(dep);
+ }
+ }
+ };
+ const provider = factory(api, providerOptions, dirname);
+ const providerName = provider.name || factory.name;
+ if (typeof provider[methodName] !== "function") {
+ throw new Error(`The "${providerName}" provider doesn't support the "${method}" polyfilling method.`);
+ }
+ if (Array.isArray(provider.polyfills)) {
+ polyfillsNames = new Map(provider.polyfills.map((name, index) => [name, index]));
+ filterPolyfills = provider.filterPolyfills;
+ } else if (provider.polyfills) {
+ polyfillsNames = new Map(Object.keys(provider.polyfills).map((name, index) => [name, index]));
+ polyfillsSupport = provider.polyfills;
+ filterPolyfills = provider.filterPolyfills;
+ } else {
+ polyfillsNames = new Map();
+ }
+ ({
+ include,
+ exclude
+ } = validateIncludeExclude(providerName, polyfillsNames, providerOptions.include || [], providerOptions.exclude || []));
+ let callProvider;
+ if (methodName === "usageGlobal") {
+ callProvider = (payload, path) => {
+ var _ref;
+ const utils = getUtils(path);
+ return (_ref = provider[methodName](payload, utils, path)) != null ? _ref : false;
+ };
+ } else {
+ callProvider = (payload, path) => {
+ const utils = getUtils(path);
+ provider[methodName](payload, utils, path);
+ return false;
+ };
+ }
+ return {
+ debug,
+ method,
+ targets,
+ provider,
+ providerName,
+ callProvider
+ };
+}
+function definePolyfillProvider(factory) {
+ return declare((babelApi, options, dirname) => {
+ babelApi.assertVersion("^7.0.0 || ^8.0.0-alpha.0");
+ const {
+ traverse
+ } = babelApi;
+ let debugLog;
+ const missingDependencies = applyMissingDependenciesDefaults(options, babelApi);
+ const {
+ debug,
+ method,
+ targets,
+ provider,
+ providerName,
+ callProvider
+ } = instantiateProvider(factory, options, missingDependencies, dirname, () => debugLog, babelApi);
+ const createVisitor = method === "entry-global" ? entry : usage;
+ const visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider);
+ if (debug && debug !== presetEnvSilentDebugHeader) {
+ console.log(`${providerName}: \`DEBUG\` option`);
+ console.log(`\nUsing targets: ${stringifyTargetsMultiline(targets)}`);
+ console.log(`\nUsing polyfills with \`${method}\` method:`);
+ }
+ const {
+ runtimeName
+ } = provider;
+ return {
+ name: "inject-polyfills",
+ visitor,
+ pre(file) {
+ var _provider$pre;
+ if (runtimeName) {
+ if (file.get("runtimeHelpersModuleName") && file.get("runtimeHelpersModuleName") !== runtimeName) {
+ console.warn(`Two different polyfill providers` + ` (${file.get("runtimeHelpersModuleProvider")}` + ` and ${providerName}) are trying to define two` + ` conflicting @babel/runtime alternatives:` + ` ${file.get("runtimeHelpersModuleName")} and ${runtimeName}.` + ` The second one will be ignored.`);
+ } else {
+ file.set("runtimeHelpersModuleName", runtimeName);
+ file.set("runtimeHelpersModuleProvider", providerName);
+ }
+ }
+ debugLog = {
+ polyfills: new Set(),
+ polyfillsSupport: undefined,
+ found: false,
+ providers: new Set(),
+ missingDeps: new Set()
+ };
+ (_provider$pre = provider.pre) == null ? void 0 : _provider$pre.apply(this, arguments);
+ },
+ post() {
+ var _provider$post;
+ (_provider$post = provider.post) == null ? void 0 : _provider$post.apply(this, arguments);
+ if (missingDependencies !== false) {
+ if (missingDependencies.log === "per-file") {
+ logMissing(debugLog.missingDeps);
+ } else {
+ laterLogMissing(debugLog.missingDeps);
+ }
+ }
+ if (!debug) return;
+ if (this.filename) console.log(`\n[${this.filename}]`);
+ if (debugLog.polyfills.size === 0) {
+ console.log(method === "entry-global" ? debugLog.found ? `Based on your targets, the ${providerName} polyfill did not add any polyfill.` : `The entry point for the ${providerName} polyfill has not been found.` : `Based on your code and targets, the ${providerName} polyfill did not add any polyfill.`);
+ return;
+ }
+ if (method === "entry-global") {
+ console.log(`The ${providerName} polyfill entry has been replaced with ` + `the following polyfills:`);
+ } else {
+ console.log(`The ${providerName} polyfill added the following polyfills:`);
+ }
+ for (const name of debugLog.polyfills) {
+ var _debugLog$polyfillsSu2;
+ if ((_debugLog$polyfillsSu2 = debugLog.polyfillsSupport) != null && _debugLog$polyfillsSu2[name]) {
+ const filteredTargets = getInclusionReasons(name, targets, debugLog.polyfillsSupport);
+ const formattedTargets = JSON.stringify(filteredTargets).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }');
+ console.log(` ${name} ${formattedTargets}`);
+ } else {
+ console.log(` ${name}`);
+ }
+ }
+ }
+ };
+ });
+}
+function mapGetOr(map, key, getDefault) {
+ let val = map.get(key);
+ if (val === undefined) {
+ val = getDefault();
+ map.set(key, val);
+ }
+ return val;
+}
+function isEmpty(obj) {
+ return Object.keys(obj).length === 0;
+}
+
+export default definePolyfillProvider;
+//# sourceMappingURL=index.browser.mjs.map
diff --git a/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs.map b/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs.map
new file mode 100644
index 00000000..3bd29042
--- /dev/null
+++ b/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.browser.mjs","sources":["../src/utils.ts","../src/imports-injector.ts","../src/debug-utils.ts","../src/normalize-options.ts","../src/visitors/usage.ts","../src/visitors/entry.ts","../src/browser/dependencies.ts","../src/meta-resolver.ts","../src/index.ts"],"sourcesContent":["import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type { Utils } from \"./types\";\nimport type ImportsCachedInjector from \"./imports-injector\";\n\nexport function intersection(a: Set, b: Set): Set {\n const result = new Set();\n a.forEach(v => b.has(v) && result.add(v));\n return result;\n}\n\nexport function has(object: any, key: string) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nfunction resolve(\n path: NodePath,\n resolved: Set = new Set(),\n): NodePath | undefined {\n if (resolved.has(path)) return;\n resolved.add(path);\n\n if (path.isVariableDeclarator()) {\n if (path.get(\"id\").isIdentifier()) {\n return resolve(path.get(\"init\"), resolved);\n }\n } else if (path.isReferencedIdentifier()) {\n const binding = path.scope.getBinding(path.node.name);\n if (!binding) return path;\n if (!binding.constant) return;\n return resolve(binding.path, resolved);\n }\n return path;\n}\n\nfunction resolveId(path: NodePath): string {\n if (\n path.isIdentifier() &&\n !path.scope.hasBinding(path.node.name, /* noGlobals */ true)\n ) {\n return path.node.name;\n }\n\n const resolved = resolve(path);\n if (resolved?.isIdentifier()) {\n return resolved.node.name;\n }\n}\n\nexport function resolveKey(\n path: NodePath,\n computed: boolean = false,\n) {\n const { scope } = path;\n if (path.isStringLiteral()) return path.node.value;\n const isIdentifier = path.isIdentifier();\n if (\n isIdentifier &&\n !(computed || (path.parent as t.MemberExpression).computed)\n ) {\n return path.node.name;\n }\n\n if (\n computed &&\n path.isMemberExpression() &&\n path.get(\"object\").isIdentifier({ name: \"Symbol\" }) &&\n !scope.hasBinding(\"Symbol\", /* noGlobals */ true)\n ) {\n const sym = resolveKey(path.get(\"property\"), path.node.computed);\n if (sym) return \"Symbol.\" + sym;\n }\n\n if (\n isIdentifier\n ? scope.hasBinding(path.node.name, /* noGlobals */ true)\n : path.isPure()\n ) {\n const { value } = path.evaluate();\n if (typeof value === \"string\") return value;\n }\n}\n\nexport function resolveSource(obj: NodePath): {\n id: string | null;\n placement: \"prototype\" | \"static\" | null;\n} {\n if (\n obj.isMemberExpression() &&\n obj.get(\"property\").isIdentifier({ name: \"prototype\" })\n ) {\n const id = resolveId(obj.get(\"object\"));\n\n if (id) {\n return { id, placement: \"prototype\" };\n }\n return { id: null, placement: null };\n }\n\n const id = resolveId(obj);\n if (id) {\n return { id, placement: \"static\" };\n }\n\n const path = resolve(obj);\n switch (path?.type) {\n case \"RegExpLiteral\":\n return { id: \"RegExp\", placement: \"prototype\" };\n case \"FunctionExpression\":\n return { id: \"Function\", placement: \"prototype\" };\n case \"StringLiteral\":\n return { id: \"String\", placement: \"prototype\" };\n case \"NumberLiteral\":\n return { id: \"Number\", placement: \"prototype\" };\n case \"BooleanLiteral\":\n return { id: \"Boolean\", placement: \"prototype\" };\n case \"ObjectExpression\":\n return { id: \"Object\", placement: \"prototype\" };\n case \"ArrayExpression\":\n return { id: \"Array\", placement: \"prototype\" };\n }\n\n return { id: null, placement: null };\n}\n\nexport function getImportSource({ node }: NodePath) {\n if (node.specifiers.length === 0) return node.source.value;\n}\n\nexport function getRequireSource({ node }: NodePath) {\n if (!t.isExpressionStatement(node)) return;\n const { expression } = node;\n if (\n t.isCallExpression(expression) &&\n t.isIdentifier(expression.callee) &&\n expression.callee.name === \"require\" &&\n expression.arguments.length === 1 &&\n t.isStringLiteral(expression.arguments[0])\n ) {\n return expression.arguments[0].value;\n }\n}\n\nfunction hoist(node: t.Node) {\n // @ts-expect-error\n node._blockHoist = 3;\n return node;\n}\n\nexport function createUtilsGetter(cache: ImportsCachedInjector) {\n return (path: NodePath): Utils => {\n const prog = path.findParent(p => p.isProgram()) as NodePath;\n\n return {\n injectGlobalImport(url, moduleName) {\n cache.storeAnonymous(prog, url, moduleName, (isScript, source) => {\n return isScript\n ? template.statement.ast`require(${source})`\n : t.importDeclaration([], source);\n });\n },\n injectNamedImport(url, name, hint = name, moduleName) {\n return cache.storeNamed(\n prog,\n url,\n name,\n moduleName,\n (isScript, source, name) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`\n var ${id} = require(${source}).${name}\n `)\n : t.importDeclaration([t.importSpecifier(id, name)], source),\n name: id.name,\n };\n },\n );\n },\n injectDefaultImport(url, hint = url, moduleName) {\n return cache.storeNamed(\n prog,\n url,\n \"default\",\n moduleName,\n (isScript, source) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`var ${id} = require(${source})`)\n : t.importDeclaration([t.importDefaultSpecifier(id)], source),\n name: id.name,\n };\n },\n );\n },\n };\n };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\n\ntype StrMap = Map;\n\nexport default class ImportsCachedInjector {\n _imports: WeakMap, StrMap>;\n _anonymousImports: WeakMap, Set>;\n _lastImports: WeakMap<\n NodePath,\n Array<{ path: NodePath; index: number }>\n >;\n _resolver: (url: string) => string;\n _getPreferredIndex: (url: string) => number;\n\n constructor(\n resolver: (url: string) => string,\n getPreferredIndex: (url: string) => number,\n ) {\n this._imports = new WeakMap();\n this._anonymousImports = new WeakMap();\n this._lastImports = new WeakMap();\n this._resolver = resolver;\n this._getPreferredIndex = getPreferredIndex;\n }\n\n storeAnonymous(\n programPath: NodePath,\n url: string,\n moduleName: string,\n getVal: (isScript: boolean, source: t.StringLiteral) => t.Node,\n ) {\n const key = this._normalizeKey(programPath, url);\n const imports = this._ensure>(\n this._anonymousImports,\n programPath,\n Set,\n );\n\n if (imports.has(key)) return;\n\n const node = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n );\n imports.add(key);\n this._injectImport(programPath, node, moduleName);\n }\n\n storeNamed(\n programPath: NodePath,\n url: string,\n name: string,\n moduleName: string,\n getVal: (\n isScript: boolean,\n // eslint-disable-next-line no-undef\n source: t.StringLiteral,\n // eslint-disable-next-line no-undef\n name: t.Identifier,\n ) => { node: t.Node; name: string },\n ) {\n const key = this._normalizeKey(programPath, url, name);\n const imports = this._ensure