From a7c955e90823759b4c280a0c4befa72ad03f5a06 Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 28 May 2024 20:46:39 -0400 Subject: [PATCH] Add installation instructions for iOS --- .gitea/workflows/test.yaml | 10 + .gitignore | 8 +- .prettierrc | 20 + .swcrc | 31 + Dockerfile | 2 +- api/subscribe.ts | 5 + app/ClientOnly.tsx | 19 + app/entry.client.tsx | 11 +- app/entry.server.tsx | 69 +- app/entry.worker.ts | 17 + app/images/safari-share-icon.png | Bin 0 -> 2648 bytes app/install/EnableNotifications.tsx | 61 + app/install/InstallPWA.tsx | 32 + app/install/InstallPrompts.tsx | 32 + app/install/OpenSafari.tsx | 11 + app/install/Unsupported.tsx | 22 + app/root.tsx | 13 +- app/routes/_index.test.tsx | 51 + app/routes/_index.tsx | 80 +- app/routes/manifest[.webmanifest].ts | 35 + app/styles/styles.css | 10 + app/useInstallState.ts | 48 + app/usePush.ts | 183 ++ docker-compose.yaml | 2 +- e2e/install.spec.ts | 202 ++ jest.config.ts | 32 + package-lock.json | 4553 ++++++++++++++++++++------ package.json | 36 +- playwright.config.ts | 66 + public/images/192.png | Bin 0 -> 47729 bytes public/images/512.png | Bin 0 -> 275980 bytes server.test.ts | 0 server.ts | 3 +- setupTests.ts | 16 + thebabel.config.cjs | 27 + transform.js | 24 + tsconfig.json | 38 +- url-mock.js | 1 + vite.config.ts | 15 +- 39 files changed, 4736 insertions(+), 1049 deletions(-) create mode 100644 .gitea/workflows/test.yaml create mode 100644 .prettierrc create mode 100644 .swcrc create mode 100644 api/subscribe.ts create mode 100644 app/ClientOnly.tsx create mode 100644 app/entry.worker.ts create mode 100644 app/images/safari-share-icon.png create mode 100644 app/install/EnableNotifications.tsx create mode 100644 app/install/InstallPWA.tsx create mode 100644 app/install/InstallPrompts.tsx create mode 100644 app/install/OpenSafari.tsx create mode 100644 app/install/Unsupported.tsx create mode 100644 app/routes/_index.test.tsx create mode 100644 app/routes/manifest[.webmanifest].ts create mode 100644 app/styles/styles.css create mode 100644 app/useInstallState.ts create mode 100644 app/usePush.ts create mode 100644 e2e/install.spec.ts create mode 100644 jest.config.ts create mode 100644 playwright.config.ts create mode 100644 public/images/192.png create mode 100644 public/images/512.png delete mode 100644 server.test.ts create mode 100644 setupTests.ts create mode 100644 thebabel.config.cjs create mode 100644 transform.js create mode 100644 url-mock.js diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml new file mode 100644 index 0000000..8e833fe --- /dev/null +++ b/.gitea/workflows/test.yaml @@ -0,0 +1,10 @@ +name: Test +run-name: Test? +on: [push] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: npm install && npm run test \ No newline at end of file diff --git a/.gitignore b/.gitignore index fdd07b4..647c8f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,9 @@ .env data/ node_modules/ -public/ -build/ \ No newline at end of file +build/ +/public/entry.worker.js +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..f010f27 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,20 @@ +{ + "trailingComma": "es5", + "tabWidth": 2, + "semi": false, + "singleQuote": false, + "maxLineLength": 120, + "overrides": [ + { + "files": [ + "*.test.ts", + "*.test.js", + "*.spec.ts", + "*.spec.js" + ], + "options": { + "maxLineLength": 9999999 + } + } + ] +} \ No newline at end of file diff --git a/.swcrc b/.swcrc new file mode 100644 index 0000000..5b29ac2 --- /dev/null +++ b/.swcrc @@ -0,0 +1,31 @@ +{ + "jsc": { + "target": "es2022", + "parser": { + "syntax": "typescript", + "tsx": true, + "decorators": false, + "dynamicImport": false + }, + "transform": { + "react": { + "pragma": "React.createElement", + "pragmaFrag": "React.Fragment", + "throwIfNamespace": true, + "development": false, + "useBuiltins": false, + "runtime": "automatic" + }, + "hidden": { + "jest": true + } + } + }, + "module": { + "type": "commonjs", + "strict": false, + "strictMode": true, + "lazy": false, + "noInterop": false + } +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 070827a..4e3eb0f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node +FROM node:22-alpine WORKDIR /tack-up-now COPY . . RUN npm install diff --git a/api/subscribe.ts b/api/subscribe.ts new file mode 100644 index 0000000..1b4a57e --- /dev/null +++ b/api/subscribe.ts @@ -0,0 +1,5 @@ +import type { Response, Request } from "express" + +export function subscribe(req: Request, res: Response) { + res.status(200).send() +} diff --git a/app/ClientOnly.tsx b/app/ClientOnly.tsx new file mode 100644 index 0000000..b436933 --- /dev/null +++ b/app/ClientOnly.tsx @@ -0,0 +1,19 @@ +import { ReactNode, useEffect, useState } from "react" + +export default function ClientOnly({ + fallback, + children, +}: { + fallback: ReactNode + children(): ReactNode +}) { + const isClient = typeof window !== "undefined" + + const [rendered, setRendered] = useState(false) + + useEffect(() => { + setRendered(true) + }, []) + + return isClient && rendered ? children() : fallback +} diff --git a/app/entry.client.tsx b/app/entry.client.tsx index 94d5dc0..8f13e78 100644 --- a/app/entry.client.tsx +++ b/app/entry.client.tsx @@ -4,9 +4,10 @@ * For more information, see https://remix.run/file-conventions/entry.client */ -import { RemixBrowser } from "@remix-run/react"; -import { startTransition, StrictMode } from "react"; -import { hydrateRoot } from "react-dom/client"; +import { RemixBrowser } from "@remix-run/react" +import React from "react" +import { startTransition, StrictMode } from "react" +import { hydrateRoot } from "react-dom/client" startTransition(() => { hydrateRoot( @@ -14,5 +15,5 @@ startTransition(() => { - ); -}); + ) +}) diff --git a/app/entry.server.tsx b/app/entry.server.tsx index 45db322..a119799 100644 --- a/app/entry.server.tsx +++ b/app/entry.server.tsx @@ -4,15 +4,16 @@ * For more information, see https://remix.run/file-conventions/entry.server */ -import { PassThrough } from "node:stream"; +import { PassThrough } from "node:stream" -import type { AppLoadContext, EntryContext } from "@remix-run/node"; -import { createReadableStreamFromReadable } from "@remix-run/node"; -import { RemixServer } from "@remix-run/react"; -import { isbot } from "isbot"; -import { renderToPipeableStream } from "react-dom/server"; +import type { AppLoadContext, EntryContext } from "@remix-run/node" +import { createReadableStreamFromReadable } from "@remix-run/node" +import { RemixServer } from "@remix-run/react" +import { isbot } from "isbot" +import { renderToPipeableStream } from "react-dom/server" +import React from "react" -const ABORT_DELAY = 5_000; +const ABORT_DELAY = 5_000 export default function handleRequest( request: Request, @@ -36,7 +37,7 @@ export default function handleRequest( responseStatusCode, responseHeaders, remixContext - ); + ) } function handleBotRequest( @@ -46,7 +47,7 @@ function handleBotRequest( remixContext: EntryContext ) { return new Promise((resolve, reject) => { - let shellRendered = false; + let shellRendered = false const { pipe, abort } = renderToPipeableStream( , { onAllReady() { - shellRendered = true; - const body = new PassThrough(); - const stream = createReadableStreamFromReadable(body); + shellRendered = true + const body = new PassThrough() + const stream = createReadableStreamFromReadable(body) - responseHeaders.set("Content-Type", "text/html"); + responseHeaders.set("Content-Type", "text/html") resolve( new Response(stream, { headers: responseHeaders, status: responseStatusCode, }) - ); + ) - pipe(body); + pipe(body) }, onShellError(error: unknown) { - reject(error); + reject(error) }, onError(error: unknown) { - responseStatusCode = 500; + responseStatusCode = 500 // Log streaming rendering errors from inside the shell. Don't log // errors encountered during initial shell rendering since they'll // reject and get logged in handleDocumentRequest. if (shellRendered) { - console.error(error); + console.error(error) } }, } - ); + ) - setTimeout(abort, ABORT_DELAY); - }); + setTimeout(abort, ABORT_DELAY) + }) } function handleBrowserRequest( @@ -96,7 +97,7 @@ function handleBrowserRequest( remixContext: EntryContext ) { return new Promise((resolve, reject) => { - let shellRendered = false; + let shellRendered = false const { pipe, abort } = renderToPipeableStream( , { onShellReady() { - shellRendered = true; - const body = new PassThrough(); - const stream = createReadableStreamFromReadable(body); + shellRendered = true + const body = new PassThrough() + const stream = createReadableStreamFromReadable(body) - responseHeaders.set("Content-Type", "text/html"); + responseHeaders.set("Content-Type", "text/html") resolve( new Response(stream, { headers: responseHeaders, status: responseStatusCode, }) - ); + ) - pipe(body); + pipe(body) }, onShellError(error: unknown) { - reject(error); + reject(error) }, onError(error: unknown) { - responseStatusCode = 500; + responseStatusCode = 500 // Log streaming rendering errors from inside the shell. Don't log // errors encountered during initial shell rendering since they'll // reject and get logged in handleDocumentRequest. if (shellRendered) { - console.error(error); + console.error(error) } }, } - ); + ) - setTimeout(abort, ABORT_DELAY); - }); + setTimeout(abort, ABORT_DELAY) + }) } diff --git a/app/entry.worker.ts b/app/entry.worker.ts new file mode 100644 index 0000000..10fa180 --- /dev/null +++ b/app/entry.worker.ts @@ -0,0 +1,17 @@ +/// + +export {} + +declare let self: ServiceWorkerGlobalScope + +self.addEventListener("install", (event) => { + console.log("Service worker installed") + + event.waitUntil(self.skipWaiting()) +}) + +self.addEventListener("activate", (event) => { + console.log("Service worker activated") + + event.waitUntil(self.clients.claim()) +}) diff --git a/app/images/safari-share-icon.png b/app/images/safari-share-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0d992bac84ce44b466b72be23a09794dbd81078b GIT binary patch literal 2648 zcmV-e3a9mnP)Qe%T5rLkSvW^dVVzvGX& zopWa1@4DUHfp6b;X3m`F%$&=ddEa+wZvGrY6atVM*mM9OW-ut#!Eq1+M5<0io`vn} zQ8p64E&DhSr?%QaBHc{6o&6=%Q+I4M@>tn68s90tE)E<(eMwcBo~SClr>O{MsW%$G z9ZgA@CjoK&YZk`LfuGbypDd6k(6ING&3tr(ZA(rcQ`Y|U@5pMY*V{Uov@#8L{ zdF1&!5P^t5?60W~glq7pa35)axW$Wci1dMn`2FHZ#vKm=-7YXW1$_Geu0H8zhaKe|>8;+fhn(Oj~6$gN?@b z|Cw?3QO~l~2EOre;JP<@%UkYb>hr5!$ZvkwVb4zAcIG+YQ$Jw5xG*|?ZFguoqV&x( z;;vR>*l!z}U0@vgxnBs^0uJs2-g$-a^O`^e-1!m0HCK6x=g$InJzP=`g5Rsu#yY^P z63JE1>8pw%W{h;L+)H@n6k&SWyT)xF1#Wt?-VJKn0Ra;&;O>16yRY)3yDu9JKlTzC zORBjT#Hlq!+LVaos4VlAY$_gvgG-TeEuRogwg?Y=23YM9+D`8dRjmsAsTS~^{e(^z zXgOipL*RqS?}`RY;>-EB1IN6oBuHX%7Dt9Nb~+t0r)V!TL=~Wj&~62uB2%Qw>9mI5 zZXruPBEDE7gD?0Jg_vPGlynd_WoFr#L&QdE@$kWae9(^26EN_GY&n*SXnJ$C)&VkF93F5O4zjx zDUN7g5~avs1-_VnyAUj`v<)xf02P`$UEr=qy7=Yqkq%r<<@{b??+mhrst;l`{)3Nm zAHIy~Y2eE@18?6R?4Rv~iy<0c%-@w$hKR~YyNkRc7|a(Q=;CL;>Aw(Jh`^_^5cVw6 zG#6XWo&~;im~rf1A?}r-$g`~BQzj(6^Y6~k1gP0WlC*SL>&z9v5@Q>5LU!V3$>2`rTe#-dC=d*UxrW5aV94%-V zKwF7ZTT!GSt|oExc&_c(4t)23D~{e0tZ$(b{}bQTv>Pbl%?pT(eX=8Bj8s~ttwc_#IBbB zMo5 z1LK=a*rm>Rva^0xivu-uLBzJrMzjhKmb8Q5_lRLb;ECol|tZDEJSmjRUJ-rf|f`f0%m z0&}fBzc&-%7&FGfx48ZANw1fqCI)d(8qCe6Uh`|au$3`aUhHpMZQ$~)ZghNG2EhXRge6~!-$9GB&X))o|E`@4jzyYts0ckkFDk zXY|+}hr%z$kB;x;z)WW-^`#+*S`;#L+{1!K!EbPrG4P!p*sy0-f^$(CJ1bGFHh5_K zVH1!3_)hmW%-XJEFU+FS)28dR!{ArN84cgn(?PkXHE64mDOYHk_FTJXj)O0;M#C5H z`|N6ZLMr-tZSGbOD+EkkrIfW`SCfP$Gqu7+fr&aKjbj;nU*MqEHK&0sbog#^KMu z#Mpm`vAm>3ZnevVajna02gOtKckcnd_95+NUSc~Rz|Y2hqy^C8(h|coW>&J4On-Z_ zi`(x*u^{VRcJ2V~`50kK8-?QZf`p>J^bre`Ekg&M@M##zK3&e91CBhwc;W=`-`Vw9 zm{!YwZhhq?jGM0|y#FoXyNp6^QEFjB73(JK8`J+cNVW{|eMSV8{)o!*X+4$xYDC{) ze5Vo*ih@MR!jXxA_z*;Uq7PJT1c}i;|CPQhaulVmjmH!%Ui8`EOI+hs7>n!q;ZN zcP!x|CiJ?e&_hy$=y$^3S@+2hMr4JLSepl5J void +}) { + return ( +
+

Allow Notifications

+
+ Tack Up Now requires your permission to send notifications in order to + function properly +
+ +
+ ) +} + +function EnableButton({ onSubscribe }: { onSubscribe: () => void }) { + const { subscribeToPush, requestPermission, canSendPush } = usePush() + + function subscribe() { + requestPermission() + } + + useEffect(() => { + if (!canSendPush) return + + subscribeToPush( + urlB64ToUint8Array(applicationServerPublicKey) as any, + (subscription) => { + fetch("/api/subscribe", { + method: "POST", + body: JSON.stringify(subscription), + }) + onSubscribe() + } + ) + }, [canSendPush]) + + return +} + +const applicationServerPublicKey = + "BDTbzdtzJxwV0sscdsXla-GKvlcxqQr7edEfkX8-papwvvV1UVc3IMyRacl1BbgTi31nWPji2wKCZkjf1l5iX7Y" + +function urlB64ToUint8Array(base64String: string) { + const padding = "=".repeat((4 - (base64String.length % 4)) % 4) + const base64 = (base64String + padding).replace(/\-/g, "+").replace(/_/g, "/") + + const rawData = window.atob(base64) + const outputArray = new Uint8Array(rawData.length) + + for (let i = 0; i < rawData.length; ++i) { + outputArray[i] = rawData.charCodeAt(i) + } + return outputArray +} diff --git a/app/install/InstallPWA.tsx b/app/install/InstallPWA.tsx new file mode 100644 index 0000000..6fa882d --- /dev/null +++ b/app/install/InstallPWA.tsx @@ -0,0 +1,32 @@ +import React from "react" + +import shareIcon from "../images/safari-share-icon.png?url" + +export default function InstallPWA() { + return ( +
+

Install Tack Up Now!

+
+ Install Tack Up Now on your device to get notified when it's time to + tack up +
+
+
    + Tap + + and choose + Add to Home Screen +
+
    + On the next screen, tap + Add +
+
    + Then open + Tack Up Now + from your home screen +
+
+
+ ) +} diff --git a/app/install/InstallPrompts.tsx b/app/install/InstallPrompts.tsx new file mode 100644 index 0000000..3760af9 --- /dev/null +++ b/app/install/InstallPrompts.tsx @@ -0,0 +1,32 @@ +import React from "react" +import useInstallState from "../useInstallState" +import EnableNotifications from "./EnableNotifications" +import OpenSafari from "./OpenSafari" +import InstallPWA from "./InstallPWA" +import Unsupported from "./Unsupported" + +interface InstallPromptsProps { + isMobileSafari: boolean + isSupported: boolean + notificationsEnabled: boolean + onInstallComplete: () => void +} + +export default function InstallPrompts({ + isSupported, + isMobileSafari, + onInstallComplete, +}: InstallPromptsProps) { + const { step } = useInstallState({ isSupported, isMobileSafari }) + + const steps = { + "open safari": , + install: , + "enable notifications": ( + + ), + unsupported: , + } + + return steps[step as keyof typeof steps] ?? null +} diff --git a/app/install/OpenSafari.tsx b/app/install/OpenSafari.tsx new file mode 100644 index 0000000..d4b3d9c --- /dev/null +++ b/app/install/OpenSafari.tsx @@ -0,0 +1,11 @@ +import React from "react" + +export default function OpenSafari() { + return ( +
+
This device requires Tack Up Now to be installed using Safari
+
+
Open tackupnow.com in Safari to continue!
+
+ ) +} diff --git a/app/install/Unsupported.tsx b/app/install/Unsupported.tsx new file mode 100644 index 0000000..49f87f1 --- /dev/null +++ b/app/install/Unsupported.tsx @@ -0,0 +1,22 @@ +import React, { useState } from "react" + +export default function Unsupported() { + const [showWhy, setShowWhy] = useState(false) + + return ( +
+

{"Sorry :("}

+
+
Your device doesn't support Tack Up Now!
+ + {showWhy ? ( +
+ iOS 16.3 and under does not support notification delivery through web + apps, so Tack Up Now can't send notifications to your device. +
+ ) : ( + + )} +
+ ) +} diff --git a/app/root.tsx b/app/root.tsx index e82f26f..87b156b 100644 --- a/app/root.tsx +++ b/app/root.tsx @@ -4,7 +4,13 @@ import { Outlet, Scripts, ScrollRestoration, -} from "@remix-run/react"; +} from "@remix-run/react" +import React from "react" +import { ManifestLink } from "@remix-pwa/sw" +import { LinksFunction } from "@remix-run/node" +import styles from "./styles/styles.css?url" + +export const links: LinksFunction = () => [{ rel: "stylesheet", href: styles }] export function Layout({ children }: { children: React.ReactNode }) { return ( @@ -13,6 +19,7 @@ export function Layout({ children }: { children: React.ReactNode }) { + @@ -21,9 +28,9 @@ export function Layout({ children }: { children: React.ReactNode }) { - ); + ) } export default function App() { - return ; + return } diff --git a/app/routes/_index.test.tsx b/app/routes/_index.test.tsx new file mode 100644 index 0000000..edb7944 --- /dev/null +++ b/app/routes/_index.test.tsx @@ -0,0 +1,51 @@ +import { act, render, screen, waitFor } from "@testing-library/react" +import MatchMediaMock from "jest-matchmedia-mock" + +import { createRemixStub, RemixStubProps } from "@remix-run/testing" +import App from "../root" +import React from "react" +import Index from "./_index" +let RemixStub: (props: RemixStubProps) => React.JSX.Element + +describe("root", () => { + beforeEach(() => { + RemixStub = createRemixStub([ + { + path: "/", + meta: () => [], + links: () => [], + loader: () => ({ isSupported: true, isMobileSafari: true }), + Component: Index, + }, + ]) + }) + + let matchMedia: MatchMediaMock + + beforeAll(() => { + matchMedia = new MatchMediaMock() + }) + + afterEach(() => { + matchMedia.clear() + }) + + describe("when user is on iOS", () => { + describe("version 16.4 or higher", () => { + describe("and tack up now is not already installed on their device", () => { + test("they are instructed to install tack up now", async () => { + render() + + await waitFor( + () => screen.findByText(/Install Tack Up Now!/), + { + timeout: 2000, + } + ) + + expect(true).toBe(true) + }) + }) + }) + }) +}) diff --git a/app/routes/_index.tsx b/app/routes/_index.tsx index a02bb09..439eb00 100644 --- a/app/routes/_index.tsx +++ b/app/routes/_index.tsx @@ -1,18 +1,84 @@ -import type { MetaFunction } from "@remix-run/node"; +import { + json, + type LoaderFunctionArgs, + type MetaFunction, +} from "@remix-run/node" +import { useLoaderData } from "@remix-run/react" +import React, { Suspense, useEffect, useState } from "react" +import coerceSemver from "semver/functions/coerce" +import versionAtLeast from "semver/functions/gte" +import UAParser from "ua-parser-js" +import InstallPrompts from "../install/InstallPrompts" +import useInstallState from "../useInstallState" +import ClientOnly from "../ClientOnly" export const meta: MetaFunction = () => { return [ { title: "Tack Up Now!" }, { name: "description", content: "Get equinelive notifications" }, - ]; -}; + ] +} + +export const loader = async ({ request }: LoaderFunctionArgs) => { + const userAgent = request.headers.get("user-agent") + const parsedUserAgent = new UAParser(userAgent ?? "") + const os = parsedUserAgent.getOS() + const isMobileSafari = parsedUserAgent.getBrowser().name === "Mobile Safari" + const isSupported = + os.name !== "iOS" || + versionAtLeast(coerceSemver(os.version) ?? "0.0.0", "16.4.0") + + return json({ + isSupported, + isMobileSafari, + name: os.name, + version: os.version, + }) +} export default function Index() { + const { isSupported, isMobileSafari, name, version } = + useLoaderData() + + console.log(name, version) + return (
-

WHOAH! A WEBSITE

-
Hey check it out!
- + + +
- ); + ) +} + +function LandingMessage({ + isSupported, + isMobileSafari, +}: { + isSupported: boolean + isMobileSafari: boolean +}) { + const { installed } = useInstallState({ isSupported, isMobileSafari }) + + const [isInstalled, setIsInstalled] = useState(installed) + + return ( + Loading}> + {() => + isInstalled ? ( +
Your Notifications
+ ) : ( + setIsInstalled(true)} + /> + ) + } +
+ ) } diff --git a/app/routes/manifest[.webmanifest].ts b/app/routes/manifest[.webmanifest].ts new file mode 100644 index 0000000..13ee5c0 --- /dev/null +++ b/app/routes/manifest[.webmanifest].ts @@ -0,0 +1,35 @@ +import type { WebAppManifest } from "@remix-pwa/dev" +import { json } from "@remix-run/node" + +export const loader = () => { + return json( + { + name: "Tack Up Now!", + short_name: "Tack Up Now!", + icons: [ + { + src: "./images/192.png", + sizes: "192x192", + type: "image/png", + }, + { + src: "./images/512.png", + sizes: "512x512", + type: "image/png", + }, + ], + theme_color: "#ffffff", + background_color: "#ffffff", + display: "standalone", + description: "Notifications for equinelive.com", + start_url: "/", + id: "tackupnow.com", + } as WebAppManifest, + { + headers: { + "Cache-Control": "public, max-age=600", + "Content-Type": "application/manifest+json", + }, + } + ) +} diff --git a/app/styles/styles.css b/app/styles/styles.css new file mode 100644 index 0000000..bc70d99 --- /dev/null +++ b/app/styles/styles.css @@ -0,0 +1,10 @@ +.bold { + font-weight: bold; +} + +ul { + display: flex; + flex-direction: row; + align-items: center; + white-space: pre-wrap; +} diff --git a/app/useInstallState.ts b/app/useInstallState.ts new file mode 100644 index 0000000..19f9961 --- /dev/null +++ b/app/useInstallState.ts @@ -0,0 +1,48 @@ +import { usePush } from "./usePush" + +type IOSInstallStep = + | "loading" + | "install" + | "open safari" + | "enable notifications" + | "unsupported" + +export default function useInstallState({ + isSupported, + isMobileSafari, +}: { + isSupported: boolean + isMobileSafari: boolean +}) { + const isClient = typeof window !== "undefined" + + if (!isClient) + return { + step: isSupported ? "loading" : ("unsupported" as IOSInstallStep), + installed: false, + } + + const { canSendPush } = usePush() + + const notificationsEnabled = + ("Notification" in window && + window.Notification.permission === "granted") || + canSendPush + + const isRunningPWA = + ("standalone" in navigator && (navigator.standalone as boolean)) || + matchMedia("(dislay-mode: standalone)").matches + + return { + step: !isSupported + ? "unsupported" + : !isMobileSafari + ? "open safari" + : !isRunningPWA && isMobileSafari + ? "install" + : !notificationsEnabled + ? "enable notifications" + : (null as IOSInstallStep | null), + installed: notificationsEnabled, + } +} diff --git a/app/usePush.ts b/app/usePush.ts new file mode 100644 index 0000000..d08dd9b --- /dev/null +++ b/app/usePush.ts @@ -0,0 +1,183 @@ +import { useEffect, useState } from "react" + +export type PushObject = { + /** + * Boolean state indicating whether the user is subscribed to push notifications or not. + */ + isSubscribed: boolean + /** + * The push subscription object + */ + pushSubscription: PushSubscription | null + /** + * Request permission for push notifications + * @returns The permission status of the push notifications + */ + requestPermission: () => NotificationPermission + /** + * Utility to subscribe to push notifications + * @param publicKey the public vapid key + * @param callback a callback function to be called when the subscription is successful + * @param errorCallback a callback function to be called if the subscription fails + */ + subscribeToPush: ( + publicKey: string, + callback?: (subscription: PushSubscription) => void, + errorCallback?: (error: any) => void + ) => void + /** + * Utility to unsubscribe from push notifications + * @param callback a callback function to be called when the unsubscription is successful + * @param errorCallback a callback function to be called if the unsubscription fails + */ + unsubscribeFromPush: ( + callback?: () => void, + errorCallback?: (error: any) => void + ) => void + /** + * Boolean state indicating whether the user has allowed sending of push notifications or not. + */ + canSendPush: boolean +} + +/** + * Push API hook - contains all your necessities for handling push notifications in the client + */ +export const usePush = (): PushObject => { + const [swRegistration, setSWRegistration] = + useState(null) + const [isSubscribed, setIsSubscribed] = useState(false) + const [pushSubscription, setPushSubscription] = + useState(null) + const [canSendPush, setCanSendPush] = useState(false) + + const requestPermission = () => { + if (canSendPush) return "granted" + + Notification.requestPermission().then((permission) => { + if (permission === "granted") { + setCanSendPush(true) + return permission + } else { + setCanSendPush(false) + return permission + } + }) + + return "default" + } + + const subscribeToPush = ( + publicKey: string, + callback?: (subscription: PushSubscription) => void, + errorCallback?: (error: any) => void + ) => { + if (swRegistration === null || swRegistration.pushManager === undefined) + return + + swRegistration.pushManager + .subscribe({ + userVisibleOnly: true, + applicationServerKey: publicKey, + }) + .then( + (subscription) => { + setIsSubscribed(true) + setPushSubscription(subscription) + callback && callback(subscription) + }, + (error) => { + errorCallback && errorCallback(error) + } + ) + } + + const unsubscribeFromPush = ( + callback?: () => void, + errorCallback?: (error: any) => void + ) => { + if (swRegistration === null || swRegistration.pushManager === undefined) + return + + swRegistration.pushManager + .getSubscription() + .then((subscription) => { + if (subscription) { + subscription.unsubscribe().then( + () => { + setIsSubscribed(false) + setPushSubscription(null) + callback && callback() + }, + (error) => { + errorCallback && errorCallback(error) + } + ) + } + }) + .catch((error) => { + errorCallback && errorCallback(error) + }) + } + + useEffect(() => { + if (typeof window === "undefined") return + + const getRegistration = async () => { + if ("serviceWorker" in navigator) { + try { + const _registration = await navigator.serviceWorker.getRegistration() + setSWRegistration(_registration ?? null) + } catch (err) { + console.error("Error getting service worker registration:", err) + } + } else { + console.warn("Service Workers are not supported in this browser.") + } + } + + const handleControllerChange = () => { + getRegistration() + } + + if ("serviceWorker" in navigator) { + navigator.serviceWorker.addEventListener( + "controllerchange", + handleControllerChange + ) + } + + getRegistration() + + return () => { + if ("serviceWorker" in navigator) { + navigator.serviceWorker.removeEventListener( + "controllerchange", + handleControllerChange + ) + } + } + }, []) + + useEffect(() => { + if (swRegistration && swRegistration.pushManager !== undefined) { + swRegistration.pushManager.getSubscription().then((subscription) => { + setIsSubscribed(!!subscription) + setPushSubscription(subscription) + }) + + Notification.permission === "granted" + ? setCanSendPush(true) + : setCanSendPush(false) + } + }, [swRegistration]) + + return { + isSubscribed, + pushSubscription, + requestPermission, + subscribeToPush, + unsubscribeFromPush, + canSendPush, + } +} diff --git a/docker-compose.yaml b/docker-compose.yaml index b72393a..aa614b6 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -6,7 +6,7 @@ services: database: image: postgres ports: - - "0.0.0.0:5433:5432" + - "5433:5432" environment: POSTGRES_PASSWORD: $POSTGRES_PASSWORD POSTGRES_USER: postgres diff --git a/e2e/install.spec.ts b/e2e/install.spec.ts new file mode 100644 index 0000000..b295ad8 --- /dev/null +++ b/e2e/install.spec.ts @@ -0,0 +1,202 @@ +import { test, expect, Page } from "@playwright/test" + +const { describe, beforeEach, skip, use } = test + +function webkitOnly() { + beforeEach(async ({ browserName }) => { + if (browserName !== "webkit") skip() + }) +} + +describe("when user is on iOS", () => { + webkitOnly() + + describe("version 16.4 or higher", () => { + use({ + userAgent: + "Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1", + }) + + describe("and the browser is not safari", () => { + use({ + userAgent: + "Mozilla/5.0 (iPhone; U; CPU iPhone OS 16_4 like Mac OS X; en-gb) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3", + }) + + test("the user is told they need to install through Safari, because reasons, I guess", async ({ + page, + }) => { + await page.goto("/") + + const safariText = await page.getByText(/Open tackupnow.com in Safari/) + + await expect(safariText).toBeAttached() + }) + }) + + test("and tack up now is not running as a PWA, they are instructed to install tack up now", async ({ + page, + }) => { + await page.goto("/") + + const installText = await page.getByText(/Install Tack Up Now!/) + + await expect(installText).toBeAttached() + }) + + describe("and tack up now is running as a PWA", () => { + beforeEach(async ({ page }) => { + await page.addInitScript( + () => ((window.navigator as any)["standalone"] = true) + ) + await stubServiceWorker(page) + }) + + describe("and notifications aren't enabled", () => { + test("they are asked to enable notifications", async ({ page }) => { + await stubNotifications(page, { permission: "default" }) + await page.goto("/") + + const enableButton = await page.getByText(/Enable Notifications/) + + await expect(enableButton).toBeAttached() + }) + + describe("and then the user enables notifications", () => { + beforeEach(async ({ page }) => { + await stubNotifications(page, { + permission: "default", + requestPermissionResult: "granted", + }) + await page.route("/api/subscribe", async (route) => { + await route.fulfill() + }) + }) + + test("their push token is submitted after notifications are enabled", async ({ + page, + }) => { + await page.goto("/") + + const requestPromise = page.waitForRequest("/api/subscribe") + await page.getByText(/Enable Notifications/).click() + const request = await requestPromise + + await expect(request.postDataJSON()).toEqual({ hi: "subscription" }) + }) + + test("users see tack up now after enabling notifications", async ({ + page, + }) => { + await page.goto("/") + + const requestPromise = page.waitForRequest("/api/subscribe") + await page.getByText(/Enable Notifications/).click() + await requestPromise + + const yourNotificationsHeading = + await page.getByText(/Your Notifications/) + + await expect(yourNotificationsHeading).toBeVisible() + }) + }) + }) + + describe("and notifications are enabled", () => { + beforeEach(async ({ page }) => { + await stubNotifications(page, { permission: "granted" }) + }) + + test("they aren't asked to enable notifications", async ({ page }) => { + await page.goto("/") + await page.evaluate(async () => await navigator.serviceWorker.ready) + + const notificationText = await page.getByText(/Enable Notifications/) + + await expect(notificationText).not.toBeAttached() + }) + + test("users see tack up now", async ({ page }) => { + await page.goto("/") + + const yourNotificationsHeading = + await page.getByText(/Your Notifications/) + + await expect(yourNotificationsHeading).toBeVisible() + }) + }) + }) + }) + + describe("version 16.3 and under", () => { + use({ + userAgent: + "Mozilla/5.0 (iPhone; CPU iPhone OS 16_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1", + }) + + test("version 16.3 and under they are informed that their iOS version isn't supported", async ({ + page, + }) => { + await page.goto("/") + + const sorryText = await page.getByText(/Sorry/) + + await expect(sorryText).toBeVisible() + }) + }) +}) + +function stubNotifications( + page: Page, + args: { + permission: NotificationPermission + requestPermissionResult?: NotificationPermission + } +) { + return page.addInitScript( + (args: { + permission: NotificationPermission + requestPermissionResult?: NotificationPermission + }) => { + window.Notification = window.Notification ?? {} + Object.defineProperty(window.Notification, "permission", { + value: args.permission, + writable: true, + }) + Object.defineProperty(window.Notification, "requestPermission", { + value: () => + Promise.resolve(args.requestPermissionResult ?? args.permission), + }) + }, + args + ) +} + +function stubServiceWorker(page: Page) { + return page.addInitScript(() => { + const registration = { + pushManager: { + getSubscription() { + return Promise.resolve({ hi: "subscription" }) + }, + subscribe(args: Parameters[0]) { + return Promise.resolve({ hi: "subscription" }) + }, + }, + } + + Object.defineProperty(navigator, "serviceWorker", { + value: { + register() { + return Promise.resolve(registration) + }, + getRegistration() { + return Promise.resolve(registration) + }, + addEventListener() {}, + removeEventListener() {}, + }, + writable: false, + }) + }) +} diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 0000000..0650c6f --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,32 @@ +const ignorePatterns = [ + "\\/build\\/", + "\\/coverage\\/", + "\\/\\.vscode\\/", + "\\/\\.tmp\\/", + "\\/\\.cache\\/", + "data", + "e2e", +] + +module.exports = { + moduleNameMapper: { + "^@web3-storage/multipart-parser$": require.resolve( + "@web3-storage/multipart-parser" + ), + "\\?url$": "/url-mock.js", + }, + modulePathIgnorePatterns: ignorePatterns, + transform: { + "\\.[jt]sx?$": require.resolve("./transform"), + }, + transformIgnorePatterns: [], + watchPathIgnorePatterns: [...ignorePatterns, "\\/node_modules\\/"], + watchPlugins: [ + require.resolve("jest-watch-typeahead/filename"), + require.resolve("jest-watch-typeahead/testname"), + ], + displayName: "testing", + setupFiles: [], + testEnvironment: "jsdom", + setupFilesAfterEnv: ["./setupTests.ts", "@testing-library/jest-dom"], +} diff --git a/package-lock.json b/package-lock.json index f53fdf9..e0c8b51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,7 +5,10 @@ "packages": { "": { "name": "site", + "hasInstallScript": true, "dependencies": { + "@remix-pwa/sw": "^3.0.9", + "@remix-pwa/worker-runtime": "^2.1.4", "@remix-run/express": "^2.9.1", "@remix-run/node": "^2.9.0", "@remix-run/react": "^2.9.0", @@ -14,20 +17,37 @@ "express": "^4.19.2", "isbot": "^4.1.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "semver": "^7.6.3", + "ua-parser-js": "^1.0.39" }, "devDependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.21.0", + "@babel/preset-env": "^7.24.5", + "@babel/preset-react": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", + "@playwright/test": "^1.44.1", + "@remix-pwa/dev": "^3.1.0", "@remix-run/dev": "^2.9.0", "@remix-run/testing": "^2.9.1", + "@swc/core": "^1.5.7", + "@swc/jest": "^0.2.36", + "@testing-library/jest-dom": "^6.4.5", "@testing-library/react": "^15.0.4", "@types/express": "^4.17.21", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.5", "@types/react": "^18.2.20", "@types/react-dom": "^18.2.7", + "@types/semver": "^7.5.8", "@types/supertest": "^6.0.2", + "@types/ua-parser-js": "^0.7.39", "@typescript-eslint/eslint-plugin": "^6.7.4", "@typescript-eslint/parser": "^6.7.4", - "chai": "^4.4.1", - "chai-as-promised": "^7.1.1", + "babel-jest": "^29.7.0", + "babel-plugin-transform-remove-console": "^6.9.4", "eslint": "^8.38.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.28.1", @@ -35,8 +55,10 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "jest": "^29.7.0", - "sinon": "^17.0.1", - "sinon-chai": "^3.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-matchmedia-mock": "^1.1.0", + "jest-watch-typeahead": "^2.2.2", + "prettier": "^3.3.3", "supertest": "^7.0.0", "ts-node": "^10.9.2", "typescript": "^5.1.6", @@ -56,11 +78,16 @@ "node": ">=0.10.0" } }, + "node_modules/@adobe/css-tools": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==", + "dev": true + }, "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" @@ -70,12 +97,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "dev": true, + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" }, "engines": { @@ -83,30 +109,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", - "dev": true, + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", - "dev": true, + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -125,18 +149,16 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", - "dev": true, + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dependencies": { - "@babel/types": "^7.24.0", + "@babel/types": "^7.25.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -149,7 +171,6 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -161,7 +182,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -169,15 +189,26 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -189,25 +220,23 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", - "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", - "dev": true, + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", + "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.24.5", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-split-export-declaration": "^7.24.5", "semver": "^6.3.1" }, "engines": { @@ -218,6 +247,31 @@ } }, "node_modules/@babel/helper-create-class-features-plugin/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/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", @@ -226,11 +280,26 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "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-environment-visitor": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -239,7 +308,6 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, "dependencies": { "@babel/template": "^7.22.15", "@babel/types": "^7.23.0" @@ -261,40 +329,37 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "dev": true, + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", + "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", "dependencies": { - "@babel/types": "^7.23.0" + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", - "dev": true, + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dependencies": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -307,7 +372,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -316,19 +380,34 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", + "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/helper-replace-supers": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-member-expression-to-functions": "^7.23.0", @@ -342,12 +421,12 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -357,7 +436,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -366,65 +444,72 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", + "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", - "dev": true, + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz", + "integrity": "sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==", "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.23.0", + "@babel/template": "^7.24.0", + "@babel/types": "^7.24.5" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", - "dev": true, + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", - "dev": true, + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -437,7 +522,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -449,7 +533,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -463,7 +546,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -471,14 +553,12 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@babel/highlight/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" } @@ -487,7 +567,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -496,7 +575,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -505,10 +583,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", - "dev": true, + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -516,6 +596,117 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz", + "integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.5" + }, + "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.24.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.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.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.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -552,10 +743,78 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-decorators": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz", "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.0" @@ -595,7 +854,6 @@ "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.0" }, @@ -678,6 +936,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", @@ -697,8 +970,379 @@ "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "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==", "dev": true, "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.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", + "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", + "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", + "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.24.5", + "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.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", + "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { @@ -712,7 +1356,6 @@ "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", - "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.24.0", @@ -725,11 +1368,410 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", + "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", + "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", + "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", + "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.5", + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", + "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", + "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", + "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-typescript": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz", "integrity": "sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.24.4", @@ -743,11 +1785,211 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", + "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.5", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.4", + "@babel/plugin-transform-classes": "^7.24.5", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.5", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.5", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.5", + "@babel/plugin-transform-parameters": "^7.24.5", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.5", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.5", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "dev": true, + "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/preset-react": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", + "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-react-display-name": "^7.24.1", + "@babel/plugin-transform-react-jsx": "^7.23.4", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/preset-typescript": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-option": "^7.23.5", @@ -762,11 +2004,16 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "node_modules/@babel/runtime": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -775,33 +2022,28 @@ } }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", - "dev": true, + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -810,13 +2052,12 @@ } }, "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -833,7 +2074,7 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -845,7 +2086,7 @@ "version": "0.3.9", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -854,8 +2095,7 @@ "node_modules/@emotion/hash": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==", - "dev": true + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" }, "node_modules/@esbuild/aix-ppc64": { "version": "0.20.2", @@ -864,7 +2104,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "aix" @@ -880,7 +2119,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -896,7 +2134,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -912,7 +2149,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "android" @@ -928,7 +2164,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -944,7 +2179,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -960,7 +2194,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -976,7 +2209,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -992,7 +2224,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1008,7 +2239,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1024,7 +2254,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1040,7 +2269,6 @@ "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1056,7 +2284,6 @@ "cpu": [ "mips64el" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1072,7 +2299,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1088,7 +2314,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1104,7 +2329,6 @@ "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1120,7 +2344,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1136,7 +2359,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "netbsd" @@ -1145,6 +2367,23 @@ "node": ">=12" } }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/openbsd-x64": { "version": "0.17.6", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz", @@ -1152,7 +2391,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "openbsd" @@ -1168,7 +2406,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "sunos" @@ -1184,7 +2421,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1200,7 +2436,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1216,7 +2451,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1377,7 +2611,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -1391,10 +2624,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -1406,7 +2638,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1621,6 +2852,18 @@ "integrity": "sha512-wRiUsea88TjKDc4FBEn+sLvIDesp6brMbGWnJGjew2waAc9evdhja/2LvePc898HJbHw0L+MTWy7NhpnELAvLQ==", "dev": true }, + "node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/@jest/environment": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", @@ -1881,7 +3124,6 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1895,7 +3137,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -1904,22 +3145,30 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, "engines": { "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "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==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1928,14 +3177,12 @@ "node_modules/@jspm/core": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@jspm/core/-/core-2.0.1.tgz", - "integrity": "sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==", - "dev": true + "integrity": "sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==" }, "node_modules/@mdx-js/mdx": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", - "dev": true, "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/mdx": "^2.0.0", @@ -1999,7 +3246,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", - "dev": true, "dependencies": { "semver": "^7.3.5" }, @@ -2011,7 +3257,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", - "dev": true, "dependencies": { "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", @@ -2030,7 +3275,6 @@ "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, "engines": { "node": ">=12" } @@ -2039,7 +3283,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-4.0.1.tgz", "integrity": "sha512-lRCEGdHZomFsURroh522YvA/2cVb9oPIJrjHanCJZkiasz1BzcnLr3tBJhlV7S86MBJBuAQ33is2D60YitZL2Q==", - "dev": true, "dependencies": { "@npmcli/git": "^4.1.0", "glob": "^10.2.2", @@ -2057,7 +3300,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", - "dev": true, "dependencies": { "which": "^3.0.0" }, @@ -2069,17 +3311,610 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, "optional": true, "engines": { "node": ">=14" } }, + "node_modules/@playwright/test": { + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz", + "integrity": "sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==", + "dev": true, + "dependencies": { + "playwright": "1.44.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@remix-pwa/dev": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-pwa/dev/-/dev-3.1.0.tgz", + "integrity": "sha512-V/C5ae2NZtaxxu74769WeLpS4WAZtDY2k6B7BQKOCeqg0kFIIjqGegEUpitUHfmSnUkECHiOrvCs2iiTOF1E8A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.24.9", + "@babel/generator": "^7.24.10", + "@babel/traverse": "^7.24.8", + "@rollup/plugin-commonjs": "^26.0.1", + "@rollup/plugin-node-resolve": "^15.2.3", + "chokidar": "^3.6.0", + "fast-glob": "^3.3.2", + "fs-extra": "^11.2.0", + "lodash": "^4.17.21", + "magic-string": "^0.30.10", + "pathe": "^1.1.2", + "rollup-plugin-esbuild": "^6.1.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@remix-run/dev": "^1.15.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@remix-run/dev": { + "optional": true + } + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/aix-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/android-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/android-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/android-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/darwin-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/darwin-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/freebsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-loong64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-mips64el": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-riscv64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-s390x": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/linux-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/netbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/openbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/sunos-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/win32-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/win32-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/@esbuild/win32-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@remix-pwa/dev/node_modules/esbuild": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "dev": true, + "hasInstallScript": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" + } + }, + "node_modules/@remix-pwa/dev/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@remix-pwa/dev/node_modules/rollup-plugin-esbuild": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-6.1.1.tgz", + "integrity": "sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.5", + "debug": "^4.3.4", + "es-module-lexer": "^1.3.1", + "get-tsconfig": "^4.7.2" + }, + "engines": { + "node": ">=14.18.0" + }, + "peerDependencies": { + "esbuild": ">=0.18.0", + "rollup": "^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/@remix-pwa/sw": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@remix-pwa/sw/-/sw-3.0.9.tgz", + "integrity": "sha512-1VqK1bg4wDNnh7nMChnPQEzF2Uc7lF6bIn569RIU28rO2kxlUM1WoEWb8GYiLttEoHKae7XNHt/NP5ovJ371aA==", + "dependencies": { + "@remix-run/server-runtime": "^2.10.3", + "idb": "^8.0.0", + "pako": "^2.1.0", + "tiny-invariant": "^1.3.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@remix-run/dev": "^2.5.1", + "@remix-run/react": "^2.5.1", + "react": "^18.2.0", + "react-dom": "^18.2.0" + } + }, + "node_modules/@remix-pwa/sw/node_modules/@remix-run/router": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", + "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@remix-pwa/sw/node_modules/@remix-run/server-runtime": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-2.12.1.tgz", + "integrity": "sha512-iuj9ju34f0LztPpd5dVuTXgt4x/MJeRsBiLuEx02nDSMGoNCAIx2LdeNYvE+XXdsf1Ht2NMlpRU+HBPCz3QLZg==", + "dependencies": { + "@remix-run/router": "1.19.2", + "@types/cookie": "^0.6.0", + "@web3-storage/multipart-parser": "^1.0.0", + "cookie": "^0.6.0", + "set-cookie-parser": "^2.4.8", + "source-map": "^0.7.3", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "typescript": "^5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@remix-pwa/sw/node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "node_modules/@remix-pwa/worker-runtime": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@remix-pwa/worker-runtime/-/worker-runtime-2.1.4.tgz", + "integrity": "sha512-EG6A5wss2waXWckQ0dTD6Ki9CnCqV2VrdSRfXLiG4k9yj1/7LNT8jF3c6EPid/pyqVW4nKOwHPvOOlLc8kEplg==", + "dependencies": { + "@remix-run/router": "^1.18.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@remix-run/server-runtime": "^1.19.2 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@remix-run/server-runtime": { + "optional": true + } + } + }, + "node_modules/@remix-pwa/worker-runtime/node_modules/@remix-run/router": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", + "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@remix-run/dev": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/@remix-run/dev/-/dev-2.9.0.tgz", "integrity": "sha512-h0y2iGpNKDHywlGNW4cKW8Pd34ugmjx6bbI4Y1aR4P4lYaAv9VoZe7fOmiFIkTMO4Bvt2Ts1imkMrQ+liHr4VA==", - "dev": true, "dependencies": { "@babel/core": "^7.21.8", "@babel/generator": "^7.21.5", @@ -2163,6 +3998,20 @@ } } }, + "node_modules/@remix-run/dev/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@remix-run/express": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/@remix-run/express/-/express-2.9.1.tgz", @@ -2509,6 +4358,99 @@ "web-streams-polyfill": "^3.1.1" } }, + "node_modules/@rollup/plugin-commonjs": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz", + "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^10.4.1", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=16.0.0 || 14 >= 14.17" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@rollup/plugin-commonjs/node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.16.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz", @@ -2516,7 +4458,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -2529,7 +4470,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -2542,7 +4482,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -2555,7 +4494,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -2568,7 +4506,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2581,7 +4518,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2594,7 +4530,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2607,7 +4542,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2620,7 +4554,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2633,7 +4566,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2646,7 +4578,6 @@ "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2659,7 +4590,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2672,7 +4602,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2685,7 +4614,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -2698,7 +4626,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -2711,7 +4638,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -2741,32 +4667,236 @@ "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "node_modules/@swc/core": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.5.7.tgz", + "integrity": "sha512-U4qJRBefIJNJDRCCiVtkfa/hpiZ7w0R6kASea+/KLp+vkus3zcLSB8Ub8SvKgTIxjWpwsKcZlPf5nrv4ls46SQ==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "@swc/counter": "^0.1.2", + "@swc/types": "0.1.7" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.5.7", + "@swc/core-darwin-x64": "1.5.7", + "@swc/core-linux-arm-gnueabihf": "1.5.7", + "@swc/core-linux-arm64-gnu": "1.5.7", + "@swc/core-linux-arm64-musl": "1.5.7", + "@swc/core-linux-x64-gnu": "1.5.7", + "@swc/core-linux-x64-musl": "1.5.7", + "@swc/core-win32-arm64-msvc": "1.5.7", + "@swc/core-win32-ia32-msvc": "1.5.7", + "@swc/core-win32-x64-msvc": "1.5.7" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } } }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/@swc/core-darwin-arm64": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.7.tgz", + "integrity": "sha512-bZLVHPTpH3h6yhwVl395k0Mtx8v6CGhq5r4KQdAoPbADU974Mauz1b6ViHAJ74O0IVE5vyy7tD3OpkQxL/vMDQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "node_modules/@swc/core-darwin-x64": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.7.tgz", + "integrity": "sha512-RpUyu2GsviwTc2qVajPL0l8nf2vKj5wzO3WkLSHAHEJbiUZk83NJrZd1RVbEknIMO7+Uyjh54hEh8R26jSByaw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.7.tgz", + "integrity": "sha512-cTZWTnCXLABOuvWiv6nQQM0hP6ZWEkzdgDvztgHI/+u/MvtzJBN5lBQ2lue/9sSFYLMqzqff5EHKlFtrJCA9dQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.7.tgz", + "integrity": "sha512-hoeTJFBiE/IJP30Be7djWF8Q5KVgkbDtjySmvYLg9P94bHg9TJPSQoC72tXx/oXOgXvElDe/GMybru0UxhKx4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.7.tgz", + "integrity": "sha512-+NDhK+IFTiVK1/o7EXdCeF2hEzCiaRSrb9zD7X2Z7inwWlxAntcSuzZW7Y6BRqGQH89KA91qYgwbnjgTQ22PiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.7.tgz", + "integrity": "sha512-25GXpJmeFxKB+7pbY7YQLhWWjkYlR+kHz5I3j9WRl3Lp4v4UD67OGXwPe+DIcHqcouA1fhLhsgHJWtsaNOMBNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.7.tgz", + "integrity": "sha512-0VN9Y5EAPBESmSPPsCJzplZHV26akC0sIgd3Hc/7S/1GkSMoeuVL+V9vt+F/cCuzr4VidzSkqftdP3qEIsXSpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.7.tgz", + "integrity": "sha512-RtoNnstBwy5VloNCvmvYNApkTmuCe4sNcoYWpmY7C1+bPR+6SOo8im1G6/FpNem8AR5fcZCmXHWQ+EUmRWJyuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.7.tgz", + "integrity": "sha512-Xm0TfvcmmspvQg1s4+USL3x8D+YPAfX2JHygvxAnCJ0EHun8cm2zvfNBcsTlnwYb0ybFWXXY129aq1wgFC9TpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.7.tgz", + "integrity": "sha512-tp43WfJLCsKLQKBmjmY/0vv1slVywR5Q4qKjF5OIY8QijaEW7/8VwPyUyVoJZEnDgv9jKtUTG5PzqtIYPZGnyg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", "dev": true }, + "node_modules/@swc/jest": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz", + "integrity": "sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==", + "dev": true, + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@swc/counter": "^0.1.3", + "jsonc-parser": "^3.2.0" + }, + "engines": { + "npm": ">= 7.0.0" + }, + "peerDependencies": { + "@swc/core": "*" + } + }, + "node_modules/@swc/types": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.7.tgz", + "integrity": "sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==", + "dev": true, + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, "node_modules/@testing-library/dom": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.0.0.tgz", @@ -2786,6 +4916,70 @@ "node": ">=18" } }, + "node_modules/@testing-library/jest-dom": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.5.tgz", + "integrity": "sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A==", + "dev": true, + "dependencies": { + "@adobe/css-tools": "^4.3.2", + "@babel/runtime": "^7.9.2", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + }, + "peerDependencies": { + "@jest/globals": ">= 28", + "@types/bun": "latest", + "@types/jest": ">= 28", + "jest": ">= 28", + "vitest": ">= 0.32" + }, + "peerDependenciesMeta": { + "@jest/globals": { + "optional": true + }, + "@types/bun": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "jest": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true + }, "node_modules/@testing-library/react": { "version": "15.0.4", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-15.0.4.tgz", @@ -2804,35 +4998,43 @@ "react-dom": "^18.0.0" } }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true + "devOptional": true }, "node_modules/@tsconfig/node12": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true + "devOptional": true }, "node_modules/@tsconfig/node14": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true + "devOptional": true }, "node_modules/@tsconfig/node16": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true + "devOptional": true }, "node_modules/@types/acorn": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", - "dev": true, "dependencies": { "@types/estree": "*" } @@ -2918,7 +5120,6 @@ "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dev": true, "dependencies": { "@types/ms": "*" } @@ -2926,14 +5127,12 @@ "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/estree-jsx": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "dev": true, "dependencies": { "@types/estree": "*" } @@ -2975,7 +5174,6 @@ "version": "2.3.10", "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", - "dev": true, "dependencies": { "@types/unist": "^2" } @@ -3010,6 +5208,59 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -3026,7 +5277,6 @@ "version": "3.0.15", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", - "dev": true, "dependencies": { "@types/unist": "^2" } @@ -3034,8 +5284,7 @@ "node_modules/@types/mdx": { "version": "2.0.13", "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", - "dev": true + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" }, "node_modules/@types/methods": { "version": "1.1.4", @@ -3052,14 +5301,12 @@ "node_modules/@types/ms": { "version": "0.7.34", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "dev": true + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", - "dev": true, + "version": "20.14.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.5.tgz", + "integrity": "sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==", "dependencies": { "undici-types": "~5.26.4" } @@ -3101,6 +5348,12 @@ "@types/react": "*" } }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -3155,11 +5408,22 @@ "@types/superagent": "^8.1.0" } }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true + }, + "node_modules/@types/ua-parser-js": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==", + "dev": true + }, "node_modules/@types/unist": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", - "dev": true + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" }, "node_modules/@types/yargs": { "version": "17.0.32", @@ -3391,7 +5655,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.5.tgz", "integrity": "sha512-Rc9A6ylsw7EBErmpgqCMvc/Z/eEZxI5k1xfLQHw7f5HHh3oc5YfzsAsYU/PdmSNjF1dp3sGEViBdDltvwnfVaA==", - "dev": true, "dependencies": { "@babel/core": "^7.23.9" } @@ -3400,7 +5663,6 @@ "version": "1.14.2", "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.14.2.tgz", "integrity": "sha512-OasEW4ojGqqRiUpsyEDUMrSkLnmwbChtafkogpCZ1eDAgAZ9eY9CHLYodj2nB8aV5T25kQ5shm92k25ngjYhhg==", - "dev": true, "dependencies": { "@emotion/hash": "^0.9.0", "@vanilla-extract/private": "^1.0.4", @@ -3419,7 +5681,6 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-6.5.0.tgz", "integrity": "sha512-E2YcfO8vA+vs+ua+gpvy1HRqvgWbI+MTlUpxA8FvatOvybuNcWAY0CKwQ/Gpj7rswYKtC6C7+xw33emM6/ImdQ==", - "dev": true, "dependencies": { "@babel/core": "^7.20.7", "@babel/plugin-syntax-typescript": "^7.20.0", @@ -3439,8 +5700,7 @@ "node_modules/@vanilla-extract/private": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.4.tgz", - "integrity": "sha512-8FGD6AejeC/nXcblgNCM5rnZb9KXa4WNkR03HCWtdJBpANjTgjHEglNLFnhuvdQ78tC6afaxBPI+g7F2NX3tgg==", - "dev": true + "integrity": "sha512-8FGD6AejeC/nXcblgNCM5rnZb9KXa4WNkR03HCWtdJBpANjTgjHEglNLFnhuvdQ78tC6afaxBPI+g7F2NX3tgg==" }, "node_modules/@web3-storage/multipart-parser": { "version": "1.0.0", @@ -3453,6 +5713,13 @@ "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", "optional": true }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true + }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -3480,7 +5747,6 @@ "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -3488,11 +5754,20 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, "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" } @@ -3501,16 +5776,27 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.4.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -3566,7 +5852,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -3575,7 +5860,6 @@ "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" }, @@ -3601,14 +5885,12 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "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 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { "version": "5.3.0", @@ -3798,15 +6080,6 @@ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -3817,7 +6090,6 @@ "version": "1.8.6", "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "dev": true, "bin": { "astring": "bin/astring" } @@ -3937,6 +6209,60 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-remove-console": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", + "integrity": "sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg==", + "dev": true + }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", @@ -3980,7 +6306,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -3989,14 +6314,12 @@ "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==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "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==", - "dev": true, "funding": [ { "type": "github", @@ -4038,7 +6361,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -4093,7 +6415,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -4113,16 +6434,14 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", - "dev": true, "dependencies": { "pako": "~0.2.0" } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "funding": [ { "type": "opencollective", @@ -4138,10 +6457,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -4163,7 +6482,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "funding": [ { "type": "github", @@ -4188,11 +6506,22 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/builtins": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, "dependencies": { "semver": "^7.0.0" } @@ -4209,7 +6538,6 @@ "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, "engines": { "node": ">=8" } @@ -4218,7 +6546,6 @@ "version": "17.1.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", - "dev": true, "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", @@ -4241,7 +6568,6 @@ "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, "engines": { "node": ">=12" } @@ -4283,10 +6609,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", - "dev": true, + "version": "1.0.30001662", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001662.tgz", + "integrity": "sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==", "funding": [ { "type": "opencollective", @@ -4306,47 +6631,15 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", - "dev": true, - "dependencies": { - "check-error": "^1.0.2" - }, - "peerDependencies": { - "chai": ">= 2.1.2 < 5" - } - }, "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" @@ -4371,7 +6664,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4381,7 +6673,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4391,7 +6682,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4401,24 +6691,11 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -4446,7 +6723,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, "engines": { "node": ">=10" } @@ -4476,7 +6752,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, "engines": { "node": ">=6" } @@ -4485,7 +6760,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, @@ -4497,7 +6771,6 @@ "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, "engines": { "node": ">=6" }, @@ -4560,7 +6833,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, "engines": { "node": ">=0.8" } @@ -4585,7 +6857,6 @@ "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" }, @@ -4596,8 +6867,7 @@ "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 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -4615,12 +6885,24 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, + "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==", + "optional": true, + "peer": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, "node_modules/component-emitter": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", @@ -4680,8 +6962,7 @@ "node_modules/confbox": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", - "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", - "dev": true + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==" }, "node_modules/content-disposition": { "version": "0.5.4", @@ -4724,8 +7005,7 @@ "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 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { "version": "0.6.0", @@ -4749,11 +7029,23 @@ "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", "dev": true }, + "node_modules/core-js-compat": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/create-jest": { "version": "29.7.0", @@ -4780,7 +7072,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "devOptional": true }, "node_modules/cross-env": { "version": "7.0.3", @@ -4830,7 +7122,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, "engines": { "node": ">= 6" }, @@ -4838,11 +7129,16 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, "bin": { "cssesc": "bin/cssesc" }, @@ -4850,11 +7146,34 @@ "node": ">=4" } }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", @@ -4870,6 +7189,20 @@ "node": ">= 6" } }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", @@ -4922,12 +7255,11 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -4938,11 +7270,16 @@ } } }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, "node_modules/decode-named-character-reference": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dev": true, "dependencies": { "character-entities": "^2.0.0" }, @@ -4965,18 +7302,6 @@ } } }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4986,14 +7311,12 @@ "node_modules/deep-object-diff": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", - "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==", - "dev": true + "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -5002,7 +7325,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "dependencies": { "clone": "^1.0.2" }, @@ -5064,7 +7386,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, "engines": { "node": ">=6" } @@ -5101,7 +7422,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true, "engines": { "node": ">=0.3.1" } @@ -5145,11 +7465,23 @@ "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/dotenv": { "version": "16.4.5", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "dev": true, "engines": { "node": ">=12" }, @@ -5161,7 +7493,6 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -5172,14 +7503,12 @@ "node_modules/duplexify/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 + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/duplexify/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, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -5194,7 +7523,6 @@ "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, "dependencies": { "safe-buffer": "~5.1.0" } @@ -5202,8 +7530,7 @@ "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "node_modules/ee-first": { "version": "1.1.1", @@ -5211,10 +7538,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.747", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.747.tgz", - "integrity": "sha512-+FnSWZIAvFHbsNVmUxhEqWiaOiPMcfum1GQzlWCg/wLigVtshOsjXHyEFfmt6cFK6+HkS3QOJBv6/3OPumbBfw==", - "dev": true + "version": "1.5.27", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.27.tgz", + "integrity": "sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==" }, "node_modules/emittery": { "version": "0.13.1", @@ -5231,8 +7557,7 @@ "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/encodeurl": { "version": "1.0.2", @@ -5246,7 +7571,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "dependencies": { "once": "^1.4.0" } @@ -5264,11 +7588,22 @@ "node": ">=10.13.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/err-code": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" }, "node_modules/error-ex": { "version": "1.3.2", @@ -5386,8 +7721,7 @@ "node_modules/es-module-lexer": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", - "dev": true + "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==" }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -5445,7 +7779,6 @@ "version": "0.17.6", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.6.tgz", "integrity": "sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==", - "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -5482,7 +7815,6 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/esbuild-plugins-node-modules-polyfill/-/esbuild-plugins-node-modules-polyfill-1.6.3.tgz", "integrity": "sha512-nydQGT3RijD8mBd3Hek+2gSAxndgceZU9GIjYYiqU+7CE7veN8utTmupf0frcKpwIXCXWpRofL9CY9k0yU70CA==", - "dev": true, "dependencies": { "@jspm/core": "^2.0.1", "local-pkg": "^0.5.0", @@ -5499,7 +7831,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, "engines": { "node": ">=6" } @@ -5521,6 +7852,37 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/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==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/eslint": { "version": "8.57.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", @@ -6054,7 +8416,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0" }, @@ -6067,7 +8428,6 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", - "dev": true, "dependencies": { "@types/estree-jsx": "^1.0.0", "estree-util-is-identifier-name": "^2.0.0", @@ -6082,7 +8442,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==", - "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -6092,7 +8451,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", - "dev": true, "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", @@ -6107,7 +8465,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-1.3.0.tgz", "integrity": "sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==", - "dev": true, "dependencies": { "is-plain-obj": "^3.0.0" }, @@ -6119,7 +8476,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", - "dev": true, "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^2.0.0" @@ -6133,7 +8489,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0" } @@ -6159,7 +8514,6 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "dev": true, "dependencies": { "@types/node": "*", "require-like": ">= 0.1.1" @@ -6180,7 +8534,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -6212,7 +8565,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", - "dev": true, "engines": { "node": ">=6" }, @@ -6317,8 +8669,7 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/fast-deep-equal": { "version": "3.1.3", @@ -6373,7 +8724,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "dev": true, "dependencies": { "format": "^0.2.0" }, @@ -6448,7 +8798,6 @@ "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" @@ -6492,7 +8841,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -6508,7 +8856,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, "engines": { "node": ">=14" }, @@ -6534,7 +8881,6 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "dev": true, "engines": { "node": ">=0.4.x" } @@ -6572,14 +8918,12 @@ "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6593,7 +8937,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, "dependencies": { "minipass": "^7.0.3" }, @@ -6659,7 +9002,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", - "dev": true, "dependencies": { "loader-utils": "^3.2.0" } @@ -6668,7 +9010,6 @@ "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" } @@ -6682,15 +9023,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -6733,7 +9065,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, "engines": { "node": ">=10" }, @@ -6771,23 +9102,20 @@ } }, "node_modules/glob": { - "version": "10.3.12", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", - "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", - "dev": true, + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.10.2" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -6807,7 +9135,6 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "engines": { "node": ">=4" } @@ -6867,8 +9194,7 @@ "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 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphemer": { "version": "1.4.0", @@ -6880,7 +9206,6 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz", "integrity": "sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==", - "dev": true, "dependencies": { "browserify-zlib": "^0.1.4", "is-deflate": "^1.0.0", @@ -6906,7 +9231,6 @@ "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" } @@ -6973,7 +9297,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", @@ -7000,7 +9323,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", - "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -7019,7 +9341,6 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, "dependencies": { "lru-cache": "^7.5.1" }, @@ -7031,7 +9352,18 @@ "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, "engines": { "node": ">=12" } @@ -7057,11 +9389,37 @@ "node": ">= 0.8" } }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, "engines": { "node": ">=10.17.0" } @@ -7081,7 +9439,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, "engines": { "node": "^10 || ^12 || >= 14" }, @@ -7089,11 +9446,15 @@ "postcss": "^8.1.0" } }, + "node_modules/idb": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/idb/-/idb-8.0.0.tgz", + "integrity": "sha512-l//qvlAKGmQO31Qn7xdzagVPPaHTxXx199MhrAFuVBTPqydcPYBWjkrbv4Y0ktB+GmWOiwHl237UUOrLmQxLvw==" + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -7157,7 +9518,6 @@ "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" } @@ -7166,7 +9526,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, "engines": { "node": ">=8" } @@ -7189,8 +9548,7 @@ "node_modules/inline-style-parser": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", - "dev": true + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, "node_modules/internal-slot": { "version": "1.0.7", @@ -7218,7 +9576,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7228,7 +9585,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "dev": true, "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" @@ -7333,7 +9689,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, "funding": [ { "type": "github", @@ -7352,6 +9707,21 @@ "node": ">=4" } }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -7367,7 +9737,6 @@ "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, "dependencies": { "hasown": "^2.0.0" }, @@ -7409,7 +9778,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7418,8 +9786,7 @@ "node_modules/is-deflate": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", - "integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==", - "dev": true + "integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==" }, "node_modules/is-extglob": { "version": "2.1.1", @@ -7445,7 +9812,6 @@ "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==", - "dev": true, "engines": { "node": ">=8" } @@ -7488,7 +9854,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", "integrity": "sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7497,7 +9862,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7507,7 +9871,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, "engines": { "node": ">=8" } @@ -7524,6 +9887,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -7572,7 +9941,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, "engines": { "node": ">=10" }, @@ -7580,11 +9948,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, "node_modules/is-reference": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", - "dev": true, "dependencies": { "@types/estree": "*" } @@ -7636,7 +10009,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, "engines": { "node": ">=8" }, @@ -7692,7 +10064,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, "engines": { "node": ">=10" }, @@ -7848,16 +10219,12 @@ } }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -7868,8 +10235,7 @@ "node_modules/javascript-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", - "dev": true + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" }, "node_modules/jest": { "version": "29.7.0", @@ -8233,6 +10599,33 @@ "integrity": "sha512-wRiUsea88TjKDc4FBEn+sLvIDesp6brMbGWnJGjew2waAc9evdhja/2LvePc898HJbHw0L+MTWy7NhpnELAvLQ==", "dev": true }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, "node_modules/jest-environment-node": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", @@ -8376,6 +10769,18 @@ "integrity": "sha512-wRiUsea88TjKDc4FBEn+sLvIDesp6brMbGWnJGjew2waAc9evdhja/2LvePc898HJbHw0L+MTWy7NhpnELAvLQ==", "dev": true }, + "node_modules/jest-matchmedia-mock": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-matchmedia-mock/-/jest-matchmedia-mock-1.1.0.tgz", + "integrity": "sha512-REnJRsOSCMpGAlkxmvVTqEBpregyFVi9MPEH3N83W1yLKzDdNehtCkcdDZduXq74PLtfI+11NyM4zKCK5ynV9g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "jest": ">=13" + } + }, "node_modules/jest-message-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", @@ -8777,6 +11182,115 @@ "integrity": "sha512-wRiUsea88TjKDc4FBEn+sLvIDesp6brMbGWnJGjew2waAc9evdhja/2LvePc898HJbHw0L+MTWy7NhpnELAvLQ==", "dev": true }, + "node_modules/jest-watch-typeahead": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-2.2.2.tgz", + "integrity": "sha512-+QgOFW4o5Xlgd6jGS5X37i08tuuXNW8X0CV9WNFi+3n8ExCIP+E1melYhvYLjv5fE6D0yyzk74vsSO8I6GqtvQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^6.0.0", + "chalk": "^5.2.0", + "jest-regex-util": "^29.0.0", + "jest-watcher": "^29.0.0", + "slash": "^5.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0 || ^29.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-escapes": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", + "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "dev": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dev": true, + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/jest-watcher": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", @@ -8835,7 +11349,6 @@ "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" }, @@ -8843,11 +11356,76 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "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==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -8865,7 +11443,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", - "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -8886,7 +11463,6 @@ "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" }, @@ -8894,11 +11470,16 @@ "node": ">=6" } }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "dependencies": { "universalify": "^2.0.0" }, @@ -8921,12 +11502,6 @@ "node": ">=4.0" } }, - "node_modules/just-extend": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", - "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", - "dev": true - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -8940,7 +11515,6 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, "engines": { "node": ">=6" } @@ -8989,7 +11563,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "dev": true, "engines": { "node": ">=14" }, @@ -9007,7 +11580,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "dev": true, "engines": { "node": ">= 12.13.0" } @@ -9016,7 +11588,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, "dependencies": { "mlly": "^1.4.2", "pkg-types": "^1.0.3" @@ -9032,7 +11603,6 @@ "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" }, @@ -9046,26 +11616,17 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "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==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -9077,7 +11638,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -9093,7 +11653,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9110,20 +11669,10 @@ "loose-envify": "cli.js" } }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } - }, "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==", - "dev": true, "dependencies": { "yallist": "^3.0.2" } @@ -9137,6 +11686,15 @@ "lz-string": "bin/bin.js" } }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -9156,7 +11714,7 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "devOptional": true }, "node_modules/makeerror": { "version": "1.0.12", @@ -9171,7 +11729,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -9180,7 +11737,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", - "dev": true, "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", @@ -9195,7 +11751,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", - "dev": true, "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", @@ -9219,7 +11774,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz", "integrity": "sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==", - "dev": true, "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-to-markdown": "^1.3.0", @@ -9234,7 +11788,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", - "dev": true, "dependencies": { "mdast-util-from-markdown": "^1.0.0", "mdast-util-mdx-expression": "^1.0.0", @@ -9251,7 +11804,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", - "dev": true, "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^2.0.0", @@ -9268,7 +11820,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", - "dev": true, "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^2.0.0", @@ -9292,7 +11843,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", - "dev": true, "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^2.0.0", @@ -9309,7 +11859,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", - "dev": true, "dependencies": { "@types/mdast": "^3.0.0", "unist-util-is": "^5.0.0" @@ -9323,7 +11872,6 @@ "version": "12.3.0", "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", - "dev": true, "dependencies": { "@types/hast": "^2.0.0", "@types/mdast": "^3.0.0", @@ -9343,7 +11891,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", - "dev": true, "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", @@ -9363,7 +11910,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", - "dev": true, "dependencies": { "@types/mdast": "^3.0.0" }, @@ -9376,7 +11922,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", - "dev": true, "dependencies": { "@babel/runtime": "^7.12.5" } @@ -9397,8 +11942,7 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", @@ -9421,7 +11965,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9456,7 +11999,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9490,7 +12032,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.1.1.tgz", "integrity": "sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==", - "dev": true, "dependencies": { "fault": "^2.0.0", "micromark-util-character": "^1.0.0", @@ -9506,7 +12047,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9532,7 +12072,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", - "dev": true, "dependencies": { "@types/acorn": "^4.0.0", "@types/estree": "^1.0.0", @@ -9554,7 +12093,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", - "dev": true, "dependencies": { "micromark-util-types": "^1.0.0" }, @@ -9567,7 +12105,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", - "dev": true, "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", @@ -9587,7 +12124,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0", "micromark-core-commonmark": "^1.0.0", @@ -9608,7 +12144,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9629,7 +12164,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9651,7 +12185,6 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9677,7 +12210,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9697,7 +12229,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9719,7 +12250,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9741,7 +12271,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9761,7 +12290,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9780,7 +12308,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9801,7 +12328,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9821,7 +12347,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9840,7 +12365,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9862,7 +12386,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9878,7 +12401,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9904,7 +12426,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9920,7 +12441,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9939,7 +12459,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9958,7 +12477,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9979,7 +12497,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -10001,7 +12518,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -10017,7 +12533,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -10076,16 +12591,23 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { "version": "9.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -10100,16 +12622,14 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -10118,7 +12638,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -10130,7 +12649,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10141,14 +12659,12 @@ "node_modules/minipass-collect/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/minipass-flush": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -10160,7 +12676,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10171,14 +12686,12 @@ "node_modules/minipass-flush/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -10190,7 +12703,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10201,14 +12713,12 @@ "node_modules/minipass-pipeline/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -10221,7 +12731,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10232,14 +12741,12 @@ "node_modules/minizlib/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -10250,14 +12757,12 @@ "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "node_modules/mlly": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", - "dev": true, "dependencies": { "acorn": "^8.11.3", "pathe": "^1.1.2", @@ -10268,8 +12773,7 @@ "node_modules/modern-ahocorasick": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modern-ahocorasick/-/modern-ahocorasick-1.0.1.tgz", - "integrity": "sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==", - "dev": true + "integrity": "sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==" }, "node_modules/morgan": { "version": "1.10.0", @@ -10314,7 +12818,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, "engines": { "node": ">=4" } @@ -10328,16 +12831,14 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "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.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, "funding": [ { "type": "github", @@ -10365,34 +12866,6 @@ "node": ">= 0.6" } }, - "node_modules/nise": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", - "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/text-encoding": "^0.7.2", - "just-extend": "^6.2.0", - "path-to-regexp": "^6.2.1" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/nise/node_modules/path-to-regexp": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", - "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==", - "dev": true - }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -10400,16 +12873,14 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" }, "node_modules/normalize-package-data": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", - "dev": true, "dependencies": { "hosted-git-info": "^6.0.0", "is-core-module": "^2.8.1", @@ -10432,7 +12903,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", - "dev": true, "dependencies": { "semver": "^7.1.1" }, @@ -10444,7 +12914,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", - "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -10453,7 +12922,6 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", - "dev": true, "dependencies": { "hosted-git-info": "^6.0.0", "proc-log": "^3.0.0", @@ -10468,7 +12936,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz", "integrity": "sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==", - "dev": true, "dependencies": { "npm-install-checks": "^6.0.0", "npm-normalize-package-bin": "^3.0.0", @@ -10483,7 +12950,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, "dependencies": { "path-key": "^3.0.0" }, @@ -10491,6 +12957,12 @@ "node": ">=8" } }, + "node_modules/nwsapi": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz", + "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==", + "dev": true + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -10638,7 +13110,6 @@ "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" } @@ -10647,7 +13118,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, "dependencies": { "mimic-fn": "^2.1.0" }, @@ -10679,7 +13149,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -10701,14 +13170,12 @@ "node_modules/outdent": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", - "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==", - "dev": true + "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==" }, "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" }, @@ -10723,7 +13190,6 @@ "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" }, @@ -10738,7 +13204,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -10758,11 +13223,15 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, "node_modules/pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", - "dev": true + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" }, "node_modules/parent-module": { "version": "1.0.1", @@ -10780,7 +13249,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0", "character-entities": "^2.0.0", @@ -10824,11 +13292,22 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -10841,7 +13320,6 @@ "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" } @@ -10870,29 +13348,24 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "dev": true, + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -10911,23 +13384,12 @@ "node_modules/pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" }, "node_modules/peek-stream": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "duplexify": "^3.5.0", @@ -10938,7 +13400,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^3.0.0", @@ -10946,10 +13407,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -10966,7 +13426,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, "bin": { "pidtree": "bin/pidtree.js" }, @@ -11051,13 +13510,56 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.0.tgz", "integrity": "sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==", - "dev": true, "dependencies": { "confbox": "^0.1.7", "mlly": "^1.6.1", "pathe": "^1.1.2" } }, + "node_modules/playwright": { + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz", + "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==", + "dev": true, + "dependencies": { + "playwright-core": "1.44.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz", + "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==", + "dev": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -11070,7 +13572,6 @@ "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -11098,7 +13599,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -11110,7 +13610,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -11145,7 +13644,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-6.0.0.tgz", "integrity": "sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==", - "dev": true, "dependencies": { "generic-names": "^4.0.0", "icss-utils": "^5.1.0", @@ -11164,7 +13662,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, "engines": { "node": "^10 || ^12 || >= 14" }, @@ -11176,7 +13673,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", - "dev": true, "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -11193,7 +13689,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", - "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -11208,7 +13703,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, "dependencies": { "icss-utils": "^5.0.0" }, @@ -11223,7 +13717,6 @@ "version": "6.0.16", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", - "dev": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -11235,8 +13728,7 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "node_modules/prelude-ls": { "version": "1.2.1", @@ -11248,15 +13740,15 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -11298,7 +13790,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", - "dev": true, "dependencies": { "parse-ms": "^2.1.0" }, @@ -11313,7 +13804,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -11321,20 +13811,17 @@ "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 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" }, "node_modules/promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -11380,7 +13867,6 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -11398,11 +13884,16 @@ "node": ">= 0.10" } }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, "node_modules/pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -11412,7 +13903,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, "dependencies": { "duplexify": "^3.6.0", "inherits": "^2.0.3", @@ -11458,6 +13948,12 @@ "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==", + "dev": true + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -11541,7 +14037,6 @@ "version": "0.14.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11580,7 +14075,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -11601,6 +14095,19 @@ "node": ">=8.10.0" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", @@ -11622,11 +14129,37 @@ "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==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "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==", - "dev": true + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", @@ -11646,11 +14179,48 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, "node_modules/remark-frontmatter": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", "integrity": "sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==", - "dev": true, "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-frontmatter": "^1.0.0", @@ -11666,7 +14236,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", - "dev": true, "dependencies": { "mdast-util-mdx": "^2.0.0", "micromark-extension-mdxjs": "^1.0.0" @@ -11680,7 +14249,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/remark-mdx-frontmatter/-/remark-mdx-frontmatter-1.1.1.tgz", "integrity": "sha512-7teX9DW4tI2WZkXS4DBxneYSY7NHiXl4AKdWDO9LXVweULlCT8OPWsOjLEnMIXViN1j+QcY8mfbq3k0EK6x3uA==", - "dev": true, "dependencies": { "estree-util-is-identifier-name": "^1.0.0", "estree-util-value-to-estree": "^1.0.0", @@ -11695,7 +14263,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-1.1.0.tgz", "integrity": "sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -11705,7 +14272,6 @@ "version": "10.0.2", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", - "dev": true, "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-from-markdown": "^1.0.0", @@ -11720,7 +14286,6 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", - "dev": true, "dependencies": { "@types/hast": "^2.0.0", "@types/mdast": "^3.0.0", @@ -11745,11 +14310,16 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", - "dev": true, "engines": { "node": "*" } }, + "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==", + "dev": true + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -11810,7 +14380,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, "engines": { "node": ">=10" } @@ -11819,7 +14388,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -11832,7 +14400,6 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, "engines": { "node": ">= 4" } @@ -11908,7 +14475,6 @@ "version": "4.16.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.16.4.tgz", "integrity": "sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==", - "dev": true, "dependencies": { "@types/estree": "1.0.5" }, @@ -11966,7 +14532,6 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, "dependencies": { "mri": "^1.1.0" }, @@ -12019,6 +14584,18 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", @@ -12028,13 +14605,9 @@ } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "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" }, @@ -12042,24 +14615,6 @@ "node": ">=10" } }, - "node_modules/semver/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -12096,11 +14651,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/send/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/serve-static": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", @@ -12195,45 +14745,7 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sinon": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", - "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon-chai": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", - "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", - "dev": true, - "peerDependencies": { - "chai": "^4.0.0", - "sinon": ">=4.0.0" - } - }, - "node_modules/sinon/node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/sisteransi": { "version": "1.0.5", @@ -12262,7 +14774,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -12288,7 +14799,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -12298,7 +14808,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -12307,14 +14816,12 @@ "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -12323,8 +14830,7 @@ "node_modules/spdx-license-ids": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", - "dev": true + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==" }, "node_modules/sprintf-js": { "version": "1.0.3", @@ -12336,7 +14842,6 @@ "version": "10.0.5", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", - "dev": true, "dependencies": { "minipass": "^7.0.3" }, @@ -12376,8 +14881,7 @@ "node_modules/stream-shift": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", - "dev": true + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" }, "node_modules/stream-slice": { "version": "0.1.2", @@ -12388,7 +14892,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "dependencies": { "safe-buffer": "~5.2.0" } @@ -12397,7 +14900,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -12416,8 +14918,7 @@ "node_modules/string-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", - "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", - "dev": true + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" }, "node_modules/string-length": { "version": "4.0.2", @@ -12436,7 +14937,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -12454,7 +14954,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -12467,14 +14966,12 @@ "node_modules/string-width-cjs/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==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -12486,7 +14983,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -12576,7 +15072,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "dev": true, "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" @@ -12590,7 +15085,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12603,7 +15097,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12615,7 +15108,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, "engines": { "node": ">=4" } @@ -12624,11 +15116,22 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "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", @@ -12645,7 +15148,6 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", - "dev": true, "dependencies": { "inline-style-parser": "0.1.1" } @@ -12700,7 +15202,6 @@ "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" }, @@ -12720,6 +15221,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -12733,7 +15240,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -12750,7 +15256,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -12761,14 +15266,12 @@ "node_modules/tar-fs/node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "node_modules/tar-fs/node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -12778,7 +15281,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -12794,7 +15296,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -12806,7 +15307,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -12818,7 +15318,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -12826,8 +15325,26 @@ "node_modules/tar/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/terser": { + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } }, "node_modules/test-exclude": { "version": "6.0.0", @@ -12895,7 +15412,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -12904,14 +15420,12 @@ "node_modules/through2/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 + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/through2/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, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -12926,11 +15440,15 @@ "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, "dependencies": { "safe-buffer": "~5.1.0" } }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -12941,7 +15459,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -12968,14 +15485,48 @@ "node_modules/toml": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==", - "dev": true + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/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==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } }, "node_modules/trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -12985,7 +15536,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -13007,7 +15557,7 @@ "version": "10.9.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, + "devOptional": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -13050,13 +15600,13 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "devOptional": true }, "node_modules/ts-node/node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.3.1" } @@ -13085,7 +15635,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", @@ -13096,9 +15645,9 @@ } }, "node_modules/turbo-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.0.0.tgz", - "integrity": "sha512-h0dfgRJAoiEh2hdFCoEuOSApsUfnw87gmNuziVS/mYycuBSCTeqpdanypMlHci6CvZibF7b9kvSpbeC7/r2/KA==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==" }, "node_modules/type-check": { "version": "0.4.0", @@ -13231,11 +15780,35 @@ "node": ">=14.17" } }, + "node_modules/ua-parser-js": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", + "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, "node_modules/ufo": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", - "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", - "dev": true + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" }, "node_modules/unbox-primitive": { "version": "1.0.2", @@ -13263,14 +15836,52 @@ "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "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==", + "dev": true, + "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.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } }, "node_modules/unified": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0", "bail": "^2.0.0", @@ -13289,7 +15900,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, "engines": { "node": ">=12" }, @@ -13301,7 +15911,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, "dependencies": { "unique-slug": "^4.0.0" }, @@ -13313,7 +15922,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, "dependencies": { "imurmurhash": "^0.1.4" }, @@ -13325,7 +15933,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", - "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -13335,7 +15942,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0" }, @@ -13348,7 +15954,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0" }, @@ -13361,7 +15966,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0" }, @@ -13374,7 +15978,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0", "unist-util-visit": "^4.0.0" @@ -13388,7 +15991,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0" }, @@ -13401,7 +16003,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0", @@ -13416,7 +16017,6 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0" @@ -13430,7 +16030,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, "engines": { "node": ">= 10.0.0" } @@ -13444,10 +16043,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", @@ -13463,8 +16061,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -13482,6 +16080,16 @@ "punycode": "^2.1.0" } }, + "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==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/util": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", @@ -13497,8 +16105,7 @@ "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 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/utils-merge": { "version": "1.0.1", @@ -13512,7 +16119,6 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dev": true, "dependencies": { "dequal": "^2.0.0", "diff": "^5.0.0", @@ -13530,7 +16136,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true + "devOptional": true }, "node_modules/v8-to-istanbul": { "version": "9.2.0", @@ -13550,7 +16156,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -13560,7 +16165,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", - "dev": true, "dependencies": { "builtins": "^5.0.0" }, @@ -13580,7 +16184,6 @@ "version": "5.3.7", "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", @@ -13596,7 +16199,6 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, "dependencies": { "@types/unist": "^2.0.0", "unist-util-stringify-position": "^3.0.0" @@ -13610,7 +16212,6 @@ "version": "5.2.10", "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", - "dev": true, "dependencies": { "esbuild": "^0.20.1", "postcss": "^8.4.38", @@ -13665,7 +16266,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.0.tgz", "integrity": "sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==", - "dev": true, "dependencies": { "cac": "^6.7.14", "debug": "^4.3.4", @@ -13709,7 +16309,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -13725,7 +16324,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -13741,7 +16339,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "android" @@ -13757,7 +16354,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -13773,7 +16369,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -13789,7 +16384,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -13805,7 +16399,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -13821,7 +16414,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13837,7 +16429,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13853,7 +16444,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13869,7 +16459,6 @@ "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13885,7 +16474,6 @@ "cpu": [ "mips64el" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13901,7 +16489,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13917,7 +16504,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13933,7 +16519,6 @@ "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13949,7 +16534,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -13965,7 +16549,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "netbsd" @@ -13981,7 +16564,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "openbsd" @@ -13997,7 +16579,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "sunos" @@ -14013,7 +16594,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -14029,7 +16609,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -14045,7 +16624,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -14058,7 +16636,6 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", - "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -14092,6 +16669,18 @@ "@esbuild/win32-x64": "0.20.2" } }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -14105,7 +16694,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "dependencies": { "defaults": "^1.0.3" } @@ -14129,11 +16717,65 @@ "node": ">= 8" } }, + "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==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/which": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -14226,7 +16868,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -14244,7 +16885,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -14260,14 +16900,12 @@ "node_modules/wrap-ansi-cjs/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==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/wrap-ansi-cjs/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==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -14278,10 +16916,9 @@ } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -14293,7 +16930,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, "engines": { "node": ">=12" }, @@ -14305,7 +16941,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -14319,8 +16954,7 @@ "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 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "4.0.2", @@ -14339,7 +16973,6 @@ "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, "engines": { "node": ">=8.3.0" }, @@ -14356,11 +16989,25 @@ } } }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, "engines": { "node": ">=0.4" } @@ -14377,14 +17024,12 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", - "dev": true, "bin": { "yaml": "bin.mjs" }, @@ -14443,7 +17088,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6" } @@ -14452,7 +17097,6 @@ "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" }, @@ -14464,7 +17108,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" diff --git a/package.json b/package.json index b8e084b..ceccee4 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,12 @@ "lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .", "start": "remix-serve ./build/server/index.js", "typecheck": "tsc", - "test": "jest --watch" + "watch": "jest --watch --config=jest.config.ts", + "test": "jest --config=jest.config.ts" }, "dependencies": { + "@remix-pwa/sw": "^3.0.9", + "@remix-pwa/worker-runtime": "^2.1.4", "@remix-run/express": "^2.9.1", "@remix-run/node": "^2.9.0", "@remix-run/react": "^2.9.0", @@ -20,20 +23,37 @@ "express": "^4.19.2", "isbot": "^4.1.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "semver": "^7.6.3", + "ua-parser-js": "^1.0.39" }, "devDependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.21.0", + "@babel/preset-env": "^7.24.5", + "@babel/preset-react": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", + "@playwright/test": "^1.44.1", + "@remix-pwa/dev": "^3.1.0", "@remix-run/dev": "^2.9.0", "@remix-run/testing": "^2.9.1", + "@swc/core": "^1.5.7", + "@swc/jest": "^0.2.36", + "@testing-library/jest-dom": "^6.4.5", "@testing-library/react": "^15.0.4", "@types/express": "^4.17.21", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.5", "@types/react": "^18.2.20", "@types/react-dom": "^18.2.7", + "@types/semver": "^7.5.8", "@types/supertest": "^6.0.2", + "@types/ua-parser-js": "^0.7.39", "@typescript-eslint/eslint-plugin": "^6.7.4", "@typescript-eslint/parser": "^6.7.4", - "chai": "^4.4.1", - "chai-as-promised": "^7.1.1", + "babel-jest": "^29.7.0", + "babel-plugin-transform-remove-console": "^6.9.4", "eslint": "^8.38.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.28.1", @@ -41,8 +61,10 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "jest": "^29.7.0", - "sinon": "^17.0.1", - "sinon-chai": "^3.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-matchmedia-mock": "^1.1.0", + "jest-watch-typeahead": "^2.2.2", + "prettier": "^3.3.3", "supertest": "^7.0.0", "ts-node": "^10.9.2", "typescript": "^5.1.6", @@ -52,4 +74,4 @@ "engines": { "node": ">=18.0.0" } -} +} \ No newline at end of file diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 0000000..3769e80 --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,66 @@ +import { defineConfig, devices } from '@playwright/test'; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// require('dotenv').config(); + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: './e2e', + testMatch: "*.spec.ts", + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'html', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + baseURL: 'http://127.0.0.1:5173', + ignoreHTTPSErrors: true, + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + { + name: 'webkit', + use: { ...devices['Desktop Safari'] }, + }, + + /* Test against mobile viewports. */ + { + name: 'Mobile Chrome', + use: { ...devices['Pixel 5'] }, + }, + { + name: 'Mobile Safari', + use: { ...devices['iPhone 12'] }, + }, + ], + + /* Run your local dev server before starting the tests */ + webServer: { + command: 'npm run dev', + url: 'http://127.0.0.1:5173', + reuseExistingServer: !process.env.CI, + }, +}); diff --git a/public/images/192.png b/public/images/192.png new file mode 100644 index 0000000000000000000000000000000000000000..fad6daf7838193247da468a336b868bc3b4e58cd GIT binary patch literal 47729 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%0Dx(B=bCKFZ&$gsto0*I*{C?g;Q4GI%b zAVHQCq=i`+*gxq9W*uSQ#%d+1G7!-;yi9wsV4w;ljZW^PL;ct2C2L|)w{o`g-9@%8 zi2b^J^9FwV=>|Ud@O^ml&J(Ishx<|Zf-~D{n+j+Ywpdac0RU@YF8%_9xq7#k{KI|A z?i-rV$X1#v_HHLb2RP(XT0$GgNb6$oE_A#B&GAv9`8jU^&U2V=o_)_kCo!5|M5S=-Lp^AB^m>Bcu92q zp(Tp~Cf!sbm}yOLiZ!#!&q6d(u*H%`>YP+M*M)s41JykLS>Okq{A~bS9=$cb4kRcp zPzwQ$p^a^N^p%cE9TUpAPXs29Rl_@s!#y4N~qvB;L_VtV6BDj#R6qA9#aWXEMJV* zZK_5#->FF`cgs0w#4)Z=44T4ih?h4DjtQvH9e|xk8te!)^4oO3oAlcSpdzvE>a=(g zlUb+hZw_IRfWcz3f>nB959GQ42?FdTKfk5=|4kM!6wq0lqDfKD zeP^*1CfsDA)c4C1+1r@mob|GqRAuoZ>>sXK^>lRvBrs5RsKG$ORl4G&&h7{*8{BUT ziA-YvTx@CM%A#7NzWh_k^|$LyXs}rCa>K!a-XZ`{uPFcpgJW?!+Kbm0@WDqPu-SEo zBmQB4d>;cP)-0e$3lM2viuACcaSg7N@_pBqF^g*bQJ=hMvgCTgYM)03v_Jha0hHbW zP8k@pK&Ta^?Ru$?4_xr801J7@czmO5fxJ5&S~QGlguw|_-RpX}XJq>7nbt_FuQaA4 z@O~d?En8kv&zk-XgzK-kzI}}#E75V2KtVuv%?#?<<8)4XfAlU)A3T6ZpZrI#c=>te zYufP$k`7oEu`!gP(`TT!ofYCozhryCwD+)e9DQRvN50<%2it0Val0UU8H8ffth`VH zgzY)qnh&eN5~I28^a?ccSQH4yV}qGInZN$KRlv8S?F|6nMFms^Pnid{7@Y}O15U(B zV49d+BR4hiMUdh%mPeXZ0$)T3igWq8DA2Wd4GDri7p}1A*;qz_lRy-ov29+{jHt5V z@zJs5wR2~YfmO|jpCNMDT*`s(u^#`JTm}#pqQzwHHf}f=j5JovENEIO)0;Gu(Iu=_ zNvqn7lXiaq7t1p^T|9(GhY#UF(qv9nD>#}=$#;#wUF2RN_@mY$BEn`E!2GtS`LMa3~5SVv^;UWOE1BD8U?Hx zozurfP)ODQ#bVUC5*wG&6W0KcHK0Kau1Z>|ZPU!cc$J>vpa!Y@7;|p2fj)p8EnNjv z(8_*lA-dp7B$t?dS#olDB}d*S3<=hg9&#` zArj=DtR06!z!1GvIX(ehK0C6tFhB$$6Sw9-Cy_HRaEIQb!x_24E^p=q&{uQ4o~ZZb zwck?&e^YsjoeGB_u7-y5$VHI$YK4%v9kvolY)Co|3yCcgI6gd(SQnv7CV`xNR0{wl z>j25mibjoCOoi`oog}(lEuq6$hc?ks|F;}SIXO;ibOujD2iM0(aFqa^2aed&hO#Cq zb_3Wvxl-gYTdHh05;~qpS>dA)uC`3sD1fbVD62&eE=BUjlljihQ29ov8Y2_4#-gLfH&RN~Cg40N_9` zNmWB3UxC!RpWqg!4Lu8Lvvs9{r=tB1C@!Gdz_Ol0x4wqU<+t$WY6joj9>U4w37k!z z!h5Ihz|)gQFiQXcO`eZO58!opMh9Uj2{sU~u5G9f}XQsDW-=2F$T;H>w8=0@FW+)qCKS!hbWk$ww z*K>YnpKl8z!MX!f4z#1V-$p{&$fQA(Cvhgf%n}qcUYEdh+;tCoA|OcviV*?gtQCQt zG8>BX*Vs1T=bAHTqfr;h5(?2(mMp}>LlX}&B_+b&I$aJHKb%on$8hDe9* zQfD!LuK6Pv9#Ae3;Y|%AnxqU!DrGjZR<%%5H6{)wG|>}3qk#&Z=w9X$mIO#K_d6C| ziW(936nBYG6CC!LeNdvQKp7d%-`Vj@ic#?zB~t^i7J=KuCM@j(uFd6g16R$Q?mz0M zl#Ukn9Q8jXb1dXi)(?$e;!__V3 zRV%`kydA?f*(>w@W4^1$g8=}MaF|4-5*2#pGD?i={}b_Rd>_Axv< zdJez((H|8s@Co#HJ2=nB@CJ%BNz(I(m?2B(l7cx2qZL&y?7VIQ9!Q9ZnTd*)+CHyRC~rCa%&CUa@j0TI=+JJArx{I!zFu1~5%h!Q!Q5VVR~CGI zsp37)4Mf&Y)zn+n=Q?r*W@OCpas(l0$G@4c1W0>ZseMg|&6mjCXy(vR+)gw;Mg)xU z2YEJVQIykg0iT}L?xwc)VW4W0O=F<1Z6>5)RNoNPVC<*@rUO)D@ED=+^|u$Gxdl#6 zX0%?==i<143hdWxGO~5hO4}MSFA)vsBzi%zmfB1cFyP`+XD3GtdRA+mkL-hpW->EL z$e<#a-DTH=HoojCnq^F0u~v|*?3$E=+I}$mp&fj_Zd=WXL}>%5a70uS$aFaV$eoN8w?^e783l6#ft)NW}TOjXTwoVETI4}$|rxb~!(WETY? z&XBAw+D=e8NduCENF`TJW!#bvz)0etjgU4id(>m?@o^ze;~71VJ?1l|_SHHDL|8fw z9Yi9eD(#*k4H`-if=6e>hDfXkOFXdbsJMVtzJs?H-@xZjehfc;@i~lFEzFivIPPXJ z@8=v@0HSo)ggD3yCB%`4Co#oj+4iE8Y?|?2OdA5qC_j*ZG@VOx+JYn+4?ZwqlGfnw%uvgn1MRUx?Jja>| z&*`Xxnq(?*a3Va=1RPp}+PcW+Z2jMN7}(1YE22aYq`+3yrS)(8ugPFZu_BlmzTD`1 z05%nOO8XW^UQ7R@R)Hc|tqRlr^NaC9_bAlfppBvXZy zB!|p<5dCX3LI}+t=mSA>rDP7W6xm{Pj|nObmo?XM8&)JWb$-^h^1cK6?4YEYbn_I< z;j1$L9I|1i3UF0?Jv^7&7PPUt214VB1|;i(|5Slh2jK7T+jr-9FaUrhnMg_`?>>bm z^}gVY2tq|zv~UcbLKSk~@BF(koK_`1U2IjzS=da5M)d^vh6>17QM(Z=d`lLaBT2F? zN$Xs`c*+TD1e!CkX{GNijHX4(m`qFC(M!FD&1PdU?pz^|>zPw^!~y~+AHRYeQ<<^^ z-ihRZ&(VJcLy5N3Egt3PnY?g8+ z$+*QpNOjo5|C;1&5@)d>SAyjB<@2Hu&`g5vUBKhYng5cRI$8;-5XFK6Kq*+n*4)6T zBzDLdN$Zk(5@$DbuEabOR7$y{u^F{J)h5T}Oh*&X0$8zHCBk9tIMdhl6V}jxaQT=7 zN~r4Na9uo%`DVSZMhy0o0wW0P7MzJgf}lCzi&%RWKu*>*&d;h+RV#yul4aa0``z;W zr9LpA;K&);W~&wSYO@Q4TS`$JezoV5-+`=_>lz!> z%HA6%HOskMB$`|}`lW-#ZVh*H1_-#mTFT_t5op2nG#QU5F zFy?#1&0G=ta-VX=`x_|&)_1G{wY?wOXe&IduiD}8yL~(u0AMOSn&4!4)_D;%)neis zpi(O_EfKprdX7#;7WbMYS9wf?f=GTcX-#c!QmYseQV}4KH+e6`Z$g?|djK^rnclP&XF?jfe5u? z7BDGMdS4P9W%Hp zr!h_Ra=EoW+1@bF!JI#u9UsE+U;scx92&!(ApEgn&Po@Rz^aDL7YYQsApgM9rl`|^ z)zXv{1;Bj>l!433IQNSZ{;IY1H;Zc9qXGCG?6Ajqm=dfOE%Ka~^S%|3Gz{wd*>ljGHfWEVGCY3j7zJKkNN-Lb~2rP6BrN8wy!^Q0y zovJ4( zA4*wz7E7Nx0^;OLoNFguT>F%ru#xc)^MYxTQt({^z`^1|xVJ}K3OSG2 zk&k?HL}N#}J?@rbPP=8+N&XDH4|K1QcB=FpwF5qHVDl6E66bestqg&r&EWu~hPmWk z)jttquQEQ1iNHu?5V*wqpO-e%Dy?>!#jLp5Zpk!?w{EpYgwCfdu~yA{*La z2mpW)ZCx}ja5>>hgU>@Wo8=)ICg{jL5KQoFZ7S6;IB)G*%L~xw@V#!YN)Yrsl)iVK zFP50ZcZ<0(9yJ%agWDU7z0 z-0AovwPzyYGY_YPzFRD}WPT;VSr_W_8o~Av^v^)VADl zF_j1a5g=v-i2B|ZLn9icKC>o<<|{A&d@gErP;)UYJMe10gunjg9sKkM&uCtUz9icI z? z$TFT?$KVD*4TdAKlVopEICeB(>9UcAnNINlKa5&|;qUG@;gY{i#34`+&sgTwWc~)h znrhcY9g5vA*KNpz(sNA=bjI9<>WwBSNSzPB^v*ja5w7Wa0LOy?054y}M2}S>`_N^2Q{ck(dFn_Q2`n7#>d_!KO$$yKW0h9D@`XsF)&%d1i4o>|C3` z69qb9oUjEHwE3ZuUSx{S$UuAvB;3g)tmMU3R60{IC)xipxVOKmfw`S-%QwbkSVq7k z0*DU89Kd5cDq!Hv}jfx-_9Fu`YS z%d^%kr=i|S)D7L&3dpy11hY-W>?7#%sfm!ONduL7a#cP=O#%HcI`Z+eQoxtIzXjG+ z+o1-(K3;6HOg2tnf}lb~(@;ckF%%xY!^eXG046;Oq1MUQTI;^R^#&m>L*6Y5NE7o= zqBOOY4}^uvNlOotI=NBAyVA(_kE!|r*x|3UlDCnVQ7rFdTA25gQUEgnQvi^-SP+>2 z5^Dj_mf209nV!Jx>>Orok@Byvh`^EUOK3aF9ovl)J=#Qt@uOb=5;pW+--%k@H>;Ep zmbm%GC_=Knj!3E+F$gIC&PqGx+YP;c4mYss7X(@~u}>=nkdR|){{5~C<18Ej??<18 z5ydrk_M55uR3wl&GosRSDAia?lx8I?LRnJgS^y&bQ@@(fx0FOek&!1VMG#h8#XQ zfAPJkAQkry0^yEw?RO?o)7l=4o8T=0G4Ag`pTuePxa`fJ|KewKcC%Sa^i2=9w|BI* zas4b83wjn-B)z*^koupB_4J~CR{((Pb+=>bKL9-)V>RVb4^?@P*!dDudj2DK_X8KV0C7>>mOP`&!u0dT|sfQ}v8 z9#IY0PNA8dl!t6cT@L~n`W+W5!IY^~RZX1ddSw1v&J}=vSL+?w(+s3wD$|_APXSD7 zCYcjHY$Q<&2m)r~37kz%sf_MycLa;=4ObSFFf3pm%<;q$%TIf|&l3K`W1uQ% zlF4V)}SDnqOGH#tCd>(=x_T*0%;+K-I1WoB`37V27ERr<05vYLo zM;Yx%8QVylErn{ozPh7+p*dhDx$b9EDM6gU3A|F?NHJr-oic-Wu3n?zSG!4xVRWo( zlIJ6!{x{0#8V(x+61S@7QDsKeTm{`N?Yhj2-5I=YgAk#R{QbsAvYuxRToz|NWk@E? z^|Dt@D$KS9#NAbee^wW7jlENQrj(c`Gt)}~sD&Zw;}r7n_=J*mN&G^}IZUg3@%Am8 zoSnka(UEBjo<4hG;5iF`!Su`P^}6i86eQ+JG;9j& z!@Sjwbqb0jlXpK22LbWeHz&lE7Qlq|T;?_^%!cpvdm>E^Am)J_4+a3RB*+VtgzlgU zj?xq#s?tv;kwl=Xw6&Lw*JpXK{-W2IYEPd!Sh4~3=QJ+z1gHr&i&sP#y>9fo{0}?LAKkiZTQH8SrT%pzo$|bX^YDW zXVdVY=Q@E31tthG64*Ft*w+R*~{WFKp5!e1LIS^d_NWjCog)5vztfPx%WM%00B(_i^Yln1Fpq2R^9A62y9TmG1EN+*L&K?IKS+jYLpP$ zkIzGg;K@iM1$Z2!uquqE?Br}_u#_wtCus}BXNgS|yr27^$<%kpzXw`ZwNvNP%(UUk zD5jYoiP6`3!BrY5HhSgS-jsONnF_$KBve9*$m@k}BIIaY`Brt{2V z*%xM{6QBeQ?njyLS$Ro9iP($1g9#=DDbhdM|FswmdmCd8{%P64nCBm%jyNWD+wyNm z8T@kjzFw?|iIaoUNQ<7Zv_q;!wE1s3u@!a{x4!8-BO-bKXU+kz>9d#xgfJ9hb37e+ zCNb$ZGCgGc^iTW&Fh>4-{0QEqNdW+J_T+8Vt2=~+;eHo2C50<)vt&TSSZXHLXou}X z8de%oC2GP5dPy&WY)$RxG-DydSQ zgpt-ZNXCG5U4y18mdASDjd~Aoo20TLN{!k54D_N}D$|BQbtH(H08_;r%)!<`P!52E z$CI0vtk0dO=hc=DBK;za-RySNyWPWGH55|)P{VG49X+YMb=Q#;zgn*7w|8&fna==f z@bEq8EO>HqLieFI5C5T$&+O=kV)1cLK7am{+gA4CXW#!G%^yA!9s2P6_0>(;r&|In zS6A1xCJ_uH2*Dk&Eg+tJ0a{O5WB@BE!1dIBG^)L1Gwh->q~^TjKI6fDK`aE(KD5k; zjjdnxyU?to_#L%dsZr-fHOcze+FTC+n|+qCR%-1I(;1?+)u#Hup{5bgK0O%L&&LA- z0Ai5-jx@S(_6 znG_TLBw5c!EcpW0X@B(S3{H-ZJ;f~+p(&C}Gd%*B90U3mz-}SPUL^9(8g`o%5eo`! zmo%wlQW&?qdCPm3TXquKY&hL0=SAO{=Rbo0F73PBxfF_hm{84eQ5Og44Bz8s08}gP z2rQhY6L>Ox4vV`h$UBsrTVg1E-pM?0odRUCnX;s{&|z#o+Dh||$4%6$n0am2Ya$oT z(AR{yQgel%ees0mBuBL~Rj<(rXphyMlEkAQ$Ejn*eUeZjW|-OL(DZ&Cn}ge!{> zBWXy>H6u;J(!$+h4VTvo`2HtPoB%qH8!V3uR#(k8H?n&Ez0m#{PyU^WK1f zbo^}`{~~6dl&wUu+v^3K^^)MK>#VAzX+aV@Y*JqTs5TmGYIO+aa8jRRyamsVS}sDS z8X^SP^X;hvhT2p>ly41?n%6+`iVjduSLs{d!+f$5A@&f7I>ED~3J zqwRs-zPpZdk%ySzEDV0V-AcTF59%z4E$W$E&~FybBz>6*vtS0=m?=e>r%C_f4}j?d zv53&c>ML07)1(Ld_wX*T=U4azv@raU z)asZ`r?fAy1o(7zM9(-XbA@{Y4+IG3G69$rXT4YuXx0)yOrv}*b{!Y5(zQHlI4=e5 z35%lgH8bRt5gRF1(y?Niq1u3LNc_Zr5=)Wq%7|d?0uC(}@GWao=SK5!&^YBRiihm@ zI4RADPTtkZ+-tE43$aTN1q3`806-yRO=HZ}JcmUx(A7E=u9P@eQW&k6#1doHfWQ>{4rXp5P@lj?jlCc9kWmh}D87ti7N=twq)SBsNez`*Qe%iO9xrgI6I zevvLx9+PU3Q)TYxO4{t@@2cMzBS7hFz3DjPAF0CGlb_Q5cKjV**Nzfhi$j6-{v&j) zPd()VP$|m$#+d;L1e88ai!`&_ZQ-arg|o?{LTp|YNvq=+ddxYH!RiC#5$9G%f{3OL zBy^i)M^L0oPI$G%Dvi4`H%(+D-&xAls0F4porE#66Jq$AU7NsTR<5N`F9#@Dp5tJS ziBhlC2?5N$j1S~YjIA>#S|bewYhbG2uJqw{v4ZQ{B|JGlm7Mfp(PSr(as5OgRV91= z*p)qS)*FOqrn+#H!d7+BS0Phg`4P9GGkG`_D5jNsQ^*NdyQt=gxoN!Pk$ zu;Nw8fxMOp*K=8z-Fmfxm1t|Oq?(_B|MGrx3MMTAI`5qv6FtB*;TIQ|0)iW`6ioq7 zVtY|j)R#T01Bi2s`+h4O87vWCq`DoVi0UPhVb^;_PxCuSo-9hW zS~|HnMx8`V;MM4_q_s5^_j=3NX%fPkFyRE)A=Byf!+-z}2mt6`Rn_7*NArFSJA*_A zBwcKd5#9Mq1O-&| zPHL1@i_-rlsE3ASW^F^Sk`WY!P#g4I}xcCpe3!tX48@%!K9r@@g<->U_5pr zpw*kYILkO-l{LzDK5C^Znr>ckG7{#XL|dhMOHnHlnkKBVw63`aO{?4GPQnpEh%ytT zULqn`(#k@JJZ@gq{8>PSCc)Q`I2DaGe6+E(#%2N}a$TFr@8aTS4nO+A^F78j%oXCbt+*4Ftmb&M6HRL+0GnACfo%s5uMxf4d8=^+$j z-*`1j1_D_dVC$7bMKkSFP5M)%X>=hvac~4Uq=WswmrurBpx5q$Te)1>ni3iegVKT z3<0Xd+5%mFZO9^teN-P6EX#~$kWIe>XZ6yE0GQ+HG&uE8jt2t(=m-+YUPwt2kMkVU zfBHtEMVFkQ<;*H5R%6yg-=C?3xjJR<^K+>>Wi~ANOyzkSf5(eYKOyxWstVDozY_-2 zOKQ@lTbH)tXEX(1HnJ-W?uQ1W1;*?b&=ls@w&toK=f=fi1ItZE4r$9Z zCkbg=mR3`F3Xk#RTCEHSqGyHQao$gvVzmLU5g+ z9%59WA$p=lN_sKqcV(4* z0|N*NyqZo;mec+zX?`}w$UUx20lqgQI}i?j{QG7JEQB7Ks0KK!2UIbLGHFNL23WENZ$?S!Dbsd>Xy@J z3YfPXy7Jq04U%Y=7$`d5Toq~a)!Qq$zFENCd;^Q+hKkj!3UfxaKDGl>Y|e}Hy%V(? zngTRb4Q>C(&?%p~%1x9jVeHbE{D&$^G&_tN&JdVj4acKLa8&*+3Sb$DRIp7FQ!bQd zx7`W|D4+rJqL0{d5px_Mb4Lk+%k@gwkw~r-D%i6#7zF06YI}7wirLR}PFnFR&=RY< zb||DY@KYylti{kMh15iFncSW#@8Ga0c2?Bo!0BikG6B4NdkxPXpHcLNQqM@tBFK#L zj!K+^C0+4;ZwX%)wE(s@DN|l+s%DaC5%7_7T*K0BNagFT(q}fF{#M$r`!3FbRm=k( zLtRBMcr5vslxN)BE(#caVxYwOQ)6&&+28xb?+`|;U_ohtUJ&PYI4BZQs;YM__M_fPqErpP{vS?&I%5K5RVvjREw@H}v^Hjh|L- z)MNsxrBI|FspLxU#<9VC zC7l!z8}xF&?|dK~I+;zSv%_D%`^SR;0KG0sTTH%*)XBuY3n0*q;~Pl7u$mSieOR4rDbOaA<^};Pa6PPN|gcjO^uO2|a8v8ldOg0G(tC#AmS$t%vdD zJ2*jG|5@Vack9yNF^AW!?#jP8Y*$N|lc)JDTwLBzlBBnncZK1s$mWkBfa`S+TT$(f z1X-hZI%))n*_!$kD9#w|^Jp{1f1UXvq%h{r6j1YkjDL$B&$|&Z>`?(Mv(b4O(@RG4 z3CjfoX#%vgFwPooa3nVrz6hKUs82kKtP0H%*RPIRqUHyoYEtbFMEcjnN|fq2I3MY9 zNgz=j1$>|h0v#m@42npg@a_JO+uVDoXy7E$DFiDjsC3#f9y+ND844T)dYs4A>KC1#2 z&rTxrRr@^t-c*bz9&XDQW|Y;jHe6%v1#A3rwQ;|UpjlA~(fSdWpWW{!m`YVWcn5@e zJkWA;z>T*1A^eYhgKFkHTvC5m$4Hmp(gu077w!qtbKP1KJ}er=8wpZl zhd}%m74^J@Op<5N)(oCme^wfotnuy_Lyu|ogX)PS+9rTny1r%2nhHZc1-!@TK7Ewt z7!Xjf-DxIM2RBstVuB#fNDx)G5lQPk^4G))y+$j= z!9n7{JSJ0CJyb8%YpPZ+sEQeF=k%8f{77E@EvM-{KAM5rphqK7r^|-vLfe!;%;$G7 zzP^B|76#aDxKXPW>@L2B#p{>w>f5*Q=FK~}xVnRPVDl3* zemW<;)$+VVQF=GOG$I|M_JnMP#7wZQjc7@voG^~%I8{W@>Mh8+FiD?G5Aytm9Ugni z5kIz-#ROGjtc9s4>de7js#<~M32031Eu-CtMAJ76s@`7S!qxR0zW3>4;G}g59D-P< zPpHP2*D>9BqQnS!AY>UF4+C5iYoQ1nps1L&<+;b4+sQMjsn) zjGJoe-_<7~Cc<3`1iD4e+7 z5)TCkJRAVfJ5^A|rJTq%eySJCA*m`dUKOwu8_>2ELPLozcAe+gmW{2BE0km;u?mVM zelAp^5(OTb3w$SOHgz*#UVf1G`lb;-fb#pYNT}`gHEotLMhajyvE>5RSFhme+pplw ztJm$?i>cX} zcq&694`C1;fT~cHKtS}m_DxT;8=WgboeLE#N}6WvQO-6-+&^(R%uKAQ_esnO7DpY{ zBRCPWSZW=o%-7<0V*2IZzPx}>o}Ei2LciFw3rVG~1Vh@De1%uiSbT;ut4b=g2Z;2a z#HS*&9hw9+in)}eFHOB)T*coUcqVXMe&b^hhv4H6XF$0+2M!vle&xVmT+FUmn6%B< zUTXG!=ku~xbzNn56cqknfgoC`nX`vln*<;z12@eDj;E;!<+s#H2xf5P%(?n2-Lbw# zmAe8&Rpk%oTj!zG5IyU^K0k({ChME4q8!@j7r{|+V2x%5k;-YWby+tGP(BJ91DU@F zsEOg5vt$ZkxAuq{=;&-FFVh~bd{D>30RY1jQKE=~hJJ~_z;CIp$p`Kqz6cj8db*Ft z%rr@r4#^6J=%Oc^UuJt)w5O6p+w}$@*qeQ~2R_JINgUU3LEkMF6vIB*ZJ}Fl;P&M= zaPjqT;p*ZoWeU5!UBJzJ4Y!Lm+wn2xAG7~$rN9j(r(wp9Z9hMrz8YwnSAv9!P5ghCe_L zbe{kw%ua_XY>_eL0ua^q&0(3r&Mrt#?c>8&_`{P+ZxMLZq8QwNs3|Qn-+Z8t;8HSx zm{HV^qd)ixW1Gt44loCm?v=4?-_@L>4=~1*y?y@d*q7b`0?7Ic0tM3zu-=(dV_=AO zK1d@DF7$og9wVyF6<{=&r1^^gQ#zQw1fJvk^61GqNfB{;FTR_*^Av%ZW z&~A^;bCA_jencL(F8v6xl#FWVR25|!Ej>&Bdall=d*4w+qOdh(1SrYhE|xG_u3>R` z0heF?2Cm<|f$Q7bBK0p|Ss4FSk^WbtrQk$4XUAjs-qTYm1>95kQV%0R>^Ocmi;Yy# z>&ep}Gl!zReKblG9;g|7Ic7N(CVmCG9!mnBh7ocnpXGW~|S62j31{oNTFf$7wQyVoNeY{qglaGzA?dtV=M=%i_03UW= z+;g$JM!*Nm)vg_kjfMQF&w%|>KU}`D#2qAM=UO5`Hv`o^g!vgb{V7NRy;sL*z^f9Q zN1{Io%|TOZckKCz6H@VT)RaiqUtp=uKm#zS=K-@3Ve3vyRfq zK&PTsmjjvV>sSZQp{wG7TrrtqWBK7~)8ogqtt zyVVvh?>2BW%djrjUfe9<;ucK>jIf)ofwPmAnd>gu_^QoZ)$QASTL8e?2|{2s1unqV z@(S+ecksotAC&o+lJgO2H%>>-VA38H0CC4szsd*+2xySh+_6288~}yElGk-&Vnw+L zazhyc5jb>N+t`~L0oz66lp3q>X!9@6w3-2=@@|c>bD#McOmH}JVG^)lVS>NNe0eU(^Gn8u_28bmJw=w^-poW7Sv0 z*V>QT08_bxrAHp_n^-i+H7rAdE8{4e&_KG}!zXh6-0)c+?$}tFdajsW4LAmak{rZT zhyIpaLql_6qOSMZhgyCQy^HF11%jG6aM+}rwLgJ51p&sImiHOqp)q!*pTcJWuVG9= zIR{%yPQ!d`>9SBDDus2aAX#s)**6P=<_Q^SM&x}8eqw(e@FmNNxYar#@f~%y4?>Ta zYTBrit4hA}$AbX?5f$PBLFc?t&lRumd?)I;XphwR@<=%2vKX}k+h+Fb=siNL)F#ao zGcoYUo>N|J)SAjv2@_QSOzbbvNeWx?{1+1dzfK5p7IiV8&)=4E_~SL31={(G)W2Ag z{BL9xiXz1P12ojy4%O(ZI$rKUg2p&;l)Owms~WB0W*HpO zyu#~e(1s-YB1p+#U>VH!LT$o2cJJ$N4s*j(% zKgfIST{%mM-7eU%{ZLT7r#`WEIdMuNZmS=H+xnZ(|KtUxAlLIiQ8RiiSlVxTOt0F8 zASUr*X;Oo;Kgv7(@s_)$Kpa6hQFD{&Ak$@2dsFyyan8eIg?s_Z5Z=@m~Nu!os z4LBBkk!pHcQ6NRHyx=KZNweBXe(k1DmQ*EfM)DkPUG$;f&34I5B7@s6`8*R#s`pLy z{2eR{GheLMMXF!He7T|2zB_U1d-3=Pe){=Scyl?2fA@dCfp^yndM_ma+A&DMgg?to zFTMwvlI+Y13fOfsPEa%mr(^~g3C{jT!Y<)>-mWg;a`i3DHw!pFJ|``}-Ev7|c`|+i z@35Fr>Ns>LDKp~4DwL5hvsMKw>ESb_EP+i0S2#t-MXVT@N$W!G6z}|Az#k5LFIm?J zQU!vmeg;IdB;3ri4vO5OH4Cx>3MIfjXh~FlZ{K*eIhVGRjhCvlbuB0nN075zZQ-kz z7x399k0V(V;%X$_>F+=i)v2iXY*@PW%Jp@{b>BHORc9Nu5SnsXC1RC|_n3br0me7S zAN7+HX}Vq{OHD$P>|Jv8V9xzL#%-)05dc&j&*4&Gs;Zf*T9|6V(7JWtecHC9Ybp6N znp8s#XYx=VdGL2|cw18Sm)1rF5aeuR&eALwIy6#5=?MQ-UW|LE6W^Ft!Ja*{Y8BYt z*Y|*%7V5R>T2Jqjf<2AwiCuHxK;x*n7{Yy(#v=UF&XUia^i;?qAv*R8yY}v@2C}7dzHwVKWO?$DxE2uHfp&SRdfn3a0qr4)|_G>B4!4 z1a2r24KOUI>K}zKkN!|VLkXC|^Qq~T?)bn*0SP@s2P}EWU@H;xw-m(AaNLwo_k{l{ zqwr^|mSDfS;NeCN%@>0!9IV9m1;%LaH9rZNA4f0-7^7JUs&^<5{XN*xhi*}ZD$=)V zsaRNX5a0|_ooahyy2gyb8M-evk8Cgy7JLBIFG1IR9NSu}RPVKDqOwtr0PX_=VEZfk zHalqMc_7Dw0RSBSr4_KUQ9-SB&8cAnqE+|`qB2X0V3~j*3T_*h{Pf0XPr^)km{qTB zHH-xWi3WA0Y@+A`pnoTn>)uTOR6ia40_H3D{B8-49zQA1+1UbaN#ZO3;HZIFVR(19 zx5VktJ9dkN8e`y7lB7Ece*5+gUfpcq?Cb=NXOxV+v}8o;bxZ}kE+7NT2A`ar!_%kd zR8DkVz{hge5C}jG00S$}F^)YW4TESadShZj+%v2HS5%p>{Oy+Tdj1W3{`kjK7zpzq ztar--0FK~z{J6a98gQAWlr7^JP%8l@IF^*VUMPhJXRVJp2=X_O-2&9Qm0vm3Ri~^&c5^MNF0A z4jA-dEs-~l^S%qA&I}05r)MzU@m1P$ll)cE9(3NuCWkj0(#SCE$^hQ*)9l9_girmP zomuMA$?6vr^8F8{huaJ9KSEbNPHSEF#v>fUcm&$VpCUL*!E|-l5pe%Gv2A(p^P%gw z{~^r9=p=tJTA4FwRL20ves~x%Khv{RKD^_>0DwRLi?5sz0LP#cW3Fk~@MAcWtNZal zBB>sH90{{)%OSpR0_fc`}vQ43}5{4bI_8njS`rI33et$ z8a{$`VeDOD;J3HsJF4p`*FamO?hfAFF5z;~QF&2f_N#Sa@{iyrKluzU-d(`uyGz)t z&`WkXnc99 zS^)NNnFDK6;CU{&gPD4~-Kpxwa2F@LENHs)eFH~DMGo3S1t$mRt{)8EeXK3gt&e14 zsv>9JpRG|2Q~+X#oE5>6HL3!Qni>?>#fp%=o;~c9&s!!V$id$rw9Y|*(%bC)b6^bO z>S7;2HKAP|K68J#tVJniQ1ss(3Lbbc0N~ZT>xvN@Vho$_zRkUN);6*)__TLZ^zsEr zhc>V-bR+!Xx(up~gVgwAajjzN%2%)7Qsb>Emb8Tv3^iCR93DS?OuJ^WT*C714(@Jl z>FJAA2QRPJ&|vKSY6Gt?u8X7%WCqxD4P0Jc!Ois*ZCzAm>NWi3w1Y>qLr4MT>^t0UF!rS>Pcy{^;98YJZ4|i1AY}TF>X?+Tt zyrA(xi8Gnmo*52SG(-@<5}^}&fsvp4sno5|+iF0M+3|$un(dOO(oJxua z1e#If-!a4wMwW*GeMvxkM>GKtNSm3VHVoL_S{ip}HZy z*Podyu%V_N{!!_LO1GMkG7tK$0JJub{QgG}u=hbi3QHqtHbVakvR)0;3Ru$T#5t%` z^$?dps+hPDP=#+gZq<1Q6%iD;!Xj7i@6-XP@$uUm1E@z5Z^ivXdo9=J|As^Ux8`^- z0Kh!<6>ux+AENst7wsL+qT{Bo=<0`HVtw`I z{I*EztN9%P4b0egUL?;Mdfv*Ab{c^|l+6=}V2u6E`m!|l$JRe=H%kAj?S|`imt)s& z;pN>|@RO%Mr-VS$@^7vZ7h*tX7+y| z4FcIPldJoK>BmB%j9LmI3k;0rql`6a1$vR5Mg5Pzk<>1Wf&fuSVd|l096m^;h?TJF z^Mx29F{?lWY6=?807nIqwmbOx)fMGTKuyL`nU9mBDNLs$0s|w>)R>?uu%kWGJVu9> zYb2h|L_uQy`2y-^qid7rpdD%Zhq3P|E?#@8KFb&m#Fu$nj%H;Il>T9#HA5zkQIfQ{ zkxQ!y2h0gBhNnhH;P^VxXOKPm&-T9LvF~fYlX?!6 z;r*UmC|7?5&mNwMng9SpD7KH1Xfo39F8$!2<5kJeDqtTrB${mMaY$AFbzCb23urzK z9_OxiO_c7Z_{=yB`e?ic0l?Mm!W@0~JM!H=9t;2&F8pePebhcv=P!{Ws%oWmB!Dj@ zCr-A7K5|c2Tkal%DoM4i=HhQeaAgS<^RiR)!j{vA9?hn3d^CZ@1Q~2gjQnc3hE?w1 z`)5Zmn-$P-wS>$0){1kqs!lI&TQ25+H2%Ci%#t%a^dj zS_IN|wAZ8bzwOv`!op+=7mL?$xqJuDPhY@nGJ*MeS>88>v&koLyM1FrO_F*Ne-29F%Y5WCbIdg4lf|ROPQFrdzG|PK++;U{SlS@0Re%lXDt7%;o@G~XyWTX7j(HOk!JBWRrTh59DyR!yiyV_l^42_=onTq|HCJ^(pBKme>r zht6R8y;tcc*R}ACWG?B%{ME`|N#3Lk$RSIRvbCpCm3(0TDdX2joVbtO^j5dh`?d$) z`OVoQMHIw4M|_X!zrr*3iJ~76QB(Ej{zDf50j2<;AZRYq(1hnq*=Kivj}ABIy=NzApZK_NF4@B^{F^bwmyuOF-s2FC+( zI=~egpIfc2a0@@e#EpZ}zpK~SNel@u9Z29!GU5l4Cx2l;%jJgDzo@#M70K}YXbj8Q zn66nxx6P?UldlVzPCQ4g#C#0U!kwUWUwF_Y%lf01N~u{ns-9PSEi==uU!Mp*nO ziqAnJA)+baoY*%^XoO6@3yw^kWO{6qGk>}-HRe#-iO+#Xe~_8PRI&`ZFfB5gfzToF z+2d1oFih-sfpr5g0t5j874ZSi@~AZ^qDf(RRCa7V2OP!HVMuJ}oDthK8fz6kfqbHx z?+4CX{Lc978p!V9<#@;%Y9xg=YP%FbRka7SPZcxGu44ZHWv?6;tMg!E=9@M!{n&T~ z;6anb%+v2-4MA^OC?y}-ylfFQ?`!Z!I0t^zkprj9)!%*Dx&D4Yp#M+P9&j3%jefW@ zFYgzBXVk9MAi~>f)*pX^^-oPn!7cki9S;To^!@u+s7nxe_-AijXiCd^$tV#7qePa& z8W;o&tDDF5s>Dlyf4#vZYalwe_e@sKPmjvN?Ik=hnKUE<5B;Ou1;p@}Fh4H$TwUHW zqmitFr&DI?%^1TXC-C%a3SE)VQ(Mj#=1)>2pxU{IX<n3f}W z$!nh)aco1c|E;S3U6R0y&|L8H?pyfT(_c_RAk+eEmn)byvjRMhVYgWlG388j5*7y> z=7$aROpl3+%z!#iax+G`VW|@tg7_{_?7y^+Gx({*!Onw{1(xzJptB;Xy8CUXj^0u_ zIG{L@Y&Y92X#N07^-Io%!W4yR^LzR&}co;HL#-yuF;0yH=wi?A4(17YvaOhi%2k5b=!ixLHHYg0C4Z@XY^)PjInpvRiXVongb#ob z#pgji615h7ddNb&y{>7{F>C^$4{b8rf7JpRN2s5D&+$Hq`(ut=4fx=5(tgHk>t5II zKP+XxzX69%1z-g#I1SrrlorSZwR6By$zp>hRiHE+l^;npr4K_F@L&LdCb6L7-pzAQ z=CpLr*FZFsI5-l{fd@wFBInXzV+EwEi@1{fg*fz$ICo8_!dNw5eySvpB+@5Jlt?@` zX#}e-kz{&))W8?dj^VFfaZ;dBLW#16qj3wLK7T|iW%QOmnv7t(VJ0#jaSGm}NdvPn zrvYAf9#W~GLp_5VX%jMSl8Q5W&~Hiozus;k4g^>IYvJAUHE97b8UO(RCNCP5cAt$u zf%*1Ao}EA)&nYwz=T-ij?0p$?{52{t0AmXd=j+Gb&jZ z+9&)sU#{WoWJdokuNUx}uip}IP(J|7dC*JVhfYFZ*#rXQ(Ah{apJuSuoHb@kh=Xeh z%}J@7FbGYHQWT@g9`Hl4-UgNRgPrfd9w2JW7MbA!GyHu{CV>rn`s5g1JfFbVmkYRC?BI07%4leVFo~C z{#wOOIX~O2g*jrI(A?ez?{$%=*P9JF01~rHt%C*x4CVV`H;1>2HxvzUG?|rl-I0mn zZ2Sza+GALw89*hM6h%SGqMbMPI>>ALs79_DXk)(evGyq95 zKO*qJ6u`YWU-p{HHziBqnn9eA5}56sRsCMgks<&(9aqUEFB+LFs{fJHc(8S#05Y@5 zf+8)@iL(Fz%nbNPfB(ny4lM6{eY=8_<0(8oKPHBGes)BElQAQHR7d6p37Zu2!(zE5 zqC3Gkmg;``Zdw!QTsl&}1zC5wvrtf#)N`A?Ub~tVl3JH_oqt%39i>e*>FAg?QaXE& z`E#R8jXt#dQyUYQ1Eys;u3iWZFjA`K;t(2$niKsmywI*;&;RU9D|9samWb}#e!QPW zzVFEX=Rp7THHR4D@JNuo-*R=Oj(^_+;`{ZK$wp4Q>|Mr${o?q$0&0DZngQ%-dubux z(=Pd=K!WqAJRIha$HM^tDj49A{BNpGeB3c)^l5m%d^Kfg5;vM=aEVZ3eO^t=gn>5h zgrs(MOb&$MU3#xFKxMeNn0H0W#uB#3bXj}Q!FshIX875sPpGWxPhXtEE!7O@VYS*) z+1*)r_DNyBy%0~7`p72TG~{KDs{dAU@2j|z^N>ts@T`DbFb7i;qw0Sx-v6y-S@e5R zTk&rBrT~O3l?Y}tz!IkI5mgA>Zk8O1)+pQo&}w}+za-^n{-x;ElH?rdBxSUE?{gnBN#l)N!;&?dW$+1{ zj7n7hBLP@SXzl-!;0Tydbq$+eFeDHYPU)h;dBb8)y*PsYy|d3LKfnA<^!K~Rlvjb-5RE4j?tNLQr6fEeN7T)Uu=5G?$)~pHfJN`_BEmzP!rSe@DMqt z(J@n;T?e`*JW4>L8T38s3|QSQbJ7Q9>zV+OBI#MJmGNzIu9&RU%{eCcbjz~_!KwZk`#)W{?LbDEZPAC0LTocW6f&V!$!Qpm0%k~7Vv;f zV3a0w%^KDJ+cm6q8%OXYnM+t-W~TD(?N_keE?_o3p^(6~!K6S<0RWFE8i2Fp@u(=H z&%&e?1fg_`bppn@C8s$}X^NK-$``5I#Q+W|AgQ;}K5*TJBtU|Swb-O(Y7=?COYZ+R zb3K8q>4>ve&13aA8$~pgDm&z{p9TUSRM`{r#|(jl;&h=fV{ji2yf>Tr{_GI{tnfJ#taiEU$li~U5jQt;lHN~Grf@f3Q_-ZOqe-x%XL)Ug`D#nGGSEK(vr%#> z<7}ms5zKT281A-`?QvWFjeGAaB$IL@fdw6L`QM=sxVSxfSzj74K|^4<1|savwjOxx z^>wvHq3o*dP(K3RHjOKjlD}IE=r9NnjX>khh`I0WT?%5OkAdd0cg>XeA{_EXVx)YK z>3lpRx{nLr^OVQ|+8YpJ z&u^j6Nm2!SmOj>aG`X>J&`6$!#?vK_gn6S=r21&6*FP5=@^Zo^0Rz}V?UiF8&?!v# z>(^KC?9mBn6jI`_NGjCSaC%|{7ibE=1GOYK824Q6eSG!|UcI}e=RA9Q&gp%HB9f^B z%>o!jf`fwzr&@Hr6aR;8wh%@#VeH&tFU18L)w}@&30fENpppL-ho|Hsind9u5Mm6$sJPtgSHzE9VU~4 zQ-R^ReBk;I9QnZK|13n_{ND4GCL$l`X{4V~icj?=!HuALXC)KleGS%k@pwQ0V5szw zZ?@6lqxMd?^WL-Bh|S>jk(uW}Wa1Ok;CtBT@w_=e>5GKk^qS5VCAq}{7I$-K3IjMk zJ%ere4x>zjob1U0D4=KCGkNsqo+<`{*n8FdfED*9qlOsfE^GX)GQ%9&&RU95JB5Gr z#eWOu$4}sPaa$zH6?^|%!VOo~Mvr5Zv@sumCdwhnx!b`}dje^XcOBOGa>ngrxz$l()e^G}ufkzExTK2eC}7(*c0aa2t&q{0%(WT@I8EKr$wm13j}@n%{%f{ASXSMk|_~X zVvUCJVPAYabLG0*+c|yv?8RgF=Hi;Xsz3k!b8;}mA28M*JFq1b$jOLsd}mr25!X!G z@f>J^AW_#>pf)f+-52U}!Rsg@0B4Fyq_IF$vXsCgjW@ONtz!Dw-*59Q;6Z&N7-;yo zQ=6M)J~!H;EaS`ofI-%-_qq}KFEX6y{HGy*wWut;4&5G@*&(_l*VIOD(1kd-s1lYB z(5Y%29HL`~XyyF~;cp}>zo)H9xVYD7;r3=#$;f>6Vc;tb>Y#gZe228QBGCE%sDba= z@qhrp;bj^%OCJjY4qXzNeT6>t*{QzoLs|#-Qg#Vjr59Bv>$5p-J(Lp<-xv z#H29Icnq863U+s!LU=cnh-Y1-JB;sU&pGtc=N$i(dmqH1E^~q(^zO#=x2P@X%;`-e z;ekpPnenea|F7X^FMi2sf3bSudI`(TntcL-o)mZot++&x*v~C`HMj0lP4$eo3CEO>G2FcIXQ)l5b3F~tv49Sn2prICplg+U46+Bn8f!^Rp`D2igi&FtxL&9nF(zDs zMnFhiuD5z}%L@Q$eWRYW71ag}qDXak z5$BKp!DlZ>!ed6w4{B9<6k?n)HhjGy=6-T~3`gTB^hFB4p1-3zP+H6dAmCkSC&y_2 zogm*VOnR4HDr!UxP2S^~g29SJ+zav2K`4@9zlATJ{sH{spZs%Zi}ZNAxFg2DSS`s6 zpgryj6T4cy;c-+ia(YJ#^X)AxcMF&{r*y66&Ob*DKmh^s?Q4?i$yraNdOV21Qse`N z1d_*p<6}vEXn3x;2#?Q2Ehw`o0MAmy0&r9Sg#%I!2#G_~`~xEW8tuvIfY{hXBPc*E z3btX}can8Zm_GVgsN~T(s36UIN}$yidzoL2ZYVrRv^G2^`0i2540pR>v(H!Gyn&00 zNny@CJb!vd+6vG%m(Lj9x!!Qi2U@*7Mt`g+S_FZ^<<%{GS)TF5XU}1?<;s&MSVlW3 z*y8pfK)~^Q`Su28sC_8skIFl-?6#KLmW^V6sd`h3Y6t9nrc9b3Q?^C*i-$wb1ehQR(02K%T(&xOaRHmYK0Ib0TS$q=CJecMAR{2S$dAe=skme6A;>BL7Kpvimf$Tdxs zVXOLhU%L;zI>w?zI_)MY7e*e!@n8VJhY|tlp_`*##PLJzBH|!mA2Fy0x$2DT$B6V3 z(7G;I@f}tj086N$A5Wh?mKg8Oo~Oi6rSrbuQOrM{Jw7_3f7e$N7#Bj_?6zdzrf356 z^4{#|U43FkL@ck7aH+(J23rXW%RMvBj>`Ia%!!%#|nTDSd_MXdHrkn!{@&e!q0%D$hUCZK7qUK8LIIN?#a2BT_A?_j`V(CIKSv`=*hqf*tjPD+y+>sPSbY~l60D?%M9@fcj+ z%q<@Pwi}r~`WGBa>S4}Y*u%2lus_FgL*t142)NE>vk99!Qc$rQ@y(GQ+fb4p2xcPe z#0P^I^`OdO0@uXEeQx%9cgBOH<%JtsX9)5vT(Jo;|HiD7Xn+zWf@KNk8)N1imWITunVu^W z5Kt%`Gs3ZkAOdO#*nuvKJ+l*n-Pko4o;HGi{L?>$Uw-k2uv@PS!&y*PJk$VS1VHpS zXDK;IhBj7w#pUXPn8%2uf0o>l86CH0rHNy5GVF!0;`^shX=1`zwnCt)z|7olF?R4;%W5X2dfz>ua(0+-6m z$E|4{8e>XgaA8mU%#MJ)B*dZ2e&t#!(Oeq+_;?26@dVyo-jL}6Ro8uD9}kV;M}|sX z{6gq7DgwVFgSP}vJ->NFj-gB-@poKnsP4x$oE}f%?DT}z*5gMft`#ZQZ^}Dx{+mVl z*DR>G&#?dj^gD@6w5HZEFPyGBW%O=>h~PVeKSwnPv37mV0p!t1t`JFpAoySm_bJa` zBT{}VMWwP;Kh&HPwy%?}aoNw2Pzck`0{Hg?>)%!KOz;2g_oRBi!%IH?UFkjF53$>7 zN$}PUGYysk+^BQp>H}>^yd)|BI1!fuyX2tkKh41XXMa2x0D#A#&^=vHLl%GEo{U5x z)&Hxm86wh{+e=mZQ2k}Xq`*KW31Sfj05~+MF`_5Txsm+#Bt7<|+T9g`jRf}m{FEdp zv=yTyHYt)?za5wBSM*G@K@-6*pkbHU(al2Dr0g%I<{cNp*HJ7yn<4P^kz67}`1xml z5B|w7{~3XWoB6HT{uiqSGb@$CvNB>PejX2=IV<4e4a|49a5SEg=>VA}Ch$2OKZc|B z3Cvetn`(1R&RH@i^7v>&VM416-+=)hjr`UNQ%7KvdYuai8zZ4v83|$nWyivhG~_R_ z-liA3Lrlm-EP>JxCubf8N;yq3X)SuL(V%T?6+CJmB!ofB$x{2U)#sg>90`j%5dFPAG?doP}U zM$NswU63|ly=!QFA;8>~`%o)@`3dm7xGu3q1^%00FVe^>{AK&2yM{C_8mXXRl%QKd z0D~5hu?zvp@7HTInO2*FUyZJb$cd8iYbkQnglpYr#8r1r2UJ?+QxZ~W&&&3r!$NSX z&u5i(1wiNUgS1mSn!@i2Flu1+A+~$CJ%^7E-9H%6;bQ`$js91areFX9c(^qWhd;dn zQp4xu@GrCoufLfu;kv9<6%aj~86L#(pa8(3!^uK@F8nw+zlR2fANSsn^#A7UX1vJ( zLb~TZAvP+>OeYgKJ3AGL(SH|lja10GIW)GMoXSvTT%^Lu?6iP^EsQYDZo7k%Swk`Z zyF%bQjk_+-o3x1-D^~u)kU@NQrz-bc$KH2n_kZ$Z_!s~1UjTzZe80l^=_%Y^yn`ib z0E*PVq}0EgK)fQP_d#|-#hC|JyCr;m^IQ1h^yltXUj8>KlI)}L3wV>iHPb*FwL9uq zX2=4hY%hp?R|&Xe!0W;Cq>#yfM7%44t z$6=1C*U&x*uM}^3)f^FX6-7ZS+3vF3!^RylOK29QU{9z z-x}5TJxjD3auVhHF!Dnk9M{{Bf*3$FE19L>&TZ}Z9ml2-a4{{6e2f(WM`PA-ppzn+ z8p`@wm-U6orVvOdvBq=QhUI!A0ELTIp}C+@l{|Q43u^+h`AH!8@+^F{bho#g688<; z$Y2x%OvOEP&%Lr6IZ{I?hL~|oDIIRNXoP5|u-^_b7Y8a4Pt-sA$wMmly}pJk@}a(c zG=sbU9s7O@AAi69l=m)+{WDF8nNihgvIbjw9g4L3o+jYB`s&*YTA!>H(?U!vNIit( z!2kdzp8nnOUcI^a>;MG7J!>dXoGfrV-E&WtOe>Ty;W zsCQoq(IOPN8E^_|E;0F1xo=X|3BJO@Bql?V5+UFm`Q-8GwMJACklW zZ0OXq6I24KSS=Qmet5oG!1ZEI zvHwXsZ>q@z+ir~tT_c*H*k1T2655;9H7vHbMG|kzl^ps8y*m2glW_A2w8&9D08dgx zS$;Wxfij0KXeeDR&Jyi4?Y{2<)~%5ekb;Ej1tMR zVAy<;$amxjrE{#-Qve~Rbw+8wEA5;Xa7a#Zn3tfzXJn3b$F$98Cfaob0H@;#XygWK ze^|4j5e}`|#R2TI`V+A8Vo$yai?Z(ii^o5P*=$T@tF<~}EBPomBy~mOhW-pxWC=hr zL58%t0M+(AB-k1-$Y73TSsXyo8MW;jzwvzntE%k`php)|e!Kc811@IJ6IY{gFYRWD{bjTB*l zB=7lyd{>VL0|08fnM<1WZ+Tu!S)^8oH-PO< z&xF`P&~dL;Upp)pDD z$mHl6;3$E%NR7zEfARf)0RR1;{7*0`7hhdn!>g-H`0DLTxLMB2za^ZX9#YkpQ2v%o-AC7~Z>ToFCzBt-b@@Cl=WpKOP@`5I2n&)kkL>7rXo?TbMl z4Ke!hD3iZJ>f6HD(O!=;fmsPN`Gb%NL%s0(&X_o4P6nis8EXMBoNxz!{pG6yG8)b? zkrK`StVrFH$wuVz0!tkH=y^sFiJuF*dutf~J zqh)w2TJwQMzW?|1JD-adlpHhw_Ob(rBc3{><RTp&ov7el zr=aTHY=}0i%Gp%3jb$V2c5B#e*n1m^E_s}bhdq^|ZMC3_N_VU}CJC_TTmkrOEZB22 zK88R0)Bgodj!)sMfB)~{FTVUW{PxXDdd^}yCsp&4=9Hom9KraYSJ-Bc9GL2m2Iufz%&pwL_@`%{9PMxoD9JXu|d(*rfF(gi{Lut;+dd z7XWaENpcDke|x2IHNq^qZt3aVr{HpvlvL-*Pf_a zd9RwFI$X7%jo;f}eNuScM~#Hi0s-r&K^l!1n6B0xsBeo#5soxKqUgt z6@3qk95DVIKGWZ@97)DZ>U_q(_963~s>ju9S#4fj@>=Xken*e`&%XZ&JbUs;h!-<= zlp+&wa&iv;;|-658f~~3f6e*wGsS%O5<|Zg=7I;M`Ar^ou8hAE$rNp6nCXqv?qa8>9zXXE#$ke?yUA3M!40EpS=%qJsduN5x@fMV>CgN|ao0+w8n z*HHd}zA;j7CIOYGl&qqZK@6r9&;3kQ1{+yz^a-U6Ou~awwPuK`q91yCIeTMful`nA~7dDOCA?{mmO<;-~>YlN0uJgGr<2D1o&EP~TlH z33QyC&S(u|MM@l}*=#BmB~#eEvQ3qN$Bmo)qtyxk22nh0QR=S`Q|mVx>bZZFCxmhY zYR-jOO#(HOjI7Z&L){m?CA7cdf_ZS`Uduxt_`3lgsXt*%9M?GdUZ6AQWI|>^jO=I( zQOnLv*`K^eQs2ik@29`RmRq-Sd{@X5@e#~<4{l^%CUF+1;MKT=)oR0f#a`2Ie=NBA z+kHG30PwLBs#4%V75>01bU21x06>LKMd}mNiD#5z@iP)yT=3hSZ$TpT2m;z#qUlA=ieO=lX@E1A zzx@~g<-dYI{=+|oSAX>%;nlm>a5cvaaD{Nd2L9vg|D7tz{isNNG^isT1cIN%nV^@H%SoK&H1#hN9M9)KprGq4y|Bfy1J7|I zbHj;o*g?(;+61ba>|Q2^1a4$~r0i*w@z-9H=rnSTfHaK?QAa|Q4y$$C1c|zjq&35n zM@L2KAH&VvmfpA8cBW}VVDS3QmhL|}n!x$#luQB$dMJU_wkIboDjkiC}3mEL1gN4)A;{-Yo~zgyHri zH&x4W018sL*VU8WMm-+^01~XD$qfG2|L$MI7eDwpY|<8PSMQ*^xhacx3)|5SmYWT1 zx~)ht?i+w*f01cz(bkV8ZPD((TEVKIdz56+HcfW05y#T2^qqwpa%I8HNo2}+t+#9V zqhJ10_>+J1XK?%VSMciXYj|^WNt+1?_+P#G4{)`-fYbJi0zk$C#;@cg!*X|5`i0)+ zQ`(eG9K$%SEJ$-oUQD4|mMkU0>4jNBO&>`mof2y*AVC|ZT3KN|2gwLLUxybq^bU+; zCn-8JNWpO&C)NNA>)o@TfR{&RPez$bjX*(W-LTY3;~dflD`8XS-|g5WFlt(VNmeZe zI|t%nWp{0D38R*Q)J$+$qCHkCE(JWDjmjMC2n1rDfE6;_!erYq+V9J}6bXJb9$Q92 z%XTMG1$ZE!Y~{thO21(qQN4=l{I;Et@4;%*QBHu1>lJ}bkQxEoa(=bxNfOgJwH)>d zEc>7W790okF+j};rBMc97K8m2DSF&f=3yg%z|BvtnQ|E8(zX?U>N_8Ikjl;3eFbXG zUSKK%T5#w%OsCR4r_$lm*7p4$Q}#wt^pCWMz_fxR++X_J0Z?Gig5U87jNQjK{_g+_ zj;ErkDb<<)&XW*c5)RB!5;eeh-FCBOnivER28q8<$Nu&n4+a1nRsej&Os9(Nhx3OS zy?;*C`HC<>3Itn!cLHX~Mj)94M|tQkE@3ixM=Isxqi2N?J%>Cm#Btog^6oY4Zok6p z^@VvX0k_1gNLHBqhn!x}i@N;VU~-@8NdcL06kEC_`mb{ zKZO7BpZ^<3w+ndr@*8-0^^QFLQPc1j@BUBt^7=Q#c5O4|TyJ(cRAriygyH1q!=Fuv z-W6htg^M7MA*A1-bho7K=t1n!02Y<4L`$T8Eo#&R28v$pIssWg01-YsBW-Sak+g+* zP?4aK0+6knRg%{d5N*E$jYgS@%Tg-&Q>b0;&66Gv1RcB1ll-Wi7Qjm&tK=dxR%N@R z?;y1Wu%Ff#X57djJFXx|WuMU`AWop#?lz{og=C?Bq+uFK^hxiUnMShf zQFvlm6YCWwoZ`~Q7=pLkt!N~UkEVr*b5bBQ0pK$bc+i|vG)uOMdwtKK2yaBdfuLqQ zmJ-XVURR0Gm<$}`CAKGJ&hg_;@*#{U-$k_o1z>t|m|mg>Y)z}`Kf9JdXL@*z&XJnv zYVa@GqNw(+uK4|rd|)t4;{&ShDB}RUKTyEHL$y+_ehK7*)W70RX?>ad`Xfq4YHTm?AA2 zFn<{Q5F`fqyubTV5-da#?Q(Z>lH$9|YqGJnqcMz*Fum$0@B&WZ;`S{ZcQuOBO%%Cb`+&~%bmP>ek{zLdz|McI$(JI5& z-+T!#uiwGd9jgAP@aGr*4*v4pUlztwAP5#qFSK+@A!kBgMEZy>QhhcOOBYxgU!fN0 zcsPlA8zR`!^_Rtb z*-L^mD;U+QgSR+OE6s`TdmvhXhXVi(sn*`-Ofpaf>X)H5U|%&>-&ZmJpf%Vx4Fu3& zzxnn*8=t_UNZqe@uV6Br!gw}?QQyL7vxXK0{=$Y(qRK_0I&EffKK>!xT`XZ+822*W z!D_UD(X@wUk=8d@m`9TTXs&tk7icAAEwH4sqk=*}=7qD_Q}`eL+5Zfmo;-qYzx*}4 zzP_M;NJ!qUUcqlJe@*ssmToYX{D>UEXsbnuSZD@T10-gaMXJx)BxkkpZ+1I4nw`_L zPz!*LfLUrBH0IT>^T>=ClBkb+{--7pqtEnm?j?Efx8mrhqiqwAIP?)!A0y7JM>*sZ z*B#i78ne9<15E!9dvErmS(4p{{o>wl&%Ls;wyxg0XE-w)YB(gvmMBr61(G&pLk0}L z8-@kg5B{GF1A^bI2h)-u*bqQNBrSk>vFG9d*<;{MmHeUtsVeJmtk z$@s?6&J2Nrl1mMF?nuE007Cr$D&wBeM8&e_gmJL}e}=UT^@1pcB#Q2@)X$g7KFH6g zsp$Wm{g>%L&5;m5RX5^QC|vSTne{G7V9Ddb)iXs>;;p%nqHkXTKxW;`F81kl&Z%$_ zfy$%ohK_tL4D^+Cnd3VjUVASBUj0ahK|W8qbzSHAd6UwQd~(Rrw?S8{f_pzbUuFZDGnyLu+bZ1G#p_>4Opo0OR%)*1{Tc< z)8&-R_MkNT7!N1d^t;&Y?cw-z8|Uq5P-sic&VX4EcvQ;AaqV6&Sn+*TB;tN%B9=-L zw^~2KAOH4$i(kLpm0OuFw)emy`rs zsZ#6i+H4Fa-#ub^pO7i(d*LObO0Lwp<1iv$j!l*&H2U?bfwdqC*LRzffk(6yMaSm8%HVeL&|BuSyS5kB8=77HAb$1ZbH>`y z^=qC08;g0%*3TuLzT{Qo#Aw&8AZRpkwll?@P{$Wc%9rT4F#sS(u(H5ZaUeZvpMCJ^ z+PsPk{rWq(;8_O;4$%rsieInjT<5)x^4Dgyiy-)41;zXD+jlXb1g@tuEH36KPlNK_ zn4lc?gA!h0;VTwalx4rXIO8NTA_LkVZQ!84gL?D^?mT=OPd7fri?fe#GJPJD*hRQP z#qE75uFgt#)v_>L1}psczx7|?J74(@UOan(!_(vNy(27Et6+Ck`0=YBVph%AI=9xk zBIFBp-(Tsk4i(&7;)cjsZ%Uj9XGrl=l3%0o)>^ycd0)id>usiR%m7I4Py0n<#D&wA zv5DQ!KpI=7(B?dRJ*7kjlEQahV$aUjhFAJq^&Uhaneq;-NU&5T)4C$+0P}EgeZ4ER zi=)x~ii^J(q+S7ZH0sXedoGow!j!p7>lrpepH{OhcOTuI3~IuYs(i}{jZ{-lc?VTZ z;Q}Gpp_BL2I;Q&~roXx_l;N)s0AnOfN>2==HBBXaZJV;?Sy7frID1_qZCl1123mWO z)52>=M)?Nl*-7643rDzkUQV|3*-q4{5MV8Tw>|}%Y>v{J6fz>pV{xv=`NfRqmMU-P zUG`)Qhnz>lKnlq#V1#jb$bjFK%s>XB=JBy=iX;I^Io}f zjjKt|pLhCS#1eSz7_Rdm_|N}b^mM4lsH!qhV}RACd=48pGik=Psq(eM@@K|?oKGA! z?w6UyFU4_V06<0E%;J$JW&u}LzE6wYnPypEuxbg$v#1##T~)adf+&Xg)y(SGZ;2)6 z)Pl;s>osnDvAV?1E_>@PG+b0?Bo+XJ^2u?&L3m8IAexBAG8|L#QxSh ze;@zg>;C{}l>ITxhV#gcJS_E$)Pp3&$E-EI@z zm)sw~``D8Js{Gs5#wXS|3AyoTh{a+d*DnN6%__+;=nYB+9;EckaR8Xhnv?JXjud|M zaGrq|)-)RRaM0%v6W^Q4PokZsO#fCFD+3rWV9D;CGW>}zfWj6<(Q0*rD9{1(0Z0-e z-TRW2d9Tx(!6Ah&IEO&z+T!-hLKJRPRaR!_4Opv6_RwU@aE?I{$IG`;YQ+uL#ygx{ zTr#WS{_Ylo0=jov%j9WmdqUDAC7RLUkE@3z1o~^N*lZ!1LC{&4SI_oEUd7IPaSHtB ze&pI$zCedxcQ*G$U;3OQ&!M<>VE+2?C)UmNLp{7u=BzoH6@YJ^E|3m#qTKR>L(!0AS3?*2Bp z@Vqz5PS2G9;teTrT7@xQdfHn=ecJ{qsIl0~$TUB=u<*1vd6b4wy+@Owp!40t$0S+3Wr@|0Tpf|EQsTU#pw zB$APp8nO_R*uMcMz9&VEq_pPI>=kJ@BqqN`5acKi!R>9-Q3LzIt5!&gXwNy)H?&>tFi!Jw69E{QGLksA%($$Ql^P zx~TnunVa{CSqBrO=okqnDSyZj@?pe-O9WRB4kZ5*aGaZ{Kdn^L?m-ENHgNb+r z2IYX+`ugF!tJw{nPR=a^^nenVNedU z>JmRc{ZaV$T(jJT$EL23Vj397+Dm20%WQ6BZ`6yMW6SE7;=!y`MID>hvKSaI>*dx4}s06M=m0x)z{9-WOUI6z0ke zKR}+}_r)Lil@EKwSI6k%^Rw~E9`!MX4~yvoaSzfV0L;#@ zK3;=m_EL96m?!Nf95)64G|H;hs&KFx*GRLXi%FRCL^0VSpl=YLc}(_EQ6APPCuTxzFE$C-zr#%#8TY-6UFL?P7C<6y$o#lJH_<;lDh?tHYa%V z;32p4ef0DRUYs5U0C2*V;ql@SKYZ~+QF`V^%j24S|DN5?Yx^w<&&$=6a|=j`H`G6@{su!|va+JbMpVPS_<0d12I5%pI0*~1 z1`w@pgMuDgACaeku3;sCEuylvJOJ}z)JoHA^sclfKYnzGr_astwQ}qQsWpDCT#pgRrR;pGc5v`r+3m7>(U_5OH{>dhK#K9;Q&>bg zGl~-DoClxQncQb1@#S!j1^{Kvb+l;qXXl;& z5MAWI;Em7CdiQJBy-roGANmZg`9P+_f6<`2--xzZ2BM;%kfYJi7<64Wmh76}gHOhn zSIQD@Yb>CZ*7ir`Z}Us>=>WoR-`dCKXo3^> z5=+c+Hao^*amFBoLIP%3nP6#DFq8(kygZLmjj+<$oarO?R@&w=p{`y5NalKC1xr-R z#>-EjtJe}QK+9I8S^t!=?pi^Jw&rX_S<7HPqtV8$#WHjL{#bsd26<~GOi;2M0tB_R z9(GEKL$dJc^BGP~&$!#4^-i#X>}(GBXKQ$%Na^^8A%Ku zh8$ytvAHJBE; z4Yv5{hhnyrJUA%(Oy;u+f{Zftrsrpu6VLoNg;Vs=spMK zRw`x7cCI0Bv3d=ZW$aw4{Pz!Tp*JaT;$OyCU)k?7_@P{g?itO(OV2hI9+;9ZyPKTP zS=hH-)GN2bj1Cj1XoTfH7r(MsKnxHP`$pFN_DRW36}>( z^F}UCO43RKQ_hKrDi^JP`itHpE0yVS3513@&|H-B_R>ACO|SAk4neY<0Q?(d~XU6Y@MaW z$G@`IB~xa6og$peV#Q$KO0S70P?G()X%4UdG*Bi(@|07v!YWw!bRW`B~H!O zzj-ZOE;cMgVID?PP`M%c1qw8O+h^jYdw2PiUKa##o$p?IowZ-`apw2%MMoD$q}&AO zwFn}&=l&g;{uAhy~#s52%`ECtl> zPW^F|Y$>}uqEPkSU)dNckX-hnSVm+uYLc5z7KZ_WJT7hJLbe}R06L{t4F`4gqmn-I z6mSv}*Z-5-E9D_jxmFu2_-cBI*~KYlvkTO#R?CqpOzRg|R8MhQeui7)yO^x@Fa&>x^8wvjq+|@8GRl@8Bn|eiX)~Lel$q4@{}b+yZ^g z^3S%rDz;^{kkUJsvU%xsYWaHWU=NeYgiG=`y-E`-DZJ5=bvB>dsiNTI$JIJz?@QpH z&rl>Td-lLYke4L{*|T=4{9B5s|z(t+?w;B^siV zwu1XAC>^m1sz@J;r1*_&M_lc?UbGxi;+m2aNQtcUuetr@dO}__8aCM5U9xv-z8Hk} z?}oD+V6}J^=Ii^V3p8HTZ>IV^?9k-dLH5@<*i5({%hl^k>Pp4IQ_EO<+cD@K>l2y}M1|Y-= zXJVi*#@(F>wl<0YUV4%knD1i~^qPceOHax_m9GFvy$E@d$_Ss8PwE=sa#muX^pcB1 z=e2#xVH{TavY*c{=ZVH!Ye*xjWAp|kv(uDf&a&v@+t(|gFVsu!`j@UV@>3Y%i;gu* z-#K*uTzdxjMYH#EK$go-eamJ65X#xN0R&TLsv%v3rpRU z1VB1&3;?*YNbNzJm6f&8l@9>PH@&`rk|GgwnJ@CS?`w8=S!%YrWly_=+)c2S+8#EY zARXi}pk%%XD%c%OWmJ{Mza=YrNJ?Nn!z@_tm(z3RS~u4*H`QrHF}B4Fe*6L#%^_Y* zhnUoNu({m9c7KPH1^Yt<8^i|KFU9p9&P77~{X1X9i_4cdo*jy-6qayf9sr6jQ+&M6 z0Ffy4Re0@kbph+B)@sc;g(Eh$Hp9G@n9Y|F^w@k0j3^|N9>NW0b?C`k0{x5#HsjHc zO2M9)Gnchw=5t<1A?M5U5C~MzdCAHjP#G9Ct3fJvGg{hyIN5-dFy$Py1&mvdy95$w zp!;rE?XePSEN*S3$ zAaHmaqsbe=8Xtz|_zG=Zu@yyLC(io_&zlH=xay*&XHes3AD{5GPR~zpIrq48YaGBC zd7SK7%f_%VQho}r<0wR}S&+;FJ&y&S_XroH^us_;N#W1xn8-&R0P6<1#E+X$!edmE zKf>L+8~ED$dwAo)1~$iKY(~U60Q_)W6#5408ub9EZr~s8Zb>9XQ1ZyesF=kw;R$FP zTcKwCD}|H%pPqfM$Ira=trAwb2=2YjQxrVe-p+pi)j&Y5(mzkVXRodqJnJCG=IF|G zl0|cMJP`z39|quei>t4G&Ir3NS)y$6f63q8$9eba@?WLJa^)(WaIVf%N)Is4ThaqC z@2$!88*tnh0IC9ebRWi45qLu?TmnQS!UnB(=%MOQQ{Ce|=1i_~0$EKnK)5?VX1 zN(gElwOI*NRQ|un4d=wQI0_cn-Ma_sTJD05TCG8Dry2zN<;4`Ir)R;EnsbJDRcR?% zYh`sF8~p)>L2%82LcXY8;kY^s$|)!Uw~t$c1MCg=F&T_8Tg_RK7sM791RGi4|EPcBxtKfBI1-ZMMOpvexT<;Zf*IFy83i6Y9>~^iVX92ms(xQeHmQWlSD(Dc1vtvWcHBB(t8Wl1Y)kt1uF;0cGb8 z8bnTUt6;FsdAWk8dta%0x-C+zyB*d9C|Wf@viw^g`OT$FPD4J0kmPWwpsoj@-0gFj zU(;S-9-dp_b}%09!HqUihv!|drtGPqdVCAVkcmv5pJ6$G#bxQ*A3Zw9;mHyY?>E@p zq%MCh_8v$}mF`O+S}O@~qn@nqqvHiW`t%&1K0XhY@+vyn$|BF=m$gm&|A^1PepiJ{ zN_H{DlaFV3_3R8A+he@{&JMoz?oI$FeNpsv6P1;1F9QIaRA`|(BoI$wGmG!1Mpdad z0DI!J6cXwIu*GZ;CFUpCfAPN76kS|{raWET8}`36B`zw&uBSZpyY49FY`TnlL=0-z z`Mh6SBv&6oVRF#zE7^pb^}DSYp=z8hBGEmWkfaJq60c61#%aW&EA zCq>}OLaPW&>0}IL*^1@Tsy3sjHAR>K5j*TUR&&m3j^%;~BT6XZk|Sh17KE>m+N6h(e_dwfdG#IiKRB7X$u8kr)oIDykJ6jlU zZt%EGfyX4B4tP-iK>#wYUWI2QadxkkfLEbrJOIuV{Tc{}&mNXZFE#0QIRj=*=7k}; zVpj5$SV?St5&U_!!mZSf6flR9*#Z}#Eo-V^x?x@~3KHO;c>xj{D!8gZK|v#yNlZ-i zJ}P`lsPhT}c#W!cnmij$D-FcTBkMb00PIZYg=HA;QTPmz`P>R?>0tma$6=VOX!)2` z*n7BvljTHYULGhFFr|%a!SC;4+ zg}t}u>}}>%v6X3q@OKJUY-DrSVJ#fJT;ljJ0EB#A+}@jL8{-7DIUm7E zK8AI&iwTb27%S8TjC?+2kMfhWT5(;Owr;#8EpnKs5Rhl%?fM(yO=OiHF0NNOZ5nSb z9h~i?=r%<6SkqVHI7vG%_Xfy$+8FYPvdeY9@AX>g{Vbl|0WaA&ug3)W4R*%ryZ?*w ziPu8|X)MMS8nzzHkZ{rabXCU-HQ2fe?|@bPf1y@E8~r*7h}?wZ#sB~!@$gx^*DKX% zF8En}DcMQP&UT1NO^xw-*QT&c(8)P@@o1~iqSReoB!N;`la_crB|IrzOt>m7yI%!+ z*%MOP@o0p}c+9ST*=Tw$DSqYE%^B3x=X$y160E8gI$vprNwlxRo=3`zy28=x)7gqG z$Hl6~Y*{mV-m0D9Y;l24Pafmp)|>d|{;zZFfV#*L_^B4FpjZYP3V6Yrv{zVTl@{ah zp0v8{CLWQZqZ)ocsBwSiF6SIT=h`6?tWsbY|Kfu|+c4bUB3SJT35Yfr>blj>l!aLl z$tz(0a(N(3Xb50H9Ji+a6)sv7J!iGWLfKoYn_mnWY6c`ch{mTNufZr$jn@}QoT-w{(o~6#vU#_ zU66NRs)=y7gHqoQ-0y&^IoK>za!CM?kt z_O%F}S`LTt8flEq2->tMOSaQn>8>|FBr6!Q4lCqeoD_=LkxBE+qKL7D?+;TMx4ejC zh1v(GI)vDL`(cL9!s)= z(ZHk)AdlUbO29-RGrKSQtg#>3#FjlFUg{0T*nRjO2BS$l-+CfiXAg9DN1V&6h^qT~ z0&>g~jmzT~xOnlYBwGHWgPuumgx%NQ!*INjKy{p#G%6eCdhWn=Hu~B{lGU$ZoHTs3 zT;TZe2dEb_9<#||3!^6GZ_h(s^CoB4kwLa>vSl8>mlXdxJoxe+HwFN3y}r5=)8lp5 zK5J7Rbg&SPZprHoNlvpvV$ePc)JB_!B+r+*y4KD@^14ht&Z9tQS9*o_-+zmf04b?Y z6cNQI!{aNYewxab=5uoU&#+i5nb&>3BKLkJi=7mE>p0PnNPs9MjoA3e5?YX3pPK(v zZ4|JUp-vO=^OKKRXnym2eZz)4>5OB3J`E&1$Ka+DB%Jb`(o)h#y#j$ zIHQkIzhoD95kDlk0}?GVfvuh#J!hkCX3GQcUe|^G-e~WE(kX?nfld0p68p58PvSM{ z&^%wPxpd6Nf&UNdgcA)a*?H*sFS&EibqcPfH*mSfB;MI&rmlARwS9vG#W> zSiHg;QeXrqpFE%9#o-+H4<@*KdxG=xMX>yjS=lCHEfvnW*mW8BQ}>K;WVE;LY`y6o+)Zw%q0VbDewfe ze4Jzj0b$O1zT!%mmY+!vM$~1BDq7>JmpEaPEZoT!-u})XU~B(?`2?cpA+thVeviN8 zvHtlON@I^>AD@2jF9HB~lzsY|6Yv-UfE#b(o$vf1wt0+=f>zfVm&?xLKj*CZXV>4z zrbnJn09%*mr?@7TzZS8GAsYtJktf2hU*^iV5?F~sCK_Wm;kYpXAUf0B z)deUq&+eu%OVQ{}ub!{_eOtt0{YUco#9nsY7vl-!CjkH#g$yZ=;b?%}-R-#Q`5*cq zWgl0PF;7-Y9T4+!It|KyiA4}b3$6fY*g`V5_8?e-qrreJd~*BGmjNWKT6UK<##ewO zF?(C~#jps>uqzsyjM8@oP`wmq;j0Qbv zTicU9^!jv^qdvJWMZr6c_j{$(ZCg`RdJ9hdMNYf|RM|%98JxW5B`CpebfpGvwW*0? zMMPN7i-IYf5)xV7Nq1365@GTtq-QF1^Si@}^BFFe=V2~~;a)bwT&%(eR{Y%Lx+&aX ziknB6SxV-XEj4M8fWY&^8CHvib8IXdKF%+L9dobCf68Bk_|S@O;#a;7QayN5!ZBAy zp8y99;Ci}-8dJA+oZ|2c<)JQ!{m&e7OihVc^8 ztI%Iu@ZWuJ%2W)59__KFMpJ42MG&iPe+bu1!kQT{5rtExLua`|`b46|Z)@M@cWZN( z#{2n4u6F&}Z@LS!b6dh=I%!vZN1dn&HFfP2BOz+y3<#{B>ALY=+f;Z>JhFwa-myYs zdMR-c`gb8^zia1=N!7?Onn7aqjQR9r^BYY=$*=V#KW+>F$QAol6e5^kQd2W;-Q!n>hszT-p_c)4}aq;b)(%twITmoCKGH02iT6+5h!& zg(fIv-&7p46Kl>TMHGY~W!)1CAcY7nr;7jrr0hx}6}nN@C&-EQ{K?rT*c$jpY+?>{cv!0SY2~s7>r>)aSZ*vhdp`(c(fsXW+qS&yN3A z3SCQ3Y)rW7d~)L-iaor)B+kZr5Fy+()V*{U926Lr1EwHm zkF$b31|Y~764k|Saoa3SFY!me zy^X!`K)U!r@%~45+19mjK`EfQN~4lc+~pZtvP5Fl z8;sb^-ye>J)T%##U0C zG!$2+*dmqT8RAxr=2r^=093n7&5epalLI;RY14+SGb8P4aN(btdj9!*vHipnU!A*Ks^O3|8$pQW$r4w4CYX>=4uW zDkwh-#~55so&cWfj;WxVn3R{riGk=^XJ8P82890CzUdMOFahgSg7`)Wc03}Oprh38 zZxs6<^h*qaLhJP{VM`bQIh&mbVn{)hoEE|L1)y8(adm+dJzAvP z6qCRRtx2ajH7a~{QAFjBB-D&S(E3Zrd%A`T?V0Gs2HG057?v}UMZ}kIoS0 zV#?JIL~%^K22@JOT>}fV{^Y(o0@}cv&OKB2QUYtMfTT@=IIaj&CbsTvDHNIn2q71g zN(iNY_PL<%o=?zU+%{os4OgQ4-~X<}#rzEa$**t2QTyUBN87^!w>KTLAF`tNMdp6@ z{ES;|N)&SlAbA-Ks0+=(L7^11vW~nM$+0UUCl^w$fY}W5;*|ICU_1^#6V9m_ZtUXX z@CAF*d@*GsJpcgz|4BqaQ~>Rc%Q|ImP$-W`u{O7N<4$2fQFQHS?n_`q9NCWR{2c~2 zJv$B8S@0ZOo*qj(Xe}LeMaw-+m`XQ3APK4TgRD3?d?~GUxj%vc!O_NM0LNq5Go^$* z%y5bUq&8Ek`2x7+h<29Cf0Bx~P*$?)6DW#J-PTTTUfIr^n7oZ)0=b4Y-MUG~jR64N z*khJm3&aJwzEIY!n=53R9fh5&TC+-wSKUr%S-7QIk9pFSCHTctW`o$;+Ti9otR$6Q zR#<&jDhwSH=oG^VMq4}K=N#jzW_G&OYR;RG(gk|j!gRh|aXVy70*ozfug(;5) zoL39{^^5Nb2-tm{DU8c7mit?G@%H}vVJsUQ23S(=gq<_qe~YTEBM}b0VHRF)#fY*t z)E^%jTmJ*!9ivR2!83@)a9NTcREQJ;3?ey@cUpSqRH*AXyktm=f)}R0(pu$0tni|h ztI~XO{cs^P$=>R}oaO{L3sA`KG$`pxn}Gl;BP2oTGM2y$7y%M8s3YG&wl-}(OqOXC z%KAd4^Ol<6m==G_#8J05&atQ{Byu-=^pb2Lf1%d5c{-T4z$yov z(DKSQ(2zkXgO@T!56Rio!P;Vvdm#z;d=Hjtb#q!tCZO~1f>oeMp9rO9CX$|V5l*m; zzxrT;PYy3|dwamob8EN2{#Jo^Z-OnN5>T&Je^*0Ft{3{(UMF+b32L{ zI&9TjQ6Mj?^RcD1h=H0rM-h`}aej(n0MN^e6P!K$I6PYc5_G~Ic?qbrHoV{8-pBUs z2hnS?xwDU*g9pidAI^L7>a(EGkK#m{oQblB#t{_z>8s~haXdX30pZ`}>>?%yf}eL2 zOHNG_)0%m8xxkbE{eKPMq@OJD@IyHP1WsI#3wIyBh4JPVk8$_b0md5}Jh;JN7{GI1 z<$#y6qbPuQsm#e;+pn0CY4)rp!C^ zpIwd9)$iFW*Ba_bOUZcAok2}x-T-<)g};Y*^)&^zuJAH2va`L#uIQB#oJ4mW^+G2$ zKy}?Sh41DzCcC$=3SV3{B`#-S(^X61E-0mM`Knq4A++L-e2w7~o0qlSmEWgWmSs>D zD}49)_jrRn+tnJi@Qu4)!*Q^5a@Sx~>|QD&2>gsFeBdNqF735+?TGN5xf(^O zyI_I1N}KiQJenoU_C~9n`_>Y-%+iF#GPCUSBCZ1&L!nBa5&)@GQd;X4>J=y=4?o?b zS-)(l7Q*t^a(STU5)|nnio$fP%-BOP!P2t0n9ZbI}<5d7D+I=XFtt zJM|j0YARb2T48_)Ms7o)qi|1y@Yw(&`(=a4=p3h{8*mWbzl&yd7VdK{@qHdd!JZ;= ztqTZHPlJ{?6bg9xcUPpnP#f;nl#kEd{7xprwW{O1f@T3# z-X(>?mYllGIf0h~{*H1Ub}+kaad`OxlX@SE?G_iefM+KqK0Pk+wYvrG@5q|r$cI)8 z+4_w+A~yX>Iw8tLl15q4w=V8=0fosBkQ@p@3^bSRq7E4T9OdN&EDJrAQU+x|8R7W( zXZYxYpRlKhKEdIH{!o%Ym6)ooRvPk4@+@ZkuPIIjM{x~G)lvcr_LE%tv<^vDOs6v* zUy8#6FQ0s(V6b3shSTbaty{M-oNV!2?H%05*3Mo42b*~C=DPtL?1#_x1rYP|Hg4u5 zY3v%QmOss@CERudQwI$vaM?zejDd3bH9AWokambXA~#6+({W<}z*WVTsqswNb{qxt zXXY))--~%yv58Q!TD(!zW((WS75f1DbRHK^o`kzym9nVcdgDQSOA>N|QW}hb;RXtF z;gvI`VJ)~p&|tEO{=7ob50*xMF4jq~KIYUshWG&jAXrel;>M>gZ#p#jJ3a<{Z62{m* zjthelI#V7!D`Y2Lh{o9y*6S)}DK$=RJ*Q~c#6{2`#lS5t+;JZP>gHDuMp||;?8A4> z`3rKc7e;o0#3@89d={oBCykj_==8WN>V`7`YCpz|7_ zwCVyb{T0He#=wax7mBqTu~eZRJQ^}5-8S;P8|`BuA(ejo?y{y@odCkZJg*Aj*1(Er zmlhqOCQAsFc>r<>Y4Zj|$eaTN1zcVcsR74Sho3gE^;XF1{|!*m@2llPKU-ivy@>Mm z(FcFSNyxpy5WBbU;o!A5aQp59+<)UO+&Z|6@y0~xxZ9>9b9}s+YlK2a`FBCF|GW>a z9WF_N>_wHj?yA1{vK}`E0GwY;lQNEaKL-HW!gf*Rz!H#*`7eIcDe(?jwPk_SuUt!w zT6F=(y7aUN(`DS+k6NWpV$98|#oKQ`#O?h(?WQKwucYM5;Uu7g0h@*FhF42Uy2=HC z*Bi2jpf?!sd8^fee<&W=)Fv3yfY!H2438mg278T3Pc$6x;pxw?IoiOeH^H*0nA4!> zY0Kg)+lJhm3*srDlCubyx=M_%r9dRnu_kn1Xi}ZwDzl`UwN8#^DU>dY{})*@AcT_H zTeVqKmcnDt+5g1--zy{Oi-aW#4%C;8i)CZ>uQVcRQ=$=^3dc4IRS7MC*&$nG6$<8$ zQlZ^b(whhdyd*37)?d#v%_$WL4${1yNh-? zL2vFcXf9Co&v`;U_AwZ42FtJIL{Sb?P!2#TicX^6vN&2L)sfh=lY4{2|K+-csB5jy z?r8}p$Ih3Pun)G%aOnh8#Y!5lUIQ-+)##MXV`Sx|%*Eff@v{uFw zxtGPXImEEp#H8NC>U4q2^980yQ=A=_czkz+uix+C^_?aFTHW)7%l2#$*Js?-vA=-R zDh4CkF{PV9d?EV?b3k4nM5Wg#m}RA`o3dtbSYzBS!!`Sug`d{-qzpKdBesd1$s0SD zu9@q=yeRqP?oZ$f*>|kkgZ^J9eTuxE_((%H#cjf>=i!#msEDwfLa$`E`Ql%s*O4`=1f*} z%aMKOpPO*p7yz))Zh7mAW&K&F%;aq2#14S^jSNVTQeIXH67+iwE6AdAtq3r@o(~q! z6;bN41zV`qK`znl?ad&#MoiXIQg<~{_WhA4e-eh3Q~@wGE|ntHwKC&LW-%okEy;~r zi^WgGEc|by?s7BFJGwYo@SR*fwbD!|kmdIA(IZYK`u4qVVKXRgl z!)$|sxv^3KOXCyIM5v<#`X_eqe&ShQ%n`7IB7OxdG(JDx4v^$@8W7=Xf{Cg0-H%6~_ ziNWAfJUN2`r_~db)c}2rP=tG{&iXjNoMLu*iPO^|UcWcQR}O%CThL_8RK6FL5UwiM zytJ;Pqh!;l;`A}crPk(9u>!yp6SPrLD}Zi{Dy+E`F6uG>n38!U=;PdMN~x7iLAy8( z1s>63WP`Camo|M4#!VK*J*D@|fJ+;Tah;IU$j|@)_H6@qZmv&p@sb z@Z5F%+w=YMA2$X7OeUj*{`B9jb1Yjx&JextZldhq_Y2`kj~x3xx!)|&5B_S!!TJ%^ zNag{cVv(~Z4ss`+%r{mCieXBjLjsy*(F#+;Dn$|Y9` z)NLhAfg&xk2nwIY9_4L&}!s^6zZqz zQN96XR&O=8gD6`D>t-SMQ~6s*t*w97(iD`5`+p;d@iVx)$w^*%gi_L zl4l^zwatUH+?5%y$_Mck@H1lTTD=QWlK?e`rFtR^saggFaxv8BTJXN`P8cIMwuWfR zd-(ZBkAg}+3l^Dx06zwopjK5Go_Tn7MJ@Rd1ay7H=NB;0u;47bbS{K?JleL1<&rec zCR(5JH+Ndx>@g5n5tTLl)RkKQG6AGiN(Kbdyv3B7bm2=m2^N#^2=~&A!>gn4jFy;; zj=~t0e7-^02a5m*&irRMsNNUQM#*>W1l7qL&o9G!$4eYP+{7Dq`uNJe$JS72v{`v; zZUrl|x=DM<>;APWoow$j3n5Z=y!jYw^2XJTdKnYzqlDhP4GLi%*_U~Afih!VQ8uAPjf+=n#u@w_V@8${?~tudv|Yh_Vvzi z2Yold`SUZ(&x6&t3YOio3sm!()lrXxcR^u*h0dK9QkEh?d;?@|ZsHmio)MX3 ziq(Lek9Gd$_SX@s>($5J?VJ~(K%mu3NJ;i1S9i&YfUYNkxYUk&(KF%@dHAIjuYii! z1tw~HQ4G>ZM$6QVi{7`H$$UQWiGs2Sw<_12HsDm}@oJ(Q~}NjO0Z{Ojh)&ISmNVPdgq-c_uZoGEhJzYb}9- zD(*u`tV$73{*&;|2`c=2vgDP64<6D5a*N+|nrKKWV-nOHVy z%ml3JM!>Of^Ao?9k8{N(tqxj=Ak`{k3PX)roKh#xmBVyZgnKEu*Mb05bA7ugdorCV zz{&u047086x;1M_3>>SrupEIraW|bKepfjcRzX&{0IE2AS@zVE8Gto44by}`0;tP2 zfUid%;qcjK0StVP+k>xOJq>GY!GPOZN_R1e?aP!hn!jfTg^kZ_p6J2I4V}2}@`?Cz zA2$a87^4*ZVV0#4_Qe-%@yLeFZFkETj~mHdT_K4%ExlG`o$@+IayP`9_e4}vFdgh` z5AI0P6vcjfM*UjK#uAf(t-RCo3mhMx;ru*UF6TjL(Z3g$3O+PxiGf3@ed9#{7znU? z76U?dhbbx}J|U~Er{H8dpX2u3JNO^|r~e-PaL#}BC;x&I{HRLd?FX;py|>=RVjL`h zof5;%ZOnhLLazz;6qM@O;slrVA_z81{Oat%&IBn;Vnx;q3X2@Nl8goktvgY!t@BYp zwI+vLI)nZ0EbIWEgmCM%UOVLg5Ll!VtzIcT;foF%q&?%T-LFeo%67C!7Ca}wm)hLM za@^E9q}OO|YSCE&C~f8?h(cBq9bEzdo_pCV0Pr5MKELC_Ri8o7Tl32R1S?s~vx^$X z&*!*2Uf|?tj)V6H7;cx?+ug$95%Ku1!u^xw9IWYf5dN*1Mw(7tk@ttg0yLLm`$?VFWjKL#sq`~ znPFLvgK`nxirIqtfLyS5f=lw6CgxAj&uRGt8-5qteh)K$iB$lntayDN&1HjA3Qb&8 zI658T)%^k9J#g3_wBlh2_e7z&x@uTCGi?$-Pl=~f$4jVZMza5fUqIHJfNo0OC6aRU z95NuKu9wu_Ta_NM89MC=Aqka|9C~X~U>v~0>7vGr%6{uYJ2#dZazT=LX_BK1Ow|K8o*rRPwoJ)A8TQ#DCyAaZM(EcsngR7Js*+yMphFIOGH1q(Ic^L9h>1Me(RtXp z!tlw}#0#i!8PUw=AZ6%#<{G>DHr8Lf4m8^zbOv&PaWWv)zcW)<$sOU)E}2QJUCeRx z^fUbE#{o4T9<%#@I-BDn{2ZTLNN2uLpUG@mkv7ccMq-oWi)IPrh*|-NHsO-#(9e+o zo(1LqxBvd%#UKB}Kg35r{Sg23pZ+sE3)Uiihd{vNoyR!%jctzq`+>*!D_hw5^;mY8G80;;ExRi0Mcv+lb25?5(q$z3`~BiP~R>a~0dYDIY=aiQ3`DMN8_if5&2 z(|wC4pjE{xiAywJ!(orzu{}-j%-0MHDz3K|P-$ge5loqB;l&y+;yDb2Sc#-I)^TRR zs;k)MyKSQYwH5}hwNf<6Z4eKG=eT=pRUpG+5Yeak0{YJUk! zJ~gY|~@9WtoyUMPa2?UN;({TuS~E)NcYMSR2b3E7JD-Bp~EteE8uf_{mQ{ z!R2(u8+9Hw421&DFXqhbMQ*`^Tie1UNId$5*_w{KBQ{p8;LTd}l3;|icSHesZ0>I3 z5B}jF;qUz3@8U21pFhW+{2%`Um-8hzPoZ!0!uW`Ah3&P z-}@#tTY1KulbaXvnnKx&ia0)1aB8nM!e+@@|sa2r7j zV6s^1xtRe_d%N4P%+e=tA#r;7qIFMXLD$$56=~FJa+eX2nAd>Zv_k?SwM1c?HZHj6 z`Zr|}DV3c$bmb^b*C>c6vJeHGv{7(n8~_~ur{9`Vp1v{?jwU^9?-w{azQp-)jgwCc z%unYS+!o>}Qh=@qbC2@?oQTL*%F%k-?waq3lG0dF1U2L(%v6Q>S(emxx>W@x9wx3J zP@p4otE-XLJq?fI;kp2%1#=PaP2&7kaibKqh2*bL0wCS6nk0F3HLa#WCtWm5oHbo~uDfT*sZ(xMLfrP4 zUEM`2zcj_9B1IRm*S(kSD_Y&=p$h9`Nud{5Uxn~nPr$Gd6dCXgQ;e;iRLac49IiTv z#d(rmT8p{S6XjrT2;IK2z+EkqYDYGHxa z`zR#nTx5Mv9QHr`t>47&{@&lkKlxw&3I6K4KVWY{!EJpd0n2Lxnwm*Ty!dj1K%V{Z z6no#ggYkR2aDO9=dby9Ji`ctUV`|Tm<2uvlWS)xFCncfrZ>2>*O7F;=m|6Tk-|?i= zsP=!@6W1%(|CcUOFC$t@Z4zuMh;v#|&bzQ?Jfv{SRF6-Mf(Bx@hL6d%ZFMhtn<#A9V!7}R|lpK0;ZiOB({sjfU;&nnvgay}k7fM<{RI*JIOwqchE`N_z z5a8qy7}P!GL?F)qSZk7Um1iV-j{rrhps3blvyzo*5i2nU{qVgq(JfoDB;7A1%B^Y_ zEZ|_rH-qqeDJgCd_RuPZu`K_9t|_d7vH==j1*>z#C+Zdb@YACnctQ0B%d}lEhX%*% zgW{hrTb#`s^oNabZ)EFMxByC+Iw|!vL#`|ynEKfXND@vYaFVJQ@NZ!s%aK@BLY6bK z5FoTcS$No7L6EP-@ZYc$FT$KbU=e{r2h3+yaV7~33MgA z8r>_Muz=2ov-4`~Q$R*I|6)bN3E0@)35LWN^=gjQVjjyo?S~XUg#=Qo<}PnZ`ZWW^ z*?mSY&>Gn3e)MJ_fg1w=5*p1>Zc;V;R}KKoviubezqWu9s+8-f;Sn$Ex*v}RDTGO| z{q=lJXI{}ey_X4yn9Nt0ZUUXuvT69GWG z-UdcAfN~MOlN2ej!?pUpc~@=SN>d{d=H41z zh1YH!g!S@j1M@in9FOB?3p{*(g#9~X^v4d9-Ag?C8HJFP(zcb0FyI&mP_R13d^HTp zXCs_Y@+2C#NUuhqqOLVu3Uh1x#)_s zkk)^?PoG)$`dNq0o{9Ur5b&IKy8r?5xH#sR2&b7Z_~v(R?PDG-$e%<~(9mYFu5*Ck-5wTBhcmxDH6U5DOy<+Cts3}T=A3u*zXa7x(v#85dh|1P)Hl$y*_(=2*`N#ypT7ephP<6en31t5?-N;)YNb(1AuY$XJC%0r(4M(7&6C%m&!{49jBaFxJl3W}X3g*T~HB5QJ}x z88gCiUMyZg5BcaT(7s&f?<@|iX}xaOWiFx2-}%!%uXBM^S0lR zUoCl_5=|`$gEt=BWY>&kKie4{=_}bUMipP(h z<04#(atpX@i}>;hObmu7=-T5UEK}L*JQ(~Pbqu*pk zJNq3F7C4PPmePR6S^^hdEDX;b_r#YTfnIL0IAJi8dyed6C69fjjx9Bd+xQ~rJCvM8uH9ALq((6cXv7QC#zGHzW6%=-;k40Cp@4^u zSh&%dy38}<*qDv+W%5ky-MPT*Y=W~RN#v!%-M3t-IYY#vzjf(H`MUcA9T)s8c4ZHhMIuNU6vK?Zt zdL0YQ*(;G)`GjzaUSnkovCyf+q+U?IL5X=CKr{hhCA%81JG9NAt)kQp^K z@v-HeTO9UW;x=pTWmzxgfr7hDoVwZVnPqvCqcAfe0tuO~-CafB4DcU@h-qXKRO9>1d-@s}+}D(QX(Ghq!kjJ;cv0=FD_R%8wMY)WJJ! zQayDL8W+LBCq=eRq%SSBwp$XnYTm`Hy~3t)$}lE*0%VUdSx&=MkZ$=1Bad|Ai1v~fmp=DN96AeIxrMD zwp4x2A@b!uZVUj33tU&cmF@I+VM*35EOA9$zI1fL0=j^mp z8ECNDU|Q&m z`n4eAD*W1m+xW`s_wgtH*T2TmkrKvm96c}alRf@yc7$24VxfC-avZ=)6=T=kr_=r2 z>^@?*<1#nfsLnF)5fvZ1Rn6sYyb3w2r*n`8r%~^OWi%#Q#p#8NF8#sM6SM zpOd?iW!7p_&pDW~J}B`HOViBOoVZ zA?453qBDi5!k04B$z?4m|11D4<}Y~>lD|>dx^nWF9%GRL`?o8c?uPN4ll#2F&h{AX zsmJv25>L*<-gpqc&*h`yH7OvLHkIR5!D^%Yl3@U$#FwxLYw%)z8189|-tcZ1+eWa! zm+Y#o1wjb6MJvisJR?0`Bb2aNXPzG2fe`X0%4ZR)*K$70!nD}4E2u?npFIt$I;{1Y z%1rByTbDf_ttF~@rZe945AdM)H8j13^At$&4~q#W1kU^ge^;u1d>k9?Jz5h2Gzv)f zUbS{>jn!y%g;>DsE)3Re4NH8BNu+IR3{`6W356@t)l_j7eEYJaynq~L4n%>T$s-_o z1L&Lt{5ZVirIj<~Uid)?vv5ogoAP(s7sH#pb3RovWwI@8(#(6AohOE!yZ{IzShFNV z)3tf1FZvf8V*d-f6zwMpThe>9w}}H_z=m7P-kcuO1zU$j0k_OSQAh$W88lv#qTy2Z zf0hEFGCj@udWhr8e%u%Uu(`P*zjPFOZr@u2kF@E#fHkv7;W`LYV#=A*NjHKC9dj)3 zLhgy1xhY*_lgsPO6WSK9#V{=TTYI}$4W*~{bV?;NEh~I+DOaoznV()cR%qi5Df@ra zXQ4^wcp1)hbUM`pGO_;0!=8*W+x(V#XBo(=umRtA^8xtC>NkCU|?Iz2udo@%ru>Jz7 z&{~xuMyhH}f0)9zbV$sOUYWzpLt`Ept$5H@tt3eMg;?yw|1UiNB<@Yhjg@_0=}XC4 zYlTsc&Nxj&n>!tb?~VpNA#vim_+a@5i+{Rm7*tU+9M`k{^)i-ac&23ilV!It zE-~(r2 z^et8^;ZC9ZP68dUFq`z;03taDYq45eT?flt zD-O&;HI_zE+%@`sggf*axo=w3X zvs`t7JpsZ`AaX&*(Mp3HR`f-*u+6AuSAOZ@J@UAnIA5%PJ&NSTurE90+4!R1XnrYS zkUcSte7B%n46fL*ow2s>bf3r@2{>DLEbdL!`fZAD$}@^Bdh=x6xKjr0K+A!1*tf38q!MFC%IMCZMwPxGLE4y{c&Re z09(J#EUB(_DC<^QdNNaEs^v#@j5YPpUIqt}gKY+h4(OG-3}#uMmQr>kvSkZ$(Y)0bl{HR-J+X zjnay6bA___A$c?O8CYIL%G{T~>o!?0g^q`R2slwL0}+!DlTA>Dl_en6!f{WfZ6y31 zXQqoV4@RC;ASiK*ByTmGph*=O1OO<68y*P;;eYh~DJ27{^$!->4m%q?Y)_;D!I}_} zi`x?ZB8yx&Mnx|PewSRI;@Rm=uX7f!)xSNJJbDHym!}nOA5iB=T3CHFg>-)F4akb} zO!mXNT3gr>;9wB2lDQxyL!I1qw>B_XEO2`H3EJXbn1?-9=+u5XGEXWfa|8n00)2ft zRN_j^f|7@!Kvp*wgL1yfm>41V;v~vWC55&k7_8Mza`{`!+g9TLr61r<^L|jQeavu? zm6nDz@8{ZH*t5@}hEP}=RW|{@YC#lz_^|%NWN(~2c;-)Gjk{^^X=u4ph z=8mCJqG&QJq(qhPyR|i}&4M7_A-)z_!P;Pns|Z^03OQZzls8fnQ)4R(h>jMhk}R$7 zyQDxJVpeo+%fLs&$#lEWgF7VkojfzqQi?W_S=MR)*?KfZY~F-;4Lw2X3M#LVT%z6w z1O!s3M3X4Zt(M(i8jcek;3)~$a}us|X)l?K$PJL2aNHOGz(hFq$CZT!L>DW&C4p!z zn*Gj;zDqyp&7YMem!$KlE5D=BGt`?waZzjv6g(m`9{o*CeO?}&VtaGUNq6)XDPL;* zLkfi(`?PIm^K5U7v9&S6X856wfMmr|hV9Pf2xqfdQ1}%_;k+cE2>s5N(&&VKs+JlF zt%7yw@rU2}4ZOXxgI6Cv!;_zUigMV;SHJl_UVr;_oSa?YPyg(%@ROf^jPbCqG0+mT zVEO-S`V`-uY;nEwsDgPfh3loyvkt`Punnp!LYbg`_6o2!I>hwOO~(8DgtRs=M~J2_e$g|Al-A)c5O z&uh&g8Uk(X+NUV0#a=CB(iT#dM^zDJR=$}# zky=f1%?z<*soB~iz%i}^ICQw2wb*+w;_&XI-^aO3vor$#;2NK za!EoK^TuR^JGXcF-^1dQQh~{?Deb@b1n-E?Ii;wKwt2Z+!!Q^Zg&- zyWjmQ>Ge$;P&afo1<@UvPaBs}IkC3aw6P+MuE!0fRuL)ZG+s#`(@?t zoGNa~)TiVKg@|I2xW%VovuV-nsQk9)#V zPxDy|m>_Qm#rd};eFg`T9iDUfdscj$Uqwl8TGP%EXH%B8=A4vCa(0VvlVycuy~j8( zkxTV`05}fkr(umvYy9>f-p9ZE--6;k3Ukto1ZWTrDHI*5Wy`d?ZL74ZQj1L$D$Ahc zsf!;a2p;T>adi3;^Z8`}8Se#wJ<`Nju|%nAga*fDfWa1LUVn4x=h5ICJj1DSO2S=o z3bZ*71gMn3x}W%4m^6DByDe-MJ4|9k{Qe_1=FIcj6UY^>l`O1+75$PDKhfu;z?J3< zNQh4pbSW&hsG0R}6~t#5o__;T>XaxcZK!3uwT9P9MXJPOPMmS%A*!6}PGVEe%`wdpco5-yYwYFCg<`le}g>N3a za*YMma7AHm0|Q0A^9d=RjAU0%0fCESXf(vee}*MApRd?MHyRCuv9f2)-9%7J+hRMv z%#(*TW>b4V3LLMr--94)YhFW5^B)1gm+t6ff5u;xB*k|>X-OmUr^O##MDBpmwX%j# zM;$U?(X~yncK$Bt(2qNx{hE?iBvG)%>G>2J)Q-%HXJ9d3FgPH^v#K2CvsF+g159W1 z`bvahA?$WkHZu+HH`-)`&P$#EON1ko&2e334=nMa2)6)Hb*{<=uYK(`y#4MDe(>EN;IF^;16J0BmLx@K z(vk5VS04j?fZYF0eAg_6{Q0obgd{JSC27}aHLG4q_nPE>b>hPBtNTBOMYQaS*%Fyc zK`cMIurSj}kA_(QRx78aevm!_?_N$XrT?40ti)9@uPg~3%TLW`|rWR#}4B8Y2FJPmA>sjM#4l`dW797dBBHh1PY zIo!hYPpA0y?*rfb-F^JUKYzyMZo|6doCK;>Uop@Airvbk8^&l_TPK1Y;go8bkAFNI z;o#N|j!(}5c>M|bqj$pRceso7Xfz7*F%D~V!IcC}y+YJ)3bb8%CEJ6^LM&LEtBvSu zq3(4<9@J)YfIIcOe6K|AQ&HDK@}^;dWiw~xPI3Lp2XLkdnRJkPpd`RXI}Wx1c-EZh z-@=j*Io!39#KddsJo&oYfe&N&}vq92MHkMig@3VTm0G9$0k=@Rd1hh z*&0k(Bbr%V8;s{MmS|@izi>qa0Md`6h~T4TSp}A52^b zo<>2AHT{;G7Ttv7MgagiY)vPM*y0-N-UO?>A_6BxlQYfJJ$Lqd*OE=K=(UT*^IgH4 zK7N`vy1BVdFJ{479E%khl>CCZ|65Eim;Bl&C}9Es&tILgQs3UZ2*9AiM^9eh_~McU z1a(dmqeQ|7obX4Me_gSHe7L`d`$5?cdqd3X3(b)4;f*)$hz za170j=A@WFGo|2^vCwHUmgTH4%}^GDwHU3rSPf8sOY|Ib&z$>~;kvVO%42@3*cBK&2n7 z`C$Mp6_XVW0zj~)QN*X$I>`?(ehl)Tty+N<)Gk=|NUgaBG74IXlmkFTr$n_&%6tH` zC=1SGFc&jboY4Gm<1HtJo0K%DbrJS0v7DXAq*m9q#I=(s;O7s+dV1r=7oc7Qq2IQo z;(Ql~*Mu8ng*8h1lM`9%Chk9p$-B6AQpul>!i~q9IR$KES$~tf@+Y&eI)B?ebdvna zEL^9cUjVCm!f1>=7xShf5Trd9zH-uu+gkkDcmBzJS!s25FC0s1Tw49t(_< zw?T%vHNEz4Fi(h!>nE;dU4X`UVG4J&NggD!4hzmwCpUF}6h3zr6yS1*a-#~*wv_cj zl?uy-O9{#1ruedfHv@I{jLBoPT&>t!vbVDxfa3*b(+@Ei&d`)wY{4;EPgBM9VBb$W z%66y$Mq3;qwX(!9=UU&{*JNFtE<~{pg2L@l zDz;w4YJ^vcSvsZX^a*pNGSFAuMlYwN;2jsjl?8jELMUi9u>_&WN|6TjM)S$t5 zld3q9+s;K$rAp6>@D)ZfE%W2gX;P4v`(<#T7PAnjh}BP4`e;ya@|_smsW&@)hddj^ z#jvq4;%xVZ^DdGlCgo=}lQCV)D*m@0F0e_Aj6_~fb6lCVS%x|8;r8wZpO42!z3tmp ziGE~E(kU$|c;U|X!gQz|ej1B%qlP#V)nHfEBU^di%ve(abYWHK9xqGU91$N`7} z8X&qGz1+3-TqD9=epdI$stZuBw-DWRD=RZH77zDxzO#L&NuZ#D%kO&Vmr3P4SQAeM zK1Z5gX}a|_ccrTZJQ1gcfH_qTtpCu;L{0-pfN~#Ry}eFg^_w)#XsOTAwaj?mkV&Bo zoQd?d6;(RTWJf17&CHeu^b8-KJcP>|EJ?hABliGY+t3=vnX(E?Qv5_S%qpJZ{@bMR zedMM+6b8Wm;*yj2H69J*Bdlh*W~cS=s?5L2Cr>(RObD04vjMQG*FA7Ut?H_L8vE2TdO9 z%~DlIq%PWl`%M&4<+Tw_4jKe;=P9}r!;H3D{RiYdFEui>fPLN%g%&DWj7eij43_*& zDek}JMK2~r2ofV>77^H+jzJd!6lWynEs3Sgll4DM$40jr#%|%WPvFn~{D*W^2m2%V z>YJ}2`iA;tgg^i) zrv+MoLUPlJ;>VwxC71i5C*dHCCC2yhIZ|R#diIz(e>h7(A{`Hpg~E@<-dHGmv6w2O z;0@&J;F(l;rHSP^tcD)PP_t6sm8m6w%nFnl2-nwp$@)*gu;F=9r*SwqZs2tS1fAPL zx&^2MR+6Njr2R3>)Q|999CgEM(r3MJA}A;`j7MvOv(T{z1CGb}7LTz?prA(ve`sM0 z+@6ZL4!~9#zs!c(ZNFU*N9ysLw=as!tlWYECfRF zJ|9YxlJeUg%H-jaZ4E3tn%eIgbth>=`IZycIG?kVdj)kddgf#&3g9LwvvEzi4qhCz z`1f=&NdREX;f?f+F;NoT|7a<#)-AF7VX5EE3PAw7$C0E7!4!@MGsFdA1w7iD5Hlkl zi&@T;bDo8n#`0Mp77b#YDs|xnkmfin=ryEu%j_wXNuEj39)wz~3ZvLU#rZow96>!^ zLBAQLOK%e>00}Q~Tj=ZMlF6nL_~fp3oFriY^DDp^fIb`splL6`!ut0>b{x)s4^Pm8tzA)yGBUVkZ#*Ks<;>=AUZJlTyF2v?FwKt z9Qmg*zz=LA4t?=08E?B&mucpXH$)p_@%c^?pKb3MPu|TbC#0 zP|+8NR!=9IQUBhXaqae(-@YcL>%{^_A;Ofn%xXqSNYZ!SjuUjUGb11>e?-}u(1otQ z|Lbr59)9xaGc*Ayo{vO6+sy*L`sOXXySkzMkll>Q=0w(j_Sl8Fsq{zIOs|z@7o`HU7v}5tcDd(R)#`Re|Mt0C_-$ zzo^J3lQAVWdIC@#jmr&MLyJwaiZ;pOZ<9jksH_sN3$0v?>yx7E*hP=v>~L=iCr5iQ znF)g<2Eo;mgD5-m6HB zXd$CD*i0&BQrk8Z^B?a87)_JV-Euq@=MBd9b-iFHpmmzu22k+u2>=k0juxm#Zlz?2 z_mec%(e|cJ4vsI}@<5>6%BRb#5rNxB&&KeRAJ5_VsHXeugueRm=@`EH_5oZjuHmuY zrz>m2CMk;%UE3;hH$S8W=K0jaT0(M_^aH>u0lZ;U=KTGRKtk2maPfKrC#N%*_yiud zH!w;7fGDIZrlr+HO^{F%pF zFN~BYM#v!s9$3m7x>*Vxd2Lqr?TtN`565&dIcy>=37}!H6%-;nV^J4vM-Zuap-~Mbj7v*94@OEG+;G{WlavJjh#zD zL1AoVNh6h90+_>}0KkW}VfQ<=b?D#1>ejc1ioA?f@hmdsRKm#J{q1cx;1U?R`fqPE z4NGgebXjG)E%R%OwTMZ3pFBUMI36xU?v@s*ZDu8`hDsKr79t6mo(W!1*`0{;SGOl# z`%PNd|M2ba;QMdBCyN#1ZYOCBF|+N9S7)@Sn`&ezy%unT*P*A{-O3W-66_3c!VX0D zPF(r+9aZj{uvv_iV^OQ+nu$^7T>le%p20O04C7l8l(^A|>x%!v5_HM!|g_+yFH zHvM4P-^Jw;F0RlDT2rDWCi`J>AKpDC%ds~E#3G6mQaL_M%KvbmayAf%V0C~pm*F*{ z(HNxOT&;Su3`^$9a$G!<0g<&W?EvMpR+46dti-HN-&a;W7P2Th$LV=KJUN7B{Eodx z(ZhC?u6LU3+yo5jmGB|-z&RyVvf@Xau~_xq$XfCvQ5s$-lsn%?AFu}jik}wL`iGba zjdU%QOE9YcDDBsb9DMo-TK;o5Jg}lj`uyy217Ci%fU7HNVFg>af^okGwZIcn+L+A` z8|rSjjYuNI;BcKReIyQ|q(E?71}M)70YL~HrdeJEIDflNK%=HI$?R#84vH9RszG|y zch<^TFftQL^_*l(wAiYz1(1d!-QGdjt0S7Ah(W`cAahyrTof4O^Z~;WAixcWWIhfey+GTrWsA_UPdugTf6fegp*wl+P}%lT2cu0crphK(sWtipMOM zSk84%Ab^y;&?%3EiBvt1?7AcbrEnQx?jxfJ~sE1povmN0=Z3EnpG!nwp z$Zk0bIRH1vaT@-B+hcdPkhyy-b;DZuaW&k{Sq1oTOb5Eofn{KmXctgbX~;sl|4|Kp zgR%db9#l;=`wb=jQT0OlB9^qRSINRjO8-)Rt`}QsYSc;BN9r9=Gu0@CebTY_{~LUP?3j zzJ=AIgYdASYeSGpKn_D+6;o_ubEipFkn&Wyn;o&+DKM|tGorC?1q03rpdtYht>l$L zOM$&V8a^m8?XvfzlywH~c|(i+B7uN|qkRE5cdky@U7W6XOJn`|un;g~kOk*Eo)6{5 z`Q=Rl8`tm_bB2UGN(}^y@OWMi>i*aK8_j3H6A}oZJ^=XBNRE|Z9CP>6dKb@@c3U-B ztny#yoN^IIO;+~#zWxLNKCBHB=V)_7MK7;x)6Yzl#^I_`On%#bEzEX15y0*O;&V9p zMr0~k-KRwA`r9UU;aZJl;vs_ov?88AJ|=fF#^k)s|hm2+eYtT-dQsl1Tl_+kCo5N462AUsNhPea88Bf?#{fl--#bh` zY$@BHEPN*WrQ=sr?1ve&o^p3OQNlzm`uF`1`KqpGT17Y4SNj4OJw0j0MmKE)c`j) zO9pK_o;2GA?-gfxk2li*xXdf`ragIdOdf*gi**9f3wU>S4L9jEZkW8OrOfIbqIKkk zrF@*5;>1elBFv2cx<(g8Dpif)f=oNJ5_zG8GUjLQ9*X2v|LWm(F<_Q`ZGw zYu2)7S0aKJZu;XX36PqM)U2UU`LD>8$+3Ro^-oqm0wYYEjE;N2<2ftxCa{}wo{n*_ zKOrj!`!}F+q$V=lBwiZ6$g=}>^@ctRsaz7uVS%zgffC+C`K%u(1|?EbDpzp_hp6T0 zIW!}amt3&)%vlj*{2#&3c-q6$&*t#zHyh};d$3uaLDzKDu9iyvB!310CB}Tq$EhBy z!Zwt-JAX zE$S0csrBfXgI{`(;WDd2p{!%hl-G=Y;)4KH>70NZ1l(qyzB6w~S#>}&oq(aU5v>FS zXb48T@d2k}8ZU0s)l>tX||!-xpq8S1NdC;NJj3zQue` zkk`_E+U^Yi&|c!IWX(8t@CP@W5VF`*xB?W&Q51|)XJ%DcdIg*<5!RPH+e(38Rx3+N zu$}4a`C?V!qN|w6ErKz7b>f=Eg}$FGe6(^AkRUzn#B)b1j@N66O>uZRH&bFZaJ|^D zut~d*CRlD*QS40<=v1HIxn_!S6+M}exJnoL{w~x~(a(u+`%Pt|R`QSMagthim!F3d zH!3Ar^-)R!S;^yKBZY+7M zq$V7XyFVMl{{EOO|JigxKU_QClS)C)12UG8;)vWv7PI+#CzUDk6U=g#GPJ5>b_3f_ z=Z4MW0Kyre03m}3Rv^yuK-3boWLO!?S(-1%bcpWZhtCp_JY2x$bwVdwY`@C9`5iV@ zpiV=c=A7>xhc5&aXx(}NeT#X8F8L(%5ln;{+TLm!LF?>weyd^}%qMJUbufa*kH(yM z>IIMhy8c`E>h~*HZ#WFKw^zZF$5ZmsygXmhwKfV(B8HZdbuWpP*liIz0iyNqffN3? z=Mt80_GE?QYst=l4wbSC%!z=me9VWyHBxz7mqfNDYm<2$7+P=}>caa{DVdaxQ=~Zp z;xQn?CzD(HUnv_D5Nq{-bri9u0Q#(f8&D}Qzqq`C&1M6$*(?LDV!U~+Iv9SC7kB9g z&`cFupZcLrHo0Hq?*I7tDV&}hz`Fzlu*{IVNeY9abeF{EIvJ12d&XTcD{Ho;H&2I^ zyc10j1Q3{{lX|DS;m%8&`zB9@xA?(t_XYq&Apy{dG1UFaZL;|3ON>4$>$k~_Bz66xf% zx(5}&@U=Ngwt0B8Cup0w?hz1-Oc?{HHzNb8tiWxDVl4F7w_tcN-f~r-^rRo3jNr$o zV|aVEq~tSVpwl74I`$y$ZIN}(=jsl69!XhYyc$2&hCkd{&r{3agQTpH-vE^!mj6+c znb3=b*y)KGGgz26g26cC>Kz4wB-ZPZF4D$P0nWlG-ez zRa3KK>ACN+G%5+EpzS~DtFAHOrt+phv_70>oe5c~1Q1IthG3oq0s%atg;HRpLmm{$ z<){UkI%2o0DCrTX3S#f1hRb&~+-y8~Fh-PwwlcA|0eTf0E2+@s}?S=TiO@L?9oF6V|Chh1mF5KY}^LM zamyYd2J%%2a}ZMMKo#E8pXS^mlm0rKSOh=4YhGh^j| zGHdoitcAzMwTU@SPA=T~AV{7JQzS>&n~jKc>uR|zYWYUYE8KQ z1OPs)O)Z|hX{ij@g2`GrTcv8@^H+uo!%(AISx{JL`o6k!^)tx5z@u8ls_a8=`zaZR zp0D)&bJ7f3@?J{tK*&CjOosZG0LPO{21NBtm@lGG{$&gee`5ooM-TRPstyY5UjT}M zhyRv!0L1|7bI@<@JRjK?(fnV$n88n;OlU!qHSASk<(<*)pyYm6cu#yGJ7v6?Ku2PT z7_UxacDOfU9{$OgXq7Ps0Ko*h{jV151OO5UK$ri9%Zrf6hQkF7Nl~nUC*hQ=f28_7 zIGDq1Z$ihx=fdrW(>=EM{ClEL=1g%%yTV90y{ zYQ1ZGlkXkpNiUv+PU4te=8rbMBQRL;IFIMa@~s02*x&yA4F2kWd_v=l8Qr03xr8-T zl<+tvK7?esw}F6WRbl5n)a8zn>YRYWpgjo`8`H}mR(`ZjZ9H$?;OVP-S)sMfj`Y3b zqbYp+Y)+vY3z1>CCIOc>ueSseQCS}+fbj9tDK%f(pH);dzE1nhk^<-Dove3!Ccr#yeIM$wwp}Ye zzzh-Ay-t9<-mi)y@sPwJXFy(AJa*dE(+MEVAWZ3>fnxpWd8%kWaj5UzyGwZd?6i=L z11n}{Z9)-BDAqQp{7?{}C5x`yWw7RH9-@KKAkkJ&JvYb?6uBw_=lmAuU|_BX4fTKk zJ_?zLw-d(=!=Cd=0%NZ)iQZTf{!qqRIKQ+zOeWf(3NRXe{-JO81^{Hsz5FK@%1F(0 zjb93?mXa;{hFD;<5QA9XkzLi%_5l;%1~NccS))?7n%@94OP5{O6)k99Lv?;%EjJA} z@C})@%WZtw{jV9Y>PEKfl7AT4^8I;L9D27yd}PPDP)C)G>!R+xMY=r8~>Bv>gf{Ls_>=f8YtWz_ii*YOGm;TFq29eH3uICu7 zmKm!A(2ZQlyd~vdaV&mza6>GB_$*e}Te9q@Sh29hmeCtZ_-ob&aI<{_?WkpLmv#<&SN1YxU6<{!D%iH~2L+9e2;hiFNQz{!VCPBCP|we>om@p#KL zN8X)pXdHb4YL8Awu)kMHX>7~Y3a+6<#x8RE=0KsBp1?p)?UmWH(nlr$!jMOYbj$<` zIuPi|WwlPhn<(H26z@l6PZm9nSrzE{aq}rw%u&|1_Ku+G8l`O0=7X+DKCXKE0P?&J za^4``lOQsQl1OPsiFyy_i4gTfuG+v+MS%G3?6OFB8=j}!24GCVS=`yfsWGAQR*eG( zyTXC-kIU=SVjy}bM_{`bJ^{@MBCm=o5(6c^h@Pp#{V7~5HgI;iyyN_(7eLM(i|d4< z)RKBXz`fY+4FJexZiP_Nnoo;&uK{f!!F{=dae=ozpqI7 zqq}eqWA(}UAEWEP0cuH$WpEhp#}GirdLSu7Pee)cWZffRAX-)A^G9Nz!vi=xn8IkB z6u#Hzz;1igCw>bOE=R9JPxP^yRkCnujH|OHMU>4}dmN1qpsBdr2{&Re44Ldl8Q0ju zA+B_>63dV${*V_)IQ6p|UdI#1yCUU=Km$pC&R?$K|F^PvYvBk~d~R~@{5w;=$ztv2a9``~+a-#68m2zAuDk5np{6-6&Ge;r8z4(uPW z(#p_r@*#O>0(%XJqTBTnZptNlM9M`;xDhnzGOrVsF`ST_m8cphAr$L6K$c(NK$DY$ zSkE*+^7?iljzaS)Vc`RMytdo)Tob_62*R!LzXb^5@I8}J+1p7?w48mIcQs*9 zh8=kx-nDVBiD>dny?WO7!bvAj$#25vZ$xXJ@EvoF_2q?6rq_~G(zU zNYUYoXHX!vJROknuuDHJ3BYx__cz}z;MtGnFeZL@3Kd+}!&Kq$3Uxk;Z6ypBgF9I~;sBDakmlbcm9$}>`; z>TJRZg4-Us4LGxWmA-J(Bgv1Kl0ODd93sMT=A_OMasdRa7-{HPVk_Y&zyQZqiwRXR zV*=nbNl`49#T*>`e2ZKK>6zCQasnD3O&IM6SSwX^UIhyN6x8y4bLlH}N-&bUIMBcN zyNB%NX75HGLMP)F3&c;=)AbzyciKK8xR4s8mj=NHfHw+ z2HYC}fGC&Znewo`mV`l`6i$@Cx|Hz^6|&h4&a}QUDCv#3)J)-Kt5lW#`;@ybqf#lV zYjN;BT@NwZIfmd|?#Vg1mMrOY*P-GCwj2xzm)A4cNx;I+b>C&t7cX`N!>vCB6%?U2 zLFw2&w}OKy$CIPbx@IC1FGM2IsrTk#46~VBxNPVFs-QslIn;ZC*`3E zz>>e~DH%2U*t0+!igC9-Pc^Wp+dUQK) z)3qf_6NM65hsB(r_QJ84TL>m&&t3kUmxM(I8zo7L%?<>JjgPAI44CWxVDk)KE#JYmX<<||IG{RnO-Pq;Qzi2y z7&uX7!qzn33%j5T1PKFyTevas7}E*nqs)kKO4~dH0q~n`4`&w~E3T`alK$rNh7vs& zD`v&S<(x(ru3-yD&`?HyAGi%MTJ%vYOL8q2D+T)nAj+hWj309nAjPPW{cp=D2Svzs@3;2+=O6PIWydWwMf`!F& zDDxN&V(}sjl!Xtu0M5=X;q=jot(jp6Kw#Qk`p^}}2H25vI!DFWGC`9=8cx2%o)Vu& zKI&{QOa(LC;y{tB0j8BQjS!P<2Zm72Q&P@I4a#I(qSlp;^ZnTF4FH(W=cdfeh%At7 zMxwdtM!6V_MM}PmNnJT+$?x;pa)j{dn1;&pb*OT*_l(p-wqjpRdbxFwLiw8&D8fPo zypwCOvLKBKJ0`24HtLaG=U(HEJHXczhF*BFK*|+ji`MB`i{sb=vt@ScKE$m-LhRY$ z1SX9m%Wk{n<~^*dcNVmKS1TDP7G0IpqE<~!00G$!vD64HT`Xl}eSi0#UVmG8HVyGj$^Pody6bj1UzJM0r-?`gf371!-TpTBP$uUVm;| ze09F2?;ad-_rvqBCITEE#^4tRupGaGdXD#-j?xLaP2?n2k3=|C$)+}30HWWR7MHry z_3R#}LUo>0<3wt4k@bxL;9$QZF92HFt0fW@MF}S% z4}UrrD(J{`%?JdvCjzq-25t=ul_>L8(gdTNnsXPN=I|h$@HXA|{xm(?YXf9>u(prf zJgd?$Pfy90>P4ex)+_xpPa7xeKto*mOe?wmavk@IfgP`LkaR}MWS4osZL#rNzF59I zk1C0ux7$e70GOERD>abd_7->6Zn5^`?v8hEyeHnzNJ?;MNsOIAutRexJkmYw;|%1>FjZ`s}U9ap^G-DIic9g4+g9QbzC8t;na3mhaBLcTwe zOOfxA&~J?8ps)g1v~tzvT~uBRkf`zyJhpCiHM#lOo18yVz(4 z1!+w&XE5YXaqV6e1o!T9!WYg0R}#xSD_v?+JZ?zXG?b^oC2N&rL3S;dznz}U;pF6y zI-u4@SjrJh+Q%s0ce$6lbJkAU zc?FoPv@1#6;^(MH3``N3paVyWrguCCHHzIwu+McvcdD;Cm>yk%`+kr33|@Y90~haB zFi%SN@L&Sp`Wx7y8$2oM(fSCkmuJvUIvTImNwTS9w>DlE_4Q-zdgrX>UJQEqSYBC4 ziES)8$3b?_CXjG^Si}CT=J}$4BL+Io&9Y0^)B#sT)a2!%To{b|Z#m(XCQJIfMFzk~ zYJi#oae`r>WZA(1Bw`$b?7iyb)0JB13V z0ePNa&qZ^OdM0kj>kQPJqsE5=aX`^5=yw1?5Sha*!LyuDSz^*aLYEbV%K~*`c=h@$ zf#5AQz8V-E<(6qwZf)*;f4SSAQAsRz#ypsjmkDzZFnJa|blw+hsrVw#@eFKnetrM) z3|_uEXSpS7g~D@GXAJ!RO%`zAmkXosfb1XDlS#2NSZ6<_$bP8c_@$TaRLU-HtMg;lS?Ock5M8m9(yw6OE81qN>KE@T( z`L}DXFDLh5m6I*WRgXzWRV@}grSOYOIWQN0xIGRmkcKm%h%Q@m5)xQGTWpn6O4*VK zMo3^pd63oPK=uVA6k;n%pP4EPx?C9V-N1OdO%`hnH)q?V92@W>t_EnN>H@8*z5W=w z^=VS9Zz;|W4lG%gG(_KnuRSF&Mq)Qf%&D?|yAA{NjMFDG&?zfRKOXsez zQP7%N1J^_r#CuZvV@ePf%2-)H8ML@!y!jds$YQPvO~0u3DjvEZWKh7*Nddl-=cj*D zC`0k1SjP0df~8b58w`KBLasrcHh7&{s)+Q@iUW+uZ6-X)q@azG>C(YghDbsY$ z2${4xBTM-BzT5oZwtE8r%D8y`Rk+|(_~;i(3wKwE#U0yTzn`_`@F4G-PrADV@3eGB ze`%I;ER;BIWRXhC*j|Z$q}+(g0eh*BHMdz-45c!6#g8V}WiQEa-0~PWbIleyKQB}$ zjxjU_{@{iS^LSRlw06{97eTTj3wvbzCh$+i^K9c2IIL-%h(gJ(aZpr;$dV~S~d4|h} zu-zj7K>rROaDk@vU!5>n65XB&JC1^#4-`mb6t73iXX4jZqGxP=*>WGSc*SUox;O=> zD}X*CRLfz!u7&YU6f!mPX&iY7 zoUge9VC^&2an#IjDZBH0&U~KqJxYkH>|RLmcPLaku@ZX`v%quNlQRJ+$#Y_@FlR)OB&e}=#|lZg=e+?<@d#MB07ywVzlHhn8C+jHfqom| z&9^r&oj!rnXLH!wo5T6L1++w!JBFs8L9;l5c78$NsrP}K8X+w(3E?VFFq!8zX}uES zL~aKh(%1nj?`Tyhs-RdXA0%+LH>-7Y1(dPnjV}JxI*;pQAq2sc*td~8e_Y#nzo3_SxD{G`J$L#QZ3gWLi^^Ed?{3@U9N*rLwQNI?K`dUCP(#_YD*|8*Y;`g%yq)d6cAmG545YaxCQ9 z=Yc9Fi*0wf5dO$!yNHaEUt-B?w^G^HWN`V#Y&G%t<>XfFsL1WQIj1IykfAPtrKeY} zf#zn<$%g2?LYaab7ud_92VUcTp!M$u0=PE-Agkc~Xv=vVci%7-&K8&LwPQt>O3YaO zqL%c8p-VoprA`ytVeL69h)QB#T;9S&E1LLKN%y^MJ-Gr=gIJ1ut?bh6MbHOIR3vwF zU@%|?;$6UI_pMv6?+R+{d`Z0s#n9X(ONOw5BiqP&cQDaTV2&(N6;hUOAsZ=V$Ik{o zsy&y^VFob85-To=9FqrNL<+tcab-bI)_Ek(1_f6*{#eV8fT5D-Kw$>Dy+}V^EOl2g zuRn#9#O=tb-RP1;7RHWBkeHgeCjry;y%9>WHNv?G^yBkSBLavk0CEBo1E5~KHBrV; z06+nz*zKGd;|3fQg-nc+#}W0~)4uZu=g@qAm=q(x_4%5V;mNZZoIW4J%>`z>Z>XCe z{;oGu*lsSMo-z0!FF?!l4y{SLW+%yO!I^U6dBL&grbg>4Qu!tbL!bg1p6UTcbs#p% z@yHLBrrzJpvWLa81N94Gg5_w$>x2n%q9{~V;t{Sk9ULAx*en8tIyh&drc4stf9%HQ zcBjx3b`7K)f(RNm)P!FJ4j4qhGCwNWqmYu^uY`)&@(1oC;j*h*a~U*J?}gxy*J@@4 z48aNIb-8lnKJ{O@Hho8Dh1T{*mp|3@$=0y9Yf+(cr|~ZeIqv*@r!cj*hCoNdBbxN5 zY=Jp^SbVoQ9#3O6EONC2_7%XG|7NukPZOA%pYG4|IBN9-{*UtEcs{1^)72^v=Lg8X zIyNjQZY8mNklQ^10C~0!CNap{afr<6?ILWTC=^1Gkt#8EQtr~g0)MN(&x)HjjpsUY zk)rkJ$%U+Z`&{D<7W3V?>|1w(8@f61dn{}tr72;iGkO7Vq4{1Yg8$Hn!~*!=wO{0g zx62b?N70hPJaVS|?{uZ@Vvlrrdr1M~54ov#LKpfROlWAgL=kSB%iu}TPchjKUGtRu zhc4j}@!De&A$4mD9CHmq6r|w~%n_hOQJX|VV6VdjM$+DVN(yOILPHC{RV6$I9Fo_0%iu)xySYk3)Gleh z7-an6k~Ds%+3k!9W;ETv@$*-3b@dp2{Nk$Pv z0to=DN6=5UEXyoeFweC?;sFu$0L6qeZ zD*&+EPUji18#?9y5Pe;M9)_BjFL3y@fvY#kqTjS^#fMy{k5dbSO~?q?_z|jh4iR`R z-$btfas=S#G?%bbX74h$zuu2vs~}~6m_2|XfQT4nt*TeT@l@nZvjc&3kWvFvPXVV2 zla*$#jkID31sv=;3@mq|u(Y)l8o~47;Xe4f%Dn{sS=MhMpN6N)_f&up9TWutAis0F z?%{D*Bl)Atds^=2^i3fL})7ezZ417AM$rt#O4YnHb3T zc8!h?b-PCZ05_RM0McwPKXei-WKm02ZD99M=()336n=0{*vV9&QO$XPjBq_GbgE0Q zv<<5A_UFlIf3k;SW>CXWplS&6C#3)cPdMbE}?mZ<7+ z)FtkA_ZCn9yPp+*sE|ON^z^794gjQYCBX{O#*wq8_2&6rP;gOi6lqV33!BJu#x-;M zOZ*>e^zj%Nr|unx6rxz*HPQqV2xHn^?L|%k!Ap+?h~oD5lx0qe-|-wkZwu{Gu?5>x zJW-T?$4P+bVvoH7nxf zvWDa5)DqA8Q%<`8TA!}-_|X+yyq&?fUyb0e|F_@4|N6t9!pA>3g5Upg0jq!Ps9kR5 z$1sIMXctRpXD`!uV|IH*$Jr+9IYp_t4CzaC92r>>K7@2*SjN`)!$tcn1BrbvjS`5kmF)+YQ6f_e@34udr7Qr-~yh6xeSYE7QkI!9D4 zA%Ni8UC8_jIZUYQP%xnV=1~vQMjNbSWDY9jSf(kWb|s zDt~Zx(ir%XCnb9Uv@Mg#5XfK^^B#hfMAEn_;mJ7#|d;&niF$e$?=S`GBQTA!`fL_ zOlq}k7`1vKA}SO;|0=K2UiD@PsO25YersU4!IIo!iyFWdw{m6c-_$Imu!`tBqL{QX zOTIon)37o?&z@0x1Y2w7LCGOFH#pbsn$l|@A5?76EB_S!$(diYud36H6{pDNu*?;&Je)3-( z!}HJQ@aC&ET-~f;gGqAe?rvv958O8!?#(XOf%L#}6s2^L^BagA5TqIbG+b3$Tz6@f z0DF5QD(mZGkpm;~U)(ku?xUbHw8k!s0ycn$mJ~zTU zj15f)wDr%=PQ5KE-}rU5hI2i<0?;f3I4Q5UiXmTmLCeQ-$0LfxKeo2tqc}@$jzHC) zp60v@TtPCds@8n0oIk<&ADJel`#p*`$Gi`_BXhp zvZo`MQ8Qdwx=g%qhC2~@(G_d(uEm($0H*K_2nbN&guvU=TP=83z5(zDRzehjp5Z=Y zr~CyIM&|Jte9VUrY|-r_ed~y+JcF!w)p=Cg@4UqQ3yV^aN0WXd06>O6EZxHl{yEkc zV?tlWfDN?T$x2&VyLbx}UJ z$WqdTeUKQx#*$G0#^OJ`)~zOpCTsTa;Q~%y)bP!358$u={nzm12UB?QqkZ`D=U1@& zO;UiqCt!qb@_2awVe}6CIM~Bw17e^MComJwTvU*1TM*={Sg5gY5;2LgakW*JJo^XssIHv%%H{PhA;wqPC*r^W zCC_K%zwud_)ePBM<)&Za$?*l862Q*hBCW&_V*wbP;<~}g7X_;^fAQ9)%Gtg5Gq}CT z<#2kByu8I@*RagX{)Zil3aq;zPhl~Gq7vP zt5(&&b#=o~_{IPG2L9{+=?Ogh z@eJO6yM}(*Q>bC?_o!3b_G$~^;RT%^6Ccs0-K4RqyA6zLCfjiWob-CR0zjX>syCPa zP4}=jt>E$L#PD{peCSY^!Hun&`Tja;=ro&o9tTPMs>KS_Brq<~gY>-)Ttbcqk1M#o zWXl(%ze2F84?bJv85mFrD$)Um4J8c%J^NnDJRNn2blB+;G>I=y@Lnx%86(Wwp*aM( zagRP#i8@JU`_Llow8B7ShUNrlr2&BtIfjKzToH*EC9ITEIB)m%=Wu*-Y-Pr!7h(7c ziudB(9}K?1Bf;W#v8`FZyB4$0);xVrEe-u+ z=U6H*RH*8~O?k&VQs{;Ukni7p{TA1ZdQEvpCG=q#BOs;}>>=dX7{~yBMY#*00EB4r19|Vu(5q`pZChO@VE(NiO#nk{Ye01$6`#mb*kh)K|(Yad+_ zYK3XiVN^RUs>@%yNb&$sxPk0h$K4uTnLz5qT`%n9UKkA>hixcvkr)vfob;Wy=ZXaf zny;dkpIMbU2j%f-p8$|-e5MEHq{2|lQwo!$_c!T$dj}gheR>05|KcfY7$^<@&Yuu8{ELOlJ~FZQ9ItijEebRcSclb+e8lg3%1{A_+iB`&H!yA#SR z0}WB&GdO)Xp$>o)wvsR#-w%)NdK2J!(Mf_=q)LIw*k?-<0Z%JE5en}FuIqQ_TN=Zo z#|^yxCLQaFyJ_NeY+y@?f7k*zgchn;15*VvHvj7G6!l&x@lPf{ zgW5=W9{3vpY~w4)PbpgFzm7u?5FGf?2`G-{BB&sbX&`wel1v|WjKx}u=2;fsf01>dv8LgDjETCJy#Qp1OEO(uv2y0F zc^vcKn>R2|Xnsbneg00@vZBM>2@DfBF*d1nvtygkNit#1v=g3MQtX(~zh&j$^(sL? zb1sx8AZPmr6VhI&iHU_ypPMz#DaYFrkiq%M@l4(U^9ZmZ41N#qv#lhbLx#8nc34xL z6hSx6ve)0djhCl!B4&l*f4V=APCo9WQ zLM3Hjq<#C#y@aING{znAAD|%iZIzy1EV8McN$+gc7XP{o0MT{-#354tsn1!i9ggoG8VY`vafdwYi-aAu4c|`%zD-c@V+8 zvbWrvCSRPe2XY7(%Y5;@$EU~e%U}PV!!m_%R&ETaxZIOSxP&>>VF;p*xt(>X2tM%b z-T(k}GvSsO3%{>!b$#GF9UX{LUT!OJgoVa1|az%YO24(GqzovVth7%3+MwF*S& z8-m`sSXw-o%r@e3sGj1n-0QmUcPxDP|F_)=Imkj}&jVN~pbe+Ia8Ou)18@+N@~_AX z;AP=Q5tewbsL1h$I_^0y#5ycU(JO$@be1gsgMG9X5d=(OjGg;@Amz~qcIBeAj-)kQ zm(6Z@7li)R$4Q6UVQ<%Kq~QmG7fzc6@dum}&kcE_(^zR#@;l&|w}<&& z3y)viz;7-Z_{}da;M2d@gQuTP;rrjN;q6x&8qYe8D6SonBJQvDpgC@-J#H@{5$v*v zZdOu~P*$h|D2Jg=3jGWL(8+N_4S>|^qia$DC64jcO-G(0-B9`C4|*7g{#ufLwGoh$ zbAqT{FX5wyPbYBwI$iIzglmAoX74)6!=OaWknW2b2;sf7pzWCPeI7SW#+1CB!rNyc zAZoI$PIUHMU#gwMav3ov6r=obuAxu_5=u?$X3&smNDB1fZubTN=%&`ZP1Aw-etSY| z^m2D|_T^lb!tXn4>lts@9~#tWj0)Gha3) zx+H7NbMjeb=(fBZjt36_!5vt{?2JFKCNcdBu{0HNT4ya8^)9ys4k|K*goMiNDxXa^ z^aWB*n^^jRv(7Qzt#!wkS3xmf$CfvS2>4mCC0|JsA(|U~&mc~pC4gBuG!AO{h+8)p z(2L^na1y%&sSx1!unJ)wUir8165(;Ycm#}Fp?C(A9A{1qcDHgKfW}xIJb1WJtDc%;y zG1$&AC3Buc5f1k&c=33`rCK(zfkp--DHbV!&(5~&C83@U5gr_kjRu(O?14f6>IM%w zA*Btoy1{1$BRGE2!FQJ%0$`k)P?5!tW9Ee+hM#SnfEv$D1$Y{c(h}j?S5i~X#}A-u zmQSyr5jc@2r=9UGnln-0mL$FcW{M&0?_wgX4^IcjsaG zO`UueyHZpwG_F*pBkxn3*j&bO=X_vgf-1yojG+qctkRzv?W&oxByT{NKyX=l#DM(m&I=ESL(N#m-@$9xm3xP@irAY{7 z<>TVjW+CZkKPmkA-VFBl(@*+6n{v%KkCSJ&Yy@clq=E%c%H80w1c79`lKRkVcIi{i zF!Z;qAkGI!*GbQVl||pN)nT>Dl(SIN=Va-$!Y5GxOuh%SG$UO{beaJjDL${c(8e6- zIG(Kh4jj&6J_3`gcCiXX#ro4YG-$>Gh?VDrv99P8D2ZnX8C&d=Fz(>tvjtq9kKl{{ zbO|qhGKCj^HiPr;Tlo4HH%UQm(xDpapocN@>iP((<8>OJCB%-i{ZSyJH%b#wJF11R zD1>G82%;x2hX4HO3?4oh8ThuvARqvr7uND$69XVYW$I#hxGz;7V)f(LQ<5MZL%$!3 z@pl4*kpEx=@4jhav*72xb-lR!dm0?d06_OY0zoMethls*fCjeI)%LqU+yT5!nO^~? zTyb8xYVL9=9-7Et!O1|ltTCn1CJJzpRK_SZATh5?XSXT2DJToPWYG6AjWxPuOHe8! zt{0?~t;v*g)|%LyG%|aw0oP#F5C6T(STM%QbnG^iMu{lupx%+C6in}(fVLbq&BN?M-zKN zxq6*?9;F5aB{ETf5mi}g*Eud~}PwcIi`#O2#8HSx!T> z#OYfYT-MZV)t^H3Ped-ss;#K;Kt~~!&8DMxBR9dR$*qV9Zj~mH%6TlYRFpU#!l^Yz zz|9xujN*Oh3(pUO3yu9Es3AUe7brV?IJADLe= z!Ede>MB;?r8ZJ4GF!(wQ{(zyCf5#SgJ~v#d(ks$>PuMU4smgk5r~#y3h;pp50ssI^ zuBy?K;RgeO5%PMZ<6)v`C0--k3jqL@Kxw~6Bl$yI2{vXK?7+$ZRaW1VD!}^#0Cs@o zz#3WG*q{!T0mAeYhJHh1+hDR3Lf~J{GayNF1Kut4q3;vB#w8= zIT1{kEAH|nuP~{rsag4RjXo!MA=UdlS^s;pX|fo{%=6z=X5DifHCo&^CmiLhW6tvR z1(@RT;$93+gif&WcKXb*w%t34m2&yfX1gJEX*o(E5>*DF|u4F{QXxN1c3fZ66@chXX_V#MM9TW1ETDp#F?$6G*R0gQ`a(Ga~{;V;; zMx6gQ+$OlRR`F~IBsbeWDTfY@4<#f~p%-8b7vCh%umaA-i0rk%_P}l2(seXWD1g&( zu<;hZ-?6s|!$DMj$R3?2Ku+^axQ>Ov06(j2@#;Fniw$C>D?43&UhD-5^b=)nN~j0l z1C5TWU{eDnkDb?JIWCFR&5H|O2P&)7JGNcLxGP8V!XNG<8eI3I0-a9FeJhqrhKP4g zA!`?GZGstJ^jh+CdI_81n^+ZqxdpgRFfRo+N*ZoFl^f#sR_l$)btf{w!0?{{z=yTP z!9Q6c>AxMdZtaa+q7SP0qs8d;drp)fGsop#*5sy+St*hr)d}XDxj}JbOs>}vv!a*l zQN?K-D!VIEKLe$T6~qD=7-;Ch3*{`kxrXbK6QOT}wQt`mVOVQ%e1ST-SO`5Q4X%d;hqBgVQa1_vI>Ci4CD6oIgIY`-j1j zG6r^e3-w(v-QP0x)1p_m20F z=6~-P7&&t@=Ievv5D_#-N<5$Pxi!F2(jfHeOfiq7A-d?Ziv@dI98ihyEEx~T;JI9{ zV7c0)af#A0TV-R}T=~P^?hOD?rONSnjg4`c9M$G_+}y+LR&!x{;*(dUg_ESF7;h$* z(1Z~x?9ut_Six6n^1)DnY6*|J>%9u;a^jIYZU>6W>e*Q%!(E&TEWS3fqP!Pg>|y-V zCcJg#DlGvOAo;j@33TqFLs>p|zJEB=W1VC*- zgV#5TJqecOa!mvzSo(&Fp(X}Fwr#lW9a{W3h)kn{-V7;i|>n|KU z{lyjh=wBTqP%wv&e{=x9y;^|l$H^8R(eY}SK)rYjEB_jN(~&~Jl09sj8ze&?_p9W& zo}P^0@#%;X9I+P!DSgS!AUfaZ^wGe(vled1{m%*kExMzF31|CDWd>UR7nfU5S9FwW z37&gBXuZ9lAYO}O2PYqm;O(0P=#o;P^-aALHa6ar2S8`-q0_Z0b#{6@OiUa(p^H`z zjC!E}hE%)ytYqz}k~hO2*eh4IZ>BcSz;dYPj7{FxNAuuuE<#?o9CDI86X_mm#s&hW z^%@p83)nw8lwK#LI{)Vd!?TLNEt6E~XXDFmFz;W4LGzZwtWiA(gWo%^MZS2+72?+3 zRZ{vbY&Ki=#G+?b7+f)&h+e&s$dJ-d`%?(u1KVzvD=DALBosQ|oHU)u&0sV-o)wr< zdwSDiJFah0_^L#8ft8b2m0!83tGe8>)dD8eOX05;9e^r(URa8kl@EYg(IyMHrM}la zSR#>Jx5lM2@sZ18Qi1?Cysi=;*zFerrF`!e0FWId;TDkTHt7bK$zn%&gNk876rsY- zCpGoRjyI}nb6INkyg5jmSQVh9O{{n|BoKr*0ia3W3sU9M*8OpcjU<;@O*p;RY55)8|TEzs#*rD0Lk}v+95o2K6T= z`P~jHslSQZ_V%8;s(2R5+z3a?&g4Y#7O7CO(kBrfeRQ1^MMGYIz2gcVJR8B&Pv>y` zu7&TvToWa-0>8SQLw$Jy+k-dY8m^^B20#P>mFsDYkh=NV<0+gx7*h7ne z+~&{+cK-YJRZ>>V0Ge!jFt6c2!Ukfx!qs&Pi&e|d#q^i-!YCAQB`Ax=w#R&j2A+O0 zgRg#l#cKrw1jyI~nj5;x__-4SPvqk$|3cZmoBw6%<2V5H*}BC`>Vt->z&ts|?qzE! zGG~Bw#LVB<#7@f#GO#U%OX<@t;^urhsZuGElXX26mbQ&?@v_jvx&MJ&SS-E}WesRG zNU6B3qT`<9#^4xCTcloX8s)VS)xl zJrdxE37^6fqMoO_EUOQ2yEg!UT=9bXytM8F6_%h&HCw2-d2yYo;?jM??&MU(W`7S= zIhg7!WwVnt$+z5Fdg9qyr|8Kx}QSd+A0;4xS*%t@@dQ12YV=44}^i z_!)l)0M-6$m}U@yEQ}XTE~c>xApJB9yX6?cM-@*<{QNP~slau5%hEg&hU8YY7A73CI&97VqYrN~>KymWf}mZ0$hj zyxij8LxTb$Jfc|lR#%QzqbdziaB9h6>)|oQH+h*NC|F_B8X;Fvr0XT~)_diwmupcp zuX4hbcRAcFnejcJ<<}WpI0o@B!7hAi892_y#hTnvEzl?A_*@jAq+}sPwOduD_<+mL z83+kCKPqTFCygK_-Ek=wWrGKHsRkK;Ew%H3$EKCz^wey`rR!y7(<(3sT*AovcH{xj zaqWQ11zAz&WJ2{swIP${!~RdK2>!0zdK)(a-Yo_Rz&%bn({0D37IJw9kC zagcyo;Kp8yRS)M^Eocq+(3;~alhX%Nm`@uzMlEcMv}V$IMpFlmKAFJpZ`QC)$Etyo z0t5A(pix0W;U&<2owEvHr}J)TvkY;A zc_*OI_A28F4~%*ttyOX!AFKDLLrFE22v+m4Nc2|nXc<80B?<6aC2)xI2%kNGCTMe; z_Gn1S!Fz?-2e{oE0HBtlE(EV7bvoJIP>l}&V9f7YjP{Om#5-OO*xyQyY5C>NGaxQp zamA6vfC?US6Qne*WKY9ab;bPk&N^vjVimRi)Dp&tzFBYB!CfvofUJ;B*~=x~@mm+N zhBgMrfDGEz0Cb7yJ-VZKWbi(a8Ia0#zzN+g2U(q(v%s-oN@^5_t5ZF{Mc&ZQEf030Qf z;V5t|HK}>Ar1(A&EHF8fhB<`cF><3AVt6ae9eXwoC0KP(bT-I`i#jWv%vB!q(~mCFHC6B*|Ic?YngP7{@f@CfI){t%1Nh<> z7ZBTE_Y%M_LWIrP;UmYWX#>MuWqfAg6^}poHsKleN%<4phL?&)x$#;up5*ms*cm+Vd?AgW?^7)SD!=icMRF0 z2YofL(hF>9lTxHX)aoQLSj_lRvM=6W?+H}CI1w6Agv!s9}Up zWVuNov>#KaC~bg5oC)fc9Nfu=zug-EKnq^#+{>1kiX=_x>pzB;^D*qB(&{hfzq#h~ zfh-|KSC%RORn8_D#KPk&=*${dsoT5eGB}Od>#Bg!tyk?J6*z6@1JZz7Q_@x}?rDAyO6-yS$`2u}+8wpwsb}GPLymbj
1B1@l|_F&~fpUHtxxO5%ArdGA03`n7Ci&mEd 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%0DJxE!+W6- zsN(_ge!02V2Km!ZR~rA5l3PA}K?B4CQ1HJQ|$DkuZ>yRRwwrC9XL81k*`DEl`9qBG!b4J}hRcK>3*;tQNvxHMy#uMiceS z%dnJd9qM9-Cr8p*pugW#)&}Rkx(bK`qPO0-Bx|dBAseaxNireB6Ic906>xCqyerwD zKN`G-&un~i9n2g29#ZPDESN{Sp%gRgE;x+%YzEFGscczM)9x5i%9^Up6&&~5d_&V z+x<=zJdi)^=L;-+AUlv`>&>aRK)`J0H{wCLv(6orhd03ky43 zS)JY^>AFs@KX|f0!SwzqoT^so-J5fb=201Zjov+{6pInPZ<5hFwEcHa8jriWxK>3) zSin!<>FGfSAKZZJoOrO${_*L%M)Mf+vvu)NVke;YO;4LP#Np;3{q%>|a;4kux7rxA z3LsLweRHPQqS_}A&=!%00PcRTHWK$SELrQYD@^lJ0SMx!R~HAw957?Ck}dr>4)8M0 zR#@~R??q*(ssO3oknxpb;A9N}s(z`yHHNa~Lmm?YLLNd0W}NmWD7CIK+SN+(t6b|! zQx^^n1fLuN6cqUU;9wLop1kM@|_z@;a3auad&F zw1gPxgBv3Oo(Nv*_eYXQue@nCR>tF6qG8Q_FC@FJt5k81(X$r$vpDL(*Vykh4kyr~ zwGC}w4dF1?D*<@O3H`l%BU}}hz`wjrB~5jpD1N)E@TWMEo8wwNet0IbB#s1DzuFiX z0b!G_MA#tLQDL*srWk8u?J}vO@wb&f|1~}ll@kh);Cj0$3cV;|Pm@~;DNqL9tiA00 zUb>jwcj9d{rmV-(2HLFFLWeB=q>RUjd1I2D+a_V`l#HVEG1fN+2S6>TAW=@ilTb^` zv==9Se7`j*HdW<0hg8Uja&xSTRz~@|T8OlJ-cJaK&E-5uOoBYArAC5q$bP9up#xkW zMADmwtMuP-_!MN{Wb@YI4sG`cMvO?#^RqU&YJ;j? zf{WO|*mL%i=ZEuGtJadDea!PKh{x=5aY(b|Cx?>9#>#B4*!jb-C=8OQHC?xmkZe}d z>mbqfAV8GdS`acZ+C`2eq>WLo-LPB6nyOsIuiLfX1130w=cF~q9-==!sHZsGCOsFy zOf82ljEABMr~2^Em|M{AEj6ro81w8TY#g)&elKkTrdiZe&g-)%3PwzQW^;$kZGluw za*70@GD7zCo7X@gU5dAn=B4-S{{^#qc6Hl^=DK_t){XYZVGf7{IJ@c9V$RFEp(%&{ zD3!o*DuKTC`-*iT5$4(`59@FrW1s&-nUv`hm3ssXV~A54-e8)Xjkt0 zOW>w93*IdbtN2mv1NoO~v)n87huah`mGeSG=Z4S; zk{MIZm4w{h@6*jczNc4b2O23(A)<4T*HWS*!~F@g$ppX{nHwEymEfr=wgRQ6HYOu& zmHiItAdQMBH>D+U)bs$v$$45nzafHb9n%>i(nfONBynE$Oc^Cr5`^|bW0XVd`3KUR zlKr}o--xbLqpaEu;>i>eCf6!&fI8FJzl6t&NdV@68>LmA zys(dgWz6P)Oou=PRnSG=oGfgzM>g;3$fiH&xyzuVGrRhb#k0j1~gSEq+U5NHcP3`9Qw7#PytW@FVi;A+ia zZwEaWn*D5qFJEpX3p|cPkPl5V)O&f_3icr*Q|B&AxXARU%Xq_Va(%$sEOV_rv~%AT_gs>G%rC&LAZ8_C7~9K zZ1%23tn_EdeH%ST7Om%x8w;#d^&-ZzR1j2q1mb)zAP1SPrTSMh<(fdi_P5_VNeB=1 zqN6W!lAV!*cHsxO;*tAbK>MsDRq4HDWxMrCRp+E2J_sfHu|I3u+HnbbV>4UUSj_4{ zBXCq>ZRxA>e)8uBZ=;{~p+J1;W?JPusNAWdKHC!t66o^ZjmSE=5$V&PJaa;7e zjEAO3+B|J(ghR>P^sFyXM?g~|os&xrW-5Bd@-*weHZ;zf6A`VA0I#|6eO~9?GRCQK zx7z%XDUJZWNdRa*7CS=^BF2@q)4aE4IqcL64CWz{`SPXMdMQB|#0>ZVAy##nMxc#;l zJnqp@!x^<&ICZoNq-#;v&o<8?xFjj<7&BA>RafD%m!gMm(Vrw_U?1oVyEH~!BXJU` z4-~NXn)UpC7tb{XfplJy2`#hA?UX`(6-v`a%Rudqe74r3h}{%X+ugl95_p^)TOJu3 zbVS@Z&+IC>7Ow?G#I+FB6U(DBIRalO-)|Cum+*Ko3Bbd4r$AQ5e>kA%`4v5H`dmOi z{EP`H`OpoRRQ}Q3vmGXzQoVG7!MYCBIGb3|vuqnGlVdH&c_9t8=`98RPbcA1e-V4SGum-``g4B$VMhWpPrsbgos1)w@+W>2f#JJ zd_Flj5=2h*{O#seNdvqGkcHB7WeoDmw|gC|2p>_gp*#qYhJHWq@7?uz`tar~CkE{z zt^tq2GqrVylvF}8Q1vTq0QKo6Cs7vZ@Zo{rNz~vL?a}j18n0{e^+1{ev8bxiL7pRPXbA^J;DtYCbwgz>4#oqwaoqQf&jRVYfZIT+`11>`B1E<1rpUb*bsBkeo+OG zljCC@qVOz?Vwh+r{=vElX0sW5yf1#8xmFMbcO_fAz-I<$GglmLG@cHE6_4@iW z?{_07oI#8o_AzdGN&&zqZ9%SrGf|CJ?rVYtzY8vb`uJlNdvo+0`)rb;N9$Ul3d7`U zDdtN`l%~)}KvYW#f`-*A_w(X2bBF*z<2&$G=NRde^feGZ&)@s+BCJ!A5CT0@ADYg9 z2w2ad8&L(@_^b54q4fU+a1q`Tp|Fni8DLJtL+2L850b;qhV;fRmi9%g{orx=wdbcJOMW zzr=zm^T3d(%BY%VNk_xAr5Y>_W5~fWa|@ZQ4Z_SEkgA;25SeIg5F-iDH3w}S@LR1- z%OQL9$`I~)ZU6QWUdx6G#&GAV8KgLfjV?WR8HMCz0ka`e6bOTe0kN4*PEG{9aWH^t zeEs%a1Ug8GR9*xIM!E1EfS>T{{3yM9eWv#Y)c@rxqC(qzzt-tbKV7Hmym1Z>+JK`W z&LuH=IeXVpnQ@q|f?PO+n_d@M+_{vo55a@S2iNN-Z{(<=AsF&I1e1fqRjLBIv@~uI z;DX2l)Yk_IP*p-yF{Ll4zQ2q{VtfeYuc3G4F4Eu_zY>9?3ga6f<{_Jic`B7js?3kL$`dkT2Gj!IZHeCYE`;r>?O?UKY6n^jlVanR0bA%uyM z-Pxj+el|go9=Jv`^TOTaicWBQ@C1Zdv}?6f3QG24D}o1YoFGhiUVF4oKEI1&rIU|+ z>ZW$F$*qHI=4#l}1x|u|PtfhatVRlckG<9zu(0&;r|0)rxF}|-r}*6J2$q#9OnUt! z$yAF>B!KcP?D1GlU*)(-))foOuURq6JYt-B2`9D#-*6q z_m5%EYXnsq`D0Y+wUZEOd&Go~)?V$tzOAg=Ftw_MHVSbG4UUz@O{1+43YJ&|Q#3qm zx9QurN4@7)XNOTx1*x~O4+O74t5u0xe*Qx0HhK|;KaC5ut_VCVY)E|1 zG5A5D?d{cB`sw|7IzL@0F5<2?>?dW~z`fG0@7g6W7Fe;2bS-dX#Q{2qR7Uc_IANy| zsg;Xkq1M*9uWy$p=ib#-ofD3fMtb!5DU&;wYq2R)`zGKc=}Xks*Tk9 zfSiKZRdmi%tf5pmfWaJB+hs2L?P-DcJ+f&p0RP(~d;BZ`pK6~L75j;R*fxfYx!#TB zZu4igZo_#okf6QCIcu@{SNbeH!yYX0%GS87>B(ihT17n8N(5T330gW$&=4z6XmGf% z;vG!!zDNd`UO)s#`UP7feIiblq^GJQ38;Qh%d4Yh(FUA83)xU>0|mUJ1Kp2RAQ5~z zYxY*06>13a{ndJb%gbw}n8BAMFi6P5V@`OBE9B5D4}s=e2wmD7xxNMGISm1oqvVQ@50K zrl78B70Q?Jcrgh85Fo4gI9FflQ*Kt;U{uL0G6{G{pF3uBfv&4!OKY_^F_vSqTR*y6 zDhLMv!+>QB$tEa12ud$el_NdQ-U}IG3O!COjP zA*vRSopC5|Fm?HmT<5C&^ytvN{G24bIyscHo~trL)@a| zL?CuwlxjkKNTwB5UA$-8l&)6pS68VDc~h%=5f}_HLJ)JcPlh33JTUjR z4Ov``G*zQWZb~rnXK@sxl{_5WpM#}X!3*gvf}oO+E|k9YLv-R5?Zsa*B8+D2kPNEYji5KqMwBp$viQiDp54-B9pcO= zo53CiLSbCA?l!8v6x0gyA1HR!hQUz&ESqXccudd>VUx-tKo+e@OSPXuvbT)$)ltC_ zkoEZo!@SJ5+jTIh(kE%=Gh+<3ivt*VUS!4~4{GwGt1VTlW7+O|1h7t4%Jyov8lze7 zSS9Q82|*(#+EXfGQv3lC(sTuDS3TrWNuu5ANVb!D?>kNF^g^BJ^>cp}IHL98J^MTY zDT(K%vplb?cN>xXxL*DnBoEZabMl_DSVh3~oO^47r4*AARiFxScGQ7({WvWm#6(us zm8x^Q`?ab*_is>Fm z*I}2uIk3qR8ZIPRv}3CCI7fn4vq&lD*M@lb5*{xm0U&TlJ3b&X7MjL{@}i`F4UtPE zv4B9k7#S=7UR3Q;sNE?iHM6#kKC2#8*${?Z*`$m+F>*)+LNy_FbTSsJ!!qD=>7M6m z1*F0baILfD#;@Hl22@uTz90c$bSVWtLDIvP5Iu;%%0UalAmY;LW~taUGA3uVO6+Ab zdB-62xdNb9zgc-sUku!13u~YQUdVfG9Q4!ZaU9JAOU`s$5+h`TrBOeOi__Mw9~LIN zh)8Xt@u_*7mcE|?Ai<@vDqbNH$-IQVI-7fYuV6qhaxfi5_~G}dxcOOr2hKw2oy#DH zfZ3Y}T1DT!R27gTd8oyx_h_*oeXim%=H!sWw>4wgjOcC|t#Ti@wgC(Q1i_T8d!TA5 z4Kb!y`#!0Xse^SrPa)adFYBr39;ip$`+b){FjYmMCM{!tDb{5b?}5h{#J&`trPhB_ zh2mpULeTHw8?03Ui#IU4m(LoY3KsE|;JAtRwzBG*lEN6boWi4kWU(Z}tPCZLeW<{} zN~gWimc!R3E^Qs22@-;7#k-ga>>T&Fi!o0UuyLLiFLqW2K{6Fv^DH?EWM!bkiwY7;w$n78LS;21c?Dn--0 ze4eF6$72=f5c~1u^uQApVZ>9&u|{B{+GovH^D>#iy%>Yr!Fj$8w^R1Xem5?D1SXSu zs^&zFqpcDcG+e&r#7c^Rk;sw!C24DzbooX`ZT}nt{9Qe8v@3l_>q$?}?DK|~{Ax(2 z5~PPPs+i;OEku$!4kkj ztZ2vcqH931g6o!+ez4&u{p>-ECAt6R9;!3*dFQ@*Q@L;dJTIJ7EsdcBSQy#_61Q7p zoNV;m{f`@8_cb}#3Z{#O|P&sNTBSC!UOnae+tSH+;uw+k8C2NCf+7WSyNOqc$H-Er(2zTS2@ z;hn+@Ao=>L5;c=+@ix>TN!-|W%(fSMUlH>rSNlpeXG`d|b@?3j9?9MH+8g`*BtjTL zugFFFZiJ#;pdJSr_3d)^Ww0_yQom}ijw@GUI)(fr4YXII) zA4EJE?bKoZR2va-ItIJ}5-Wq7A@ntTsj?=BW@5{hHcK!OKeVd2&y! z!C?aBPQqaA^C)rhC?UEl7OGm?TDbA*DD6g&;Ooni^b#H~CIKj9EmsSkO@*~gutL+H z>ViHs2e%-qQZYtlD3Xy@H5+~s3m88t4lHeQtKuy4sH#@Nz=d|hVQAYsfv93OzIldb zMREiB_PCGL5i~G-h1phQ~tQY23^1_s-Z|hdyielaxG>Sfx?- zSTwz2$(by&Hbv!H;AmAaqdnXghH-(itF*A*4>pH7n0Zun(G@VGyKS1NB4+g&Ntht~ z)twDU=x3&2EH`m*`n?&ADYMd^3>YGbLaKHYWH^?7dLR_)QH#jufCD_qfu8Sj{!F&I z9uDgL(_?DpIn)Ae0;9weo%NIyxL6w;+C?t738g_LN%+q1a#FB9NT;-51b@R^-dT~6 z!>>0hx=C{o@w^YTKKi}c@U(dH)eW2TG`5H7`>xGv<2aq1tfB%A=DJ!1U5rk8&4Qju zQgyZ(o2Uepbq*jw3h`JykK)n0uHv4QJ~)VhecY2#kILjf_2pY9b6O{Jl70mvhjmob zV&dyJq7wlaNqZg zHBLgurbvF;DiXG^=LIdwsf3fx!KOSbm?v!=0y&1nd;3OCee=2tskVtIXk8cdO8h-!Di*CBYdE@*!OC zRGN#_sKc6h;$i1WlXY6ENv^kyn;C|!mV=x3sF9FrndT>=V%GZg-{fMTo!Z5%5F#JTZnfSl?X)?@AN@I57onI) zsg+b&oU2Sd@nz1EIv^(2su3F(0OUignl}tTzv>+1ImBQlAJ?0JvBPnTgEGdNNHogm zBqTu*=&Ir{RtQe!G+>V7Ll`un4kW>UwE4LYLpZgC1KuQ$aaZEN?cxle$QRY81V@x` z1uU5CJUA3_l*(S?eLOG0pUvElMhwIfhS-?zI~8ytk#Q{|vyoVBw?+umZ?;j4$bwXq zDJ?|0I<8TD=@{u7=P(kPJ$_X+78hCtaZ>QLh;_;EEdh{Vf?$)}{z@xDKdtvb^~*ir z^Hf_UfA6m+DV=r?>A#a4bnEo6&p~mY-{+LCWo}d{`W`taW0jwu4XHlKNkb0&P0nF= zPgT1Ag-oed6-!gsKRa|Gc7 zw_GHw)MDaPFG5Ch5rc^kKxNiOvN_FD%Y886-lXxI*Z`F&zjNJ8_Ft-v<s4-GbYJ!ui#wvJcypw&WD>v z_1pa!tYS2C5K6Ubz0O7aCDE&b%v+L>Dy)}-yvZIYs7W*kEvKB<{9cAuJNrmX=1i4| zhbj=m;xGsy(9hFqJ+Ut3!r0FecoQ1b{c{ZP_w|_PaB6#odesT7M$33cW;p7g8*~s* z(X1n&@^wknHXfVdz!$U#R0}bP8U1>W9-lW-9piznEb4%+Dj!zj8CVDW@p13|TyG-` zX7HI$EySW-6W`zU>cQC@$XN`>D;oZ{AukM+|NZt}fenHUs()0Gw|CySA_P6{lr5`* z9ikmkd;Z=DkeTteRCO>{d!lJ#Bxhc{0Vie9S&jYjWuI8H&b3kpYAcuE;8nAluj8D%PM17pOq_x-cfFKdRXV~p3<*>94Ok}(+B$*^k^_YLS(2XyTNv?MHc-!l@Wd%Ri2 z%Q^Pj0ncXOMQK@6%Y zAt`%MjDsOpzkPaG&FQy+;GfslE`N?)vZZkFTv&gH3NoF7k^0_&P!*#Y@eHbv5)MS7 zT{$4Mk^Hrq?$~IpZ&pSUJgL$x1T^o%c_C;`F_BR)+^0aZNRnW^4@%Aksrnf%pB)^7 zgCR%9syOx;!2sr`B}3rXUKX*>NrsS$Xg`78k;FFT##e}T z@HvLcqSiv71|<pgKkh9cV?YD+wTp?(FjdUIN93CW0Ej?=p46 zegYj5nx|yj0#sdNG^&rbi;3|#t&T(&__Jfihd{M=Q z6oAYL$cr~uMpu`o0q=+TiQvnee>R6JthHnq@qSYPN}aYrCX1ORy0f8FR{Wz@AgU(1QPhLjh7JA)lzgrckY`JL?hb zH0fc)qsZCz;Q>&5#+wi?>G$rP7Q+(ypB%a?Sq8gD+IEJ(IY5PI@H%53(+z<_H16vY z^qQ#fhJYjq8hc68?i5fwa#e*UdJ`r;LsWfsJmgQmpF{-H_w#SGv`Anpz|166}*ah;d)SMb3e~w zN+M@M+E1m5+iN<*`-S}^R0m&$7Q$=iVZh+P2qk1dlR!YF6-*@I7JS;B)A|Em6GF7n4D9{RR1sqq(m^U zc~l%3Cyro#0O=N?q3t$Wv{kfI{W~6Uwko1LHGVKNnya)-BK4tADiU&UIcR?WP}aiF zT%zCmz9Z>6Tfv@N2ako)rV^!-J-st~DFH>V^lbPV64%G9r zN?cJ1tn>t-&X&Xt*fF~e+}`iiyQ>uG46jvzJg5o@SeW;`77t-sxE1R4jfP^W7~6o; zhu}|0k0B0_CNvJDFJ8uqfLq5Db8&T$`bMpVP7=NQU?+Pdkwb`4OzxS21NV1uRl#dB zwP5*Kdo!?Bba1sk{8jmjz0ZZrs#q6&`ngPjbY{MHZ7MEw((tc6(#5rd2<^k(bO^;i z%|-K>5iC~uXY(QXbdwXnT-lG^WYMOnk~V<3*_9OKNYQq*1wbzXmXDc>v=BGc=QWgE z2ysHNSi^0S@+E!}&uGRJm3pm$$irz^t34W#r_iah5)hYbPuh#Xvu8|e@Z%N0XBtc?qm|=X&17u zLN7{S)L3lsnkdSZ9xvU8gPf9s3_JG;ITF*SU?;7U87IGnK57U9@X-pDL39)h5!}&;*Ysd2ElhJ@yN!w++j{ zvS+54KAIL3ZzH5{AM(di6x1|M7d|Az;#E)z2%QT-u2qgPIk{9)m7kAfh&|qlTNMhg zqb0x#^7#@TFXLUNFs-O8YNEifvgi#xHiSGp-sZ(mRrweht~X~DGp#|uqY_-T%jnZA z2+s4pn=-aCTk3KYlXXsCzk6(I9TvAwxw1)7ZL+Cva&mw&-r32aw8o`gHJgZcyhe@e zP*5lvoLSbp$E_e}ge|C0aTa4%*$Q-XRP_#b>WlTZ$XwI+3mCmP`pxN?8?f2ff4neo z#Xzr&X3R0^YfW~~;~yLzn)47UYlgL>pPMYDs<9pMBwR1dK_JrMq#m!WUFWITe|C27 zi$p>0dX?dG!-Q2Tx(s!wA3`c)^Ujg!H%;kJSBthh5BC>yqBZVQHMmlz+7p~B!eY`v zLGTy@p|QD%No;dJEIbr*TBXQc4_N4=^#m&R4t|;U9ood>SIoEpKDn^vjz^< zn;1iyB#Ogx6;1jQ@FX2gVwA7x7?NK8ytg^%WB4-oEEOb*tUCZP(-i~3AQg;1?!gcH zLSw1Rzvfs6!QN-aKVVb!i;p&jcnMxgI!7gSO?(b&wFFWmVIl4(>n11KRoevjWRNl? zhqnljAsY3#+iHE1{M_GfHO>bKb|2F>W&e57Cgx1yv#z3b(KLq1<+ZTxY}7*^ITa%v z?;WIlx&NtpRu2^PJ$tUbs-oKNtZzW@9r(tsU+$pWQ$`3_rl0`(XqTu$?!9hEuFY*o z;s4--qwPF-5@0Ydtn_IOgCU5PCOgi-F_8*nYXqWdoivHTABmX?tO(p7R`!7~@l=U* z>Xx9+InRja9PJ-ZFp1o=e2ylC_tL0XRWBnnzKnO7!ZI|f*Rk?}s0G_~;VsR^t#w%K zLkoVRer2!fTs@~DlmMyRlc6qxvVK2VRHlpzmSBd0)&XWaKdtpO-1RsBFu0gQoQx{| z>Y|nKht;iy^!@uouINux-AWt!uj2OsaM?{xpZ?c#7v}e$bZZ$|Lxg9UQaAv{Qy4 z7KQ$K+lJ5j%BDU=L2VjM`rwTggT znC);bxF;k?I&7zC>C6_g8V93OTnv`ip5x!!u6H{~_hKI=FHVfA^bA|4Xao78+Zd5N zkjYZ3z|S6#et)+%v^<)3z&a&Ewf@oUb!_Lg8>^ir0zwts2H7o>s#RZZ%wy{tOudMB6Brrd8MTSFk7tXa-R)B<0^z0H$mU(0X-8;F^EW|CR31a!vJ4mOPz zbw7+@Dr6PEo7*R4roU~!oBVgY5zO_=uiq>^yS5Jcn5*F_=3Uv?C&%>oPbB7(f-FSF zOone?dGA7X`sO)$Z&gkfHleFNsxqj9q@*OHNYIAiOO@&c`LMKWtFN)iXhldQrZv-l z3VGZz_QWhL_ZT%f@h4JRs(Bv8epe4FpSkFyucFWI>nNJ#r4L)oX~w9G#6q8^<>ykG zmk9(N)}ojD1;-1*j#bmYUTwoIwWfib=$HhUp;Rc;$Kp-(?WUmN&T zhksPP+yTZJr8N+NN-mE3Fo|N!tU`tINKRMvu6Wrb{B-8cR&CivePgO6EDtWc=_%LskAE&32K(V#=Y+`uqN&Kv#>v z$Y;X(lLDNovTkWnfHqA5kqaH#naC-aIX{m`jlGFiSo4w)Q+eS|N&BEk%$7d7MY2*r zxlx_hPTaasB_yGy-+zpJgzy!4Mo5Ca`F z8TQ#~nGc`~a&E8j+bI=mViHLd`xc%@3f|7>7TJC(DNVhMJvK$XGOpKCKe;HVT%q^l zw5(FNPDOoC6GO>53;g=3cH3%8Xbvd>4W%+8n7s&0WB1CVugI{M;@`XiNm` z(bL~e`q?`A+a1|+$kjHrtD-81f}Sd%A59015UyJ>oIl=d z)4%4Q{XdVYbRtdnBxkvU6%!GY4so~UXSu-f?uN=Oi>E0>T8ch!JfeQpu9tsrx6gY0 zeYm$3du7`u``T!8v5rWVm~Pp~kf_r5>RJLn_Vp+!jwct!5Q=fDsz@oz8aCEY5e?$A z=?9b5ln9R@el;#k39p~3@P|A#B=XtpfK3Wks%R4%oxre9xMn3bX;=t?U9?BsUWwM- zZ1>BinY0d^@OCOJ#wLhzAR1BaTQ0oTHTd~c!1;dv>!qDpheURxz1zmb!7S0J%8Gx< zd?ud(mOt*=b`kcH1@C^R`!164oR+o^$t);p9ld-jZkqeDi`R{;B!#U)DsF%p_Y`T* z@2eG8VvaM*ehnolF0bRV0f~trN8Y6;2t!7I?^8tPRexH8( zbgS3DzWApS;P2|e*`mX^_5x>ftwZsOiewel0-GA)A5}g+2EE92kn9Dyvyq?nF|t$+ z$Hwxp)v8&9U999bSwttqVob6!+nnFQ?vf;d*ErN@$}AHfL9HpNG%wwLd6x;Unt!)Mqk zIP{Uwm{X$ufRYG$?5a+yD*D>b?t@ib)^{DjZq|K-T*`AnyrK_}L5r&Yz0tCw8Bk;Z ze9%A3+163{`Akq zr%A0T&2lW`5^NaQuj|ucvn%B!TnI;lHc1l&`qg>Y68ON+%(y3l9&4O?Ox-Gpesj* zt6T{D(+l8t^sP6u+bCEVBdLi()#f5q<%B^4+Kf%KK1+U=dMI^ zn&Ut(qqatiYE8jB`?^cUSF*jG1cf$1^pjD~Fb0Rk;!*{zDano$G|}LgW9~o3ef9IB z+2wTvPa$?8!z)CPfI1FQ@fXA|MpA26yH0vz?M8y{b)B>~R*icx{SOla{phvFJsYAr zuG?pQ{i4Cph3loY4~zyf>ksxe!&8ar6^*uqC{x`;>o4*HB{tClAbH~JoLNP(w+MWB za=-~-X(j&H0x76P9i+X+Z~j@lEA%`(H8HCN#qUCdR&i0;UVYyija3^B0`FLbj>s&* zEs>AgI&?lf0b}7QKhI`mPKIEAI0D=Kf-;rrzMvabaJ8Do*(C{y_$hhaJOcUOK8SM# zrwXws+O^_Qy@1DyNdQ>vECxP!M!KpT^kkJfyUxFVd{_=3OVCFDI8^#l*!n7?4K{2F zK@F3Qf(5NWwTeDs$cW}m%AqN7nIQkjy{ZpQ`N6JbIPF;g$EHCkq)ZDO+paxM$IlWY zfZ-u0sZX5`h{t@`l2BB2F$D2kJcr8R>cDU$bHH-UYs@X6N{_0hE+c#?pwTo3Inn`L z+=1w6%M2*m$~@-6%5ZFp}Tn;6k zW7Bqv$cx7(tA#8!4eph$Ix9g^y-?NndruqaeyQ!?zPk__lRkRsak$ro1X#JE zvVVeg0G(5O0GUS-$MWV^8F1|J| zvdEkTMV7lN?Z(h@FqtoZwymcp_PATbe%cLA;`B2IttPU@5HaE`qYd@x^PLc!las@A zc(gXz8e8J#WrW6;@h%e^90v2oFzgTlCX<=7Q@~JFQ(&Ty^KCe&_TH#0R&C%_YJ!|Z z2HS?$cT*QLps)c|X6(Llu^rv+yz#U+w|&eJClLY(tYU@-d1VS~%Jpis9M<9_1mOpi zLK}HKJu7ePu-8;On`@RE|Xd4ZxyD%5faD6tFu0~sxG@C;Qznr%qI+9jKS@@9<>#HS{&xMtj)o$cucFlZF2DrLkGPXEO3 zk@E`330PU7sv<+21#Uamb5#q?{QvV<3tHS9_uxM!X?0fWVGg{h?n8tFq9;0pF26LjreGB zd^AtV7F0?8MomaR3OOFaY2*-l2xM%)j!hM^+- z3<92MWTL>oA?^j87AX3i+PRMay~K;fj>~)~4mi?S!2UP{1_VG^SFzjCSe`5=MNKyZ zc!(-m-T(^foKYuV&#t%DfBm~L5?x92veU!B9_$It zJYa^6L}a$ZBDnmgvh_w63a^Fh6Qer?L(SdCJV;KsOicU=#h(tuNGOTHXVvE*(0Ex} zCnuA(nP`%R5z6KHc?y+Gxm+e+4;35pq@Yt~24X{3pHfrEz zh^d`{NmT>?7Mc+jFFTaEB`tsS$JRj_;u?kV5LZTM`vEyKkZq4AvcK8Md ze6d0tHWv;d9JJ%GrAP)o4@_Q|EM&gB0W~QlQ|A`SUCs?fpY}p}2POcA^61Q;8U(C9 zgoqDH9)6A<2>qDC%JxV>GOHlVOC4@72++}vhvahq%J&|xQF1nzE~OAGVN$T_b>*33 z;UFIh&Y#rbNXLU3lDRlU&LM}FgYKq77SBN|KDr%v=&&l5ZB_L^H?$t$vJ>J!uwKv# z6iCpL#7U})JJS1li4mn@YL@1uH0<%bRrgZ&0Uevrz$fB6xn*fHmCjsbwv0)y)SAI; z6CCyQ=^||pV;WEDb581kj-&_I7hHaTPe;6FdURWHE5$$-|HX0VGS>Dllsa9GRgNF-xe@H>_BN+hjet~9joE}sFd z4F*_rL@>MGN>FKWWi73ORdhy+M>QTk`27%S^4TG0#-&!bG6CCL90-9Er_E@IW;}=J ze$eN713Qt7z+$<3@`y3)c$EO+L1qjRyMr)8!t!dw1X?DF0g5WsGZjf8WXK288pWb1 zWTb zc)*J*a{iQ`Th_)FPF%D+52iYXSb@3rb zJc0#!z=G&)7!yeA-bqfl6ykj#tV1Coqr-cvn{h^(6kN(H5GH_3XoKggP1>B+b#__< z8Ki4xA+Fg=!8NDcZ%WUox&eAc(!nl8CJrDHfG9xOneOYpSVeukIUAhJSuM}_3n}#t z|3>;1>+$93g>7&o($Aps9cEX42g}A5-zSe4+)~cb6-ud@JcXGJTJZ=RV8tLHjHLIe zHQRaS&Jhh0_1>Va%mjd16eT3O)uD?7fJtkNtyTf#0yGzgJuCKL2jKoLS`#wL=^8aM ztc(d@qpMzT+FqxzRcDx64zOV7vB>JZy|lozcm&y*RiIo^>y&G76{972oiK{MX~1Q+)W3Ftf>rL&iVl8BI94iO%W$_9?>XhHt`%ryZjbLb-=AcuI73Lya} zkz^1rM9q@K`@S7C8USuUk-x(CMghcCdXQowMYm=pl+5dcwU9b@A-M5%-OzbhMZpkj z#@GTUlq?)V(tK5iam>P6P)A@Z2Ghi()C`qgQpBqhT<$?jwr>V0w1%|$AN}!W5&(2` zHny9E;0VIYc-os9qZ`hOp)6GNVr7qv61?(N?poNuXwhyqqVnLu1G5}$QAcyiOGCaV z(*^NtRQsovu7w!K6E&^RPEVM*1_+0O8$jr;bK{<~ZowwN3?GaD19R9m9u(}P+}EdV zC&^OGy~)@0j8URLi`rpC;!jG9>T5jSKiMU1Xuz&)6z^e{*1uY3IBb?Cq*2PTg&CkR zwmQv~=c6bHhM`Jmxku|+9`8%@9N^#icL9$0Kb+|e?uLZ<3uB*=@}n(@DH)n^uucu^ zL?5D*8tjIyIDF6g4Y3HM*eB*p;Aa z>$!AFs3bb3dovjbdAb{^0EzRBUI;li;WT<(n8`4k#k7+N!yo?fW)c8YCelmf&Jj0Ce$?8N1#bic99sP=ft}SGR4q!)(o)uJwR80n^WtzHj4q4j z(i5w)u?sUGXX~A8Ra2H4ARPpYDRnmd2(cF=cDTNSTceYm$#w)*YQqPuZ5YC&X=$GK zA&kVTweO7O=-Sw(cXE^hFbR{M*>te_e!qXYZ-{jPn*^%s7@&0^qVAzs&s=0VT2>1D zh+5SVV24BW>;1h2fVPG}_UZigI-NZ1(&pqT6$=2Nq*aSwuNxJ9Fg@@nN1Y_i{Y^Xk zu)9hB<;QpFAFtn~E2s`Gk(kMI0clDkX#w8Dx`0a`x?2Ye`H)G1S*rzrIs-iUmIm4a zgb?%abq$3)sToQ#w<8;ddKh)xU7Vk=P0gS6pr6UoW)saM(!Y3b+_GJ=uq&N={tR$~ zX6}=j0ZhvCtI>nUP6DDLDbhWmNYu3F_h8~^;A^apeVvE< z2l+P?fnV|2(28&Pi!L*1#`kAHTrBHdL|@gj(@$=n@1lsl!lbZ9o{@%jl%_IO68+j5P>9khd+1Vn& zKdWX?+|&qa2AHJYT>t=x>SlWZKnN~fyN&hx?|A^R{m#~AZ^_rGRVB(~1#TI)a)OJ% zz4IZ74EyQniPeC_HWs$SdRLm*pa_h3HZTm&kB`jSsZeNE0p14oM5qsH&(a9U;4-B|Nr0hO2}SXD;eqSJNS3F1ZE}BY4Mq@O zNv2pWuAbI!PW){rVCKp>sLX=EF^5DkrA3Pa*QCUNwF~|Z|AzOoGoWVfnTG&? zWe2zUkO++%jV0o6M{R`GYjztmQbDpO7IFC(UV~X9AOv70Yx+E=aQVx^Fd#VN=UHj3 z#qC@H-B6Jukl{Xqo{9(V9Z=^;8gSj<%62xMr0WkK)5+l`jZZ(N0%_V_NPh(MC9Bm= z5#LwHeSL_YZDkyceXdn@zD(bpf1hqn&guamE7kqMv)6TTLYH`WF4j*#d!H(O2MEEe zJS3kSL<0O7;6eVpZJvb)x3_@rcThfuPKGU{_SFOW;$qAD2dQ8Qa>@A;)ImB_*1y-> zcxhhn^Bm)%o@*IFSDpZ(i4pV(keelMb2?%}V&oJf0PfvI#yFk-%rO)8Q)vHt-o6m` zAzCW#G29w)4a`&(C*I?9#1m!d% z_;VYn)t=Z<6#bV}TZ|lyyV+a!Ar*md=?a(-&B|FI-%IUd7^~=q)_nOag!^_VoO$dA0XKmu_zSY$=@er!OH%<=jkp#g+=INR5e^G-c_1l>+C4&VE=|bfGliPa)4kg}G*(u|G zj&|xxIa@Zmepd_62n5-C7Mxr$hGenE9s@A~Le66(G57L;SX6fLFuH$wAb@QTZ+o;H z%^;DlIsqB!^OtWlTR|1H=FYOXDP3J$rR(oLrSt#e|4RMiFKO6+N&8>_?=$KJYx{PUhI8WQBAJX-3!vytoTX-NNVWr+cKDJhI@E(j$`S$fm zT?)!sua@hb+ZtFydCirrxaG(3Q18PSH--0b=#20m`8l?`f#yr_mSDmScgo)Mw$z#O zrx6bmJ-4{gj*m4NtcDm9G_al(CKZRX=J-WPt&-T4i+C+z1*|o{M&wIJq(0Lck9)W_ zSE&kyF%X^+raB(ZJE>A~CVb4=f*qO-2-33Q)xMcAyum$KY+v2UFb7E_CPVAe*aWO~|>sF>|iD$RKlEq1YFd&car2f$#Zzcf< z8(d^|0Nd$YP-WbcqF1XewBfArzOg=jXAs}uLyPVENgJQ-+5VMfEvl!rw4hD2JE%N$ zkv=>;^U#E(t7exvK!eUhpbC=T6H+zXXl-C+1m zpq_2qLXCM|aaJCP_YLKOSH34I;=Jl0jZGB7DiPcpJhgEjVmorYjnLt`NG}qkOz^1c?xDx|Z z5RCU?Hbe)bkMRVbnAK@9cYCr20r3i^Jn8y~=TB!fun0CgR$T{k-H|xp8l&wxdh8;F z!NGK}UiQ$iqs}8mV{l*D^{B6Ves-2_Z|~C0bq(M@{JH-8|CWa5Z)yGXf2M-22-YW( zkXo0Xl?MT<>b-#4-Y@N+O3*sD^0 zsz1xBzkdJ6hdpI|Qy0>!lMmh0x;uDC^P#l$HW}!ZD8DN3B?1_dW@-0t(%HqS{4qKi z4KZPb-}|%N;52HpaE>K{d$V!K>2`v)ir&!HTpKmnO)hL=(_(;}$5`x8ZPn=$-lQ0C zmW^f5TAd8iY@GI#jTzE8qJ+?9RMrDYejj$|;*;f7f?BKmL}s@3i@SG6dL{vYaKre0CN~Wi{P);cR^#7Ikvc+HfNH{9rbrs+V=| z+|COKTopZudyXTv`H0%r_V0YwC|S~ZAy$&MsmBNzObdN3jshu^HnSL0cTgbMf2RTd z!5-)5r`C?wA@xG}P19=XFMylyJH`XZpqE)~S@df>*#oEDqr{{EiryNxL+ z6oN^bqe~EFVapX2&1MiPHH&6)BW`URu7AD;N*quP2rd;Wsp9NGPY%XNi zy=R=$qJwzoBm{(jv)xIh?)l|e^dtjp*w*9$BZ`#-hN7jIj;w+f@D~TmQSCmqMmr;K z`<8*Dl+l41egaA6G%4GrG&MvtyDNNok6&D+g+Nej=y(me`OU4n!K%n0owKu(6i#6; z&(8u>Eu{g!R4KqUQJ^Pv9)uYn(5+Kd!(dKdaB-)fUx~NOya#i0JWFw{a%pOL508)X zA0UOTBb$WuCx`=e#5QZ5z14wrW;<0}!V&FxjX zxV}yWhAsR03qZHhvlY$8XYNfgylAYBynp0;_T@gM{o_ydIWvO{a4>5D=3!(tmJHg% zwL?&WGUP)|0456~&65}rp?x3$mfU1}HR?DfczuZ2WL0Lg)gFc7hmg`dB{kS1I8pdKVn`b4FuC;X`swh@*Tx>)ge`E6cE3hU z+ItFo1hTQiqOnp}x~6XciXdnB2aoi6F_MVG*{TRx>pk7t$0XP_!rlaCL7g9fE<^2* zqbGDHFq4OS<61nX3vg#np`OV7(J9%&Q_k!8BuVTS;T?=`(fiv)bv-6&9jVljRCktL zFDgoMZlgM!#n2Uyb#iVXT3iLs=vWmy3)XF91fyuCeKa* z1`9_=B|egImf470R!Fl8Kv&lNJ+UYf=aC0ptHjPpXS-I-bxT%~a9~xKA)D(%|KjX2-J$xwyW#7DW~wepX*~BM zwKAJmtqMzB2>{U!ob%)G#Pz3!1eW5Oso*!SGL%6Dso?*T9-m%>USDP>01j@A;%Pcx zN>+_aE$L!n#{;=*<0Pzg_)VN&>=;mjBFVOGeQk^bgx(Kp+~Bs0je^(P_?m{gURN~A zT8sf9z9mKxzBU4nNNN-<@#KYo5Cc7;hCEvA>~D<~mDFb$mryhtPhvO_M- zQIAx`?iCmk>ud75FH*>45nz9djzHM71}SlN>OCu#<`F>BXiY(jM=Zdt!b9m`9%goJ(d-OlxYbcezzY;xjYZM-mz5 zS&Y!It|)u$d(*j_6wZFQ4&$qEwD`WthsBn`rcO$)%vuYc;tQ`~6;UK>2dzPBk|cEo zMt@IftgLO!$lGY02y{IHGw>E3Zzchl9eju$FVe|oYp(As!75a1a(fNW8yR>CX--_C zo}mpoEy#Nvh9l4p8wQA5(&=i#@wk7H{4agrXO1AEl^mMY^CYfybRs&>?Lp5&7lDV- zM!MVt*>rX%bBpnaNX|@1!nZ!W88yl{^|Wiy1Tng z7nhg1)@*$*ma#RKqm3_)Gw*N|48t3)tu-}X|EBa_@AZ4vY9D(5bN>4$0saoN5!zM_ zq^lbOfN>G3zF*nUrsOI%DsAm8Cb>1(psRI;UuQe*uVG-tsm~~fIbjM^eTtExiaz$; zGOJR@XoIa_cMgJi5Z2ep7y+5*teic|w%69eMb)2BG z$x5CQU_vm2oj5xO7+dv&Spx?DrPQRHvEG$1DxoD6I-yt*1v=*_Jk-(S9;4ZhuJsg@ zMB^5;H;`ONWQ}UOF)DDEQLiK45qec@H!TqJd~x-y-cQn5xk^nCfa%`gUI;m@_J^1Q zg#7xTZ}^baXZ6-hr={%+`j!xkYa8tqAj%hycsep3rchS>gFoI(0uZe#&MC7*f4b%9 zXFbW*i?*NiwKkF&2PiW9vlCT)#a`8`g=Nw>xKf%t%j_uKDvmzhIm;`(9t6Mv;E)fQ zS?UqYrdk0#8$5B#6c6r71ag%f3Ja)oP6Skm_YJj53s}p`P6kYc9)BR7h46L7;<+6H z*@k8-BQ0hF{1{r~A!s5=&1`d&>=yCNpQYK15qJvv5(P;PVI{`7p-j+pcKZLOnoybEZUn=NgFMqBoHig z(I0DoA;`~xNWwIWD_uNwl8lOF_EE-b^Nx*1YyyF+j3+axM96jlN2ZTdeyLcna+C7`@;O17l{I zGZRm`Vbf9?_L0ZvwC6*`VP$#mwv=}2R-?}+kVi9~00 zTAzo^k+QT=DWR>t&gP)kLuIHzfCt_|E?lGLRxjXH*S~|dH$KP9)6~?k1bpf|?^G3i zFiogilMf#yCIa9T8T{BJC>tcC_SlgIwHDEN@CbzbVp^fN@iQwQ(82mqa>yy?M!UlX zWToLY>tO!>BVFFgzv)IqyEvMui+buQEK^hRfll=^buKuvfXPg)k_wUdiC{WbqkY%t zJhV0C%yG~6SZveFgJ{$e&rS%a2~R28dhnc{G8w=jj!pm$7XsHTzJyP-arKA?BzKwo zP37M(F4*QR$2m9!QQRg*8=gvL{)U_#&+=agr9T*zptbvKTAfq~m-OA$O?v^MeRnoAy zX;_!+CM-#~gLQ3lfk(EboSFV0T+cW^e`06&7(s%2zxO*H;e>vgi|5ofqoh6BiN znq~hQ>vwg~W-_!$J&wsT(evW?%NVG4=Vxh^qg02q?xLbD4i3QxnEjp9PR?dU=)EtAsHS4h6|6s{1o7A}h= zrVrBXnC+^HugJBAF3Vvxz%+4$HnSr+TkUk^dd0q-oj6j@$)mqwH$mW21~Yv+uaho1 zkALvTn@Ipr5v@^0XQ@$fLD&T>#3nemiwZtwPHef_@BJ`08B#2^#~S=`SYif^!yJ{2 zl7_)8^hH!GwxvaBI=p(0T2h*&MMaD@87lH^t#GLgZVgu&>frEkV3li{-NK4`wLPsp z`=%@33xP*k3V7`=oU%+Y^-;KBA{fG0-+K+11V)2ELg(%rioQI~L-dsMYrNGcc=F^^`OH)$#- ztoniW=M1*Eb1=yLQ3rNtWF*KGuoK4nS5%E9SMVLzwUa}Se0tC6xvUHb8|`W*Mu=H> z#%$mryo!>bZnYVaeJq&RLJbrN);u==8K>r`SXs@A#~;Z~NEuV=8RvsFL+~HQYxJUb zM=2OZ>=Y%9+2D*A?st^yW|u$!S*A&KkM8%vdZ5$QdnAJH2!LzABn_k5=ONFF#8tA` zO04Ov;p8uXZ;Jtk+mkIj3;0~Sov6rI6G%vKPbsK{b!RpZY|>-=iRVNS0j&(IAqb&; zyMN&McX58o{etf|#~wiEWLhly3~bQKHow4>PVPJ^6K+F)<_Kn0k}j_hSqYD$MmE5X z5Q~#k!~kBY_Q7nykyZ+$eJr59-MTK*qo8 zw@esLk!bve>0v)gc>aZSp|OH^J&h0A#> zoZ;}DUTDg6H1|NNKG=&L73vU_o}%lGwyS7slV`U*!JS0(?zYBLxV1OW20kvN%O%f^ zSGTWe5(OUyBo?77-Ui#@eQvfuS*`Ps?JF-dIu9)-30hR);MTc4nLRU~2*4T|g$xRK z>Xf*kCKR-w!xPPH}##LjzkbvH>J zrqzB6sx~DVyKw9$%&WUnIpnC_Ia{+8CR2(&mUK8eYXPhc{FpuKXZH*q5!UiYkW^A= zYw9Fc4nEO33pfZgVqX*PLk;kwM=5Ng^(r#hjR4Ts2zOk!&e{M3209_s;HGb*p%C`L zcbJOSQCvHsgJ?glWGdVc@qG}`^G?_-I(Mb3!Jl9J!L$d`bhGatv4#B|~Rapt&y$2Hm{ zbukXl6VLFinIdu^*Qi3tsm7%Z$ovK#Zzcg?D{7h>@;#8ti)W;~-HT_2xg6;--D0Hq zQ8f(NHx4~it(&b>yq@nxBSaACT@^pS*hpqGuzNsyNtRk3X7VrA#3mAd=nMqZSU@dq z*R(NMPMWo1fp19@OFTic0Zcp(S4*KfI3!bIk`Gw|f{b$RT$wW{_1Qsrk}_T=%hA0P zl(W;*HhYukM%R$fvx8kA(v#7)jjP**zJNvsnTdk9_a`+Ye|UOqvvAG`H-miv#D1VS zkd2Di_6Eltt@HXHD3RGn?9Np`0b>q|xvcI+)WgpJwbenKZRUeK>cuozIL0_01j$_q zk0{KF=m*K}E>0W;Qkz&=;@;x^?~Oe`wboCvKV7{BPpti)9muF@VEJ5J1K23v-QA>j z?{8U=p!%1&&hl?C01^E8ol*ck^_=M-8tXhCeGb|qOCacpbU@J$+xN974Fb=!YTu-6 zeFTfz0JRTMr_o?OButm*C+X}=6+b{#xrhe4rekM@T>|4vkeG!J0zk5h)!h&@`{>Yk z>=mXx#ho7PJye%3GqgBx|9e~2T3icq!I7kpIiYKYj@Qr&*hn0R+7@n!JHfS9#B6Ze zVC6^x`eNg7}z*8hZ+2cT>^9@!#M{;Mt=c04|NO$le1lP?X@LE9Xrr%87ofV%_W~Edq%HHIuywB=f6|EpRT&OxshwA37bYu@+okxofTd)u2U=(E$2h{v8DP zhk9V{wix`zxspBTL*yoR5zOWWeq)=K)xTQp40PQQS$|k{$Oi33Gs>h&ZMDug4;Oi6 zvyD|389WI{tzrv(v?>=e>?c+B^*Pvd+{8x2V@AzZSc3n+PV;@EzZuLeV$nI?ceckw z;B4Y0SrvOw>yiP26sW;`akp)>rD#X*Uj!Iaa5xHY%)yw*eF`-%9&!vOHQTQ*ad1`+ z#BXA^ZEc$vf6_B2Q4z&ASG5r{VKE)XHgn|~an(i07C!G_^~h*FtF_Wv zv7_6;(M>`1H@kq{kwkN zE%uaJf`ggA{_M_=6XXDEuo^7UUd}0;DR(DFyIzQ4X?(IWSfVA1FB=pqCJn4Sdz)R& zPP!wZnA<^*poa?mu*k(ualRIQ#L@)>Dcg>wg zJx8WNZ{3I(4TY7g^6TPC*}fJ@>zJy0Ym7=PZJm$jz!D4z( zpZLdryqN@mq7>fn)YQ8L!)S0Mpcf96E%n=<*(#+$uft5N~?l9wabHI86y&n0}?g&`Tiy@4OXL@oDlM`8l|c> zQ^;oF=%W~Q zeO=mK3Z_Oe_Fcit%VE(Fabb7=Kc~#VCc$z_6U2 zdE{tp5t3%4-I&v}O5Y3P!aNsO!4y2XT&h|ojdLwd4ke_7)<5nKvpE6+#e>%h(j@u#%!x-&BS9+(N&+jw|EnM2n>+HxwzYQE(m6W zp0yt}4%8T6af0*~9&aWAsQEH8ZCFztEOrAP^3}x|L10f`o`^690EP(JPVHr(eubKz zmzT!D2I?2pPsdDscAyILlicP=i|Kj97|fwiCKC$@VW(%VR7qwk9wJa^AlAlw*1&CZNPL0*rRyS}%e%Mm~oa-)N3 zoQpa5ZLaC+kxGOHKQhoP$w``=SJwE##O z>WMgaseHH@lr)uMMn>1VE5P;GJ1vF9cHfl$AQNOpj|qGl6WNwLS^SF$(44|OQJqlk zP6;@r!X)CE%&j$DUthTJSgpsB2uePVBL3KqHPpC8hfFOT*AUl_dq^!;fK z`a^oGfdW>p2uK9z)J5>&-Ccs9)r*m=STMhT`NjZtezr>=?yl-0muegmhx>A=+mlVakKE*KAZ&D z7%u_@=cGilPi&_K-ea-}lR6y<)JGJl1>voI)M(WiL-~1T$Rg)6HoL4TMqxGa;wL zY$vxRXmIX81U^DKBdaU&;-FhBnxw=jq+yX5hHw%79dm6|bR0=6(xTAX6uN&|BO&k{ zbPd{?7EAyD@$30TB2)_e?teu)#I2Fg><9LOuWLO5ByPA@>`Wvf{;w`i+1gc(t80!! zy`jC)HqJ6&34I4$HGv2vB$baH10&}f!oTktlV%u?*4s*u52DhcQeVWHP{1A3_BRzU z)bNt`N^xsBd#sTh6lek69ZiAqsvxu-I(ue_mrl=tWM#XY+V=`95j%zm9@ul%8&C_r zSbV4BedGS$j_x2>01QDMLSL(akw(hn9U$2ZT3&Pnq&6xMuK+93raX7HFF*QhaNIR5 z?hs0eG621p#}OBTf+R0K8$`j4ELf7nN=i_@bIGi0OBiwVaKA22VBOi{Xkk0>+Rd-l zDBAOnPkSafF@oqiCD7Yilmu0_i-s!`N1^MM=9G9KCQDt@xA1r~3Bb?4{8j_f6KykZug}wu-@WHyf*|$v z>w~MM0~h|s_jd$s-9J7vO9#&%&VN`um*=PH`r?AEs;}Sn1oHj%`!^myHG!YqY)ieryG-wIuj>My>+`=dVL&j2`rNzQ%kuHcz^$M=uszvZYas+d(0=bMA51&cW%1!|!;~WXSzHPDbB~l( zwT<(7)K|xRPvSWKSGMDQXtb2+wt84x=DDp`pO4#~|B7QZqzk*+~f5X5tPbv=MK z7=xFt%V)g>S5-##M{6CyH(cKO!Qds24#<~A8VBFV)6Ydskc>K~EMy}KgbBa+Wm1&6sPevKBjK~jWY=jS^n z1z=5JO)xQZBD;T4vbo!N98$l3x9fPg#+*OIa@M5ah%p+yCV;_N)sBwDNa}p`T8+6? zWSu$qgOiT9SNL;`xn5&H@OfINgx#u<(_ICjpOTMF3aMDRV%(1)-jS7B*&r3Da&!a#+K$|8qY1y zns;M7G%fpdR?nrOuKV3CyJHhR9TqU!NKuguiC))Cmc#0bbk;)P^2p)RDeZue^Tl-#JA5WWZdx`?`|&HReT{hTc&Tt0MUN~ zn*9Sm-b@1UxmNgC@ZY_^t^xiXd+&d*f%~B*02GlyhF*ge{tYeq`-ew@@~|17o`q6{ z8yl+o5a+?+`rGgK46q;XuG703Z?0;^jXCln4skf2<*2}%p)aa7H%8J^bj5-*nxCz$g?+H}r53wd+9BY>>V+EQ z3Zka~7<%5mwQT6Y{sFxPuMEgzO;EPWP8DG%v!Qj8eJK_G>U*33j0aRP(86wSLiQF2 zZfX;B(o5f1##L>@r755(knDxXCs-(Rb{_P~1GVjotE7%-U&$Oxq$Wl$dy5fau7^Ye zueqm&gE|bne?})G2qWkYC0q){I@mM7^v5v_5|6CpY-qj?GY@ur&Vd3=rQL@Z889(g zMEN5A!`1leIX+eHoFM)D^Ka?p;r~hh^?&~_RF0!K)gXR-(60jP(5jR$KuLOUC9U}N z#EK?P+E^Q+KIyqKqbjypRbshy;KywL{B*~8t8@T_{Kx2Q<1P)}b+R!{2u0!jBM9sJ z5!_;Bx~|Pz;aMOxJ_Ay-9sImbB5TP`28K=8{w7P()`YLK@XaeApAhS2UCfi^x={fu z!DiC88LXVwx6c?_{!ru`gO!ua`!7~%@jAa6gD0)Z1QH zV**emu_ke;P{|Wim#yKSBeBznWf%vuX^wP17}^aHIA?iO@cU78r{f%*?f*5za-`r% z(J~8tMYWBjqPHSpC_IA38zaDZo*KwB?uT$0DmtjBnGJSz5-e;)A_ZCwm?23#^Q_po zB5(d3gN)N87p~DFRYe!ceTQ`QJRe6u0eIc)`X;VM?1gbkVeOtgChRCq)q4?T$x#!C zD%Juhu}JEG$#@HoHCeA?VP#LwbPdGk=V$4|`&$M=WZkG>@$Zyw ztqbG2R`;kvp?d&|+kgCr@1)UP-xI+fDuL)k z;B~+Ma96X?i+WhW7-%7NhJdS$Kwles0BF{20HbG~Y?1ayM?OdyiwXsijnupeq-m{_ zf9NcmNt{7XWIkG+sp~!C9Fxu#+Z*Fx>4dN^B{gNW*?5JRtrFx!-n~K#In3j51V62| zO|7rJ1sdGE-2fX+wi#Bd^9X3en+gXZZ*LyRE2+}LFc|n4bSP8`t7mzlVbw!yD{+)? z8kE?IFc_QhSTz#3m~xXcUERvZwUec9&o=99j&nLlY>1T_Rn0nFP9_nOrwxGA!~orF zbJ>z!1mdDT!eBXE@RVQDzx?Ib^waY9^y^Rm%4+ZY>LT6NH4CM7LR;>Tr3)~r_Ft)`5Uy>FFh_1;9N3~DzT~YENQc7t6Np|TR z^mdzVbL#7j_SSeSx1SMaMgd@P>w2)_XC!Ilo)-c7dfR(Lizra!i`(G6SqXRqSTbBA z`MO|;q@HrQ0k&kZkP8!$Gt>8A__P*TfU`x9eS`Ns*cNzjfJ%v-$o6o1Jp4G&!k>Fp z*(fT69a5qXQ645Io4#QeLg{d0j}QKxnF51F$%Os!D6te9MFp@?9vH;{5@L-!%HUqd zO2`tj7{MAD?1cQvqI)WA>bOH%gv>*p`&^XCT!&kyge z(^X9lkp17+pM~B(HaGx;|M2~LwxaJJCmVe z?SqnIQxdcoYqf#{hElL=fUAfonU|c0lX^Q4?I|u`H zEs&h5Qf#{O^G#DKT+FvEd37Zw(9F(CYN$Twpyt+LAgoVDIr9}$m>};Hq*Up#5~0+Q4n*1H+3jANE`^@M z=+^&Y{xGUHbbI*O4ZmK?k=GqIg);XkGK(>7a$43#AB}DeDR_&J<8oZfVwP;gTN*nt z0bcem47h*!%iq)E*JtVk{PREmja?QVQp8Pcxu!mTx=Y{v@UbQX7Yrt&o%SR*y>PwY zFpWTk2d!LZk0$`kdVZwkFuotHdOhdwEG&g;5#26Q`aClTZ3=v6a>h|*Z@LD+LejzU zNiVmy_!%9_VVm1K5lgMb&xEuOQyE*b0oWB4q^sf8SPJ>d>zan4mQebZeqGDaX0|)3 zd#Wph1Abz47lD$W)Jg5ebXQiG9y#zcl<+;!5*Wi2{XN`&NiR>| zT89Z$rL4F$3gUczO-*F#Ik@n{*o18~s?+ranm(Kg)gdqdvEhhp^-Hs_gJq5_0iL4e zFD-p_kQCGh%kOIRZ;g!6YkHp8p+Hq0GR^zCR`Fdi&&M@{7!WQDK$y@bLGcl$YFLA! z+huld$ZEj;9wZEO@H#51t$8Pn*$(W4q;zt2A_l=Q*m+Y43h-E@_fqOxxF8f==y);d zIoWWn6GOytjS_jDs{m-$&xvy_=$9KCy1j%GsBtlG;qhh?fRnS+^jL2?GUF##=~(RV zYISv0t1P%dVL>4H19S$CF{<;s`foBqk-FNipTDy5M@IYc-3^_p9_r>r%NaJR02l(L z{@ur0>SN>2_x1IV93c2(Q@_8vPB%B_wYpsx{5fBnW+U1Q=ZBE? zK~yYOBr<%0*G2(!a#6)IFPWO$Sm39_30rl&6|-?tawe(0iE zAr7(w13D=;cc0Sr)qCEHzrnZu%hwuw6>5<9pi6^8Rbvxy|MxOWg1*3J@Ik475Y-#` z*gegVW#Tl=4OuKs@Ui-dx#zmXELzHPt63l6Iv55nkz{PT!2w00GLw}dH(LcVst`gc zul@sqKe|GA-7nwnZMdZ4dw*Zo&~IPTPyg~$`hWl1Kc$=7ORg_Sn|}ZCLp^*)t^+V1 zzTLlA3V0%RWp9mtTqAJyF%}4JJ@4^GiG)CZn*GDQj}ovr#IfE6rB@7eMOyG=8dzip z^K5ho`k;m?^6(N+jU3 z0drZ&_{r&IdiUYS`i+Kke|DXI`RSkPeRy(W-*c>l=V5*7a%7EnvROb(GIA5AX)XD~ ze54+hOt2iX)E&E)NOqC6?&O|%Tc<2cJ*CL}<^%zd$^`_XCOALWzhUtM1Avx47CD^Huy6tPyS+ZGS!&2WW~PGlfhj4l-HXc5A2E`6P{S(dZ=5gkRG7 z7Y7?%jGK4g*Xwneo_~EwLp><2Zf?`>pMR-8G0W;T(DX$PiQ@l{{v6WI58GOaope-3 zBRYE)C=1U)=LUgn;o*8<)x&Fy>)Q<$;6Y#?ESOZ>(2hAj{3ANk#&lSPDU`@dx^HY( z_L@l+S9wzn(w}NFdS2JovdD+v$(0Zjy82vnm(ZbjKr&F*mZvJ|f1Lj%ot&REdLZWO zxaJsRedD-kC4K?l6D?CF~MUxoVbvka(0$Yq%)2ddH>AA#)N z_M>$l)KbQJM1?mQSUd4xmhlcPXPuA^5dhcY8cJSIGZIMzygayb6V8TM8=dFP3hp$N z%3?B{qAlF}zATy<@n`bV90_rqh#=4MfS`8$e3TTHAQ#q?NK2NvrzfWI(`>9?B0e-P3whV4T@l$JB4vmRe7X?;*hPYmwbC<;d zTuAs-_jj3cGcD`fRX`;^=b1`<q89o)abpJ zNu@N)1@CosewI!aTW@3C^h*5M-5EtU4qzr?z{%N;-y7p96m9UZz_|o=KqNSS^vB!y zmh}O!-_xUlKjz9GYo&z^{=DCFgFQSvru+IFv{OHQxJmDBueee1d>~Cff4yfr7a+j* zHF3a#1uZZHaZu&M`t-xQTV~%#D!!Oni1$EH{_f-Zba!)>PERni)W)QR<)V4NC_+X3 zFt_<>tC^*#twYGJc6I}!lGW~{weQ+t+mrudNz;V%&utp^{HJ(HMF{7Ouo)Quqew=33USCE3VZr259 zuF#MDsa9%~_vxet8NT-TGY+YFU0bD#D)8Xyi_*rvUhB|XB+6P4NyaTYptC*6HM1=- zjq z7FgH7IXKubX%r^mv<9}bn%JnTq^b*}8zdg^l%T&vK61!I#Hw38V=78C;+k@A481Gc zVkNoMz@ft+%?19P6OCzAP*qUJtX!yXw4L!eFd9U+4ZkL<(eYl^YYauks4DRZkjx_y zJF|wtw8*`YOn|AR`=6iE>AFidA3rd${PNq+X;^IwY{rNxeI;ry&lC6K`RRt;m%z24 z`kiQPeAKTeV+Nq*XDNjeV28a2!zxl(w@NURfU9Ck6m=X=9kw3JRPtGTACg zB9P&i5LC{!0cB~COzh6wUaz;-Ky(FIQ230@#xQB@wzhqNl|+Y6B+S?wNyz`Od*)a% z=?v_P)L4msGUkCJ2-9P!N3pL7JUmG@qsO9!=L7E%K*a-uthAezGJ94Jnx85JOckw(L|Q8*&eu z+kvY9FL2FfjLcRQk=pciiwNM)mMv*5)6xJ^P2eTlQEZ+a&@(#&G~Tgvafp4WHMcvO zBNYWcf}*zDHa0-U4GcnNeu->lUNB1>enJ5LY6D$gBsA&;qFTq0IeVtgmPD`RY&=c1y83!>>p{_UPs)|ez@RCafG4*pX` zn>>^f_r*@$Ob!H3R)+M@$ip(J7YgqufOq_}rxRJ00#lz5Uw$?#+Jq28T||dpQSpj@_WzX53e>%!jvpi%yAL>D# zMm9n)A(tM$Rsg5%bLyTo;{-ifAx@Cvy^&}cFS!auSn0NtyKObqSs3s96(335YE-Gs z{kP(!*3OFcl1Vxcfki!W(0Ae03i&n=*)JaQ%gQ2&CfR+pnGj}plcxaANWsf2J{>wy zX2;{Eb{6FI;Abw_LMPTDiBO=dlUUReJZNtx4ZYK&_jZy2{Eq8p5aM9SeNC4KEmFXLf>Y z>(E34m4CwItOv()ilsm^XW_030Rgq@5|i)c;!?u2OnDglhEA#~XZ>s!*ZN64(l>z6 zxv@~*H%GziP^;0y&wz=+jyj|jAF*;_jMLkXy3NBT?iULhExs$!)ydPU1={`Vhz(vHJA)+lASOd*fu-h3qgaK(95 z%k|vLS=II}V8Qk}P-#oHRrqTF`nQcd=eaq#Z${^MVFM~ZWj)P~W?w-+88P;3#%Gd2 zd$nXIHr-)Pip7mS-Oqj?Lvs?iSN`<8zZb5)~tI(*W}gDfe9 z(iyzzu~lBD?YOi7EZ<;8zozc=EOS9Y9qirwqD#^MF?)#!zrCi{tIjTgx5n=twu5V~ zs&a**;wJa5%9{YtzKZr5c1W0p3$@Q%ZfCr(`GqSlF$eI8Fi0X+O!D_58MZylI|X<_Gh+3Qzx&aEW8~_4Y0*O*JbZ-k7QQ=|_l$zsIdyV!kq9 zYK54G6~o1DH~mrHDm_Fj0L<6cv(AF%Ot4U6Y4!_CBk9|aB#5Op-d|~eW`^gByjVSW zPK8jqjz*N;R);r6IG=@i z2}*0uI>TCA$pOD4Lq90#i!C3!>2A+=;CPGZ?`v2fhS`+)`ijFFhcW?j{2(OA_cibB zzW*&CsK^EW)(f9|;RFWA{_o}LRF;fNH0&sbgmvp=Pc-t#5WPZLSH2)pV-g#CNS2_Z z#a^Z$z)RT`Gn?6pH||elWFsJ!;5&}NiA7{&max`6ethol%vi!WD?6PDT;ZyshnsV) zz6)H@&zbUD7djRwlQhR|g%`8+KQ7zrr`ur+l^p+hz>BanSU;aF@B9VqM+ek7aAW>R z0guD@6XtQV>zHFQUROoOKXBgjMWJ!a`{cPZucxF5n*34^O{VDs;? zeVMv($gEdKl~5l4$?{HRb=aRI&iG0N8BB)0*fsDHR{bIgL5-ke+058<8Zr=COS-Tr zJ)1+%9I@`OyAN(DUbQ9d zzf&v_#9c>5m~klQWbHAod2xA&fL~e7+-)IIa2&I2Mr<@r>dYT82mSq;46#(ZC30&N z;&$y<&m(||b{*#w;;JpSxmA|I63%5ED99dwlG^Bd zABYj_+VyT8ywRCN5KAn^|8ddymqVPy04{+;@~=Jm=VXtzSQ-9bNU%{62q@jnMm5%( zQB*uQV}OW`7hJ@NDs|r;r&fuDER(YKy1_=be*H?T;8hJ~31$N#m{VryelpL2{BtA< zm0+#p+C0#$Sm47CohseaDjl`C{!6O`kRNMkXiN-D|D64YwH!Dj z&Xtb4im4<(v?d_Hcxnr<9KgEd$;9kl=6fB^lU%Mic_9cR7bqH|1a_|TSTf|(W=N#u z`4JhNwy_wTj}BBik@1s{e?fQ1-MiSmuP9V8cMYZ9R$!-jdPwNoM>hJS0Yndr z5_H9Sb!&`5<f0pr!YkHQQ3kptcA@?G14F&55Pw3N;TZV=_|$w$h(?cbO(YB!Y( zF>UwX^_$i%vt#(Di#Op_$P}dsn3f@u@CHPNLH`es!DtiIIb5^x1MK6CYKGAH|*9>CR&|DhC@Dk%joFyf|;`(fS6# z+Zx$S2h9(iT@ths{|tzJaWbHzJ(K>NLzFhn z`jz|sM7A!g1vw%mV6eLL&*!;q4-`kztvg=l}MY zFH*(leZb8FnKmu#YAWy)33V;!=7?V#UH&zh7r`Fscwxk|P;gMx%cfiojl{<#ev;iZ zE&l1fb{2ww90o4mxdcuqgeqvv+rgpJ3S*Q6M9w8QjoeN#hcd6aac&%<{VxzLV(+0L z<@Cywj32bNG76Raez5`ui#ri$}}`wD~_qtu0VA#Dcf9<$ke!-7RBaGt~> zmk>-7DZDYzJP?9<{0o&;EI8C=%;% zZ8}(V2}>b`%`KvA7ko*y6e{<%XV$CEQOu+fT=PX5Z?>KecB>j41|2$C$iIp0k3kE3 z2aU#yjELckskG0BlVc}coT z!}J&3+I^(xxdQ>Cf+1tBG?^4x;GLPj12HfdA~FP!%BGR?G~A7ab4R3~^-voM%&1`W zvu!9Pq;mP=;xRYFUOx8;lDv-j*=T_iadT2OHn2&M=0M~OYqcER+=7Y^u52n?@Xv;@ zx2>0yQ_xirs38RG-`?tBj6q1eScmQ$dJ_HfYiQGe_h1hNSp|dJStVkZeWaznsi2%n zO)nZ}uFP*A6BuTn?t&JoM0&HKuK2NR{BDXpM?D_F3&9JV@WbE#u4r_$v~VN4D(`TS z#}(GUoatDFo2>G#V?kDqz8KmiUcbx6DINYTkcu__NL-6`Gu**I&v<3=ROTFvDAQn5 zI4Ju_9yr;Q_b970jC6B8;iXU?ULVy1kTzR{9(F~8AOAeKwR!*eJ+vLHs46?uCvU$QS=iJ^MOe{RZIRplrNs z<$Th`ADhj@f<1aV85Z@^VXzVZ5h`1nIEtO>d5o(q`mO6;FcT{hHE{?jCLVu5Avt*R z-Yu5=Xp}{YX~&!_Mp-A4$wpBa!zn8f*w^=xDhjzy0WY5}?wb~AR7p75j0oGLuK_rX z03;0FSD$O3Re15u;=BU|p|87i_cP}QZ7i%Y2_sZ1B1+Utx-2^Npyt>?XpMw8UH&1V zHi)}LuAQZh=h)V4amCcaCBH_4f?j)r`||+Kd>PX*?smzpxhol{T0hZgpO&GRBJK92+}<) zEH=74HUjjM<6TZf{~Zss{Xtn!QT0jDNY(Qa4z+S4-3)F`!CPjB_WcofH-Cq8t*2w0 zK@edVwvxkAvEgOG4ruPXUMEch*A1r~P^yZbmAr6t)FrixAIGfzb+`&>CleAT!fOXB za^weJKdU_%OxLI8X8FD76jK+Gzx3+#v-JyCnEPaj20wf;c9=UoTtKCw!HbaLLXkns z`e5nn8?etG1NJ~> zCYYjYsasHCb2?AJM$u~#*1Dj!jy0?R2f2}9IHtuh)XqX_U>H{a&bm>$x>`!zQdpB` zk^H+6t6_m*@ETsd3S8B;9hqWU0c23_HVl~SKEfX>yd>1$Bj0}2rwZY$ya_QO0<&7p ztrYzE&CXagmy>KCv`})q8KfP~O-%9gQo+8?_bord`;rE2I{gw?c}jfoqYw>qXCc?KBjpbf2Vq&p z3(+WTaB6p!Rwz8tS)xRov8Hd*$cbAUM$CQs80`k#$w={8GUerM-hqJY!663Agz`D- zDrj|1hd#4XHPr6KB%p&2C4!V)pUpiIhHjzHP~KFDtm#0P5Kuq(R}{*sNj@W8Xs6xZ zr&ut7BUP#6{iW{)dHeqw(*REobC zAzg|^qJK5cY4}%R^=RY9rQo917}Mo9HEF6H3b#sBl^bK^9nB~aIdMG1kCf~eN=nXj zY0JXQOo6U?B%a0qimi+F6DWCUabsKmZ`^IjaKc8Gbd(+U!29rV$hL2wc6`QX+I*wl zN0sHllRAxDh(MCG9xQ-N##|&-7LAPYuKd}K#nUNJgXH=XVZwRSDExvD*T3IuxD(8$ z+q&8|psrUP#L(WpZpA4K&Htv~iOEd;mO(e$XBduh4Xhs{r9RN&ufrN7f0B1}ywP3& zZmegvbE(cbZFbTkkuN@+}PglXX0@WI*SMGp5^}dW_)*dY);cc%C)W&u5jhM63xE@V0^51RY ztx6*ldOf!!8_6Fi+hd;$boG+UsgK;NB)3Lv{k9!d+0KK;0W`jTH^jJ2DeiZ@vbZ95 z=SfQ_WX%A-@0Wi=bQ`v${hzE9Ugi*HvW-t0VSZIgQa(-%LP7JHt7IDGdXEV+Phq(w zJH+z#I(}OT+oAbWfN(Z_{cNrHOh=r`FqqcTz;IMBWAVp;CRl>Ai^CL+JM`!~{I{7Z zq^upk_Z#5cDF~w2)%UxHJk>WCR`wHVS%M}!TXCx0PX&phuTBujP@;vWW|3V;@`+;< z+w%)X_UV2F$Wt45V26fU`D%enX_kTNJFg&HTo?zZ1}C%2XsX)T!nj-fvhBT;&XnXu z#GUDonN`i$`ZWQ8=@Q653aE7eOv3x94oT*Ib6<^>xc{{_;hx3gmgS2X9{lPkr_Y7x zgZw7ZNmJe{WU#SEWZ@a}m0(YHQ+0K8=U7^;wUxc~!lzqC)@aLkiVOjgBjoGvw^CZSVhf+pT90p*tXVG^j$K4?*8E9Ox{}7hs3b1s$~{t zW3_n`^cdF@1Lv=8qs%Wx49~KlkBpIkCk0E(X0mC7KzNmk7s)lf{@AA)NJ;4I6ka9uY+Lhwrb{G&A9GhrcXJ3i-x3A%w~GlQZ~y1_*@-dewOoC6WG5d84!c80 z!axEzLqujm3)k?(S8n$!Har7@#-yN(p-BEz&SQEuNr`T*o`IhuRdlMKkwdOFHchiK z9Yl2)^g1f@G$x(IsRpvW56s{Os-~QS&o-`8_$&0bfl#PILLzwJ6F}h|R}so2VKtUOB%aWW zgbBARss{+aR>s#9IQjm3Zz&jPvbf*hhbVu}OD-kD4qP3)%Uf;c|KYCKEQb@^){!

O{DAvvBC0f`%z(E2fKupi?-}X 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 X>%5kYx|r5~Um!27B2_PG7XJSL!74uS literal 0 HcmV?d00001 diff --git a/server.test.ts b/server.test.ts deleted file mode 100644 index e69de29..0000000 diff --git a/server.ts b/server.ts index 9e49154..ce3a4c3 100644 --- a/server.ts +++ b/server.ts @@ -3,15 +3,16 @@ import express from "express" // notice that the result of `remix vite:build` is "just a module" import * as build from "./build/server/index.js" +import { subscribe } from "./api/subscribe.js" const app = express() app.use(express.static("build/client")) app.get("/api", (req, res) => res.send("HI")) +app.post("/api/subscribe", subscribe) // and your app is "just a request handler" app.all("*", createRequestHandler({ build })) - app.listen(3000, () => { console.log("App listening on http://localhost:3000") }) diff --git a/setupTests.ts b/setupTests.ts new file mode 100644 index 0000000..c5e6107 --- /dev/null +++ b/setupTests.ts @@ -0,0 +1,16 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import React from 'react' +import '@testing-library/jest-dom' + +const JSDOMFormData = global.FormData; +global.React = React +global.TextDecoder = require("util").TextDecoder; +global.TextEncoder = require("util").TextEncoder; +global.ReadableStream = require("stream/web").ReadableStream; +global.WritableStream = require("stream/web").WritableStream; + +require("@remix-run/node").installGlobals({ nativeFetch: true }); +global.FormData = JSDOMFormData; \ No newline at end of file diff --git a/thebabel.config.cjs b/thebabel.config.cjs new file mode 100644 index 0000000..14715c4 --- /dev/null +++ b/thebabel.config.cjs @@ -0,0 +1,27 @@ +module.exports = { + presets: [ + [ + "@babel/preset-env", + { + targets: { + node: "18", + }, + }, + ], + "@babel/preset-react", + "@babel/preset-typescript", + ], + plugins: [ + "@babel/plugin-proposal-export-namespace-from", + "@babel/plugin-proposal-optional-chaining", + // Strip console.debug calls unless REMIX_DEBUG=true + ...(process.env.REMIX_DEBUG === "true" + ? [] + : [ + [ + "transform-remove-console", + { exclude: ["error", "warn", "log", "info"] }, + ], + ]), + ], +} \ No newline at end of file diff --git a/transform.js b/transform.js new file mode 100644 index 0000000..7a87bb0 --- /dev/null +++ b/transform.js @@ -0,0 +1,24 @@ +import babelJest from "babel-jest" + +import baseConfig from "./thebabel.config.cjs" + +/** + * Replace `import.meta` with `undefined` + * + * Needed to support server-side CJS in Jest + * that access `@remix-run/react`, where `import.meta.hot` + * is used for HMR. + */ +let metaPlugin = ({ types: t }) => ({ + visitor: { + MetaProperty: (path) => { + path.replaceWith(t.identifier("undefined")) + }, + }, +}) + +export default babelJest.createTransformer({ + babelrc: false, + ...baseConfig, + plugins: [...baseConfig.plugins, metaPlugin], +}) diff --git a/tsconfig.json b/tsconfig.json index ff45b1d..d03e54b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,33 +1,19 @@ { - "include": [ - "**/*.ts", - "**/*.tsx", - "**/.server/**/*.ts", - "**/.server/**/*.tsx", - "**/.client/**/*.ts", - "**/.client/**/*.tsx" - ], + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["dist", "__tests__", "node_modules"], "compilerOptions": { "lib": ["DOM", "DOM.Iterable", "ES2022"], - "types": ["@remix-run/node", "vite/client"], - "isolatedModules": true, - "esModuleInterop": true, - "jsx": "react-jsx", - "module": "ESNext", - "moduleResolution": "Bundler", - "resolveJsonModule": true, "target": "ES2022", - "strict": true, - "allowJs": true, + "module": "ES2022", "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": ".", - "paths": { - "~/*": ["./app/*"] - }, - - // Vite takes care of building everything, not tsc. - "noEmit": true + "moduleResolution": "Bundler", + "allowSyntheticDefaultImports": true, + "strict": true, + "jsx": "react", + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": ".", + "outDir": "../../build/node_modules/@remix-run/testing/dist" } -} +} \ No newline at end of file diff --git a/url-mock.js b/url-mock.js new file mode 100644 index 0000000..d4e22f6 --- /dev/null +++ b/url-mock.js @@ -0,0 +1 @@ +export default "/path/to/something" diff --git a/vite.config.ts b/vite.config.ts index 2b6aff9..3715143 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,10 +1,11 @@ -import { vitePlugin as remix } from "@remix-run/dev"; -import { installGlobals } from "@remix-run/node"; -import { defineConfig } from "vite"; -import tsconfigPaths from "vite-tsconfig-paths"; +import { vitePlugin as remix } from "@remix-run/dev" +import { installGlobals } from "@remix-run/node" +import { defineConfig } from "vite" +import tsconfigPaths from "vite-tsconfig-paths" +import { remixPWA } from "@remix-pwa/dev" -installGlobals(); +installGlobals() export default defineConfig({ - plugins: [remix(), tsconfigPaths()], -}); + plugins: [remix(), tsconfigPaths(), remixPWA()], +})