From dc439eda112e7cb4dbe7a58763053f07873ed1e8 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 10 Feb 2026 08:06:36 -0500 Subject: [PATCH] Add new course --- courses/IkeaFurniture/css/custom.css | 115 + courses/IkeaFurniture/index.html | 14 + courses/IkeaFurniture/oseda-config.json | 12 + courses/IkeaFurniture/package-lock.json | 2809 ++++++++++++++++++++++ courses/IkeaFurniture/package.json | 23 + courses/IkeaFurniture/public/ferris.png | Bin 0 -> 40445 bytes courses/IkeaFurniture/slides/slides.html | 28 + courses/IkeaFurniture/src/main.js | 25 + courses/IkeaFurniture/vite.config.js | 12 + 9 files changed, 3038 insertions(+) create mode 100644 courses/IkeaFurniture/css/custom.css create mode 100644 courses/IkeaFurniture/index.html create mode 100644 courses/IkeaFurniture/oseda-config.json create mode 100644 courses/IkeaFurniture/package-lock.json create mode 100644 courses/IkeaFurniture/package.json create mode 100644 courses/IkeaFurniture/public/ferris.png create mode 100644 courses/IkeaFurniture/slides/slides.html create mode 100644 courses/IkeaFurniture/src/main.js create mode 100644 courses/IkeaFurniture/vite.config.js diff --git a/courses/IkeaFurniture/css/custom.css b/courses/IkeaFurniture/css/custom.css new file mode 100644 index 0000000..5136329 --- /dev/null +++ b/courses/IkeaFurniture/css/custom.css @@ -0,0 +1,115 @@ + +/* sensible styles */ +.reveal section { + font-family: "Arial", sans-serif; +} + +.reveal h1 { + color: #f92672; + text-align: left; + margin: 0 0 0.5em 0; + line-height: 1.2; +} + +.reveal h2 { + text-align: left; +} + + +.left { + text-align: left; +} + + +.horizontal-container { + display: flex; + justify-content: space-between; + align-items: center; + gap: 2em; +} + +.vertical-container { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + gap: 20pt; +} + +.center-container { + display: flex; + justify-content: center; + align-items: center; +} + +.left { + text-align: left; +} + +/* general slide layout for all sections */ +.reveal .slides section { + display: flex !important; + flex-direction: column; + justify-content: flex-start; + align-items: stretch; + gap: 1em; + padding-top: 2em; + box-sizing: border-box; +} + +.horizontal-container .text { + flex: 1; +} + +.horizontal-container .image { + flex: 1; + max-width: 45%; + height: auto; + object-fit: contain; +} + +.reveal ul { + text-align: left; + margin: -1em 0 0 0; + padding-left: 1.2em; +} + +.reveal .slides section.center-slide { + display: flex !important; + flex-direction: column; + justify-content: center; + align-items: center; + min-height: 100vh; + text-align: center !important; + gap: 1em; +} + +.center-slide h1 { + margin: -1.7em 0 0 0; +} + +.reveal pre.full-code, +.reveal pre.full-code code { + max-height: none !important; + overflow: visible !important; + white-space: pre !important; +} + +.no-wrap { + white-space: nowrap; +} + +.move-up-1 { + margin: -1em 0 0 0 !important; +} + +.move-up-2 { + margin: -2em 0 0 0 !important; +} + +.move-up-3 { + margin: -3em 0 0 0 !important; +} +.move-up-4 { + margin: -4em 0 0 0 !important; +} \ No newline at end of file diff --git a/courses/IkeaFurniture/index.html b/courses/IkeaFurniture/index.html new file mode 100644 index 0000000..dab5b1c --- /dev/null +++ b/courses/IkeaFurniture/index.html @@ -0,0 +1,14 @@ + + + + + Reveal + Vite + + + +
+
+
+ + + diff --git a/courses/IkeaFurniture/oseda-config.json b/courses/IkeaFurniture/oseda-config.json new file mode 100644 index 0000000..3503edb --- /dev/null +++ b/courses/IkeaFurniture/oseda-config.json @@ -0,0 +1,12 @@ +{ + "title": "IkeaFurniture", + "author": "ReeseHatfield", + "tags": [ + "Engineering", + "Mathematics", + "Science" + ], + "last_updated": "2026-02-10T13:03:12.766754969Z", + "color": "#008000", + "description": "A course that focuses on building Ikea furniture and all of the idiosyncricies that come with it" +} \ No newline at end of file diff --git a/courses/IkeaFurniture/package-lock.json b/courses/IkeaFurniture/package-lock.json new file mode 100644 index 0000000..7883120 --- /dev/null +++ b/courses/IkeaFurniture/package-lock.json @@ -0,0 +1,2809 @@ +{ + "name": "ikeafurniture", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ikeafurniture", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "patch-package": "^8.0.1", + "reveal.js": "^5.2.1", + "serve": "^14.2.5", + "vite-plugin-singlefile": "^2.3.0" + }, + "devDependencies": { + "http-server": "^14.1.1", + "vite": "^5.4.21" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", + "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", + "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", + "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "license": "BSD-2-Clause" + }, + "node_modules/@zeit/schemas": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", + "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", + "license": "MIT" + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "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/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "license": "MIT", + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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==", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "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/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "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==", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "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/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "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==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "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==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "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==", + "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==", + "license": "ISC" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "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==", + "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/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "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==", + "license": "MIT" + }, + "node_modules/json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "license": "Public Domain", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/patch-package": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", + "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", + "license": "MIT", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^10.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.2.4", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "engines": { + "node": ">= 10.12" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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/reveal.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-5.2.1.tgz", + "integrity": "sha512-r7//6mIM5p34hFiDMvYfXgyjXqGRta+/psd9YtytsgRlrpRzFv4RbH76TXd2qD+7ZPZEbpBDhdRhJaFgfQ7zNQ==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/rollup": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", + "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.57.1", + "@rollup/rollup-android-arm64": "4.57.1", + "@rollup/rollup-darwin-arm64": "4.57.1", + "@rollup/rollup-darwin-x64": "4.57.1", + "@rollup/rollup-freebsd-arm64": "4.57.1", + "@rollup/rollup-freebsd-x64": "4.57.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", + "@rollup/rollup-linux-arm-musleabihf": "4.57.1", + "@rollup/rollup-linux-arm64-gnu": "4.57.1", + "@rollup/rollup-linux-arm64-musl": "4.57.1", + "@rollup/rollup-linux-loong64-gnu": "4.57.1", + "@rollup/rollup-linux-loong64-musl": "4.57.1", + "@rollup/rollup-linux-ppc64-gnu": "4.57.1", + "@rollup/rollup-linux-ppc64-musl": "4.57.1", + "@rollup/rollup-linux-riscv64-gnu": "4.57.1", + "@rollup/rollup-linux-riscv64-musl": "4.57.1", + "@rollup/rollup-linux-s390x-gnu": "4.57.1", + "@rollup/rollup-linux-x64-gnu": "4.57.1", + "@rollup/rollup-linux-x64-musl": "4.57.1", + "@rollup/rollup-openbsd-x64": "4.57.1", + "@rollup/rollup-openharmony-arm64": "4.57.1", + "@rollup/rollup-win32-arm64-msvc": "4.57.1", + "@rollup/rollup-win32-ia32-msvc": "4.57.1", + "@rollup/rollup-win32-x64-gnu": "4.57.1", + "@rollup/rollup-win32-x64-msvc": "4.57.1", + "fsevents": "~2.3.2" + } + }, + "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==", + "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/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serve": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.5.tgz", + "integrity": "sha512-Qn/qMkzCcMFVPb60E/hQy+iRLpiU8PamOfOSYoAHmmF+fFFmpPpqa6Oci2iWYpTdOUM3VF+TINud7CfbQnsZbA==", + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.36.0", + "ajv": "8.12.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.8.1", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.6", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "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/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "license": "MIT", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.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==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-singlefile": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/vite-plugin-singlefile/-/vite-plugin-singlefile-2.3.0.tgz", + "integrity": "sha512-DAcHzYypM0CasNLSz/WG0VdKOCxGHErfrjOoyIPiNxTPTGmO6rRD/te93n1YL/s+miXq66ipF1brMBikf99c6A==", + "license": "MIT", + "dependencies": { + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">18.0.0" + }, + "peerDependencies": { + "rollup": "^4.44.1", + "vite": "^5.4.11 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + } + } +} diff --git a/courses/IkeaFurniture/package.json b/courses/IkeaFurniture/package.json new file mode 100644 index 0000000..490fa62 --- /dev/null +++ b/courses/IkeaFurniture/package.json @@ -0,0 +1,23 @@ +{ + "name": "ikeafurniture", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs", + "devDependencies": { + "http-server": "^14.1.1", + "vite": "^5.4.21" + }, + "dependencies": { + "patch-package": "^8.0.1", + "reveal.js": "^5.2.1", + "serve": "^14.2.5", + "vite-plugin-singlefile": "^2.3.0" + } +} diff --git a/courses/IkeaFurniture/public/ferris.png b/courses/IkeaFurniture/public/ferris.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ba9553fcc1a10d5f3bf1c4a8e96e0cb352a891 GIT binary patch literal 40445 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 F0RWlq!kGX7 literal 0 HcmV?d00001 diff --git a/courses/IkeaFurniture/slides/slides.html b/courses/IkeaFurniture/slides/slides.html new file mode 100644 index 0000000..9720f1e --- /dev/null +++ b/courses/IkeaFurniture/slides/slides.html @@ -0,0 +1,28 @@ + +
+

OSEDA HTML Template

+
+
    +
  • Empowering Students
  • +
  • Empowering Developers
  • +
  • Empowering Engineers
  • +
+
+
+ + +
+

Code Example

+
fn main() {
+    let greeting = "Hello, world!";
+    println!("{}", greeting);
+}
+
+
    +
  • Main function
  • +
  • Bindings via let
  • +
  • Print to stdout
  • +
+ Ferris +
+
diff --git a/courses/IkeaFurniture/src/main.js b/courses/IkeaFurniture/src/main.js new file mode 100644 index 0000000..8e2b9ce --- /dev/null +++ b/courses/IkeaFurniture/src/main.js @@ -0,0 +1,25 @@ +import Reveal from "reveal.js"; +import Notes from "reveal.js/plugin/notes/notes.esm.js"; +import Highlight from "reveal.js/plugin/highlight/highlight.esm.js"; + +import "reveal.js/dist/reveal.css"; +import "reveal.js/dist/theme/black.css"; +import "reveal.js/plugin/highlight/monokai.css"; +import "../css/custom.css"; + +import slidesHTML from "../slides/slides.html?raw"; // raw loader, vite should support this + +document.addEventListener("DOMContentLoaded", () => { + const slidesContainer = document.querySelector(".slides"); + slidesContainer.innerHTML = slidesHTML; // directly inject the HTML slides + + const deck = new Reveal({ + hash: true, + plugins: [Highlight, Notes], + }); + + deck.initialize({ + center: false, + slideNumber: true, + }); +}); diff --git a/courses/IkeaFurniture/vite.config.js b/courses/IkeaFurniture/vite.config.js new file mode 100644 index 0000000..559d6ac --- /dev/null +++ b/courses/IkeaFurniture/vite.config.js @@ -0,0 +1,12 @@ +import { defineConfig } from "vite"; +import { viteSingleFile } from "vite-plugin-singlefile"; + +export default defineConfig({ + plugins: [viteSingleFile()], + build: { + rollupOptions: { + input: "index.html", + }, + assetsInlineLimit: 100_000, // inline images/fonts up to ~100kb, save server space, enforce this? + }, +});