From d0bdc27ea8179c1e312935c1f51f06a4076e1fe0 Mon Sep 17 00:00:00 2001 From: Louis <contact@louiscap.co> Date: Thu, 23 Jan 2025 21:07:39 +0000 Subject: [PATCH] Basic race; Restart race; Purple --- .editorconfig | 11 + .gitattributes | 180 + .gitignore | 7 + .idea/.gitignore | 8 + .idea/codeStyles/Project.xml | 63 + .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/jsLibraryMappings.xml | 6 + .idea/modules.xml | 8 + .idea/snailrace.iml | 9 + .idea/vcs.xml | 6 + .prettierrc | 4 + LICENSE.txt | 19 + bundle.sh | 18 + css/style.css | 372 ++ favicon.ico | Bin 0 -> 182523 bytes icon.png | 3 + icon.svg | 1 + index.html | 116 + js/snailscript.js | 209 + package-lock.json | 5693 ++++++++++++++++++++++++++ package.json | 27 + robots.txt | 45 + site.webmanifest | 31 + static/FinishLine.png | 3 + static/SNAIL.png | 3 + static/StartLine.png | 3 + static/snail.mp3 | 3 + webpack.common.js | 1 + webpack.config.dev.js | 13 + webpack.config.prod.js | 25 + 30 files changed, 6892 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/jsLibraryMappings.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/snailrace.iml create mode 100644 .idea/vcs.xml create mode 100644 .prettierrc create mode 100644 LICENSE.txt create mode 100644 bundle.sh create mode 100644 css/style.css create mode 100644 favicon.ico create mode 100644 icon.png create mode 100644 icon.svg create mode 100644 index.html create mode 100644 js/snailscript.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 robots.txt create mode 100644 site.webmanifest create mode 100644 static/FinishLine.png create mode 100644 static/SNAIL.png create mode 100644 static/StartLine.png create mode 100644 static/snail.mp3 create mode 100644 webpack.common.js create mode 100644 webpack.config.dev.js create mode 100644 webpack.config.prod.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f29d257 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +# editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6599bc7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,180 @@ +## GITATTRIBUTES FOR WEB PROJECTS +# +# These settings are for any web project. +# +# Details per file setting: +# text These files should be normalized (i.e. convert CRLF to LF). +# binary These files are binary and should be left untouched. +# +# Note that binary is a macro for -text -diff. +###################################################################### +## AUTO-DETECT +## Handle line endings automatically for files detected as +## text and leave all files detected as binary untouched. +## This will handle all files NOT defined below. +* text=auto +## SOURCE CODE +*.bat text eol=crlf +*.coffee text +*.css text +*.htm text +*.html text +*.inc text +*.ini text +*.js text +*.json text +*.jsx text +*.less text +*.od text +*.onlydata text +*.php text +*.pl text +*.py text +*.rb text +*.sass text +*.scm text +*.scss text +*.sh text eol=lf +*.sql text +*.styl text +*.tag text +*.ts text +*.tsx text +*.xml text +*.xhtml text +## DOCKER +*.dockerignore text +Dockerfile text +## DOCUMENTATION +*.markdown text +*.md text +*.mdwn text +*.mdown text +*.mkd text +*.mkdn text +*.mdtxt text +*.mdtext text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text +## TEMPLATES +*.dot text +*.ejs text +*.haml text +*.handlebars text +*.hbs text +*.hbt text +*.jade text +*.latte text +*.mustache text +*.njk text +*.phtml text +*.tmpl text +*.tpl text +*.twig text +## LINTERS +.babelrc text +.csslintrc text +.eslintrc text +.htmlhintrc text +.jscsrc text +.jshintrc text +.jshintignore text +.prettierrc text +.stylelintrc text +## CONFIGS +*.bowerrc text +*.cnf text +*.conf text +*.config text +.browserslistrc text +.editorconfig text +.gitattributes text +.gitconfig text +.gitignore text +.htaccess text +*.npmignore text +*.yaml text +*.yml text +browserslist text +Makefile text +makefile text +## HEROKU +Procfile text +.slugignore text +## GRAPHICS +*.ai binary +*.bmp binary +*.eps binary +*.gif binary +*.ico binary +*.jng binary +*.jp2 binary +*.jpg binary +*.jpeg binary +*.jpx binary +*.jxr binary +*.pdf binary +*.png filter=lfs diff=lfs merge=lfs -text +*.psb binary +*.psd binary +*.svg text +*.svgz binary +*.tif binary +*.tiff binary +*.wbmp binary +*.webp binary +## AUDIO +*.kar binary +*.m4a binary +*.mid binary +*.midi binary +*.mp3 filter=lfs diff=lfs merge=lfs -text +*.ogg binary +*.ra binary +## VIDEO +*.3gpp binary +*.3gp binary +*.as binary +*.asf binary +*.asx binary +*.fla binary +*.flv binary +*.m4v binary +*.mng binary +*.mov binary +*.mp4 binary +*.mpeg binary +*.mpg binary +*.ogv binary +*.swc binary +*.swf binary +*.webm binary +## ARCHIVES +*.7z binary +*.gz binary +*.jar binary +*.rar binary +*.tar binary +*.zip binary +## FONTS +*.ttf binary +*.eot binary +*.otf binary +*.woff binary +*.woff2 binary +## EXECUTABLES +*.exe binary +*.pyc binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2fe1ff7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +# Include your project-specific ignores in this file +# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files +# Useful .gitignore templates: https://github.com/github/gitignore +node_modules +dist +.cache +*.zip diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..2d7c9ff --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,63 @@ +<component name="ProjectCodeStyleConfiguration"> + <code_scheme name="Project" version="173"> + <HTMLCodeStyleSettings> + <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" /> + </HTMLCodeStyleSettings> + <JSCodeStyleSettings version="0"> + <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" /> + <option name="FORCE_SEMICOLON_STYLE" value="true" /> + <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" /> + <option name="FORCE_QUOTE_STYlE" value="true" /> + <option name="ENFORCE_TRAILING_COMMA" value="Remove" /> + <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" /> + <option name="SPACES_WITHIN_IMPORTS" value="true" /> + </JSCodeStyleSettings> + <TypeScriptCodeStyleSettings version="0"> + <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" /> + <option name="FORCE_SEMICOLON_STYLE" value="true" /> + <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" /> + <option name="FORCE_QUOTE_STYlE" value="true" /> + <option name="ENFORCE_TRAILING_COMMA" value="Remove" /> + <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" /> + <option name="SPACES_WITHIN_IMPORTS" value="true" /> + </TypeScriptCodeStyleSettings> + <VueCodeStyleSettings> + <option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" /> + <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" /> + </VueCodeStyleSettings> + <codeStyleSettings language="HTML"> + <option name="SOFT_MARGINS" value="80" /> + <indentOptions> + <option name="INDENT_SIZE" value="2" /> + <option name="CONTINUATION_INDENT_SIZE" value="2" /> + <option name="TAB_SIZE" value="2" /> + <option name="USE_TAB_CHARACTER" value="true" /> + </indentOptions> + </codeStyleSettings> + <codeStyleSettings language="JavaScript"> + <option name="SOFT_MARGINS" value="80" /> + <indentOptions> + <option name="INDENT_SIZE" value="2" /> + <option name="CONTINUATION_INDENT_SIZE" value="2" /> + <option name="TAB_SIZE" value="2" /> + <option name="USE_TAB_CHARACTER" value="true" /> + </indentOptions> + </codeStyleSettings> + <codeStyleSettings language="TypeScript"> + <option name="SOFT_MARGINS" value="80" /> + <indentOptions> + <option name="INDENT_SIZE" value="2" /> + <option name="CONTINUATION_INDENT_SIZE" value="2" /> + <option name="TAB_SIZE" value="2" /> + <option name="USE_TAB_CHARACTER" value="true" /> + </indentOptions> + </codeStyleSettings> + <codeStyleSettings language="Vue"> + <option name="SOFT_MARGINS" value="80" /> + <indentOptions> + <option name="CONTINUATION_INDENT_SIZE" value="2" /> + <option name="USE_TAB_CHARACTER" value="true" /> + </indentOptions> + </codeStyleSettings> + </code_scheme> +</component> \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ +<component name="ProjectCodeStyleConfiguration"> + <state> + <option name="USE_PER_PROJECT_SETTINGS" value="true" /> + </state> +</component> \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 0000000..d7f4cc0 --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="JavaScriptLibraryMappings"> + <file url="file://$PROJECT_DIR$" libraries="{a11y-dialog}" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..431b6c5 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/.idea/snailrace.iml" filepath="$PROJECT_DIR$/.idea/snailrace.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/.idea/snailrace.iml b/.idea/snailrace.iml new file mode 100644 index 0000000..308e123 --- /dev/null +++ b/.idea/snailrace.iml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="EMPTY_MODULE" version="4"> + <component name="NewModuleRootManager"> + <content url="file://$MODULE_DIR$" /> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="a11y-dialog" level="application" /> + </component> +</module> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..aae922f --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "useTabs": true, + "semi": false +} \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..294e91d --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (c) HTML5 Boilerplate + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/bundle.sh b/bundle.sh new file mode 100644 index 0000000..e8dbbc8 --- /dev/null +++ b/bundle.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +function into_dist() { + cp -r $1 dist/ +} + +rm -rf ./dist +mkdir ./dist + +into_dist index.html +into_dist static/ +into_dist css/ +into_dist js/ +into_dist icon.png +into_dist icon.svg +into_dist favicon.ico +into_dist robots.txt +into_dist site.webmanifest diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..2895052 --- /dev/null +++ b/css/style.css @@ -0,0 +1,372 @@ +:root { + --danger-color-value: 177, 73, 104; + --danger-color: rgb(var(--danger-color-value)); + --background-color-value: 137, 103, 144; + --background-color: rgb(var(--background-color-value)); + --background-color-overlay: rgba(var(--background-color-value), 0.75); + --highlight-color: #bfadcc; + --dark-color-value: 36, 36, 40; + --dark-color: rgb(var(--dark-color-value)); + --dark-color-overlay: rgba(var(--dark-color-value), 0.75); + --font-small: 0.75rem; +} + +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +* { + box-sizing: border-box; +} + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font: inherit; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ""; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +body { + scrollbar-gutter: stable; + overflow-y: auto; + font-family: "comic-sans", sans-serif; +} + +html, +body { + font-size: 16px; + width: 100vw; +} + +#track { + width: 100%; +} + +img { + max-width: 150px; + height: auto; +} + +button.fill:hover, +button.fill:focus { + border-color: var(--background-color); +} + +.snail { + display: flex; + flex-direction: column; + align-items: center; + width: min-content; +} + +button { + color: white; + background-color: var(--background-color); + cursor: pointer; + user-select: none; + + padding: 0.75em 1.25em; + line-height: 1; + + transition-property: background-color, color, border-color; + transition-duration: 100ms; + transition-timing-function: linear; + + border: 2px solid; + border-radius: 8px; +} + +button:hover, +button:focus { + border-color: var(--background-color); + background-color: var(--highlight-color); + color: #ffffff; +} + +button.danger { + background-color: var(--danger-color); +} + +.assets { + display: none; +} + +.snail-label { + font-size: var(--font-small); + border: 1px solid var(--background-color); + padding: 1px 3px; + margin-top: -10px; +} + +.lane { + position: relative; + display: flex; + flex-direction: row; + align-items: center; + + border-bottom: 1px solid var(--background-color); + border-top: 1px solid var(--background-color); + /*border-left: 1px solid var(--background-color);*/ + /*border-right: 1px solid var(--background-color);*/ + margin: 1em; +} + +.lane-start { + position: absolute; + z-index: -1; + left: 0; + margin-top: auto; + margin-bottom: auto; +} + +.lane-end { + position: absolute; + z-index: -1; + right: 0; + margin-top: auto; + margin-bottom: auto; + height: 100%; +} + +.lane-description { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: -1; + + font-size: 48px; + text-align: center; + line-height: 100px; + color: var(--dark-color); +} + +.hello_vspace_micheal_here { + width: 100%; +} + +.controls { + display: flex; + flex-direction: row-reverse; + flex-wrap: wrap; + align-items: center; +} + +aside.top-controls { + display: flex; + margin: 1rem; + justify-content: center; + align-items: center; + width: 100%; +} + +/* + * Sneditor Dialog Styles + */ + +.snail-input-row { + display: flex; + align-items: center; + column-gap: 0.2rem; +} + +.backdrop { + position: fixed; + background-color: var(--background-color-overlay); + transition: opacity 200ms linear; +} + +.coverage { + inset: 0; +} + +.shadow { + -webkit-box-shadow: 5px 5px 5px 2px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 5px 5px 5px 2px rgba(0, 0, 0, 0.3); + box-shadow: 5px 5px 5px 2px rgba(0, 0, 0, 0.3); +} + +.dialog-inner { + z-index: 10; + overflow-y: auto; + position: fixed; +} + +.dialog-container { + z-index: 10; + position: relative; + transition: opacity linear 0.2s; +} + +.dialog-content-wrapper { + display: flex; + align-items: center; + justify-content: center; + padding: 2rem; + text-align: center; + min-height: 100%; + + /*flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0*/ +} + +.dialog-content { + position: relative; + overflow: hidden; + border-radius: 16px; + background-color: white; + padding: 1rem; + padding-top: 1.25rem; + text-align: left; + transition: all linear 100ms; + + /*relative transform overflow-hidden rounded-lg bg-white px-4 pb-4 pt-5 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-sm sm:p-6*/ +} + +.list-spacing { + margin-bottom: 1rem; +} + +.dialog-title { + font-weight: 600; + line-height: 1.5rem; + color: var(--dark-color); +} + +.dialog-inputs { + display: flex; + flex-direction: column; + row-gap: 0.5rem; +} + +.dialog-inputs input { + display: block; + box-sizing: border-box; + width: 100%; + border-radius: 0.25rem; + border: 1px solid var(--dark-color); + color: var(--dark-color); + padding: 0.3rem 0.5rem; + font-size: 1rem; + + /*block w-full rounded-md border-0 px-3 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6*/ +} diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7fae62d38cfc91f31f7ae6480fc48733109de615 GIT binary patch literal 182523 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	o&@9r}wz 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 UvABA0?;t`(LP5Ofxq<)x0k3$5YybcN literal 0 HcmV?d00001 diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..ebf518c --- /dev/null +++ b/icon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d943ad59b9fe4d53b72983e420ea06c1c187b044578416802960ea8069a03997 +size 8188 diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..bbe481b --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ +<svg width="420" xmlns="http://www.w3.org/2000/svg" height="420" id="screenshot-fd982b10-72d8-8078-8005-9f385c4b0010" viewBox="0 0 420 420" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1"><g id="shape-fd982b10-72d8-8078-8005-9f385c4b0010"><defs><clipPath id="frame-clip-fd982b10-72d8-8078-8005-9f385c4b0010-render-1" class="frame-clip frame-clip-def"><rect rx="24" ry="24" x="0" y="0" width="420.00000000000006" height="420" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/></clipPath></defs><g><g><g clip-path="url(#frame-clip-fd982b10-72d8-8078-8005-9f385c4b0010-render-1)" fill="none"><g class="fills" id="fills-fd982b10-72d8-8078-8005-9f385c4b0010"><rect width="420.00000000000006" height="420" class="frame-background" x="0" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" style="fill: rgb(255, 255, 255); fill-opacity: 1;" ry="24" rx="24" y="0"/></g><g class="frame-children"><g id="shape-fd982b10-72d8-8078-8005-9f37cf933033" rx="0" ry="0"><g id="shape-fd982b10-72d8-8078-8005-9f379671f180"><g class="fills" id="fills-fd982b10-72d8-8078-8005-9f379671f180"><path d="M362.158,200.601L373.353,203.959L377.271,205.638L380.629,208.997L381.749,211.236L382.868,212.355L383.428,214.034L387.346,219.072L390.704,225.229L391.824,229.147L391.264,233.624L390.144,237.543L383.988,250.416L378.950,257.133L371.674,271.686L368.315,277.283L366.636,278.962L348.725,285.119L342.568,285.679L338.090,284.559L334.732,284.559L330.254,286.238L316.261,289.037L311.783,291.276L306.186,292.955L298.910,294.075L279.879,298.552L265.886,303.590L254.692,306.948L239.019,309.187L227.265,309.747L214.951,310.866L208.235,311.986L188.085,313.665L160.099,313.665L156.181,314.784L152.262,314.784L142.187,315.904L133.792,315.904L131.553,315.344L116.440,314.784L99.649,315.904L96.850,316.463L82.857,316.463L72.782,314.784L55.990,310.866L54.311,309.187L52.072,308.068L45.355,303.030L42.557,300.231L34.721,295.754L31.362,294.634L23.526,289.037L21.847,287.358L17.369,284.559L14.011,277.843L14.011,272.245L14.571,271.126L14.571,269.447L19.608,267.768L21.287,267.768L27.444,270.566L30.243,273.365L36.960,278.402L40.318,280.081L45.355,281.761L55.990,284.559L67.185,286.798L90.693,286.798L94.611,284.559L97.969,283.440L103.567,279.522L106.365,273.925L106.925,271.686L108.604,269.447L108.604,268.327L109.724,267.208L111.403,261.611L117.560,261.611L110.283,262.730L99.649,262.730L97.410,261.051L94.051,259.931L92.932,258.252L89.014,255.454L87.335,252.655L83.976,248.737L82.857,244.259L81.178,241.461L81.178,240.341L80.058,238.102L78.939,232.505L76.700,227.468L76.700,224.109L74.461,216.273L73.342,208.997L73.342,205.638L72.782,205.079L72.222,201.720L71.662,194.444L70.543,192.205L70.543,187.168L68.304,168.697L68.304,154.704L69.424,151.345L71.662,147.427L73.901,140.711L75.581,137.352L78.379,133.434L80.058,132.874L83.976,129.516L85.096,127.837L91.253,125.038L101.887,120.561L111.962,117.202L115.881,116.643L120.358,116.643L144.986,123.919L173.532,130.636L192.003,137.912L195.921,139.031L216.071,150.226L229.504,165.338L233.982,172.615L236.221,178.212L236.781,186.608L237.340,188.847L237.340,200.041L236.781,202.840L236.781,206.198L233.422,222.990L221.108,247.618L213.272,258.252L209.354,261.051L205.436,261.051L204.876,261.611L204.876,259.931"/></g><g id="strokes-fd982b10-72d8-8078-8005-9f379671f180" class="strokes"><g class="stroke-shape"><path d="M362.158,200.601L373.353,203.959L377.271,205.638L380.629,208.997L381.749,211.236L382.868,212.355L383.428,214.034L387.346,219.072L390.704,225.229L391.824,229.147L391.264,233.624L390.144,237.543L383.988,250.416L378.950,257.133L371.674,271.686L368.315,277.283L366.636,278.962L348.725,285.119L342.568,285.679L338.090,284.559L334.732,284.559L330.254,286.238L316.261,289.037L311.783,291.276L306.186,292.955L298.910,294.075L279.879,298.552L265.886,303.590L254.692,306.948L239.019,309.187L227.265,309.747L214.951,310.866L208.235,311.986L188.085,313.665L160.099,313.665L156.181,314.784L152.262,314.784L142.187,315.904L133.792,315.904L131.553,315.344L116.440,314.784L99.649,315.904L96.850,316.463L82.857,316.463L72.782,314.784L55.990,310.866L54.311,309.187L52.072,308.068L45.355,303.030L42.557,300.231L34.721,295.754L31.362,294.634L23.526,289.037L21.847,287.358L17.369,284.559L14.011,277.843L14.011,272.245L14.571,271.126L14.571,269.447L19.608,267.768L21.287,267.768L27.444,270.566L30.243,273.365L36.960,278.402L40.318,280.081L45.355,281.761L55.990,284.559L67.185,286.798L90.693,286.798L94.611,284.559L97.969,283.440L103.567,279.522L106.365,273.925L106.925,271.686L108.604,269.447L108.604,268.327L109.724,267.208L111.403,261.611L117.560,261.611L110.283,262.730L99.649,262.730L97.410,261.051L94.051,259.931L92.932,258.252L89.014,255.454L87.335,252.655L83.976,248.737L82.857,244.259L81.178,241.461L81.178,240.341L80.058,238.102L78.939,232.505L76.700,227.468L76.700,224.109L74.461,216.273L73.342,208.997L73.342,205.638L72.782,205.079L72.222,201.720L71.662,194.444L70.543,192.205L70.543,187.168L68.304,168.697L68.304,154.704L69.424,151.345L71.662,147.427L73.901,140.711L75.581,137.352L78.379,133.434L80.058,132.874L83.976,129.516L85.096,127.837L91.253,125.038L101.887,120.561L111.962,117.202L115.881,116.643L120.358,116.643L144.986,123.919L173.532,130.636L192.003,137.912L195.921,139.031L216.071,150.226L229.504,165.338L233.982,172.615L236.221,178.212L236.781,186.608L237.340,188.847L237.340,200.041L236.781,202.840L236.781,206.198L233.422,222.990L221.108,247.618L213.272,258.252L209.354,261.051L205.436,261.051L204.876,261.611L204.876,259.931" style="fill: none; stroke-width: 10; stroke: rgb(61, 47, 29); stroke-opacity: 1; stroke-linecap: round;"/></g></g></g><g id="shape-fd982b10-72d8-8078-8005-9f379fd5a40b"><g class="fills" id="fills-fd982b10-72d8-8078-8005-9f379fd5a40b"><path d="M225.026,244.819L224.467,244.819L225.586,245.379L228.385,249.297L230.064,250.416L231.743,255.454L233.982,256.573L235.101,259.372L236.221,259.931L239.019,263.290L241.258,264.409L242.378,265.529L244.617,266.088L251.893,266.088L256.931,267.208L272.603,267.768L285.476,263.290L288.835,261.611L298.350,260.491L302.268,259.372L312.903,251.536L317.940,247.058L319.060,244.819L323.538,240.901L324.097,239.222L325.776,238.662L333.613,231.386L336.971,226.908L339.769,221.311L344.807,205.079L350.404,198.922L353.203,196.683L357.681,195.004L364.397,195.563L366.076,198.922L366.636,198.922L366.636,201.161L367.196,201.161L367.196,202.280"/></g><g id="strokes-fd982b10-72d8-8078-8005-9f379fd5a40b" class="strokes"><g class="stroke-shape"><path d="M225.026,244.819L224.467,244.819L225.586,245.379L228.385,249.297L230.064,250.416L231.743,255.454L233.982,256.573L235.101,259.372L236.221,259.931L239.019,263.290L241.258,264.409L242.378,265.529L244.617,266.088L251.893,266.088L256.931,267.208L272.603,267.768L285.476,263.290L288.835,261.611L298.350,260.491L302.268,259.372L312.903,251.536L317.940,247.058L319.060,244.819L323.538,240.901L324.097,239.222L325.776,238.662L333.613,231.386L336.971,226.908L339.769,221.311L344.807,205.079L350.404,198.922L353.203,196.683L357.681,195.004L364.397,195.563L366.076,198.922L366.636,198.922L366.636,201.161L367.196,201.161L367.196,202.280" style="fill: none; stroke-width: 10; stroke: rgb(61, 47, 29); stroke-opacity: 1; stroke-linecap: round;"/></g></g></g><g id="shape-fd982b10-72d8-8078-8005-9f37adab3707"><g class="fills" id="fills-fd982b10-72d8-8078-8005-9f37adab3707"><path d="M141.068,266.640L145.546,266.640L147.225,267.200L153.382,267.200L153.942,266.640L157.860,266.640L160.099,266.080L160.099,265.520L161.778,264.961L162.897,263.841L166.815,263.281L166.256,262.162"/></g><g id="strokes-fd982b10-72d8-8078-8005-9f37adab3707" class="strokes"><g class="stroke-shape"><path d="M141.068,266.640L145.546,266.640L147.225,267.200L153.382,267.200L153.942,266.640L157.860,266.640L160.099,266.080L160.099,265.520L161.778,264.961L162.897,263.841L166.815,263.281L166.256,262.162" style="fill: none; stroke-width: 10; stroke: rgb(61, 47, 29); stroke-opacity: 1; stroke-linecap: round;"/></g></g></g><g id="shape-fd982b10-72d8-8078-8005-9f37b0b1f4c5"><g class="fills" id="fills-fd982b10-72d8-8078-8005-9f37b0b1f4c5"><path d="M356.001,194.995L353.203,183.241L353.203,167.569L354.322,159.733L355.442,156.374L361.039,145.180L362.718,144.061L368.315,135.105L373.353,129.508L375.032,128.388L376.151,128.388L380.069,126.709L381.189,125.030L383.988,123.911L389.585,120.552L391.264,120.552L387.906,120.552"/></g><g id="strokes-fd982b10-72d8-8078-8005-9f37b0b1f4c5" class="strokes"><g class="stroke-shape"><path d="M356.001,194.995L353.203,183.241L353.203,167.569L354.322,159.733L355.442,156.374L361.039,145.180L362.718,144.061L368.315,135.105L373.353,129.508L375.032,128.388L376.151,128.388L380.069,126.709L381.189,125.030L383.988,123.911L389.585,120.552L391.264,120.552L387.906,120.552" style="fill: none; stroke-width: 10; stroke: rgb(61, 47, 29); stroke-opacity: 1; stroke-linecap: round;"/></g></g></g><g id="shape-fd982b10-72d8-8078-8005-9f37bb822129"><g class="fills" id="fills-fd982b10-72d8-8078-8005-9f37bb822129"><path d="M389.856,120.371L386.349,118.091L384.946,114.935L385.297,111.077L387.051,108.271L389.856,105.641L394.591,103.537L397.923,103.887L401.430,105.641L403.008,107.570L404.761,110.902L405.989,115.987L405.288,119.143L402.657,122.124L398.624,123.527L394.065,123.001L391.259,121.247L389.330,119.143L386.700,117.740"/></g><g id="strokes-fd982b10-72d8-8078-8005-9f37bb822129" class="strokes"><g class="stroke-shape"><path d="M389.856,120.371L386.349,118.091L384.946,114.935L385.297,111.077L387.051,108.271L389.856,105.641L394.591,103.537L397.923,103.887L401.430,105.641L403.008,107.570L404.761,110.902L405.989,115.987L405.288,119.143L402.657,122.124L398.624,123.527L394.065,123.001L391.259,121.247L389.330,119.143L386.700,117.740" style="fill: none; stroke-width: 10; stroke: rgb(61, 47, 29); stroke-opacity: 1; stroke-linecap: round;"/></g></g></g></g></g></g></g></g></g></svg> \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..65205f8 --- /dev/null +++ b/index.html @@ -0,0 +1,116 @@ +<!doctype html> +<html class="no-js" lang=""> + <head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <title>SNAILS</title> + <link rel="stylesheet" href="css/style.css" /> + <meta + name="description" + content="Snails are your friends, they help you make decisions" + /> + + <meta property="og:title" content="SNAILS" /> + <meta property="og:type" content="website" /> + <meta property="og:url" content="https://snailrace.app" /> + <meta property="og:image" content="https://snailrace.app/icon.png" /> + + <link rel="icon" href="/favicon.ico" sizes="any" /> + <link rel="apple-touch-icon" href="icon.png" /> + + <link rel="preload" href="static/SNAIL.png" /> + <link rel="preload" href="static/snail.mp3" as="audio" type="audio/mp3" /> + + <link rel="manifest" href="site.webmanifest" /> + <meta name="theme-color" content="#fafafa" /> + + <script + defer + src="js/snailscript.js" + type="application/javascript" + ></script> + </head> + + <body> + <main id="track"> + <aside class="top-controls"> + <button id="restart_race" onclick="api.resetCreatorState(false)">New Race</button> + <button id="restart_race_but_not_aggressively" onclick="api.resetCreatorState(true)">New Race (Keep Snails)</button> + </aside> + <!-- Snails go here :3 --> + </main> + + <template id="snail_track"> + <section class="lane"> + <figure class="snail"> + <img + class="snail-image" + src="static/SNAIL.png" + alt="Snail (Placeholder)" + /> + </figure> + <span class="lane-description"></span> + <img + src="static/FinishLine.png" + width="30" + height="100" + class="lane-end" + alt="" + role="presentation" + /> + </section> + </template> + + <template id="snail_namer"> + <div class="snail-input-row"> + <input class="snail_name_input" type="text" value="" placeholder="Name your snail" /> + <button class="remove-snail fill danger">Remove</button> + </div> + </template> + + <div class="assets"> + <audio src="static/snail.mp3" loop id="audio_track"></audio> + </div> + + <div + class="dialog-container" + aria-labelledby="aria-dialog-title" + role="dialog" + aria-modal="true" + id="dialog_setup" + > + <div class="backdrop coverage"></div> + <div class="dialog-inner coverage"> + <div class="dialog-content-wrapper"> + <div class="dialog-content shadow"> + <h2 id="aria-dialog-title" class="dialog-title list-spacing">SNAILS</h2> + <p class="list-spacing"> + Snails are your friends, and help you make decisions + </p> + <div id="dialog_input_list" class="dialog-inputs list-spacing"> + <div class="snail-input-row"> + <input + class="snail_name_input" + name="snail_0" + id="snail_0" + type="text" + value="" + placeholder="Name your snail" + /> + <button class="remove-snail fill danger">Remove</button> + </div> + </div> + + <div class="controls"> + <button id="button_race_snails">Race Those Snails</button> + <button id="button_add_snail">Another Snail</button> + <!-- <div class="hello_vspace_micheal_here"></div>--> + <!-- <button id="button_speed_opt">x2</button>--> + <!-- <button id="button_mute">Mute</button>--> + </div> + </div> + </div> + </div> + </div> + </body> +</html> diff --git a/js/snailscript.js b/js/snailscript.js new file mode 100644 index 0000000..884d473 --- /dev/null +++ b/js/snailscript.js @@ -0,0 +1,209 @@ +window.SnailScale = 1500 +window.SnailSizeIsAlwaysTheSame = 150 + +function module() { + const generatedTracks = [] + let intervalId = null + let inputCount = 1 + + const { simpleID } = module_utils() + const { createSnailTrack, createSnailInput } = module_builders() + + function stopRace() { + if (intervalId) { + clearInterval(intervalId) + intervalId = null + } + } + + function clearTracks() { + while (generatedTracks.length) { + const snailId = generatedTracks.shift() + const snailEl = document.getElementById(snailId) + snailEl.parentNode?.removeChild(snailEl) + } + } + + /** + * @param {string} label + * @param {number} colorRotate + */ + + function run() { + const lanes = Array.from(track.querySelectorAll(".lane")) + const winner = lanes.find( + (node) => parseInt(node.dataset["progress"], 10) >= 100, + ) + + if (winner) { + alert(`"${winner.dataset["label"]}" has won! I hope that's what you wanted`) + stopRace() + return + } + + // Tradeoff - iterate the list of a handful of elements twice to avoid + // layout thrashing from invalid DOM after every style setter + lanes + .map((lane) => [ + lane, + parseInt(lane.dataset["progress"], 10), + lane.getBoundingClientRect(), + ]) + .forEach(function updateSnailPositions([lane, current, laneSize]) { + const next = current + Math.floor(Math.random() * 9) + 1 // Range 1%-10%, inclusive + const snail = lane.querySelector(".snail") + + lane.dataset["progress"] = String(next) + snail.style.transform = `translateX(${(next / 100) * laneSize.width - SnailSizeIsAlwaysTheSame / 2}px)` + }) + } + + /** + * @param {string[]} labels + */ + function raceThoseSnails(labels) { + hideDialog() + audio_track.play() + + clearTracks() + for (const label of labels) { + const newSnailTrack = createSnailTrack(label, Math.floor(Math.random() * 360)) + generatedTracks.push(newSnailTrack.id) + track.appendChild(newSnailTrack) + } + stopRace() + intervalId = setInterval(run, SnailScale) + } + + + function hideDialog() { + dialog_setup.style.opacity = 0 + dialog_setup.style.pointerEvents = "none" + } + + function showDialog() { + dialog_setup.style.opacity = 1 + dialog_setup.style.pointerEvents = "auto" + } + + dialog_input_list.addEventListener("click", function (event) { + if ( + event.target instanceof HTMLButtonElement && + event.target.classList.contains("remove-snail") + ) { + const button = event.target + const container = button.parentNode + container.parentNode.removeChild(container) + } + }) + + + button_add_snail.addEventListener("click", function () { + const input = createSnailInput(inputCount++) + dialog_input_list.appendChild(input) + input.querySelector("input").focus() + }) + + button_race_snails.addEventListener("click", function () { + const labels = Array.from(dialog_input_list.children).map((child) => child.querySelector('input')).map(input => input ? input.value.trim() : null).filter(Boolean) + raceThoseSnails(labels) + }) + + function resetCreatorState(keepSnails = false) { + stopRace() + if (!keepSnails) { + inputCount = 1 + Array.from(dialog_input_list.children).forEach(child => dialog_input_list.removeChild(child)) + + const initialInput = createSnailInput(0) + dialog_input_list.appendChild(initialInput) + } + + showDialog() + } + + if (window.location.search.trim()) { + const params = new URLSearchParams(window.location.search) + if (params.has("preset")) { + const presetLanes = params + .get("preset") + .split(",") + .filter((p) => Boolean(p.trim())) + + raceThoseSnails(presetLanes) + } + } + + window.api = { + raceThoseSnails, + clearTracks, + createSnailTrack, + stopRace, + hideDialog, + showDialog, + simpleID, + run, + resetCreatorState, + } +} + +function module_utils() { + /** + * @returns {string} + */ + function simpleID() { + return `id:` + String(Math.floor(Math.random() * 10e10)) + } + + return { + simpleID, + } +} + +function module_builders() { + const { simpleID } = module_utils() + + function createSnailTrack(label, colorRotate) { + const ident = simpleID() + const contentTemplate = snail_track.content.querySelector(".lane") + + const content = document.importNode(contentTemplate, true) + content.id = ident + content.dataset["label"] = label + content.dataset["progress"] = "0" + + const snailContainer = content.querySelector(".snail") + snailContainer.style.transform = `translateX(${-(SnailSizeIsAlwaysTheSame / 2)}px` + snailContainer.style.transitionDuration = `${SnailScale}ms` + snailContainer.style.transitionProperty = "transform" + snailContainer.style.transitionTimingFunction = "linear" + + const labelEl = content.querySelector(".lane-description") + labelEl.textContent = label + + const imageEl = content.querySelector(".snail-image") + imageEl.style.filter = `hue-rotate(${colorRotate}deg)` + imageEl.alt = `Snail representing ${label}` + + return content + } + + function createSnailInput(number) { + const ident = `snail_${number}` + const contentTemplate = snail_namer.content.querySelector(".snail-input-row") + + const content = document.importNode(contentTemplate, true) + const input = content.querySelector('.snail_name_input') + input.id = ident + input.name = ident + + return content + } + + return { + createSnailTrack, + createSnailInput, + } +} + +document.addEventListener("DOMContentLoaded", module) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2874b15 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5693 @@ +{ + "name": " ", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": " ", + "version": "0.0.1", + "devDependencies": { + "copy-webpack-plugin": "^11.0.0", + "css-minimizer-webpack-plugin": "^7.0.0", + "html-webpack-plugin": "^5.6.0", + "prettier": "^3.4.2", + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.0.4", + "webpack-merge": "^5.10.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.1.tgz", + "integrity": "sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", + "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.5.tgz", + "integrity": "sha512-GLZPrd9ckqEBFMcVM/qRFAP0Hg3qiVEojgEFsx/N/zKXsBzbGF6z5FBDpZ0+Xhp1xr+qRZYjfGr1cWHB9oFHSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.10.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz", + "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.18", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", + "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "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, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "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, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-7.0.0.tgz", + "integrity": "sha512-niy66jxsQHqO+EYbhPuIhqRQ1mNcNVUHrMnkzzir9kFOERJUaQDDRhh7dKDz33kBpkWMF9M8Vx0QlDbc5AHOsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "cssnano": "^7.0.1", + "jest-worker": "^29.7.0", + "postcss": "^8.4.38", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "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, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.6.tgz", + "integrity": "sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^7.0.6", + "lilconfig": "^3.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz", + "integrity": "sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^5.0.0", + "postcss-calc": "^10.0.2", + "postcss-colormin": "^7.0.2", + "postcss-convert-values": "^7.0.4", + "postcss-discard-comments": "^7.0.3", + "postcss-discard-duplicates": "^7.0.1", + "postcss-discard-empty": "^7.0.0", + "postcss-discard-overridden": "^7.0.0", + "postcss-merge-longhand": "^7.0.4", + "postcss-merge-rules": "^7.0.4", + "postcss-minify-font-values": "^7.0.0", + "postcss-minify-gradients": "^7.0.0", + "postcss-minify-params": "^7.0.2", + "postcss-minify-selectors": "^7.0.4", + "postcss-normalize-charset": "^7.0.0", + "postcss-normalize-display-values": "^7.0.0", + "postcss-normalize-positions": "^7.0.0", + "postcss-normalize-repeat-style": "^7.0.0", + "postcss-normalize-string": "^7.0.0", + "postcss-normalize-timing-functions": "^7.0.0", + "postcss-normalize-unicode": "^7.0.2", + "postcss-normalize-url": "^7.0.0", + "postcss-normalize-whitespace": "^7.0.0", + "postcss-ordered-values": "^7.0.1", + "postcss-reduce-initial": "^7.0.2", + "postcss-reduce-transforms": "^7.0.0", + "postcss-svgo": "^7.0.1", + "postcss-unique-selectors": "^7.0.3" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz", + "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.84", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.84.tgz", + "integrity": "sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g==", + "dev": true, + "license": "ISC" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", + "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", + "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/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, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz", + "integrity": "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/launch-editor": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz", + "integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.1.0.tgz", + "integrity": "sha512-uQ/LDGsf3mgsSUEXmAt3VsCSHR3aKqtEIkmB+4PhzYwRYOW5MZs/GhCCFpsOtJJkP6EC6uGipbrnaTjqaJZcJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12 || ^20.9 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.38" + } + }, + "node_modules/postcss-colormin": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", + "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz", + "integrity": "sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-comments": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz", + "integrity": "sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-comments/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", + "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz", + "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz", + "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz", + "integrity": "sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^7.0.4" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz", + "integrity": "sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^5.0.0", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz", + "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz", + "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", + "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz", + "integrity": "sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz", + "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz", + "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz", + "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz", + "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz", + "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz", + "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", + "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz", + "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz", + "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-ordered-values": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz", + "integrity": "sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", + "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz", + "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", + "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.3.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz", + "integrity": "sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "license": "MIT" + }, + "node_modules/prettier": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "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, + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "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, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/spdy-transport/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/spdy/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/spdy/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "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, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylehacks": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.4.tgz", + "integrity": "sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/svgo/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, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz", + "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==", + "dev": true, + "license": "BSD-2-Clause", + "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/terser-webpack-plugin": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", + "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webpack": { + "version": "5.97.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", + "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", + "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^4.6.0", + "mime-types": "^2.1.31", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz", + "integrity": "sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "express": "^4.21.2", + "graceful-fs": "^4.2.6", + "http-proxy-middleware": "^2.0.7", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "dev": true, + "license": "MIT", + "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 + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..1edf7eb --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "SnailRace", + "version": "0.0.1", + "description": "Snails are your friends and help you make decisions", + "private": true, + "keywords": [ + "" + ], + "license": "", + "author": "Louis Cpaitanchik <contact@louiscap.co>", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "webpack serve --open --config webpack.config.dev.js", + "build": "webpack --config webpack.config.prod.js", + "fmt": "prettier -w \"**/*.{html,js,css,json,webmanifest}\"" + }, + "devDependencies": { + "copy-webpack-plugin": "^11.0.0", + "css-minimizer-webpack-plugin": "^7.0.0", + "html-webpack-plugin": "^5.6.0", + "prettier": "^3.4.2", + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.0.4", + "webpack-merge": "^5.10.0" + } +} diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..2b95850 --- /dev/null +++ b/robots.txt @@ -0,0 +1,45 @@ +User-agent: AI2Bot +User-agent: Ai2Bot-Dolma +User-agent: Amazonbot +User-agent: anthropic-ai +User-agent: Applebot +User-agent: Applebot-Extended +User-agent: Bytespider +User-agent: CCBot +User-agent: ChatGPT-User +User-agent: Claude-Web +User-agent: ClaudeBot +User-agent: cohere-ai +User-agent: cohere-training-data-crawler +User-agent: Crawlspace +User-agent: Diffbot +User-agent: DuckAssistBot +User-agent: FacebookBot +User-agent: FriendlyCrawler +User-agent: Google-Extended +User-agent: GoogleOther +User-agent: GoogleOther-Image +User-agent: GoogleOther-Video +User-agent: GPTBot +User-agent: iaskspider/2.0 +User-agent: ICC-Crawler +User-agent: ImagesiftBot +User-agent: img2dataset +User-agent: ISSCyberRiskCrawler +User-agent: Kangaroo Bot +User-agent: Meta-ExternalAgent +User-agent: Meta-ExternalFetcher +User-agent: OAI-SearchBot +User-agent: omgili +User-agent: omgilibot +User-agent: PanguBot +User-agent: PerplexityBot +User-agent: PetalBot +User-agent: Scrapy +User-agent: SemrushBot +User-agent: Sidetrade indexer bot +User-agent: Timpibot +User-agent: VelenPublicWebCrawler +User-agent: Webzio-Extended +User-agent: YouBot +Disallow: / \ No newline at end of file diff --git a/site.webmanifest b/site.webmanifest new file mode 100644 index 0000000..2e2bcd1 --- /dev/null +++ b/site.webmanifest @@ -0,0 +1,31 @@ +{ + "short_name": "Snails", + "name": "Snails", + "description": "Snails are your friends, they make good choices for you. Song is 'Just a snail' by Crywank.", + "orientation": "landscape", + "url": "https://snailrace.app", + "display": "minimal-ui", + "icons": [ + { + "src": "/icon.svg", + "type": "text/svg", + "sizes": "all" + }, + { + "src": "/icon.png", + "type": "image/png", + "sizes": "192x192" + } + ], + "shortcuts": [ + { + "name": "Coin Toss", + "short_name": "Coin", + "description": "Race two snails to determine the outcome of a coin toss.", + "url": "/?preset=Heads,Tails" + } + ], + "start_url": "/?utm_source=homescreen", + "background_color": "#fafafa", + "theme_color": "#dfbbda" +} diff --git a/static/FinishLine.png b/static/FinishLine.png new file mode 100644 index 0000000..9288fa2 --- /dev/null +++ b/static/FinishLine.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57fedad29ac4fd5c1cf4d50e4976531cdf5f175acfe0758f70e62d5ebcd48588 +size 187 diff --git a/static/SNAIL.png b/static/SNAIL.png new file mode 100644 index 0000000..a5db63e --- /dev/null +++ b/static/SNAIL.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3eb94edc1693a7ccd657782a1f420f0c740f15d91efe6ad65e68f6b5b151e10 +size 45278 diff --git a/static/StartLine.png b/static/StartLine.png new file mode 100644 index 0000000..b64a3fb --- /dev/null +++ b/static/StartLine.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9d2e02b753d3558daac7d050d549a1c8740c43af7c3eb2f8f3d8573a035eca7 +size 150 diff --git a/static/snail.mp3 b/static/snail.mp3 new file mode 100644 index 0000000..f72b978 --- /dev/null +++ b/static/snail.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33d21689dc15f3802754681fe86407b8c5225fb97ec961655aa4364bbf5208ba +size 2445105 diff --git a/webpack.common.js b/webpack.common.js new file mode 100644 index 0000000..4ba52ba --- /dev/null +++ b/webpack.common.js @@ -0,0 +1 @@ +module.exports = {} diff --git a/webpack.config.dev.js b/webpack.config.dev.js new file mode 100644 index 0000000..8f8a06e --- /dev/null +++ b/webpack.config.dev.js @@ -0,0 +1,13 @@ +const { merge } = require("webpack-merge") +const common = require("./webpack.common.js") + +module.exports = merge(common, { + mode: "development", + devtool: "inline-source-map", + devServer: { + liveReload: true, + hot: true, + open: true, + static: ["./"], + }, +}) diff --git a/webpack.config.prod.js b/webpack.config.prod.js new file mode 100644 index 0000000..b983b0d --- /dev/null +++ b/webpack.config.prod.js @@ -0,0 +1,25 @@ +const { merge } = require("webpack-merge") +const common = require("./webpack.common.js") +const HtmlWebpackPlugin = require("html-webpack-plugin") +const CopyPlugin = require("copy-webpack-plugin") + +module.exports = merge(common, { + mode: "production", + plugins: [ + new HtmlWebpackPlugin({ + template: "./index.html", + }), + new CopyPlugin({ + patterns: [ + { from: "static", to: "static" }, + { from: "css", to: "css" }, + { from: "js", to: "js" }, + { from: "icon.svg", to: "icon.svg" }, + { from: "favicon.ico", to: "favicon.ico" }, + { from: "robots.txt", to: "robots.txt" }, + { from: "icon.png", to: "icon.png" }, + { from: "site.webmanifest", to: "site.webmanifest" }, + ], + }), + ], +}) -- GitLab