From 40aed1d867bf41623b4940c18b78faa0e679191d Mon Sep 17 00:00:00 2001 From: Youssouf EL Azizi Date: Tue, 27 Aug 2024 19:54:13 +0100 Subject: [PATCH 01/58] chore: initial astro setup + markdown for results --- .all-contributorsrc | 180 - .gitignore | 107 +- .prettierignore | 4 - .prettierrc | 4 - .vscode/extensions.json | 4 + .vscode/launch.json | 11 + LICENSE | 21 - README.md | 124 - __mocks__/file-mock.js | 1 - __mocks__/gatsby.js | 27 - api/submit/db.ts | 48 - api/submit/helpers.ts | 21 - api/submit/submit.ts | 72 - astro.config.mjs | 17 + config/website.js | 29 - gatsby-browser.js | 2 - gatsby-config.js | 151 - gatsby-ssr.js | 1 - jest-preprocess.js | 5 - jest.config.js | 16 - loadershim.js | 3 - package.json | 100 +- pnpm-lock.yaml | 7679 +++++++ postcss.config.js | 6 - public/favicon.svg | 9 + results/2023/data/questions.json | 1 - results/articles/article-placholder.mdx | 19 - scripts/export-results.js | 61 - scripts/generate-questions-file.js | 51 - src/actions/createAccount.ts | 14 + src/actions/index.ts | 9 + src/actions/loginAccount.ts | 14 + src/actions/logoutAccount.ts | 8 + src/assets/Article.svg | 32 - src/assets/Chart.svg | 3 - src/assets/Community.svg | 45 - src/assets/Crea.svg | 197 - src/assets/Download.svg | 32 - src/assets/Knowledge.svg | 23 - src/assets/Playground.svg | 102 - src/assets/Protips.svg | 6 - src/assets/Share.svg | 3 - src/assets/Trends.svg | 10 - src/assets/data_image.svg | 1 - src/assets/github.svg | 1 - src/assets/imgs/alert.png | Bin 5170 -> 0 bytes src/assets/logo.png | Bin 21422 -> 0 bytes src/assets/logo.svg | 3 - src/assets/time.svg | 10 - src/assets/undraw_visual_data.svg | 1 - src/components/Button.astro | 42 + src/components/Chart.astro | 16 + src/components/Chart/Actions.js | 44 - src/components/Chart/BarChart.js | 127 - src/components/Chart/PieChart.js | 92 - src/components/Chart/chart.test.js | 123 - src/components/Chart/index.js | 62 - src/components/Chart/index.scss | 180 - src/components/Chart/utils.js | 96 - src/components/Footer.js | 141 - src/components/Header.js | 115 - src/components/Home/FAQ.js | 109 - src/components/Home/Header.js | 78 - src/components/Home/Hero.js | 162 - src/components/Home/Interested.js | 54 - src/components/Home/PastReports.js | 61 - src/components/Home/Why.js | 50 - src/components/Home/index.js | 20 - src/components/Input.astro | 23 + src/components/Layout.tsx | 41 - src/components/Link.astro | 50 + src/components/Link.js | 24 - src/components/Playground/FilterForm.js | 137 - src/components/Playground/index.js | 128 - src/components/Playground/index.scss | 184 - src/components/Repport.astro | 23 + src/components/Results/Actions.js | 47 - src/components/Results/Episode.js | 31 - src/components/Results/Hero.js | 148 - src/components/Results/MdxContent.js | 30 - src/components/Results/TableOfContent.js | 65 - src/components/Results/index.js | 29 - src/components/Results/index.scss | 105 - src/components/Share.js | 30 - src/components/Survey/AuthContainer.tsx | 20 - src/components/Survey/Category.js | 127 - src/components/Survey/Question.js | 86 - src/components/Survey/Steps.js | 85 - src/components/Survey/index.js | 51 - src/components/Survey/index.scss | 215 - src/components/Survey/service.js | 50 - src/components/Survey/useSurvey.ts | 71 - src/components/SurveyLayout.tsx | 12 - src/components/Tab/index.js | 24 - src/components/Tab/index.scss | 60 - src/components/index.js | 4 - src/env.d.ts | 9 + src/firebase/config.ts | 20 + src/icons/astro.svg | 16 + src/icons/firebase.svg | 14 + src/icons/plus.svg | 1 + src/layouts/BaseLayout.astro | 49 + src/middleware.ts | 26 + src/pages/2020.js | 29 - src/pages/2021.js | 29 - src/pages/2022.js | 29 - src/pages/2023.js | 29 - src/pages/404.js | 17 - src/pages/beforeStart.js | 63 - src/pages/home.astro | 34 + src/pages/index.astro | 19 + src/pages/index.js | 43 - src/pages/login.astro | 41 + src/pages/new.astro | 41 + src/pages/playground.js | 6 - src/pages/start.js | 49 - src/pages/thanks.js | 25 - .../2020/data/CSV/2020_data_processing.ipynb | 0 .../results}/2020/data/CSV/README.md | 0 .../2020/data/CSV/questions_preprocessed.csv | 0 .../2020/data/CSV/results_preprocessed.csv | 0 .../results}/2020/data/questions.json | 0 .../results}/2020/data/results.json | 0 .../results}/2020/sections/community.mdx | 0 .../results}/2020/sections/education.mdx | 0 .../results}/2020/sections/overview.mdx | 0 .../results}/2020/sections/profile.mdx | 0 .../results}/2020/sections/tech.mdx | 0 .../results}/2020/sections/work.mdx | 0 .../results}/2020/state-of-dev-ma-2020.zip | Bin .../2021/data/csv/2021_data_processing.ipynb | 0 .../2021/data/csv/questions_preprocessed.csv | 0 .../2021/data/csv/results_preprocessed.csv | 0 .../results}/2021/data/questions.json | 0 .../results}/2021/data/results.json | 0 .../results}/2021/sections/community.mdx | 0 .../results}/2021/sections/education.mdx | 0 .../results}/2021/sections/more.mdx | 0 .../results}/2021/sections/overview.mdx | 0 .../results}/2021/sections/profile.mdx | 0 .../results}/2021/sections/tech.mdx | 0 .../results}/2021/sections/work.mdx | 0 .../results}/2021/state-of-dev-ma-2021.zip | Bin .../2022/data/csv/2022_data_processing.ipynb | 0 .../2022/data/csv/questions_preprocessed.csv | 0 .../2022/data/csv/results_preprocessed.csv | 0 .../results}/2022/data/questions.json | 0 .../results}/2022/data/results.json | 0 .../results}/2022/sections/community.mdx | 0 .../results}/2022/sections/education.mdx | 0 .../results}/2022/sections/more.mdx | 0 .../results}/2022/sections/overview.mdx | 0 .../results}/2022/sections/profile.mdx | 0 .../results}/2022/sections/tech.mdx | 0 .../results}/2022/sections/work.mdx | 0 .../results/2023/data/questions.json | 0 .../results}/2023/data/results.json | 0 {results => src/results}/2023/sections/ai.mdx | 0 .../results}/2023/sections/community.mdx | 0 .../results}/2023/sections/education.mdx | 0 .../results}/2023/sections/more.mdx | 0 .../results}/2023/sections/overview.mdx | 0 .../results}/2023/sections/profile.mdx | 0 .../results}/2023/sections/tech.mdx | 0 .../results}/2023/sections/work.mdx | 0 {results => src/results}/LICENSE | 0 src/styles/_vars.scss | 17 - src/styles/commons.scss | 124 - src/styles/font.scss | 60 - src/styles/global.css | 3 - src/styles/mixins.scss | 52 - src/styles/reset.scss | 441 - static/_redirects | 5 - static/favicon-32x32.png | Bin 2021 -> 0 bytes static/favicon.ico | Bin 15086 -> 0 bytes static/icon-192x192.png | Bin 9789 -> 0 bytes static/icon-256x256.png | Bin 14356 -> 0 bytes static/icon-384x384.png | Bin 25397 -> 0 bytes static/icon-512x512.png | Bin 38540 -> 0 bytes static/icons/icon-144x144.png | Bin 10371 -> 0 bytes static/icons/icon-192x192.png | Bin 14947 -> 0 bytes static/icons/icon-256x256.png | Bin 22919 -> 0 bytes static/icons/icon-384x384.png | Bin 42691 -> 0 bytes static/icons/icon-48x48.png | Bin 3156 -> 0 bytes static/icons/icon-512x512.png | Bin 59923 -> 0 bytes static/icons/icon-72x72.png | Bin 4982 -> 0 bytes static/icons/icon-96x96.png | Bin 6826 -> 0 bytes static/images/cover.png | Bin 57147 -> 0 bytes static/images/tarbouch.png | Bin 8905 -> 0 bytes static/images/video-cover.jpeg | Bin 85186 -> 0 bytes static/manifest.webmanifest | 31 - survey/1-profile.yml | 122 - survey/2-learning-and-education.yml | 60 - survey/3-work.yml | 142 - survey/4-ai.yml | 84 - survey/5-tech.yml | 329 - survey/6-community.yml | 77 - tailwind.config.js | 14 - tailwind.config.mjs | 33 + tsconfig.json | 9 + yarn.lock | 16560 ---------------- 201 files changed, 8267 insertions(+), 23245 deletions(-) delete mode 100644 .all-contributorsrc delete mode 100644 .prettierignore delete mode 100644 .prettierrc create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json delete mode 100644 LICENSE delete mode 100644 __mocks__/file-mock.js delete mode 100644 __mocks__/gatsby.js delete mode 100644 api/submit/db.ts delete mode 100644 api/submit/helpers.ts delete mode 100755 api/submit/submit.ts create mode 100644 astro.config.mjs delete mode 100755 config/website.js delete mode 100644 gatsby-browser.js delete mode 100644 gatsby-config.js delete mode 100644 gatsby-ssr.js delete mode 100644 jest-preprocess.js delete mode 100644 jest.config.js delete mode 100644 loadershim.js create mode 100644 pnpm-lock.yaml delete mode 100644 postcss.config.js create mode 100644 public/favicon.svg delete mode 100644 results/2023/data/questions.json delete mode 100644 results/articles/article-placholder.mdx delete mode 100644 scripts/export-results.js delete mode 100644 scripts/generate-questions-file.js create mode 100644 src/actions/createAccount.ts create mode 100644 src/actions/index.ts create mode 100644 src/actions/loginAccount.ts create mode 100644 src/actions/logoutAccount.ts delete mode 100644 src/assets/Article.svg delete mode 100644 src/assets/Chart.svg delete mode 100644 src/assets/Community.svg delete mode 100644 src/assets/Crea.svg delete mode 100644 src/assets/Download.svg delete mode 100644 src/assets/Knowledge.svg delete mode 100644 src/assets/Playground.svg delete mode 100644 src/assets/Protips.svg delete mode 100644 src/assets/Share.svg delete mode 100644 src/assets/Trends.svg delete mode 100644 src/assets/data_image.svg delete mode 100644 src/assets/github.svg delete mode 100644 src/assets/imgs/alert.png delete mode 100644 src/assets/logo.png delete mode 100644 src/assets/logo.svg delete mode 100644 src/assets/time.svg delete mode 100644 src/assets/undraw_visual_data.svg create mode 100644 src/components/Button.astro create mode 100644 src/components/Chart.astro delete mode 100644 src/components/Chart/Actions.js delete mode 100644 src/components/Chart/BarChart.js delete mode 100644 src/components/Chart/PieChart.js delete mode 100644 src/components/Chart/chart.test.js delete mode 100644 src/components/Chart/index.js delete mode 100644 src/components/Chart/index.scss delete mode 100644 src/components/Chart/utils.js delete mode 100644 src/components/Footer.js delete mode 100644 src/components/Header.js delete mode 100644 src/components/Home/FAQ.js delete mode 100644 src/components/Home/Header.js delete mode 100644 src/components/Home/Hero.js delete mode 100644 src/components/Home/Interested.js delete mode 100644 src/components/Home/PastReports.js delete mode 100644 src/components/Home/Why.js delete mode 100644 src/components/Home/index.js create mode 100644 src/components/Input.astro delete mode 100644 src/components/Layout.tsx create mode 100644 src/components/Link.astro delete mode 100644 src/components/Link.js delete mode 100644 src/components/Playground/FilterForm.js delete mode 100644 src/components/Playground/index.js delete mode 100644 src/components/Playground/index.scss create mode 100644 src/components/Repport.astro delete mode 100644 src/components/Results/Actions.js delete mode 100644 src/components/Results/Episode.js delete mode 100644 src/components/Results/Hero.js delete mode 100644 src/components/Results/MdxContent.js delete mode 100644 src/components/Results/TableOfContent.js delete mode 100644 src/components/Results/index.js delete mode 100644 src/components/Results/index.scss delete mode 100644 src/components/Share.js delete mode 100644 src/components/Survey/AuthContainer.tsx delete mode 100644 src/components/Survey/Category.js delete mode 100644 src/components/Survey/Question.js delete mode 100644 src/components/Survey/Steps.js delete mode 100644 src/components/Survey/index.js delete mode 100644 src/components/Survey/index.scss delete mode 100644 src/components/Survey/service.js delete mode 100644 src/components/Survey/useSurvey.ts delete mode 100644 src/components/SurveyLayout.tsx delete mode 100644 src/components/Tab/index.js delete mode 100644 src/components/Tab/index.scss delete mode 100644 src/components/index.js create mode 100644 src/env.d.ts create mode 100644 src/firebase/config.ts create mode 100644 src/icons/astro.svg create mode 100644 src/icons/firebase.svg create mode 100644 src/icons/plus.svg create mode 100644 src/layouts/BaseLayout.astro create mode 100644 src/middleware.ts delete mode 100644 src/pages/2020.js delete mode 100644 src/pages/2021.js delete mode 100644 src/pages/2022.js delete mode 100644 src/pages/2023.js delete mode 100644 src/pages/404.js delete mode 100644 src/pages/beforeStart.js create mode 100644 src/pages/home.astro create mode 100644 src/pages/index.astro delete mode 100644 src/pages/index.js create mode 100644 src/pages/login.astro create mode 100644 src/pages/new.astro delete mode 100644 src/pages/playground.js delete mode 100644 src/pages/start.js delete mode 100644 src/pages/thanks.js rename {results => src/results}/2020/data/CSV/2020_data_processing.ipynb (100%) rename {results => src/results}/2020/data/CSV/README.md (100%) rename {results => src/results}/2020/data/CSV/questions_preprocessed.csv (100%) rename {results => src/results}/2020/data/CSV/results_preprocessed.csv (100%) rename {results => src/results}/2020/data/questions.json (100%) rename {results => src/results}/2020/data/results.json (100%) rename {results => src/results}/2020/sections/community.mdx (100%) rename {results => src/results}/2020/sections/education.mdx (100%) rename {results => src/results}/2020/sections/overview.mdx (100%) rename {results => src/results}/2020/sections/profile.mdx (100%) rename {results => src/results}/2020/sections/tech.mdx (100%) rename {results => src/results}/2020/sections/work.mdx (100%) rename {results => src/results}/2020/state-of-dev-ma-2020.zip (100%) rename {results => src/results}/2021/data/csv/2021_data_processing.ipynb (100%) rename {results => src/results}/2021/data/csv/questions_preprocessed.csv (100%) rename {results => src/results}/2021/data/csv/results_preprocessed.csv (100%) rename {results => src/results}/2021/data/questions.json (100%) rename {results => src/results}/2021/data/results.json (100%) rename {results => src/results}/2021/sections/community.mdx (100%) rename {results => src/results}/2021/sections/education.mdx (100%) rename {results => src/results}/2021/sections/more.mdx (100%) rename {results => src/results}/2021/sections/overview.mdx (100%) rename {results => src/results}/2021/sections/profile.mdx (100%) rename {results => src/results}/2021/sections/tech.mdx (100%) rename {results => src/results}/2021/sections/work.mdx (100%) rename {results => src/results}/2021/state-of-dev-ma-2021.zip (100%) rename {results => src/results}/2022/data/csv/2022_data_processing.ipynb (100%) rename {results => src/results}/2022/data/csv/questions_preprocessed.csv (100%) rename {results => src/results}/2022/data/csv/results_preprocessed.csv (100%) rename {results => src/results}/2022/data/questions.json (100%) rename {results => src/results}/2022/data/results.json (100%) rename {results => src/results}/2022/sections/community.mdx (100%) rename {results => src/results}/2022/sections/education.mdx (100%) rename {results => src/results}/2022/sections/more.mdx (100%) rename {results => src/results}/2022/sections/overview.mdx (100%) rename {results => src/results}/2022/sections/profile.mdx (100%) rename {results => src/results}/2022/sections/tech.mdx (100%) rename {results => src/results}/2022/sections/work.mdx (100%) rename questions.json => src/results/2023/data/questions.json (100%) rename {results => src/results}/2023/data/results.json (100%) rename {results => src/results}/2023/sections/ai.mdx (100%) rename {results => src/results}/2023/sections/community.mdx (100%) rename {results => src/results}/2023/sections/education.mdx (100%) rename {results => src/results}/2023/sections/more.mdx (100%) rename {results => src/results}/2023/sections/overview.mdx (100%) rename {results => src/results}/2023/sections/profile.mdx (100%) rename {results => src/results}/2023/sections/tech.mdx (100%) rename {results => src/results}/2023/sections/work.mdx (100%) rename {results => src/results}/LICENSE (100%) delete mode 100644 src/styles/_vars.scss delete mode 100644 src/styles/commons.scss delete mode 100644 src/styles/font.scss delete mode 100644 src/styles/global.css delete mode 100644 src/styles/mixins.scss delete mode 100644 src/styles/reset.scss delete mode 100644 static/_redirects delete mode 100644 static/favicon-32x32.png delete mode 100644 static/favicon.ico delete mode 100644 static/icon-192x192.png delete mode 100644 static/icon-256x256.png delete mode 100644 static/icon-384x384.png delete mode 100644 static/icon-512x512.png delete mode 100644 static/icons/icon-144x144.png delete mode 100644 static/icons/icon-192x192.png delete mode 100644 static/icons/icon-256x256.png delete mode 100644 static/icons/icon-384x384.png delete mode 100644 static/icons/icon-48x48.png delete mode 100644 static/icons/icon-512x512.png delete mode 100644 static/icons/icon-72x72.png delete mode 100644 static/icons/icon-96x96.png delete mode 100644 static/images/cover.png delete mode 100644 static/images/tarbouch.png delete mode 100644 static/images/video-cover.jpeg delete mode 100644 static/manifest.webmanifest delete mode 100644 survey/1-profile.yml delete mode 100644 survey/2-learning-and-education.yml delete mode 100644 survey/3-work.yml delete mode 100644 survey/4-ai.yml delete mode 100644 survey/5-tech.yml delete mode 100644 survey/6-community.yml delete mode 100644 tailwind.config.js create mode 100644 tailwind.config.mjs create mode 100644 tsconfig.json delete mode 100644 yarn.lock diff --git a/.all-contributorsrc b/.all-contributorsrc deleted file mode 100644 index d85d7b7a..00000000 --- a/.all-contributorsrc +++ /dev/null @@ -1,180 +0,0 @@ -{ - "projectName": "stateofdev.ma", - "projectOwner": "geeksblabla", - "repoType": "github", - "repoHost": "https://github.com", - "files": [ - "README.md" - ], - "imageSize": 120, - "commit": true, - "commitConvention": "none", - "contributors": [ - { - "login": "yjose", - "name": "Youssouf EL AZIZI", - "avatar_url": "https://avatars0.githubusercontent.com/u/11137944?v=4", - "profile": "https://elazizi.com/", - "contributions": [ - "code", - "doc", - "content", - "ideas" - ] - }, - { - "login": "aboullaite", - "name": "Mohammed Aboullaite", - "avatar_url": "https://avatars0.githubusercontent.com/u/2836850?v=4", - "profile": "http://aboullaite.me/", - "contributions": [ - "code", - "content", - "ideas" - ] - }, - { - "login": "ismailElazizi", - "name": "Ismail El Azizi", - "avatar_url": "https://avatars1.githubusercontent.com/u/22155037?v=4", - "profile": "https://github.com/ismailElazizi", - "contributions": [ - "design", - "content", - "ideas" - ] - }, - { - "login": "djalal", - "name": "djalal", - "avatar_url": "https://avatars2.githubusercontent.com/u/4036528?v=4", - "profile": "https://twitter.com/enlamp", - "contributions": [ - "content", - "ideas" - ] - }, - { - "login": "iMeriem", - "name": "Meriem Zaid", - "avatar_url": "https://avatars1.githubusercontent.com/u/11720929?v=4", - "profile": "https://github.com/iMeriem", - "contributions": [ - "content", - "ideas" - ] - }, - { - "login": "ezzarghili", - "name": "Mohamed Ez-zarghili", - "avatar_url": "https://avatars2.githubusercontent.com/u/8616968?v=4", - "profile": "https://github.com/ezzarghili", - "contributions": [ - "content", - "ideas" - ] - }, - { - "login": "Aymane11", - "name": "Aymane Boumaaza", - "avatar_url": "https://avatars2.githubusercontent.com/u/24499930?v=4", - "profile": "https://github.com/Aymane11", - "contributions": [ - "content" - ] - }, - { - "login": "zHaytam", - "name": "Haytam Zanid", - "avatar_url": "https://avatars3.githubusercontent.com/u/34218324?v=4", - "profile": "https://blog.zhaytam.com/", - "contributions": [ - "content" - ] - }, - { - "login": "boredabdel", - "name": "Abdelfettah SGHIOUAR", - "avatar_url": "https://avatars1.githubusercontent.com/u/1208914?v=4", - "profile": "https://github.com/boredabdel", - "contributions": [ - "content" - ] - }, - { - "login": "Yiabiten", - "name": "Youness IABITEN", - "avatar_url": "https://avatars0.githubusercontent.com/u/5012992?v=4", - "profile": "http://stackoverflow.com/users/4689497/", - "contributions": [ - "content" - ] - }, - { - "login": "Ismailtlem", - "name": "Ismail Tlemçani", - "avatar_url": "https://avatars1.githubusercontent.com/u/34961373?v=4", - "profile": "https://github.com/Ismailtlem", - "contributions": [ - "content" - ] - }, - { - "login": "AbderrahimSoubaiElidrissi", - "name": "Abderrahim SOUBAI", - "avatar_url": "https://avatars0.githubusercontent.com/u/11523791?v=4", - "profile": "https://soubai.me/", - "contributions": [ - "content" - ] - }, - { - "login": "moutout", - "name": "Mustapha", - "avatar_url": "https://avatars.githubusercontent.com/u/3751894?v=4", - "profile": "https://github.com/moutout", - "contributions": [ - "content" - ] - }, - { - "login": "Elamraoui-Sohayb", - "name": "el amraoui Sohayb", - "avatar_url": "https://avatars.githubusercontent.com/u/32344494?v=4", - "profile": "https://www.linkedin.com/in/sohayb-elamraoui/", - "contributions": [ - "content" - ] - }, - { - "login": "yezz123", - "name": "Yasser Tahiri", - "avatar_url": "https://avatars.githubusercontent.com/u/52716203?v=4", - "profile": "http://yezz.me", - "contributions": [ - "content" - ] - }, - { - "login": "Iduoad", - "name": "Mohammed Daoudi", - "avatar_url": "https://avatars.githubusercontent.com/u/25715906?v=4", - "profile": "https://www.iduoad.com", - "contributions": [ - "content" - ] - }, - { - "login": "bilalix", - "name": "Bilal", - "avatar_url": "https://avatars.githubusercontent.com/u/2496324?v=4", - "profile": "https://github.com/bilalix", - "contributions": [ - "content", - "code" - ] - } - ], - "contributorsPerLine": 6, - "skipCi": true -} diff --git a/.gitignore b/.gitignore index 6ab8a59f..953c895c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,100 +1,25 @@ -# Logs - -logs -_.log -npm-debug.log_ -yarn-debug.log* -yarn-error.log* - -# Runtime data - -pids -_.pid -_.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover - -lib-cov - -# Coverage directory used by tools like istanbul - -coverage - -# nyc test coverage - -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) - -.grunt - -# Bower dependency directory (https://bower.io/) - -bower_components - -# node-waf configuration - -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) - -build/Release - -# Dependency directories +# build output +dist/ +# generated types +.astro/ +# dependencies node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory - -.npm - -# Optional eslint cache - -.eslintcache - -# Optional REPL history - -.node_repl_history - -# Output of 'npm pack' - -*.tgz +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* -# dotenv environment variable files -.env* -.env.development +# environment variables +.env .env.production -# gatsby files - -.cache/ -public - -# Mac files - +# macOS-specific files .DS_Store -# Yarn - -yarn-error.log -.pnp/ -.pnp.js - -# Yarn Integrity file - -.yarn-integrity - -# Local Netlify folder - -.netlify - -# Database exports - -scripts/*.json +# jetbrains setting folder +.idea/ +old-website/ diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 58d06c36..00000000 --- a/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -.cache -package.json -package-lock.json -public diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 33d2cfa3..00000000 --- a/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "arrowParens": "avoid", - "semi": false -} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..22a15055 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..d6422097 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 341ccceb..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright 2020-2023 The Geeks BlaBla team - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index f4362ab9..e69de29b 100644 --- a/README.md +++ b/README.md @@ -1,124 +0,0 @@ - -[![All Contributors](https://img.shields.io/badge/all_contributors-17-orange.svg?style=flat-square)](#contributors-) - -

- - logo - -

-

- State Of Dev in Morocco Website -

-
- -StateOfDev.ma is a survey centered around software developers in Morocco by GeeksBlaBla Morocco Community. - -We wanted to know how we can help and support each other, and overall be able to better respond to developers evolving needs. - -The website is built using [Gatsbyjs](http://gatsbyjs.org) and [Netlify](https://docs.netlify.com/cli/get-started/) - -## 🚀 Quick start - -1. **Fork and clone the project** - - ```sh - git clone git@github.com:your-username/stateofdev.ma.git - ``` - -2. **Configure Project and Start developing.** - -- Go to [](https://console.firebase.google.com/) and Create a firebase application, activate anonymous authentication and enable Firestore database on production mode to set data to private by default as we are going to user firebase admin sdk to write data to firestore database. - -- Go to Project settings > service accounts > generate new private key and add missed vars to your .env file. - -- Create a [recaptcha v3 application](https://www.google.com/recaptcha/about/) -- Copy your keys to `env.development`: - -```env -# firebase client auth -GATSBY_FIREBASE_API_KEY= -GATSBY_FIREBASE_AUTH_DOMAIN= -GATSBY_FIREBASE_PROJECT_ID= -GATSBY_FIREBASE_APP_ID= - -# firebase admin -FIREBASE_CLIENT_EMAIL= -FIREBASE_PRIVATE_KEY= - - -# recaptcha keys -GATSBY_RECAPTCHA_KEY= -RECAPTCHA_SECRET_KEY= - -``` - -- Navigate into your new website's directory and start it up. - -```sh -cd stateofdev.ma/ -yarn install -yarn netlify dev -``` - -3. **Open the source code and start editing!** - -Your website is now running at `http://localhost:8888` - -## 🧐 Want to contribute ? - -If you want to contribute check out the [help wanted](https://github.com/geeksblabla/stateofdev.ma/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+sort%3Aupdated-desc) issues for things that need fixing, or suggest some new features by opening new issues. - -## Licensing - -The code in this project is licensed under [MIT license](https://mit-license.org/). - -The Data in `./results` is licensed under [ODC-ODbL License](https://opendatacommons.org/licenses/odbl/). - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Youssouf EL AZIZI
Youssouf EL AZIZI

💻 📖 🖋 🤔
Mohammed Aboullaite
Mohammed Aboullaite

💻 🖋 🤔
Ismail El Azizi
Ismail El Azizi

🎨 🖋 🤔
djalal
djalal

🖋 🤔
Meriem Zaid
Meriem Zaid

🖋 🤔
Mohamed Ez-zarghili
Mohamed Ez-zarghili

🖋 🤔
Aymane Boumaaza
Aymane Boumaaza

🖋
Haytam Zanid
Haytam Zanid

🖋
Abdelfettah SGHIOUAR
Abdelfettah SGHIOUAR

🖋
Youness IABITEN
Youness IABITEN

🖋
Ismail Tlemçani
Ismail Tlemçani

🖋
Abderrahim SOUBAI
Abderrahim SOUBAI

🖋
Mustapha
Mustapha

🖋
el amraoui Sohayb
el amraoui Sohayb

🖋
Yasser Tahiri
Yasser Tahiri

🖋
Mohammed Daoudi
Mohammed Daoudi

🖋
Bilal
Bilal

🖋 💻
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - -## Credit - -This project is inspired by : - -- [Stack Overflow Survey ](https://insights.stackoverflow.com/survey/2020) -- [State of Front-end Survey](https://tsh.io/state-of-frontend/) diff --git a/__mocks__/file-mock.js b/__mocks__/file-mock.js deleted file mode 100644 index ebf20155..00000000 --- a/__mocks__/file-mock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "test-file-stub" diff --git a/__mocks__/gatsby.js b/__mocks__/gatsby.js deleted file mode 100644 index f9083d78..00000000 --- a/__mocks__/gatsby.js +++ /dev/null @@ -1,27 +0,0 @@ -const React = require("react") -const gatsby = jest.requireActual("gatsby") - -module.exports = { - ...gatsby, - graphql: jest.fn(), - Link: jest.fn().mockImplementation( - // these props are invalid for an `a` tag - ({ - activeClassName, - activeStyle, - getProps, - innerRef, - partiallyActive, - ref, - replace, - to, - ...rest - }) => - React.createElement("a", { - ...rest, - href: to, - }) - ), - StaticQuery: jest.fn(), - useStaticQuery: jest.fn(), -} diff --git a/api/submit/db.ts b/api/submit/db.ts deleted file mode 100644 index 553fc235..00000000 --- a/api/submit/db.ts +++ /dev/null @@ -1,48 +0,0 @@ -import * as admin from "firebase-admin" -import fetch from "node-fetch" - -const getFirebase = () => { - const firebasePrivateKey = process.env.FIREBASE_PRIVATE_KEY - if (!admin.apps.length) { - admin.initializeApp({ - credential: admin.credential.cert({ - projectId: process.env.GATSBY_FIREBASE_PROJECT_ID, - clientEmail: process.env.FIREBASE_CLIENT_EMAIL, - // https://stackoverflow.com/a/41044630/1332513 - privateKey: firebasePrivateKey?.replace(/\\n/g, "\n"), - }), - }) - } - return admin -} - -const getResults = () => getFirebase().firestore().collection("results") - -export const saveAnswer = (userId: string, data: any) => { - return getResults().doc(userId).set(data, { merge: true }) -} - -export const getUser = (token: string) => { - return getFirebase().auth().verifyIdToken(token) -} - -//https://developers.google.com/recaptcha/docs/verify -export const verifyRecaptcha = async (recaptcha_token: string) => { - const url = "https://www.google.com/recaptcha/api/siteverify" - const params = { - secret: process.env.RECAPTCHA_SECRET_KEY, - response: recaptcha_token, - } - - try { - const response = await fetch(url, { - method: "POST", - headers: { "Content-Type": "application/x-www-form-urlencoded" }, - body: `secret=${params.secret}&response=${params.response}`, - }) - const res = await response.json() // parses JSON response into native JavaScript objects - return res - } catch (error) { - throw new Error("error verifying recaptcha ") - } -} diff --git a/api/submit/helpers.ts b/api/submit/helpers.ts deleted file mode 100644 index c1a6cda9..00000000 --- a/api/submit/helpers.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as Sentry from "@sentry/node" - -const { SERVER_SENTRY_DSN } = process.env -let sentryInitialized = false -export function initSentry() { - if (SERVER_SENTRY_DSN) { - Sentry.init({ dsn: SERVER_SENTRY_DSN, tracesSampleRate: 1.0 }) - sentryInitialized = true - } -} - -export function reportError(error) { - console.warn(error) - if (!sentryInitialized) return - - if (typeof error === "string") { - Sentry.captureMessage(error) - } else { - Sentry.captureException(error) - } -} diff --git a/api/submit/submit.ts b/api/submit/submit.ts deleted file mode 100755 index e5073e71..00000000 --- a/api/submit/submit.ts +++ /dev/null @@ -1,72 +0,0 @@ -import type { Handler } from "@netlify/functions" -import { getUser, saveAnswer } from "./db" -import { initSentry, reportError } from "./helpers" - -// init sentry to report error -initSentry() - -export const handler: Handler = async event => { - // only accept post requests - let data = {} - if (event.httpMethod !== "POST") { - reportError("This endpoint only responds to POST") - return { - statusCode: 405, - body: JSON.stringify({ - code: "method_unknown", - message: "This endpoint only responds to POST", - }), - } - } - - // validate data inputs - try { - data = JSON.parse(event.body) - } catch (error) { - reportError(error) - return { - statusCode: 400, - body: JSON.stringify({ - code: "invalid_request", - message: "Invalid body data", - }), - } - } - - // check authentication - const token = event.headers?.authorization?.replace("Bearer ", "") - if (!Boolean(token)) { - reportError("unauthorized request token or recaptcha not valid ") - return { - statusCode: 401, - body: JSON.stringify({ - code: "unauthorized", - message: "unauthorized request", - }), - } - } - - // save to database - try { - const userId = await getUser(token) - await saveAnswer(userId.uid, data) - } catch (error) { - reportError(error) - return { - statusCode: 500, - body: JSON.stringify({ - code: "server-error", - message: "Server error", - origin: error, - }), - } - } - - return { - statusCode: 200, - body: JSON.stringify({ - code: "success", - message: `response submitted`, - }), - } -} diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 00000000..a9562759 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,17 @@ +import { defineConfig } from "astro/config"; +import tailwind from "@astrojs/tailwind"; +import icon from "astro-icon"; +import cloudflare from "@astrojs/cloudflare"; + +import mdx from "@astrojs/mdx"; + +// https://astro.build/config +export default defineConfig({ + integrations: [tailwind(), icon(), mdx()], + experimental: { + actions: true, + }, + trailingSlash: "never", + output: "server", + adapter: cloudflare(), +}); diff --git a/config/website.js b/config/website.js deleted file mode 100755 index d7b4341d..00000000 --- a/config/website.js +++ /dev/null @@ -1,29 +0,0 @@ -module.exports = { - pathPrefix: "/", // Prefix for all links. If you deploy your site to example.com/portfolio your pathPrefix should be "portfolio" - - siteTitle: "State Of Dev In Morocco 2021", // Navigation and Site Title - siteTitleAlt: "State Of Dev In Morocco 2021", // Alternative Site title for SEO - siteUrl: "https://stateofdev.ma", // Domain of your site. No trailing slash! - siteLanguage: "en", // Language Tag on element - siteLogo: "images/logo.png", // Used for SEO and manifest, path to your image you placed in the 'static' folder - banner: "images/banner.png", - siteDescription: - "Participate and let us know what working in tech really looks like in Morocco 🇲🇦", // Author for schemaORGJSONLD - organization: "GeeksBlaBla", - author: "GeeksBlaBla", - // siteFBAppID: '123456789', // Facebook App ID - Optional - userTwitter: "@geeksblabla", // Twitter Username - ogSiteName: "StateOfDevMa", // Facebook Site Name - ogLanguage: "en_US", - googleAnalyticsID: "", - - // Manifest and Progress color - themeColor: "#5348FF", - backgroundColor: "#2b2e3c", - - // Social component - // twitter: "https://twitter.com/ElaziziYoussouf/", - // twitterHandle: "@ElaziziYoussouf", - // github: "https://github.com/yjose/", - // linkedin: "https://www.linkedin.com/in/youssouf-elazizi/" -} diff --git a/gatsby-browser.js b/gatsby-browser.js deleted file mode 100644 index cab1fa5a..00000000 --- a/gatsby-browser.js +++ /dev/null @@ -1,2 +0,0 @@ -import "firebase/auth" -import "./src/styles/global.css" diff --git a/gatsby-config.js b/gatsby-config.js deleted file mode 100644 index ac8260e9..00000000 --- a/gatsby-config.js +++ /dev/null @@ -1,151 +0,0 @@ -const config = require("./config/website") -const pathPrefix = config.pathPrefix === "/" ? "" : config.pathPrefix - -require("dotenv").config({ - path: `.env.${process.env.NODE_ENV}`, -}) - -module.exports = { - siteMetadata: { - siteUrl: config.siteUrl + pathPrefix, - title: config.siteTitle, - twitterHandle: config.twitterHandle, - description: config.siteDescription, - keywords: ["Developer", "Morocco", "State"], - canonicalUrl: config.siteUrl, - image: config.siteLogo, - banner: config.banner, - author: { - name: config.author, - minibio: `GeeksBlaBla`, - }, - organization: { - name: config.organization, - url: config.siteUrl, - logo: config.siteLogo, - }, - social: { - twitter: config.twitterHandle, - fbAppID: "", - }, - }, - plugins: [ - `gatsby-plugin-react-helmet`, - `gatsby-transformer-yaml`, - { - resolve: "gatsby-plugin-next-seo", - options: { - openGraph: { - type: "website", - locale: "en_IE", - url: "https://stateofdev.ma/", - site_name: "StateOfDevMa", - }, - twitter: { - handle: "@geeksblabla", - site: "@geeksblabla", - cardType: "summary_large_image", - }, - }, - }, - { - resolve: `gatsby-source-filesystem`, - options: { - path: `${__dirname}/survey`, - name: `survey`, - }, - }, - { - resolve: `gatsby-source-filesystem`, - options: { - name: `pages`, - path: `${__dirname}/results/2020/sections`, - }, - }, - { - resolve: `gatsby-source-filesystem`, - options: { - name: `pages`, - path: `${__dirname}/results/2021/sections`, - }, - }, - { - resolve: `gatsby-source-filesystem`, - options: { - name: `pages`, - path: `${__dirname}/results/2022/sections`, - }, - }, - { - resolve: `gatsby-source-filesystem`, - options: { - name: `pages`, - path: `${__dirname}/results/2023/sections`, - }, - }, - { - resolve: `gatsby-source-filesystem`, - options: { - name: `articles`, - path: `${__dirname}/results/articles`, - }, - }, - { - resolve: `gatsby-plugin-mdx`, - options: { - extensions: [`.mdx`, `.md`], - }, - }, - { - resolve: "gatsby-plugin-firebase", - options: { - credentials: { - apiKey: process.env.GATSBY_FIREBASE_API_KEY, - authDomain: process.env.GATSBY_FIREBASE_AUTH_DOMAIN, - projectId: process.env.GATSBY_FIREBASE_PROJECT_ID, - appId: process.env.GATSBY_FIREBASE_APP_ID, - }, - }, - }, - { - resolve: `gatsby-plugin-google-analytics`, - options: { - trackingId: "UA-127901499-5", - }, - }, - { - resolve: `gatsby-plugin-sass`, - options: { - implementation: require("sass"), - }, - }, - "gatsby-plugin-postcss", - { - resolve: `gatsby-plugin-google-fonts-v2`, - options: { - fonts: [ - { - family: "Inter", - variable: true, - weights: ["400..700"], - }, - ], - }, - }, - { - resolve: "@sentry/gatsby", - options: { - dsn: process.env.GATSBY_SENTRY_DSN, - sampleRate: 0.7, - }, - }, - { - resolve: "gatsby-plugin-react-svg", - options: { - rule: { - exclude: /\.png$/, - }, - }, - }, - ], -} diff --git a/gatsby-ssr.js b/gatsby-ssr.js deleted file mode 100644 index 4002f408..00000000 --- a/gatsby-ssr.js +++ /dev/null @@ -1 +0,0 @@ -import "firebase/auth" diff --git a/jest-preprocess.js b/jest-preprocess.js deleted file mode 100644 index 7540ebe8..00000000 --- a/jest-preprocess.js +++ /dev/null @@ -1,5 +0,0 @@ -const babelOptions = { - presets: ["babel-preset-gatsby"], -} - -module.exports = require("babel-jest").default.createTransformer(babelOptions) diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index f9128e98..00000000 --- a/jest.config.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - transform: { - "^.+\\.jsx?$": `/jest-preprocess.js`, - }, - moduleNameMapper: { - ".+\\.(css|styl|less|sass|scss)$": `identity-obj-proxy`, - ".+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": `/__mocks__/file-mock.js`, - }, - testPathIgnorePatterns: [`node_modules`, `\\.cache`, `.*/public`], - transformIgnorePatterns: [`node_modules/(?!(gatsby)/)`], - globals: { - __PATH_PREFIX__: ``, - }, - testURL: `http://localhost`, - setupFiles: [`/loadershim.js`], -} diff --git a/loadershim.js b/loadershim.js deleted file mode 100644 index 37084c74..00000000 --- a/loadershim.js +++ /dev/null @@ -1,3 +0,0 @@ -global.___loader = { - enqueue: jest.fn(), -} diff --git a/package.json b/package.json index d1d62369..50a3f9c6 100644 --- a/package.json +++ b/package.json @@ -1,86 +1,26 @@ { - "name": "stateofdev.ma", - "private": true, - "description": "stateofdev.ma website code source ", - "version": "0.1.0", - "license": "0BSD", + "name": "firebase-astro-auth", + "type": "module", + "version": "0.0.1", "scripts": { - "build": "gatsby build", - "develop": "gatsby develop", - "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"", - "start": "npm run develop", - "serve": "gatsby serve", - "clean": "gatsby clean", - "test": "jest ", - "netlify": "netlify", - "export-result": "NODE_ENV=development node ./scripts/export-results.js" + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" }, "dependencies": { - "@headlessui/react": "^1.7.17", - "@mdx-js/mdx": "^1.6.22", - "@mdx-js/react": "^1.6.22", - "@sentry/gatsby": "^6.13.3", - "@sentry/node": "^6.13.3", - "@sentry/tracing": "^6.13.3", - "firebase": "^8.0.2", - "firebase-admin": "^9.11.1", - "gatsby": "^3.14.0", - "gatsby-plugin-firebase": "^0.2.0-beta.4", - "gatsby-plugin-google-analytics": "^3.14.0", - "gatsby-plugin-google-fonts": "^1.0.1", - "gatsby-plugin-google-fonts-v2": "^1.0.0", - "gatsby-plugin-mdx": "^2.14.0", - "gatsby-plugin-next-seo": "^1.8.0", - "gatsby-plugin-prefetch-google-fonts": "^1.4.3", - "gatsby-plugin-react-helmet": "^4.14.0", - "gatsby-plugin-react-svg": "^3.0.1", - "gatsby-plugin-sass": "^4.14.0", - "gatsby-source-filesystem": "^3.14.0", - "gatsby-transformer-yaml": "^3.14.0", - "js-yaml": "^4.1.0", - "node-fetch": "^3.0.0", - "query-string": "^7.0.1", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-error-boundary": "^3.1.4", - "react-google-recaptcha-v3": "^1.9.5", - "react-helmet": "^6.1.0", - "react-helmet-async": "^1.1.2", - "react-hook-form": "^7.15.4", - "react-minimal-pie-chart": "^8.2.0", - "react-share": "^4.4.0", - "react-tabs": "^3.2.2", - "react-toastify": "^8.0.3", - "react-tooltip": "^4.2.21", - "react-top-loading-bar": "^2.0.1", - "reactjs-popup": "^2.0.5", - "zustand": "^4.1.4" - }, - "devDependencies": { - "@netlify/functions": "^0.7.2", - "@tailwindcss/aspect-ratio": "^0.4.2", - "@tailwindcss/typography": "^0.5.8", - "@types/node": "^14.0.0", - "all-contributors-cli": "^6.20.0", - "autoprefixer": "^10.4.13", - "babel-jest": "^27.4.5", - "babel-preset-gatsby": "^2.4.0", - "gatsby-plugin-postcss": "^5.0.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.5", - "postcss": "^8.4.19", - "prettier": "2.4.1", - "react-test-renderer": "^17.0.2", - "sass": "^1.56.1", - "tailwindcss": "^3.2.4", - "typescript": "^4.0.0", - "url-loader": "^4.1.1" - }, - "repository": { - "type": "git", - "url": "https://github.com/geeksblabla/stateofdev.ma" - }, - "bugs": { - "url": "https://github.com/geeksblabla/stateofdev.ma/issues" + "@astrojs/check": "^0.7.0", + "@astrojs/cloudflare": "^11.0.4", + "@astrojs/db": "^0.11.4", + "@astrojs/mdx": "^3.1.4", + "@astrojs/tailwind": "^5.1.0", + "astro": "^4.10.1", + "astro-icon": "^1.1.0", + "class-variance-authority": "^0.7.0", + "firebase": "^10.12.2", + "tailwind-merge": "^2.3.0", + "tailwindcss": "^3.4.4", + "typescript": "^5.4.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..48f95a1c --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7679 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@astrojs/check': + specifier: ^0.7.0 + version: 0.7.0(typescript@5.5.4) + '@astrojs/cloudflare': + specifier: ^11.0.4 + version: 11.0.4(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4)) + '@astrojs/db': + specifier: ^0.11.4 + version: 0.11.7(@cloudflare/workers-types@4.20240821.1) + '@astrojs/mdx': + specifier: ^3.1.4 + version: 3.1.4(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4)) + '@astrojs/tailwind': + specifier: ^5.1.0 + version: 5.1.0(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4))(tailwindcss@3.4.10) + astro: + specifier: ^4.10.1 + version: 4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4) + astro-icon: + specifier: ^1.1.0 + version: 1.1.1 + class-variance-authority: + specifier: ^0.7.0 + version: 0.7.0 + firebase: + specifier: ^10.12.2 + version: 10.13.0 + tailwind-merge: + specifier: ^2.3.0 + version: 2.5.2 + tailwindcss: + specifier: ^3.4.4 + version: 3.4.10 + typescript: + specifier: ^5.4.5 + version: 5.5.4 + +packages: + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@antfu/install-pkg@0.4.1': + resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} + + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + + '@astrojs/check@0.7.0': + resolution: {integrity: sha512-UTqwOeKNu9IYZmJXEeWnQuTdSd/pX58Hl4TUARsMlT97SVDL//kLBE4T/ctxRz6J573N87oE5ddtW/uOOnQTug==} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + + '@astrojs/cloudflare@11.0.4': + resolution: {integrity: sha512-OHQ1MVgIeh0uXISwqg6AR0ETSHjcY1k1lv5nbZS7Rt9MxmThUP1DGAO5XKHdnmk4+xVq+A8QsQhT6SXw1L1BXg==} + peerDependencies: + astro: ^4.10.3 + + '@astrojs/compiler@2.10.3': + resolution: {integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==} + + '@astrojs/db@0.11.7': + resolution: {integrity: sha512-upJfu/GpW0AwFIIkWPmIzLRrXibmyKdtjUB+T/9FvuH25Bgk4ym62d87clh+0acBgGQw98mezSOtBCenWTAT0Q==} + + '@astrojs/internal-helpers@0.4.1': + resolution: {integrity: sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==} + + '@astrojs/language-server@2.14.1': + resolution: {integrity: sha512-mkKtCTPRD4dyKdAqIP0zmmPyO/ZABOqFESnaVca47Dg/sAagJnDSEsDUDzNbHFh1+9Dj1o5y4iwNsxJboGdaNg==} + hasBin: true + peerDependencies: + prettier: ^3.0.0 + prettier-plugin-astro: '>=0.11.0' + peerDependenciesMeta: + prettier: + optional: true + prettier-plugin-astro: + optional: true + + '@astrojs/markdown-remark@5.2.0': + resolution: {integrity: sha512-vWGM24KZXz11jR3JO+oqYU3T2qpuOi4uGivJ9SQLCAI01+vEkHC60YJMRvHPc+hwd60F7euNs1PeOEixIIiNQw==} + + '@astrojs/mdx@3.1.4': + resolution: {integrity: sha512-AcdcAlDpzTM5LHpur7A3NWoIqyfhH1gZNbTvvjiUlDEo7eJjIxl4gdWrb/kZZRfLBEuM8cptCB+Qk11ncQL4IA==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + peerDependencies: + astro: ^4.8.0 + + '@astrojs/prism@3.1.0': + resolution: {integrity: sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + + '@astrojs/studio@0.1.1': + resolution: {integrity: sha512-X4PxYQZmkXhgw9rlNKVeCzU6q+U9Cy3k3J5oP4jOTmqTE8TyjCadAad3NweDJCY9Rhgv/w+qhGfjl2JG2lcTaw==} + + '@astrojs/tailwind@5.1.0': + resolution: {integrity: sha512-BJoCDKuWhU9FT2qYg+fr6Nfb3qP4ShtyjXGHKA/4mHN94z7BGcmauQK23iy+YH5qWvTnhqkd6mQPQ1yTZTe9Ig==} + peerDependencies: + astro: ^3.0.0 || ^4.0.0 + tailwindcss: ^3.0.24 + + '@astrojs/telemetry@3.1.0': + resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + + '@astrojs/underscore-redirects@0.3.4': + resolution: {integrity: sha512-vYuYtIrTwxFlDRIhuekscorsHdLL8Hr3mgOczfM1tRWVPn54dDNcKG0DmfL4DlC5YJRoqVaVdUs508Hw643NTw==} + + '@astrojs/yaml2ts@0.2.1': + resolution: {integrity: sha512-CBaNwDQJz20E5WxzQh4thLVfhB3JEEGz72wRA+oJp6fQR37QLAqXZJU0mHC+yqMOQ6oj0GfRPJrz6hjf+zm6zA==} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.5': + resolution: {integrity: sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.0': + resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.4': + resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.25.2': + resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.4': + resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.4': + resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} + engines: {node: '>=6.9.0'} + + '@cloudflare/kv-asset-handler@0.3.4': + resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} + engines: {node: '>=16.13'} + + '@cloudflare/workerd-darwin-64@1.20240821.1': + resolution: {integrity: sha512-CDBpfZKrSy4YrIdqS84z67r3Tzal2pOhjCsIb63IuCnvVes59/ft1qhczBzk9EffeOE2iTCrA4YBT7Sbn7USew==} + engines: {node: '>=16'} + cpu: [x64] + os: [darwin] + + '@cloudflare/workerd-darwin-arm64@1.20240821.1': + resolution: {integrity: sha512-Q+9RedvNbPcEt/dKni1oN94OxbvuNAeJkgHmrLFTGF8zu21wzOhVkQeRNxcYxrMa9mfStc457NAg13OVCj2kHQ==} + engines: {node: '>=16'} + cpu: [arm64] + os: [darwin] + + '@cloudflare/workerd-linux-64@1.20240821.1': + resolution: {integrity: sha512-j6z3KsPtawrscoLuP985LbqFrmsJL6q1mvSXOXTqXGODAHIzGBipHARdOjms3UQqovzvqB2lQaQsZtLBwCZxtA==} + engines: {node: '>=16'} + cpu: [x64] + os: [linux] + + '@cloudflare/workerd-linux-arm64@1.20240821.1': + resolution: {integrity: sha512-I9bHgZOxJQW0CV5gTdilyxzTG7ILzbTirehQWgfPx9X77E/7eIbR9sboOMgyeC69W4he0SKtpx0sYZuTJu4ERw==} + engines: {node: '>=16'} + cpu: [arm64] + os: [linux] + + '@cloudflare/workerd-windows-64@1.20240821.1': + resolution: {integrity: sha512-keC97QPArs6LWbPejQM7/Y8Jy8QqyaZow4/ZdsGo+QjlOLiZRDpAenfZx3CBUoWwEeFwQTl2FLO+8hV1SWFFYw==} + engines: {node: '>=16'} + cpu: [x64] + os: [win32] + + '@cloudflare/workers-shared@0.4.0': + resolution: {integrity: sha512-XAFOldVQsbxQ7mjbqX2q1dNIgcLbKSytk41pwuZTn9e0p7OeTpFTosJef8uwosL6CcOAHqcW1f1HJxyjwmtGxw==} + engines: {node: '>=16.7.0'} + + '@cloudflare/workers-types@4.20240821.1': + resolution: {integrity: sha512-icAkbnAqgVl6ef9lgLTom8na+kj2RBw2ViPAQ586hbdj0xZcnrjK7P46Eu08OU9D/lNDgN2sKU/sxhe2iK/gIg==} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@emmetio/abbreviation@2.3.3': + resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} + + '@emmetio/css-abbreviation@2.1.8': + resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} + + '@emmetio/css-parser@0.4.0': + resolution: {integrity: sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==} + + '@emmetio/html-matcher@1.3.0': + resolution: {integrity: sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==} + + '@emmetio/scanner@1.0.4': + resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} + + '@emmetio/stream-reader-utils@0.1.0': + resolution: {integrity: sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==} + + '@emmetio/stream-reader@2.2.0': + resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==} + + '@emnapi/runtime@1.2.0': + resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} + + '@esbuild-plugins/node-globals-polyfill@0.2.3': + resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} + peerDependencies: + esbuild: '*' + + '@esbuild-plugins/node-modules-polyfill@0.2.2': + resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} + peerDependencies: + esbuild: '*' + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.22.0': + resolution: {integrity: sha512-uvQR2crZ/zgzSHDvdygHyNI+ze9zwS8mqz0YtGXotSqvEE0UkYE9s+FZKQNTt1VtT719mfP3vHrUdCpxBNQZhQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.17.19': + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.22.0': + resolution: {integrity: sha512-UKhPb3o2gAB/bfXcl58ZXTn1q2oVu1rEu/bKrCtmm+Nj5MKUbrOwR5WAixE2v+lk0amWuwPvhnPpBRLIGiq7ig==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.17.19': + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.22.0': + resolution: {integrity: sha512-PBnyP+r8vJE4ifxsWys9l+Mc2UY/yYZOpX82eoyGISXXb3dRr0M21v+s4fgRKWMFPMSf/iyowqPW/u7ScSUkjQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.17.19': + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.22.0': + resolution: {integrity: sha512-IjTYtvIrjhR41Ijy2dDPgYjQHWG/x/A4KXYbs1fiU3efpRdoxMChK3oEZV6GPzVEzJqxFgcuBaiX1kwEvWUxSw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.17.19': + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.22.0': + resolution: {integrity: sha512-mqt+Go4y9wRvEz81bhKd9RpHsQR1LwU8Xm6jZRUV/xpM7cIQFbFH6wBCLPTNsdELBvfoHeumud7X78jQQJv2TA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.17.19': + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.22.0': + resolution: {integrity: sha512-vTaTQ9OgYc3VTaWtOE5pSuDT6H3d/qSRFRfSBbnxFfzAvYoB3pqKXA0LEbi/oT8GUOEAutspfRMqPj2ezdFaMw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.17.19': + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.22.0': + resolution: {integrity: sha512-0e1ZgoobJzaGnR4reD7I9rYZ7ttqdh1KPvJWnquUoDJhL0rYwdneeLailBzd2/4g/U5p4e5TIHEWa68NF2hFpQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.17.19': + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.22.0': + resolution: {integrity: sha512-BFgyYwlCwRWyPQJtkzqq2p6pJbiiWgp0P9PNf7a5FQ1itKY4czPuOMAlFVItirSmEpRPCeImuwePNScZS0pL5Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.17.19': + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.22.0': + resolution: {integrity: sha512-V/K2rctCUgC0PCXpN7AqT4hoazXKgIYugFGu/myk2+pfe6jTW2guz/TBwq4cZ7ESqusR/IzkcQaBkcjquuBWsw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.17.19': + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.22.0': + resolution: {integrity: sha512-KEMWiA9aGuPUD4BH5yjlhElLgaRXe+Eri6gKBoDazoPBTo1BXc/e6IW5FcJO9DoL19FBeCxgONyh95hLDNepIg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.17.19': + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.22.0': + resolution: {integrity: sha512-r2ZZqkOMOrpUhzNwxI7uLAHIDwkfeqmTnrv1cjpL/rjllPWszgqmprd/om9oviKXUBpMqHbXmppvjAYgISb26Q==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.17.19': + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.22.0': + resolution: {integrity: sha512-qaowLrV/YOMAL2RfKQ4C/VaDzAuLDuylM2sd/LH+4OFirMl6CuDpRlCq4u49ZBaVV8pkI/Y+hTdiibvQRhojCA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.17.19': + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.22.0': + resolution: {integrity: sha512-hgrezzjQTRxjkQ5k08J6rtZN5PNnkWx/Rz6Kmj9gnsdCAX1I4Dn4ZPqvFRkXo55Q3pnVQJBwbdtrTO7tMGtyVA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.17.19': + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.22.0': + resolution: {integrity: sha512-ewxg6FLLUio883XgSjfULEmDl3VPv/TYNnRprVAS3QeGFLdCYdx1tIudBcd7n9jIdk82v1Ajov4jx87qW7h9+g==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.17.19': + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.22.0': + resolution: {integrity: sha512-Az5XbgSJC2lE8XK8pdcutsf9RgdafWdTpUK/+6uaDdfkviw/B4JCwAfh1qVeRWwOohwdsl4ywZrWBNWxwrPLFg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.17.19': + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.22.0': + resolution: {integrity: sha512-8j4a2ChT9+V34NNNY9c/gMldutaJFmfMacTPq4KfNKwv2fitBCLYjee7c+Vxaha2nUhPK7cXcZpJtJ3+Y7ZdVQ==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.17.19': + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.22.0': + resolution: {integrity: sha512-JUQyOnpbAkkRFOk/AhsEemz5TfWN4FJZxVObUlnlNCbe7QBl61ZNfM4cwBXayQA6laMJMUcqLHaYQHAB6YQ95Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.17.19': + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.22.0': + resolution: {integrity: sha512-11PoCoHXo4HFNbLsXuMB6bpMPWGDiw7xETji6COdJss4SQZLvcgNoeSqWtATRm10Jj1uEHiaIk4N0PiN6x4Fcg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.22.0': + resolution: {integrity: sha512-Ezlhu/YyITmXwKSB+Zu/QqD7cxrjrpiw85cc0Rbd3AWr2wsgp+dWbWOE8MqHaLW9NKMZvuL0DhbJbvzR7F6Zvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.17.19': + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.22.0': + resolution: {integrity: sha512-ufjdW5tFJGUjlH9j/5cCE9lrwRffyZh+T4vYvoDKoYsC6IXbwaFeV/ENxeNXcxotF0P8CDzoICXVSbJaGBhkrw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.17.19': + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.22.0': + resolution: {integrity: sha512-zY6ly/AoSmKnmNTowDJsK5ehra153/5ZhqxNLfq9NRsTTltetr+yHHcQ4RW7QDqw4JC8A1uC1YmeSfK9NRcK1w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.17.19': + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.22.0': + resolution: {integrity: sha512-Kml5F7tv/1Maam0pbbCrvkk9vj046dPej30kFzlhXnhuCtYYBP6FGy/cLbc5yUT1lkZznGLf2OvuvmLjscO5rw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.17.19': + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.22.0': + resolution: {integrity: sha512-IOgwn+mYTM3RrcydP4Og5IpXh+ftN8oF+HELTXSmbWBlujuci4Qa3DTeO+LEErceisI7KUSfEIiX+WOUlpELkw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.17.19': + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.22.0': + resolution: {integrity: sha512-4bDHJrk2WHBXJPhy1y80X7/5b5iZTZP3LGcKIlAP1J+KqZ4zQAPMLEzftGyjjfcKbA4JDlPt/+2R/F1ZTeRgrw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + + '@firebase/analytics-compat@0.2.13': + resolution: {integrity: sha512-aZ4wGfNDMsCxhKzDbK2g1aV0JKsdQ9FbeIsjpNJPzhahV0XYj+z36Y4RNLPpG/6hHU4gxnezxs+yn3HhHkNL8w==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/analytics-types@0.8.2': + resolution: {integrity: sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw==} + + '@firebase/analytics@0.10.7': + resolution: {integrity: sha512-GE29uTT6y/Jv2EP0OjpTezeTQZ5FTCTaZXKrrdVGjb/t35AU4u/jiU+hUwUPpuK8fqhhiHkS/AawE3a3ZK/a9Q==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-check-compat@0.3.14': + resolution: {integrity: sha512-kK3bPfojAfXE53W+20rxMqIxrloFswXG9vh4kEdYL6Wa2IB3sD5++2dPiK3yGxl8oQiqS8qL2wcKB5/xLpEVEg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/app-check-interop-types@0.3.2': + resolution: {integrity: sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ==} + + '@firebase/app-check-types@0.5.2': + resolution: {integrity: sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA==} + + '@firebase/app-check@0.8.7': + resolution: {integrity: sha512-EkOeJcMKVR0zZ6z/jqcFTqHb/xq+TVIRIuBNGHdpcIuFU1czhSlegvqv2+nC+nFrkD8M6Xvd3tAlUOkdbMeS6A==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-compat@0.2.39': + resolution: {integrity: sha512-NnTFywe+M/jxZn751NIEhidgDePiDvlcfabvGxBy4YbU1E+b0TpEuJUnm3L6YDZtaZLVEz8ieoq9wbJkgGZ2rg==} + + '@firebase/app-types@0.9.2': + resolution: {integrity: sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ==} + + '@firebase/app@0.10.9': + resolution: {integrity: sha512-AmGlPg/4SoDhwCdvVDeZsN5Yn+czYD/m/NAEOOCOhwn3Cz1xmEFKAKcyZKKahLrh5QPmge5Adyw+sk3cBTubBg==} + + '@firebase/auth-compat@0.5.12': + resolution: {integrity: sha512-K47inLqjTREez85D7pP0TmRv5aQcap22cJW67poLwJoJ6BVVH0I2NOfIoMqENetCrgGS+7vXSIZaLjvHFHwS+g==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/auth-interop-types@0.2.3': + resolution: {integrity: sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ==} + + '@firebase/auth-types@0.12.2': + resolution: {integrity: sha512-qsEBaRMoGvHO10unlDJhaKSuPn4pyoTtlQuP1ghZfzB6rNQPuhp/N/DcFZxm9i4v0SogjCbf9reWupwIvfmH6w==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/auth@1.7.7': + resolution: {integrity: sha512-gMB0uRRNiIvYorEDLtIq1mc7x5D080EsoghTIph9xnbLqcQS3qRBREEC2o21nMEhviAeiGJMelRkKhAkkggjmA==} + peerDependencies: + '@firebase/app': 0.x + '@react-native-async-storage/async-storage': ^1.18.1 + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@firebase/component@0.6.8': + resolution: {integrity: sha512-LcNvxGLLGjBwB0dJUsBGCej2fqAepWyBubs4jt1Tiuns7QLbXHuyObZ4aMeBjZjWx4m8g1LoVI9QFpSaq/k4/g==} + + '@firebase/database-compat@1.0.7': + resolution: {integrity: sha512-R/3B+VVzEFN5YcHmfWns3eitA8fHLTL03io+FIoMcTYkajFnrBdS3A+g/KceN9omP7FYYYGTQWF9lvbEx6eMEg==} + + '@firebase/database-types@1.0.4': + resolution: {integrity: sha512-mz9ZzbH6euFXbcBo+enuJ36I5dR5w+enJHHjy9Y5ThCdKUseqfDjW3vCp1YxE9zygFCSjJJ/z1cQ+zodvUcwPQ==} + + '@firebase/database@1.0.7': + resolution: {integrity: sha512-wjXr5AO8RPxVVg7rRCYffT7FMtBjHRfJ9KMwi19MbOf0vBf0H9YqW3WCgcnLpXI6ehiUcU3z3qgPnnU0nK6SnA==} + + '@firebase/firestore-compat@0.3.35': + resolution: {integrity: sha512-VdYQtMIrPjsgZpuBwvry6LgcS0vbUhHzpebaKm5oc9oTTvP4K7oxvR/ZJdDjIE5rBugn1SdY++uGMatcIvBkZg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/firestore-types@3.0.2': + resolution: {integrity: sha512-wp1A+t5rI2Qc/2q7r2ZpjUXkRVPtGMd6zCLsiWurjsQpqPgFin3AhNibKcIzoF2rnToNa/XYtyWXuifjOOwDgg==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/firestore@4.7.0': + resolution: {integrity: sha512-wGOp84P1qa1pfpdct6lckfyowTuvIlUDHoiRcN8dFDT4WnZDh0tZW1X77SMiBUVejK8xIRLBCK3yDTejlRVrUA==} + engines: {node: '>=10.10.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/functions-compat@0.3.12': + resolution: {integrity: sha512-r3XUb5VlITWpML46JymfJPkK6I9j4SNlO7qWIXUc0TUmkv0oAfVoiIt1F83/NuMZXaGr4YWA/794nVSy4GV8tw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/functions-types@0.6.2': + resolution: {integrity: sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w==} + + '@firebase/functions@0.11.6': + resolution: {integrity: sha512-GPfIBPtpwQvsC7SQbgaUjLTdja0CsNwMoKSgrzA1FGGRk4NX6qO7VQU6XCwBiAFWbpbQex6QWkSMsCzLx1uibQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/installations-compat@0.2.8': + resolution: {integrity: sha512-pI2q8JFHB7yIq/szmhzGSWXtOvtzl6tCUmyykv5C8vvfOVJUH6mP4M4iwjbK8S1JotKd/K70+JWyYlxgQ0Kpyw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/installations-types@0.5.2': + resolution: {integrity: sha512-que84TqGRZJpJKHBlF2pkvc1YcXrtEDOVGiDjovP/a3s6W4nlbohGXEsBJo0JCeeg/UG9A+DEZVDUV9GpklUzA==} + peerDependencies: + '@firebase/app-types': 0.x + + '@firebase/installations@0.6.8': + resolution: {integrity: sha512-57V374qdb2+wT5v7+ntpLXBjZkO6WRgmAUbVkRfFTM/4t980p0FesbqTAcOIiM8U866UeuuuF8lYH70D3jM/jQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/logger@0.4.2': + resolution: {integrity: sha512-Q1VuA5M1Gjqrwom6I6NUU4lQXdo9IAQieXlujeHZWvRt1b7qQ0KwBaNAjgxG27jgF9/mUwsNmO8ptBCGVYhB0A==} + + '@firebase/messaging-compat@0.2.10': + resolution: {integrity: sha512-FXQm7rcowkDm8kFLduHV35IRYCRo+Ng0PIp/t1+EBuEbyplaKkGjZ932pE+owf/XR+G/60ku2QRBptRGLXZydg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/messaging-interop-types@0.2.2': + resolution: {integrity: sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA==} + + '@firebase/messaging@0.12.10': + resolution: {integrity: sha512-fGbxJPKpl2DIKNJGhbk4mYPcM+qE2gl91r6xPoiol/mN88F5Ym6UeRdMVZah+pijh9WxM55alTYwXuW40r1Y2Q==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/performance-compat@0.2.8': + resolution: {integrity: sha512-o7TFClRVJd3VIBoY7KZQqtCeW0PC6v9uBzM6Lfw3Nc9D7hM6OonqecYvh7NwJ6R14k+xM27frLS4BcCvFHKw2A==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/performance-types@0.2.2': + resolution: {integrity: sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA==} + + '@firebase/performance@0.6.8': + resolution: {integrity: sha512-F+alziiIZ6Yn8FG47mxwljq+4XkgkT2uJIFRlkyViUQRLzrogaUJW6u/+6ZrePXnouKlKIwzqos3PVJraPEcCA==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/remote-config-compat@0.2.8': + resolution: {integrity: sha512-UxSFOp6dzFj2AHB8Bq/BYtbq5iFyizKx4Rd6WxAdaKYM8cnPMeK+l2v+Oogtjae+AeyHRI+MfL2acsfVe5cd2A==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/remote-config-types@0.3.2': + resolution: {integrity: sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA==} + + '@firebase/remote-config@0.4.8': + resolution: {integrity: sha512-AMLqe6wfIRnjc6FkCWOSUjhc1fSTEf8o+cv1NolFvbiJ/tU+TqN4pI7pT+MIKQzNiq5fxLehkOx+xtAQBxPJKQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/storage-compat@0.3.10': + resolution: {integrity: sha512-KcikeV5dK1H1cXi0zEb7gJ3IZ4dKKCjpyucVK8r/Qv5eNAqeQAzPgKKhsSv67wT1N6DTxmqsNEXwMo0dcrKOEg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/storage-types@0.8.2': + resolution: {integrity: sha512-0vWu99rdey0g53lA7IShoA2Lol1jfnPovzLDUBuon65K7uKG9G+L5uO05brD9pMw+l4HRFw23ah3GwTGpEav6g==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/storage@0.13.0': + resolution: {integrity: sha512-3RQaYpkR4TwPnPR1XlmDUAXiYt5QVQRGRGY1+/yNyS9ohHOCNNgbcs6a+QYvaDInbYTywrdddKYMFFXKKb1pRg==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/util@1.9.7': + resolution: {integrity: sha512-fBVNH/8bRbYjqlbIhZ+lBtdAAS4WqZumx03K06/u7fJSpz1TGjEMm1ImvKD47w+xaFKIP2ori6z8BrbakRfjJA==} + + '@firebase/vertexai-preview@0.0.3': + resolution: {integrity: sha512-KVtUWLp+ScgiwkDKAvNkVucAyhLVQp6C6lhnVEuIg4mWhWcS3oerjAeVhZT4uNofKwWxRsOaB2Yec7DMTXlQPQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@firebase/app-types': 0.x + + '@firebase/webchannel-wrapper@1.0.1': + resolution: {integrity: sha512-jmEnr/pk0yVkA7mIlHNnxCi+wWzOFUg0WyIotgkKAb2u1J7fAeDBcVNSTjTihbAYNusCLQdW5s9IJ5qwnEufcQ==} + + '@grpc/grpc-js@1.9.15': + resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==} + engines: {node: ^8.13.0 || >=10.10.0} + + '@grpc/proto-loader@0.7.13': + resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==} + engines: {node: '>=6'} + hasBin: true + + '@iconify/tools@4.0.5': + resolution: {integrity: sha512-l8KoA1lxlN/FFjlMd3vjfD7BtcX/QnFWtlBapILMlJSBgM5zhDYak/ldw/LkKG3258q/0YmXa48sO/QpxX7ptg==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.1.32': + resolution: {integrity: sha512-LeifFZPPKu28O3AEDpYJNdEbvS4/ojAPyIW+pF/vUpJTYnbTiXUHkCh0bwgFRzKvdpb8H4Fbfd/742++MF4fPQ==} + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@inox-tools/astro-when@0.2.2': + resolution: {integrity: sha512-ZQ+j5Al+iPUVLEGOCW2H7QYAX22a8PBCrF3h3q8d46MUnsb02GX01zQT206FBu9pqPInD6fv5Prz+yGkk180zw==} + peerDependencies: + astro: ^4 + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@libsql/client@0.6.2': + resolution: {integrity: sha512-xRNfRLv/dOCbV4qd+M0baQwGmvuZpMd2wG2UAPs8XmcdaPvu5ErkcaeITkxlm3hDEJVabQM1cFhMBxsugWW9fQ==} + + '@libsql/core@0.6.2': + resolution: {integrity: sha512-c2P4M+4u/4b2L02A0KjggO3UW51rGkhxr/7fzJO0fEAqsqrWGxuNj2YtRkina/oxfYvAof6xjp8RucNoIV/Odw==} + + '@libsql/darwin-arm64@0.3.19': + resolution: {integrity: sha512-rmOqsLcDI65zzxlUOoEiPJLhqmbFsZF6p4UJQ2kMqB+Kc0Rt5/A1OAdOZ/Wo8fQfJWjR1IbkbpEINFioyKf+nQ==} + cpu: [arm64] + os: [darwin] + + '@libsql/darwin-x64@0.3.19': + resolution: {integrity: sha512-q9O55B646zU+644SMmOQL3FIfpmEvdWpRpzubwFc2trsa+zoBlSkHuzU9v/C+UNoPHQVRMP7KQctJ455I/h/xw==} + cpu: [x64] + os: [darwin] + + '@libsql/hrana-client@0.6.2': + resolution: {integrity: sha512-MWxgD7mXLNf9FXXiM0bc90wCjZSpErWKr5mGza7ERy2FJNNMXd7JIOv+DepBA1FQTIfI8TFO4/QDYgaQC0goNw==} + + '@libsql/isomorphic-fetch@0.2.5': + resolution: {integrity: sha512-8s/B2TClEHms2yb+JGpsVRTPBfy1ih/Pq6h6gvyaNcYnMVJvgQRY7wAa8U2nD0dppbCuDU5evTNMEhrQ17ZKKg==} + engines: {node: '>=18.0.0'} + + '@libsql/isomorphic-ws@0.1.5': + resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} + + '@libsql/linux-arm64-gnu@0.3.19': + resolution: {integrity: sha512-mgeAUU1oqqh57k7I3cQyU6Trpdsdt607eFyEmH5QO7dv303ti+LjUvh1pp21QWV6WX7wZyjeJV1/VzEImB+jRg==} + cpu: [arm64] + os: [linux] + + '@libsql/linux-arm64-musl@0.3.19': + resolution: {integrity: sha512-VEZtxghyK6zwGzU9PHohvNxthruSxBEnRrX7BSL5jQ62tN4n2JNepJ6SdzXp70pdzTfwroOj/eMwiPt94gkVRg==} + cpu: [arm64] + os: [linux] + + '@libsql/linux-x64-gnu@0.3.19': + resolution: {integrity: sha512-2t/J7LD5w2f63wGihEO+0GxfTyYIyLGEvTFEsMO16XI5o7IS9vcSHrxsvAJs4w2Pf907uDjmc7fUfMg6L82BrQ==} + cpu: [x64] + os: [linux] + + '@libsql/linux-x64-musl@0.3.19': + resolution: {integrity: sha512-BLsXyJaL8gZD8+3W2LU08lDEd9MIgGds0yPy5iNPp8tfhXx3pV/Fge2GErN0FC+nzt4DYQtjL+A9GUMglQefXQ==} + cpu: [x64] + os: [linux] + + '@libsql/win32-x64-msvc@0.3.19': + resolution: {integrity: sha512-ay1X9AobE4BpzG0XPw1gplyLZPGHIgJOovvW23gUrukRegiUP62uzhpRbKNogLlUOynyXeq//prHgPXiebUfWg==} + cpu: [x64] + os: [win32] + + '@mdx-js/mdx@3.0.1': + resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} + + '@neon-rs/load@0.0.4': + resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@oslojs/encoding@0.4.1': + resolution: {integrity: sha512-hkjo6MuIK/kQR5CrGNdAPZhS01ZCXuWDRJ187zh6qqF2+yMHZpD9fAYpX8q2bOO6Ryhl3XpCT6kUX76N8hhm4Q==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.21.1': + resolution: {integrity: sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.21.1': + resolution: {integrity: sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.21.1': + resolution: {integrity: sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.21.1': + resolution: {integrity: sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.21.1': + resolution: {integrity: sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.21.1': + resolution: {integrity: sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.21.1': + resolution: {integrity: sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.21.1': + resolution: {integrity: sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': + resolution: {integrity: sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.21.1': + resolution: {integrity: sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.21.1': + resolution: {integrity: sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.21.1': + resolution: {integrity: sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.21.1': + resolution: {integrity: sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.21.1': + resolution: {integrity: sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.21.1': + resolution: {integrity: sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.21.1': + resolution: {integrity: sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==} + cpu: [x64] + os: [win32] + + '@shikijs/core@1.14.1': + resolution: {integrity: sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/cookie@0.6.0': + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/nlcst@2.0.3': + resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + + '@types/node@22.5.0': + resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} + + '@types/tar@6.1.13': + resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/ws@8.5.12': + resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@volar/kit@2.4.0': + resolution: {integrity: sha512-uqwtPKhrbnP+3f8hs+ltDYXLZ6Wdbs54IzkaPocasI4aBhqWLht5qXctE1MqpZU52wbH359E0u9nhxEFmyon+w==} + peerDependencies: + typescript: '*' + + '@volar/language-core@2.4.0': + resolution: {integrity: sha512-FTla+khE+sYK0qJP+6hwPAAUwiNHVMph4RUXpxf/FIPKUP61NFrVZorml4mjFShnueR2y9/j8/vnh09YwVdH7A==} + + '@volar/language-server@2.4.0': + resolution: {integrity: sha512-rmGIjAxWekWQiGH97Mosb4juiD/hfFYNQKV5Py9r7vDOLSkbIwRhITbwHm88NJKs8P6TNc6w/PfBXN6yjKadJg==} + + '@volar/language-service@2.4.0': + resolution: {integrity: sha512-4P3yeQXIL68mLfS3n6P3m02IRg3GnLHUU9k/1PCHEfm5FG9bySkDOc72dbBn2vAa2BxOqm18bmmZXrsWuQ5AOw==} + + '@volar/source-map@2.4.0': + resolution: {integrity: sha512-2ceY8/NEZvN6F44TXw2qRP6AQsvCYhV2bxaBPWxV9HqIfkbRydSksTFObCF1DBDNBfKiZTS8G/4vqV6cvjdOIQ==} + + '@volar/typescript@2.4.0': + resolution: {integrity: sha512-9zx3lQWgHmVd+JRRAHUSRiEhe4TlzL7U7e6ulWXOxHH/WNYxzKwCvZD7WYWEZFdw4dHfTD9vUR0yPQO6GilCaQ==} + + '@vscode/emmet-helper@2.9.3': + resolution: {integrity: sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==} + + '@vscode/l10n@0.0.18': + resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + engines: {node: '>=0.4.0'} + + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + + as-table@1.0.55: + resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} + + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + astro-icon@1.1.1: + resolution: {integrity: sha512-HKBesWk2Faw/0+klLX+epQVqdTfSzZz/9+5vxXUjTJaN/HnpDf608gRPgHh7ZtwBPNJMEFoU5GLegxoDcT56OQ==} + + astro-integration-kit@0.16.1: + resolution: {integrity: sha512-N/iam0PAFrRT9azYZqscP1HowQhC77Dwlp912P0/72k+kwUVgO3m73F26XXukHYoZBsrHgrUrfsWBxuCH3kEUg==} + peerDependencies: + astro: ^4.12.0 + + astro@4.14.5: + resolution: {integrity: sha512-sv47kPE6FnvyxxHHcCePNwTKpOMKBq0r1m6WZYg6ag9j3yF9m72ov64NFB7c+hAMDUKgsHfVdLKjOOqDC/c+fA==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} + hasBin: true + + async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + axios@1.7.5: + resolution: {integrity: sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==} + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-64@1.0.0: + resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + blake3-wasm@2.1.5: + resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-lite@1.0.30001653: + resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==} + + capnp-ts@0.7.0: + resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + class-variance-authority@0.7.0: + resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clsx@2.0.0: + resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + common-ancestor-path@1.0.1: + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + data-uri-to-buffer@2.0.2: + resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + deep-diff@1.0.2: + resolution: {integrity: sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==} + + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + deterministic-object-hash@2.0.2: + resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} + engines: {node: '>=18'} + + devalue@5.0.0: + resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + drizzle-orm@0.31.4: + resolution: {integrity: sha512-VGD9SH9aStF2z4QOTnVlVX/WghV/EnuEzTmsH3fSVp2E4fFgc8jl3viQrS/XUJx1ekW4rVVLJMH42SfGQdjX3Q==} + peerDependencies: + '@aws-sdk/client-rds-data': '>=3' + '@cloudflare/workers-types': '>=3' + '@electric-sql/pglite': '>=0.1.1' + '@libsql/client': '*' + '@neondatabase/serverless': '>=0.1' + '@op-engineering/op-sqlite': '>=2' + '@opentelemetry/api': ^1.4.1 + '@planetscale/database': '>=1' + '@prisma/client': '*' + '@tidbcloud/serverless': '*' + '@types/better-sqlite3': '*' + '@types/pg': '*' + '@types/react': '>=18' + '@types/sql.js': '*' + '@vercel/postgres': '>=0.8.0' + '@xata.io/client': '*' + better-sqlite3: '>=7' + bun-types: '*' + expo-sqlite: '>=13.2.0' + knex: '*' + kysely: '*' + mysql2: '>=2' + pg: '>=8' + postgres: '>=3' + prisma: '*' + react: '>=18' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/react': + optional: true + '@types/sql.js': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + prisma: + optional: true + react: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + + dset@3.1.3: + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + engines: {node: '>=4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + + emmet@2.4.7: + resolution: {integrity: sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==} + + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + + esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.22.0: + resolution: {integrity: sha512-zNYA6bFZsVnsU481FnGAQjLDW0Pl/8BGG7EvAp15RzUvGC+ME7hf1q7LvIfStEQBz/iEHuBJCYcOwPmNCf1Tlw==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + exit-hook@2.2.1: + resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} + engines: {node: '>=6'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-uri@3.0.1: + resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up-simple@1.0.0: + resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} + engines: {node: '>=18'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + + firebase@10.13.0: + resolution: {integrity: sha512-a8gm8c9CYO98QuXJn7m5W5Gj7kHV8fme81/mQ9dBs+VMz9uI5HdavnMVPXCILputpZFMFpiKK+u7VVsn5lQg+w==} + + flattie@1.1.1: + resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} + engines: {node: '>=8'} + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + + get-source@2.0.12: + resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globalyzer@0.1.0: + resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + + globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-html@2.0.2: + resolution: {integrity: sha512-HwOHwxdt2zC5KQ/CNoybBntRook2zJvfZE/u5/Ap7aLPe22bDqen7KwGkOqOyzL5zIqKwiYX/OTtE0FWgr6XXA==} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.4: + resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} + + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + + hast-util-to-html@9.0.2: + resolution: {integrity: sha512-RP5wNpj5nm1Z8cloDv4Sl4RS8jH5HYa0v93YB6Wb4poEzgMo/dAAL0KcT4974dCjcNG5pkLqTImeFHHCwwfY3g==} + + hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inline-style-parser@0.2.3: + resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@2.3.1: + resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} + + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + libsql@0.3.19: + resolution: {integrity: sha512-Aj5cQ5uk/6fHdmeW0TiXK42FqUlwx7ytmMLPSaUQPin5HKKKuUPD62MAbN4OEweGBBI7q1BekoEN4gPUEL6MZA==} + os: [darwin, linux, win32] + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + + long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + mdast-util-definitions@6.0.0: + resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + + mdast-util-mdx-jsx@3.1.3: + resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.0: + resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + + micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + miniflare@3.20240821.0: + resolution: {integrity: sha512-4BhLGpssQxM/O6TZmJ10GkT3wBJK6emFkZ3V87/HyvQmVt8zMxEBvyw5uv6kdtp+7F54Nw6IKFJjPUL8rFVQrQ==} + engines: {node: '>=16.13'} + hasBin: true + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@5.0.7: + resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + engines: {node: ^18 || >=20} + hasBin: true + + neotraverse@0.6.18: + resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} + engines: {node: '>= 10'} + + nlcst-to-string@4.0.0: + resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + + ora@8.1.0: + resolution: {integrity: sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==} + engines: {node: '>=18'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@6.1.0: + resolution: {integrity: sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==} + engines: {node: '>=18'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-queue@8.0.1: + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} + + p-timeout@6.1.2: + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + package-manager-detector@0.2.0: + resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-latin@7.0.0: + resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} + + parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-types@1.2.0: + resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.41: + resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + engines: {node: ^10 || ^12 || >=14} + + preferred-pm@4.0.0: + resolution: {integrity: sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==} + engines: {node: '>=18.12'} + + prettier@2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} + engines: {node: '>=10.13.0'} + hasBin: true + + printable-characters@1.0.42: + resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + protobufjs@7.4.0: + resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} + engines: {node: '>=12.0.0'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recast@0.23.9: + resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} + engines: {node: '>= 4'} + + rehype-parse@9.0.0: + resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-stringify@10.0.0: + resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} + + rehype@13.0.1: + resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-mdx@3.0.1: + resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + + remark-smartypants@3.0.2: + resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} + engines: {node: '>=16.0.0'} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + request-light@0.5.8: + resolution: {integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==} + + request-light@0.7.0: + resolution: {integrity: sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + retext-latin@4.0.0: + resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} + + retext-smartypants@6.1.1: + resolution: {integrity: sha512-onsHf34i/GzgElJgtT1K2V+31yEhWs7NJboKNxXJcmVMMPxLpgxZ9iADoMdydd6j/bHic5F/aNq0CGqElEtu2g==} + + retext-stringify@4.0.0: + resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} + + retext@9.0.0: + resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rollup-plugin-inject@3.0.2: + resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. + + rollup-plugin-node-polyfills@0.2.1: + resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} + + rollup-pluginutils@2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + + rollup@4.21.1: + resolution: {integrity: sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@1.14.1: + resolution: {integrity: sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stacktracey@2.1.8: + resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} + + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + + stoppable@1.1.0: + resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} + engines: {node: '>=4', npm: '>=6'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.6: + resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + + tailwind-merge@2.5.2: + resolution: {integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==} + + tailwindcss@3.4.10: + resolution: {integrity: sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==} + engines: {node: '>=14.0.0'} + hasBin: true + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + tiny-glob@0.2.9: + resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinyexec@0.3.0: + resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tsconfck@3.1.1: + resolution: {integrity: sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + typesafe-path@0.2.2: + resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==} + + typescript-auto-import-cache@0.3.3: + resolution: {integrity: sha512-ojEC7+Ci1ij9eE6hp8Jl9VUNnsEKzztktP5gtYNRMrTmfXVwA1PITYYAkpxCvvupdSYa/Re51B6KMcv1CTZEUA==} + + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} + + undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} + + unenv-nightly@1.10.0-1717606461.a117952: + resolution: {integrity: sha512-u3TfBX02WzbHTpaEfWEKwDijDSFAHcgXkayUZ+MVDrjhLFvgAJzFGTSTmwlEhwWi2exyRQey23ah9wELMM6etg==} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-modify-children@4.0.0: + resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-children@3.0.0: + resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite@5.4.2: + resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + 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 + + vitefu@0.2.5: + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + + volar-service-css@0.0.61: + resolution: {integrity: sha512-Ct9L/w+IB1JU8F4jofcNCGoHy6TF83aiapfZq9A0qYYpq+Kk5dH+ONS+rVZSsuhsunq8UvAuF8Gk6B8IFLfniw==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-emmet@0.0.61: + resolution: {integrity: sha512-iiYqBxjjcekqrRruw4COQHZME6EZYWVbkHjHDbULpml3g8HGJHzpAMkj9tXNCPxf36A+f1oUYjsvZt36qPg4cg==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-html@0.0.61: + resolution: {integrity: sha512-yFE+YmmgqIL5HI4ORqP++IYb1QaGcv+xBboI0WkCxJJ/M35HZj7f5rbT3eQ24ECLXFbFCFanckwyWJVz5KmN3Q==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-prettier@0.0.61: + resolution: {integrity: sha512-F612nql5I0IS8HxXemCGvOR2Uxd4XooIwqYVUvk7WSBxP/+xu1jYvE3QJ7EVpl8Ty3S4SxPXYiYTsG3bi+gzIQ==} + peerDependencies: + '@volar/language-service': ~2.4.0 + prettier: ^2.2 || ^3.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + prettier: + optional: true + + volar-service-typescript-twoslash-queries@0.0.61: + resolution: {integrity: sha512-99FICGrEF0r1E2tV+SvprHPw9Knyg7BdW2fUch0tf59kG+KG+Tj4tL6tUg+cy8f23O/VXlmsWFMIE+bx1dXPnQ==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-typescript@0.0.61: + resolution: {integrity: sha512-4kRHxVbW7wFBHZWRU6yWxTgiKETBDIJNwmJUAWeP0mHaKpnDGj/astdRFKqGFRYVeEYl45lcUPhdJyrzanjsdQ==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-yaml@0.0.61: + resolution: {integrity: sha512-L+gbDiLDQQ1rZUbJ3mf3doDsoQUa8OZM/xdpk/unMg1Vz24Zmi2Ign8GrZyBD7bRoIQDwOH9gdktGDKzRPpUNw==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + vscode-css-languageservice@6.3.1: + resolution: {integrity: sha512-1BzTBuJfwMc3A0uX4JBdJgoxp74cjj4q2mDJdp49yD/GuAq4X0k5WtK6fNcMYr+FfJ9nqgR6lpfCSZDkARJ5qQ==} + + vscode-html-languageservice@5.3.1: + resolution: {integrity: sha512-ysUh4hFeW/WOWz/TO9gm08xigiSsV/FOAZ+DolgJfeLftna54YdmZ4A+lIn46RbdO3/Qv5QHTn1ZGqmrXQhZyA==} + + vscode-json-languageservice@4.1.8: + resolution: {integrity: sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==} + engines: {npm: '>=7.0.0'} + + vscode-jsonrpc@6.0.0: + resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} + engines: {node: '>=8.0.0 || >=10.0.0'} + + vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + + vscode-languageserver-protocol@3.16.0: + resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} + + vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + + vscode-languageserver-types@3.16.0: + resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} + + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + vscode-languageserver@7.0.0: + resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} + hasBin: true + + vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true + + vscode-nls@5.2.0: + resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + + vscode-uri@2.1.2: + resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} + + which-pm@3.0.0: + resolution: {integrity: sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==} + engines: {node: '>=18.12'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + workerd@1.20240821.1: + resolution: {integrity: sha512-y4phjCnEG96u8ZkgkkHB+gSw0i6uMNo23rBmixylWpjxDklB+LWD8dztasvsu7xGaZbLoTxQESdEw956F7VJDA==} + engines: {node: '>=16'} + hasBin: true + + wrangler@3.72.3: + resolution: {integrity: sha512-EBlJGOcwanbzFkiJkRB47WKhvevh1AZK0ty0MyD0gptsgWnAxBfmFGiBuzOuRXbvH45ZrFrTqgi8c67EwcV1nA==} + engines: {node: '>=16.17.0'} + hasBin: true + peerDependencies: + '@cloudflare/workers-types': ^4.20240821.1 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xxhash-wasm@1.0.2: + resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml-language-server@1.15.0: + resolution: {integrity: sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==} + hasBin: true + + yaml@2.2.2: + resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} + engines: {node: '>= 14'} + + yaml@2.5.0: + resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} + + youch@3.3.3: + resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} + + zod-to-json-schema@3.23.2: + resolution: {integrity: sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==} + peerDependencies: + zod: ^3.23.3 + + zod-to-ts@1.2.0: + resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==} + peerDependencies: + typescript: ^4.9.4 || ^5.0.2 + zod: ^3 + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@antfu/install-pkg@0.4.1': + dependencies: + package-manager-detector: 0.2.0 + tinyexec: 0.3.0 + + '@antfu/utils@0.7.10': {} + + '@astrojs/check@0.7.0(typescript@5.5.4)': + dependencies: + '@astrojs/language-server': 2.14.1(typescript@5.5.4) + chokidar: 3.6.0 + fast-glob: 3.3.2 + kleur: 4.1.5 + typescript: 5.5.4 + yargs: 17.7.2 + transitivePeerDependencies: + - prettier + - prettier-plugin-astro + + '@astrojs/cloudflare@11.0.4(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4))': + dependencies: + '@astrojs/internal-helpers': 0.4.1 + '@astrojs/underscore-redirects': 0.3.4 + '@cloudflare/workers-types': 4.20240821.1 + '@inox-tools/astro-when': 0.2.2(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4)) + astro: 4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4) + esbuild: 0.22.0 + estree-walker: 3.0.3 + magic-string: 0.30.11 + miniflare: 3.20240821.0 + tiny-glob: 0.2.9 + wrangler: 3.72.3(@cloudflare/workers-types@4.20240821.1) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@astrojs/compiler@2.10.3': {} + + '@astrojs/db@0.11.7(@cloudflare/workers-types@4.20240821.1)': + dependencies: + '@astrojs/studio': 0.1.1 + '@libsql/client': 0.6.2 + async-listen: 3.0.1 + ci-info: 4.0.0 + deep-diff: 1.0.2 + drizzle-orm: 0.31.4(@cloudflare/workers-types@4.20240821.1)(@libsql/client@0.6.2) + github-slugger: 2.0.0 + kleur: 4.1.5 + nanoid: 5.0.7 + open: 10.1.0 + ora: 8.1.0 + prompts: 2.4.2 + strip-ansi: 7.1.0 + yargs-parser: 21.1.1 + zod: 3.23.8 + transitivePeerDependencies: + - '@aws-sdk/client-rds-data' + - '@cloudflare/workers-types' + - '@electric-sql/pglite' + - '@neondatabase/serverless' + - '@op-engineering/op-sqlite' + - '@opentelemetry/api' + - '@planetscale/database' + - '@prisma/client' + - '@tidbcloud/serverless' + - '@types/better-sqlite3' + - '@types/pg' + - '@types/react' + - '@types/sql.js' + - '@vercel/postgres' + - '@xata.io/client' + - better-sqlite3 + - bufferutil + - bun-types + - expo-sqlite + - knex + - kysely + - mysql2 + - pg + - postgres + - prisma + - react + - sql.js + - sqlite3 + - utf-8-validate + + '@astrojs/internal-helpers@0.4.1': {} + + '@astrojs/language-server@2.14.1(typescript@5.5.4)': + dependencies: + '@astrojs/compiler': 2.10.3 + '@astrojs/yaml2ts': 0.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@volar/kit': 2.4.0(typescript@5.5.4) + '@volar/language-core': 2.4.0 + '@volar/language-server': 2.4.0 + '@volar/language-service': 2.4.0 + '@volar/typescript': 2.4.0 + fast-glob: 3.3.2 + muggle-string: 0.4.1 + volar-service-css: 0.0.61(@volar/language-service@2.4.0) + volar-service-emmet: 0.0.61(@volar/language-service@2.4.0) + volar-service-html: 0.0.61(@volar/language-service@2.4.0) + volar-service-prettier: 0.0.61(@volar/language-service@2.4.0) + volar-service-typescript: 0.0.61(@volar/language-service@2.4.0) + volar-service-typescript-twoslash-queries: 0.0.61(@volar/language-service@2.4.0) + volar-service-yaml: 0.0.61(@volar/language-service@2.4.0) + vscode-html-languageservice: 5.3.1 + vscode-uri: 3.0.8 + transitivePeerDependencies: + - typescript + + '@astrojs/markdown-remark@5.2.0': + dependencies: + '@astrojs/prism': 3.1.0 + github-slugger: 2.0.0 + hast-util-from-html: 2.0.2 + hast-util-to-text: 4.0.2 + import-meta-resolve: 4.1.0 + mdast-util-definitions: 6.0.0 + rehype-raw: 7.0.0 + rehype-stringify: 10.0.0 + remark-gfm: 4.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + remark-smartypants: 3.0.2 + shiki: 1.14.1 + unified: 11.0.5 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@astrojs/mdx@3.1.4(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4))': + dependencies: + '@astrojs/markdown-remark': 5.2.0 + '@mdx-js/mdx': 3.0.1 + acorn: 8.12.1 + astro: 4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4) + es-module-lexer: 1.5.4 + estree-util-visit: 2.0.0 + gray-matter: 4.0.3 + hast-util-to-html: 9.0.2 + kleur: 4.1.5 + rehype-raw: 7.0.0 + remark-gfm: 4.0.0 + remark-smartypants: 3.0.2 + source-map: 0.7.4 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@astrojs/prism@3.1.0': + dependencies: + prismjs: 1.29.0 + + '@astrojs/studio@0.1.1': + dependencies: + ci-info: 4.0.0 + kleur: 4.1.5 + ora: 8.1.0 + + '@astrojs/tailwind@5.1.0(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4))(tailwindcss@3.4.10)': + dependencies: + astro: 4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4) + autoprefixer: 10.4.20(postcss@8.4.41) + postcss: 8.4.41 + postcss-load-config: 4.0.2(postcss@8.4.41) + tailwindcss: 3.4.10 + transitivePeerDependencies: + - ts-node + + '@astrojs/telemetry@3.1.0': + dependencies: + ci-info: 4.0.0 + debug: 4.3.6 + dlv: 1.1.3 + dset: 3.1.3 + is-docker: 3.0.0 + is-wsl: 3.1.0 + which-pm-runs: 1.1.0 + transitivePeerDependencies: + - supports-color + + '@astrojs/underscore-redirects@0.3.4': {} + + '@astrojs/yaml2ts@0.2.1': + dependencies: + yaml: 2.5.0 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.5 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.0 + '@babel/parser': 7.25.4 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + convert-source-map: 2.0.0 + debug: 4.3.6 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.5': + dependencies: + '@babel/types': 7.25.4 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.25.4 + + '@babel/helper-compilation-targets@7.25.2': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.8': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.8': {} + + '@babel/helpers@7.25.0': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.4 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.25.4': + dependencies: + '@babel/types': 7.25.4 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 + + '@babel/traverse@7.25.4': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.5 + '@babel/parser': 7.25.4 + '@babel/template': 7.25.0 + '@babel/types': 7.25.4 + debug: 4.3.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.4': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@cloudflare/kv-asset-handler@0.3.4': + dependencies: + mime: 3.0.0 + + '@cloudflare/workerd-darwin-64@1.20240821.1': + optional: true + + '@cloudflare/workerd-darwin-arm64@1.20240821.1': + optional: true + + '@cloudflare/workerd-linux-64@1.20240821.1': + optional: true + + '@cloudflare/workerd-linux-arm64@1.20240821.1': + optional: true + + '@cloudflare/workerd-windows-64@1.20240821.1': + optional: true + + '@cloudflare/workers-shared@0.4.0': {} + + '@cloudflare/workers-types@4.20240821.1': {} + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@emmetio/abbreviation@2.3.3': + dependencies: + '@emmetio/scanner': 1.0.4 + + '@emmetio/css-abbreviation@2.1.8': + dependencies: + '@emmetio/scanner': 1.0.4 + + '@emmetio/css-parser@0.4.0': + dependencies: + '@emmetio/stream-reader': 2.2.0 + '@emmetio/stream-reader-utils': 0.1.0 + + '@emmetio/html-matcher@1.3.0': + dependencies: + '@emmetio/scanner': 1.0.4 + + '@emmetio/scanner@1.0.4': {} + + '@emmetio/stream-reader-utils@0.1.0': {} + + '@emmetio/stream-reader@2.2.0': {} + + '@emnapi/runtime@1.2.0': + dependencies: + tslib: 2.7.0 + optional: true + + '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + + '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + escape-string-regexp: 4.0.0 + rollup-plugin-node-polyfills: 0.2.1 + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/aix-ppc64@0.22.0': + optional: true + + '@esbuild/android-arm64@0.17.19': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.22.0': + optional: true + + '@esbuild/android-arm@0.17.19': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-arm@0.22.0': + optional: true + + '@esbuild/android-x64@0.17.19': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/android-x64@0.22.0': + optional: true + + '@esbuild/darwin-arm64@0.17.19': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.22.0': + optional: true + + '@esbuild/darwin-x64@0.17.19': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.22.0': + optional: true + + '@esbuild/freebsd-arm64@0.17.19': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.22.0': + optional: true + + '@esbuild/freebsd-x64@0.17.19': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.22.0': + optional: true + + '@esbuild/linux-arm64@0.17.19': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.22.0': + optional: true + + '@esbuild/linux-arm@0.17.19': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-arm@0.22.0': + optional: true + + '@esbuild/linux-ia32@0.17.19': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.22.0': + optional: true + + '@esbuild/linux-loong64@0.17.19': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.22.0': + optional: true + + '@esbuild/linux-mips64el@0.17.19': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.22.0': + optional: true + + '@esbuild/linux-ppc64@0.17.19': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.22.0': + optional: true + + '@esbuild/linux-riscv64@0.17.19': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.22.0': + optional: true + + '@esbuild/linux-s390x@0.17.19': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.22.0': + optional: true + + '@esbuild/linux-x64@0.17.19': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/linux-x64@0.22.0': + optional: true + + '@esbuild/netbsd-x64@0.17.19': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.22.0': + optional: true + + '@esbuild/openbsd-arm64@0.22.0': + optional: true + + '@esbuild/openbsd-x64@0.17.19': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.22.0': + optional: true + + '@esbuild/sunos-x64@0.17.19': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.22.0': + optional: true + + '@esbuild/win32-arm64@0.17.19': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.22.0': + optional: true + + '@esbuild/win32-ia32@0.17.19': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.22.0': + optional: true + + '@esbuild/win32-x64@0.17.19': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@esbuild/win32-x64@0.22.0': + optional: true + + '@fastify/busboy@2.1.1': {} + + '@firebase/analytics-compat@0.2.13(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9)': + dependencies: + '@firebase/analytics': 0.10.7(@firebase/app@0.10.9) + '@firebase/analytics-types': 0.8.2 + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/analytics-types@0.8.2': {} + + '@firebase/analytics@0.10.7(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/installations': 0.6.8(@firebase/app@0.10.9) + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + + '@firebase/app-check-compat@0.3.14(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-check': 0.8.7(@firebase/app@0.10.9) + '@firebase/app-check-types': 0.5.2 + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/app-check-interop-types@0.3.2': {} + + '@firebase/app-check-types@0.5.2': {} + + '@firebase/app-check@0.8.7(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + + '@firebase/app-compat@0.2.39': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + + '@firebase/app-types@0.9.2': {} + + '@firebase/app@0.10.9': + dependencies: + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + idb: 7.1.1 + tslib: 2.7.0 + + '@firebase/auth-compat@0.5.12(@firebase/app-compat@0.2.39)(@firebase/app-types@0.9.2)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-compat': 0.2.39 + '@firebase/auth': 1.7.7(@firebase/app@0.10.9) + '@firebase/auth-types': 0.12.2(@firebase/app-types@0.9.2)(@firebase/util@1.9.7) + '@firebase/component': 0.6.8 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + undici: 5.28.4 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + - '@react-native-async-storage/async-storage' + + '@firebase/auth-interop-types@0.2.3': {} + + '@firebase/auth-types@0.12.2(@firebase/app-types@0.9.2)(@firebase/util@1.9.7)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.9.7 + + '@firebase/auth@1.7.7(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + undici: 5.28.4 + + '@firebase/component@0.6.8': + dependencies: + '@firebase/util': 1.9.7 + tslib: 2.7.0 + + '@firebase/database-compat@1.0.7': + dependencies: + '@firebase/component': 0.6.8 + '@firebase/database': 1.0.7 + '@firebase/database-types': 1.0.4 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + + '@firebase/database-types@1.0.4': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.9.7 + + '@firebase/database@1.0.7': + dependencies: + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/auth-interop-types': 0.2.3 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + faye-websocket: 0.11.4 + tslib: 2.7.0 + + '@firebase/firestore-compat@0.3.35(@firebase/app-compat@0.2.39)(@firebase/app-types@0.9.2)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/firestore': 4.7.0(@firebase/app@0.10.9) + '@firebase/firestore-types': 3.0.2(@firebase/app-types@0.9.2)(@firebase/util@1.9.7) + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/firestore-types@3.0.2(@firebase/app-types@0.9.2)(@firebase/util@1.9.7)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.9.7 + + '@firebase/firestore@4.7.0(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + '@firebase/webchannel-wrapper': 1.0.1 + '@grpc/grpc-js': 1.9.15 + '@grpc/proto-loader': 0.7.13 + tslib: 2.7.0 + undici: 5.28.4 + + '@firebase/functions-compat@0.3.12(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/functions': 0.11.6(@firebase/app@0.10.9) + '@firebase/functions-types': 0.6.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/functions-types@0.6.2': {} + + '@firebase/functions@0.11.6(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/auth-interop-types': 0.2.3 + '@firebase/component': 0.6.8 + '@firebase/messaging-interop-types': 0.2.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + undici: 5.28.4 + + '@firebase/installations-compat@0.2.8(@firebase/app-compat@0.2.39)(@firebase/app-types@0.9.2)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/installations': 0.6.8(@firebase/app@0.10.9) + '@firebase/installations-types': 0.5.2(@firebase/app-types@0.9.2) + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/installations-types@0.5.2(@firebase/app-types@0.9.2)': + dependencies: + '@firebase/app-types': 0.9.2 + + '@firebase/installations@0.6.8(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/util': 1.9.7 + idb: 7.1.1 + tslib: 2.7.0 + + '@firebase/logger@0.4.2': + dependencies: + tslib: 2.7.0 + + '@firebase/messaging-compat@0.2.10(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/messaging': 0.12.10(@firebase/app@0.10.9) + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/messaging-interop-types@0.2.2': {} + + '@firebase/messaging@0.12.10(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/installations': 0.6.8(@firebase/app@0.10.9) + '@firebase/messaging-interop-types': 0.2.2 + '@firebase/util': 1.9.7 + idb: 7.1.1 + tslib: 2.7.0 + + '@firebase/performance-compat@0.2.8(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/performance': 0.6.8(@firebase/app@0.10.9) + '@firebase/performance-types': 0.2.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/performance-types@0.2.2': {} + + '@firebase/performance@0.6.8(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/installations': 0.6.8(@firebase/app@0.10.9) + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + + '@firebase/remote-config-compat@0.2.8(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/remote-config': 0.4.8(@firebase/app@0.10.9) + '@firebase/remote-config-types': 0.3.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/remote-config-types@0.3.2': {} + + '@firebase/remote-config@0.4.8(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/installations': 0.6.8(@firebase/app@0.10.9) + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + + '@firebase/storage-compat@0.3.10(@firebase/app-compat@0.2.39)(@firebase/app-types@0.9.2)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app-compat': 0.2.39 + '@firebase/component': 0.6.8 + '@firebase/storage': 0.13.0(@firebase/app@0.10.9) + '@firebase/storage-types': 0.8.2(@firebase/app-types@0.9.2)(@firebase/util@1.9.7) + '@firebase/util': 1.9.7 + tslib: 2.7.0 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/storage-types@0.8.2(@firebase/app-types@0.9.2)(@firebase/util@1.9.7)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.9.7 + + '@firebase/storage@0.13.0(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/component': 0.6.8 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + undici: 5.28.4 + + '@firebase/util@1.9.7': + dependencies: + tslib: 2.7.0 + + '@firebase/vertexai-preview@0.0.3(@firebase/app-types@0.9.2)(@firebase/app@0.10.9)': + dependencies: + '@firebase/app': 0.10.9 + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/app-types': 0.9.2 + '@firebase/component': 0.6.8 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.9.7 + tslib: 2.7.0 + + '@firebase/webchannel-wrapper@1.0.1': {} + + '@grpc/grpc-js@1.9.15': + dependencies: + '@grpc/proto-loader': 0.7.13 + '@types/node': 22.5.0 + + '@grpc/proto-loader@0.7.13': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.2.3 + protobufjs: 7.4.0 + yargs: 17.7.2 + + '@iconify/tools@4.0.5': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/utils': 2.1.32 + '@types/tar': 6.1.13 + axios: 1.7.5 + cheerio: 1.0.0 + domhandler: 5.0.3 + extract-zip: 2.0.1 + local-pkg: 0.5.0 + pathe: 1.1.2 + svgo: 3.3.2 + tar: 6.2.1 + transitivePeerDependencies: + - debug + - supports-color + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.1.32': + dependencies: + '@antfu/install-pkg': 0.4.1 + '@antfu/utils': 0.7.10 + '@iconify/types': 2.0.0 + debug: 4.3.6 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.7.1 + transitivePeerDependencies: + - supports-color + + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.2.0 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + + '@inox-tools/astro-when@0.2.2(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4))': + dependencies: + astro: 4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4) + astro-integration-kit: 0.16.1(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4)) + debug: 4.3.6 + transitivePeerDependencies: + - supports-color + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@libsql/client@0.6.2': + dependencies: + '@libsql/core': 0.6.2 + '@libsql/hrana-client': 0.6.2 + js-base64: 3.7.7 + libsql: 0.3.19 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/core@0.6.2': + dependencies: + js-base64: 3.7.7 + + '@libsql/darwin-arm64@0.3.19': + optional: true + + '@libsql/darwin-x64@0.3.19': + optional: true + + '@libsql/hrana-client@0.6.2': + dependencies: + '@libsql/isomorphic-fetch': 0.2.5 + '@libsql/isomorphic-ws': 0.1.5 + js-base64: 3.7.7 + node-fetch: 3.3.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/isomorphic-fetch@0.2.5': {} + + '@libsql/isomorphic-ws@0.1.5': + dependencies: + '@types/ws': 8.5.12 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/linux-arm64-gnu@0.3.19': + optional: true + + '@libsql/linux-arm64-musl@0.3.19': + optional: true + + '@libsql/linux-x64-gnu@0.3.19': + optional: true + + '@libsql/linux-x64-musl@0.3.19': + optional: true + + '@libsql/win32-x64-msvc@0.3.19': + optional: true + + '@mdx-js/mdx@3.0.1': + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@neon-rs/load@0.0.4': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@oslojs/encoding@0.4.1': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + + '@rollup/pluginutils@5.1.0(rollup@4.21.1)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.21.1 + + '@rollup/rollup-android-arm-eabi@4.21.1': + optional: true + + '@rollup/rollup-android-arm64@4.21.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.21.1': + optional: true + + '@rollup/rollup-darwin-x64@4.21.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.21.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.21.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.21.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.21.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.21.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.21.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.21.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.21.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.21.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.21.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.21.1': + optional: true + + '@shikijs/core@1.14.1': + dependencies: + '@types/hast': 3.0.4 + + '@trysound/sax@0.2.0': {} + + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.5 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.25.4 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.25.4 + + '@types/cookie@0.6.0': {} + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.5 + + '@types/estree@1.0.5': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.13': {} + + '@types/ms@0.7.34': {} + + '@types/nlcst@2.0.3': + dependencies: + '@types/unist': 3.0.3 + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 22.5.0 + + '@types/node@22.5.0': + dependencies: + undici-types: 6.19.8 + + '@types/tar@6.1.13': + dependencies: + '@types/node': 22.5.0 + minipass: 4.2.8 + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/ws@8.5.12': + dependencies: + '@types/node': 22.5.0 + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 22.5.0 + optional: true + + '@ungap/structured-clone@1.2.0': {} + + '@volar/kit@2.4.0(typescript@5.5.4)': + dependencies: + '@volar/language-service': 2.4.0 + '@volar/typescript': 2.4.0 + typesafe-path: 0.2.2 + typescript: 5.5.4 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + '@volar/language-core@2.4.0': + dependencies: + '@volar/source-map': 2.4.0 + + '@volar/language-server@2.4.0': + dependencies: + '@volar/language-core': 2.4.0 + '@volar/language-service': 2.4.0 + '@volar/typescript': 2.4.0 + path-browserify: 1.0.1 + request-light: 0.7.0 + vscode-languageserver: 9.0.1 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + '@volar/language-service@2.4.0': + dependencies: + '@volar/language-core': 2.4.0 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + '@volar/source-map@2.4.0': {} + + '@volar/typescript@2.4.0': + dependencies: + '@volar/language-core': 2.4.0 + path-browserify: 1.0.1 + vscode-uri: 3.0.8 + + '@vscode/emmet-helper@2.9.3': + dependencies: + emmet: 2.4.7 + jsonc-parser: 2.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-uri: 2.1.2 + + '@vscode/l10n@0.0.18': {} + + acorn-jsx@5.3.2(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.1 + + acorn@8.12.1: {} + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.1 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + + array-iterate@2.0.1: {} + + as-table@1.0.55: + dependencies: + printable-characters: 1.0.42 + + ast-types@0.16.1: + dependencies: + tslib: 2.7.0 + + astring@1.9.0: {} + + astro-icon@1.1.1: + dependencies: + '@iconify/tools': 4.0.5 + '@iconify/types': 2.0.0 + '@iconify/utils': 2.1.32 + transitivePeerDependencies: + - debug + - supports-color + + astro-integration-kit@0.16.1(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4)): + dependencies: + astro: 4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4) + pathe: 1.1.2 + recast: 0.23.9 + + astro@4.14.5(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4): + dependencies: + '@astrojs/compiler': 2.10.3 + '@astrojs/internal-helpers': 0.4.1 + '@astrojs/markdown-remark': 5.2.0 + '@astrojs/telemetry': 3.1.0 + '@babel/core': 7.25.2 + '@babel/generator': 7.25.5 + '@babel/parser': 7.25.4 + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + '@oslojs/encoding': 0.4.1 + '@rollup/pluginutils': 5.1.0(rollup@4.21.1) + '@types/babel__core': 7.20.5 + '@types/cookie': 0.6.0 + acorn: 8.12.1 + aria-query: 5.3.0 + axobject-query: 4.1.0 + boxen: 7.1.1 + ci-info: 4.0.0 + clsx: 2.1.1 + common-ancestor-path: 1.0.1 + cookie: 0.6.0 + cssesc: 3.0.0 + debug: 4.3.6 + deterministic-object-hash: 2.0.2 + devalue: 5.0.0 + diff: 5.2.0 + dlv: 1.1.3 + dset: 3.1.3 + es-module-lexer: 1.5.4 + esbuild: 0.21.5 + estree-walker: 3.0.3 + execa: 8.0.1 + fast-glob: 3.3.2 + flattie: 1.1.1 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + html-escaper: 3.0.3 + http-cache-semantics: 4.1.1 + js-yaml: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.11 + micromatch: 4.0.8 + mrmime: 2.0.0 + neotraverse: 0.6.18 + ora: 8.1.0 + p-limit: 6.1.0 + p-queue: 8.0.1 + path-to-regexp: 6.2.2 + preferred-pm: 4.0.0 + prompts: 2.4.2 + rehype: 13.0.1 + semver: 7.6.3 + shiki: 1.14.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + tsconfck: 3.1.1(typescript@5.5.4) + unist-util-visit: 5.0.0 + vfile: 6.0.3 + vite: 5.4.2(@types/node@22.5.0) + vitefu: 0.2.5(vite@5.4.2(@types/node@22.5.0)) + which-pm: 3.0.0 + xxhash-wasm: 1.0.2 + yargs-parser: 21.1.1 + zod: 3.23.8 + zod-to-json-schema: 3.23.2(zod@3.23.8) + zod-to-ts: 1.2.0(typescript@5.5.4)(zod@3.23.8) + optionalDependencies: + sharp: 0.33.5 + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - typescript + + async-listen@3.0.1: {} + + asynckit@0.4.0: {} + + autoprefixer@10.4.20(postcss@8.4.41): + dependencies: + browserslist: 4.23.3 + caniuse-lite: 1.0.30001653 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.1 + postcss: 8.4.41 + postcss-value-parser: 4.2.0 + + axios@1.7.5: + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axobject-query@4.1.0: {} + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + base-64@1.0.0: {} + + binary-extensions@2.3.0: {} + + blake3-wasm@2.1.5: {} + + boolbase@1.0.0: {} + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001653 + electron-to-chromium: 1.5.13 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + + buffer-crc32@0.2.13: {} + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + + camelcase-css@2.0.1: {} + + camelcase@7.0.1: {} + + caniuse-lite@1.0.30001653: {} + + capnp-ts@0.7.0: + dependencies: + debug: 4.3.6 + tslib: 2.7.0 + transitivePeerDependencies: + - supports-color + + ccount@2.0.1: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@5.3.0: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + + cheerio@1.0.0: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + parse5-parser-stream: 7.1.2 + undici: 6.19.8 + whatwg-mimetype: 4.0.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@2.0.0: {} + + ci-info@4.0.0: {} + + class-variance-authority@0.7.0: + dependencies: + clsx: 2.0.0 + + cli-boxes@3.0.0: {} + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-spinners@2.9.2: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clsx@2.0.0: {} + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + optional: true + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + optional: true + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@2.0.3: {} + + commander@4.1.1: {} + + commander@7.2.0: {} + + common-ancestor-path@1.0.1: {} + + confbox@0.1.7: {} + + consola@3.2.3: {} + + convert-source-map@2.0.0: {} + + cookie@0.5.0: {} + + cookie@0.6.0: {} + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.0 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + + css-what@6.1.0: {} + + cssesc@3.0.0: {} + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + data-uri-to-buffer@2.0.2: {} + + data-uri-to-buffer@4.0.1: {} + + date-fns@3.6.0: {} + + debug@4.3.6: + dependencies: + ms: 2.1.2 + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + deep-diff@1.0.2: {} + + default-browser-id@5.0.0: {} + + default-browser@5.2.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + + define-lazy-prop@3.0.0: {} + + defu@6.1.4: {} + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + detect-libc@2.0.2: {} + + detect-libc@2.0.3: + optional: true + + deterministic-object-hash@2.0.2: + dependencies: + base-64: 1.0.0 + + devalue@5.0.0: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + didyoumean@1.2.2: {} + + diff@5.2.0: {} + + dlv@1.1.3: {} + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + drizzle-orm@0.31.4(@cloudflare/workers-types@4.20240821.1)(@libsql/client@0.6.2): + optionalDependencies: + '@cloudflare/workers-types': 4.20240821.1 + '@libsql/client': 0.6.2 + + dset@3.1.3: {} + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.13: {} + + emmet@2.4.7: + dependencies: + '@emmetio/abbreviation': 2.3.3 + '@emmetio/css-abbreviation': 2.1.8 + + emoji-regex@10.4.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + encoding-sniffer@0.2.0: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + entities@4.5.0: {} + + es-module-lexer@1.5.4: {} + + esbuild@0.17.19: + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + + esbuild@0.21.5: + 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 + + esbuild@0.22.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.22.0 + '@esbuild/android-arm': 0.22.0 + '@esbuild/android-arm64': 0.22.0 + '@esbuild/android-x64': 0.22.0 + '@esbuild/darwin-arm64': 0.22.0 + '@esbuild/darwin-x64': 0.22.0 + '@esbuild/freebsd-arm64': 0.22.0 + '@esbuild/freebsd-x64': 0.22.0 + '@esbuild/linux-arm': 0.22.0 + '@esbuild/linux-arm64': 0.22.0 + '@esbuild/linux-ia32': 0.22.0 + '@esbuild/linux-loong64': 0.22.0 + '@esbuild/linux-mips64el': 0.22.0 + '@esbuild/linux-ppc64': 0.22.0 + '@esbuild/linux-riscv64': 0.22.0 + '@esbuild/linux-s390x': 0.22.0 + '@esbuild/linux-x64': 0.22.0 + '@esbuild/netbsd-x64': 0.22.0 + '@esbuild/openbsd-arm64': 0.22.0 + '@esbuild/openbsd-x64': 0.22.0 + '@esbuild/sunos-x64': 0.22.0 + '@esbuild/win32-arm64': 0.22.0 + '@esbuild/win32-ia32': 0.22.0 + '@esbuild/win32-x64': 0.22.0 + + escalade@3.1.2: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + esprima@4.0.1: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.5 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.4 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@0.6.1: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + eventemitter3@5.0.1: {} + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + exit-hook@2.2.1: {} + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + extract-zip@2.0.1: + dependencies: + debug: 4.3.6 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-uri@3.0.1: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up-simple@1.0.0: {} + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-yarn-workspace-root2@1.2.16: + dependencies: + micromatch: 4.0.8 + pkg-dir: 4.2.0 + + firebase@10.13.0: + dependencies: + '@firebase/analytics': 0.10.7(@firebase/app@0.10.9) + '@firebase/analytics-compat': 0.2.13(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9) + '@firebase/app': 0.10.9 + '@firebase/app-check': 0.8.7(@firebase/app@0.10.9) + '@firebase/app-check-compat': 0.3.14(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9) + '@firebase/app-compat': 0.2.39 + '@firebase/app-types': 0.9.2 + '@firebase/auth': 1.7.7(@firebase/app@0.10.9) + '@firebase/auth-compat': 0.5.12(@firebase/app-compat@0.2.39)(@firebase/app-types@0.9.2)(@firebase/app@0.10.9) + '@firebase/database': 1.0.7 + '@firebase/database-compat': 1.0.7 + '@firebase/firestore': 4.7.0(@firebase/app@0.10.9) + '@firebase/firestore-compat': 0.3.35(@firebase/app-compat@0.2.39)(@firebase/app-types@0.9.2)(@firebase/app@0.10.9) + '@firebase/functions': 0.11.6(@firebase/app@0.10.9) + '@firebase/functions-compat': 0.3.12(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9) + '@firebase/installations': 0.6.8(@firebase/app@0.10.9) + '@firebase/installations-compat': 0.2.8(@firebase/app-compat@0.2.39)(@firebase/app-types@0.9.2)(@firebase/app@0.10.9) + '@firebase/messaging': 0.12.10(@firebase/app@0.10.9) + '@firebase/messaging-compat': 0.2.10(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9) + '@firebase/performance': 0.6.8(@firebase/app@0.10.9) + '@firebase/performance-compat': 0.2.8(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9) + '@firebase/remote-config': 0.4.8(@firebase/app@0.10.9) + '@firebase/remote-config-compat': 0.2.8(@firebase/app-compat@0.2.39)(@firebase/app@0.10.9) + '@firebase/storage': 0.13.0(@firebase/app@0.10.9) + '@firebase/storage-compat': 0.3.10(@firebase/app-compat@0.2.39)(@firebase/app-types@0.9.2)(@firebase/app@0.10.9) + '@firebase/util': 1.9.7 + '@firebase/vertexai-preview': 0.0.3(@firebase/app-types@0.9.2)(@firebase/app@0.10.9) + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + + flattie@1.1.1: {} + + follow-redirects@1.15.6: {} + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + fraction.js@4.3.7: {} + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.2.0: {} + + get-source@2.0.12: + dependencies: + data-uri-to-buffer: 2.0.2 + source-map: 0.6.1 + + get-stream@5.2.0: + dependencies: + pump: 3.0.0 + + get-stream@8.0.1: {} + + github-slugger@2.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + + globals@11.12.0: {} + + globalyzer@0.1.0: {} + + globrex@0.1.2: {} + + graceful-fs@4.2.11: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + has-flag@3.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-from-html@2.0.2: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.3 + vfile-message: 4.0.2 + + hast-util-from-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.5.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.0: + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-html@9.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-jsx-runtime@2.3.0: + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.6 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + html-escaper@3.0.3: {} + + html-void-elements@3.0.0: {} + + htmlparser2@9.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + + http-cache-semantics@4.1.1: {} + + http-parser-js@0.5.8: {} + + human-signals@5.0.0: {} + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + idb@7.1.1: {} + + import-meta-resolve@4.1.0: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.3: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.3.2: + optional: true + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-decimal@2.0.1: {} + + is-docker@3.0.0: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@2.0.0: {} + + is-number@7.0.0: {} + + is-plain-obj@4.1.0: {} + + is-reference@3.0.2: + dependencies: + '@types/estree': 1.0.5 + + is-stream@3.0.0: {} + + is-unicode-supported@1.3.0: {} + + is-unicode-supported@2.0.0: {} + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + isexe@2.0.0: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.6: {} + + js-base64@3.7.7: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@2.5.2: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonc-parser@2.3.1: {} + + jsonc-parser@3.3.1: {} + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + kleur@4.1.5: {} + + kolorist@1.8.0: {} + + libsql@0.3.19: + dependencies: + '@neon-rs/load': 0.0.4 + detect-libc: 2.0.2 + optionalDependencies: + '@libsql/darwin-arm64': 0.3.19 + '@libsql/darwin-x64': 0.3.19 + '@libsql/linux-arm64-gnu': 0.3.19 + '@libsql/linux-arm64-musl': 0.3.19 + '@libsql/linux-x64-gnu': 0.3.19 + '@libsql/linux-x64-musl': 0.3.19 + '@libsql/win32-x64-msvc': 0.3.19 + + lilconfig@2.1.0: {} + + lilconfig@3.1.2: {} + + lines-and-columns@1.2.4: {} + + load-yaml-file@0.2.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + + local-pkg@0.5.0: + dependencies: + mlly: 1.7.1 + pkg-types: 1.2.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lodash.camelcase@4.3.0: {} + + lodash@4.17.21: {} + + log-symbols@6.0.0: + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + + long@5.2.3: {} + + longest-streak@3.1.0: {} + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.25.9: + dependencies: + sourcemap-codec: 1.4.8 + + magic-string@0.30.11: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.3: {} + + mdast-util-definitions@6.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.3: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromark-core-commonmark@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-expression@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-jsx@3.0.0: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-mdx-expression@2.0.1: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-events-to-acorn@2.0.2: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.6 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@3.0.0: {} + + mimic-fn@4.0.0: {} + + mimic-function@5.0.1: {} + + miniflare@3.20240821.0: + dependencies: + '@cspotcode/source-map-support': 0.8.1 + acorn: 8.12.1 + acorn-walk: 8.3.3 + capnp-ts: 0.7.0 + exit-hook: 2.2.1 + glob-to-regexp: 0.4.1 + stoppable: 1.1.0 + undici: 5.28.4 + workerd: 1.20240821.1 + ws: 8.18.0 + youch: 3.3.3 + zod: 3.23.8 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@4.2.8: {} + + minipass@5.0.0: {} + + minipass@7.1.2: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@1.0.4: {} + + mlly@1.7.1: + dependencies: + acorn: 8.12.1 + pathe: 1.1.2 + pkg-types: 1.2.0 + ufo: 1.5.4 + + mrmime@2.0.0: {} + + ms@2.1.2: {} + + muggle-string@0.4.1: {} + + mustache@4.2.0: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.7: {} + + nanoid@5.0.7: {} + + neotraverse@0.6.18: {} + + nlcst-to-string@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + + node-domexception@1.0.0: {} + + node-fetch-native@1.6.4: {} + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + node-forge@1.3.1: {} + + node-releases@2.0.18: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + open@10.1.0: + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + + ora@8.1.0: + dependencies: + chalk: 5.3.0 + cli-cursor: 5.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.0.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.2.0 + strip-ansi: 7.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@6.1.0: + dependencies: + yocto-queue: 1.1.1 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-queue@8.0.1: + dependencies: + eventemitter3: 5.0.1 + p-timeout: 6.1.2 + + p-timeout@6.1.2: {} + + p-try@2.2.0: {} + + package-json-from-dist@1.0.0: {} + + package-manager-detector@0.2.0: {} + + parse-entities@4.0.1: + dependencies: + '@types/unist': 2.0.11 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-latin@7.0.0: + dependencies: + '@types/nlcst': 2.0.3 + '@types/unist': 3.0.3 + nlcst-to-string: 4.0.0 + unist-util-modify-children: 4.0.0 + unist-util-visit-children: 3.0.0 + vfile: 6.0.3 + + parse5-htmlparser2-tree-adapter@7.0.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.1.2 + + parse5@7.1.2: + dependencies: + entities: 4.5.0 + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-to-regexp@6.2.2: {} + + pathe@1.1.2: {} + + pend@1.2.0: {} + + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + pify@2.3.0: {} + + pify@4.0.1: {} + + pirates@4.0.6: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pkg-types@1.2.0: + dependencies: + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 + + postcss-import@15.1.0(postcss@8.4.41): + dependencies: + postcss: 8.4.41 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.41): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.41 + + postcss-load-config@4.0.2(postcss@8.4.41): + dependencies: + lilconfig: 3.1.2 + yaml: 2.5.0 + optionalDependencies: + postcss: 8.4.41 + + postcss-nested@6.2.0(postcss@8.4.41): + dependencies: + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.4.41: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + + preferred-pm@4.0.0: + dependencies: + find-up-simple: 1.0.0 + find-yarn-workspace-root2: 1.2.16 + which-pm: 3.0.0 + + prettier@2.8.7: + optional: true + + printable-characters@1.0.42: {} + + prismjs@1.29.0: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + property-information@6.5.0: {} + + protobufjs@7.4.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.5.0 + long: 5.2.3 + + proxy-from-env@1.1.0: {} + + pump@3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + queue-microtask@1.2.3: {} + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + recast@0.23.9: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.7.0 + + rehype-parse@9.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-html: 2.0.2 + unified: 11.0.5 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.0.4 + vfile: 6.0.3 + + rehype-stringify@10.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.2 + unified: 11.0.5 + + rehype@13.0.1: + dependencies: + '@types/hast': 3.0.4 + rehype-parse: 9.0.0 + rehype-stringify: 10.0.0 + unified: 11.0.5 + + remark-gfm@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.0.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + micromark-util-types: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.3 + + remark-smartypants@3.0.2: + dependencies: + retext: 9.0.0 + retext-smartypants: 6.1.1 + unified: 11.0.5 + unist-util-visit: 5.0.0 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.5 + + request-light@0.5.8: {} + + request-light@0.7.0: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + resolve.exports@2.0.2: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + retext-latin@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + parse-latin: 7.0.0 + unified: 11.0.5 + + retext-smartypants@6.1.1: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unist-util-visit: 5.0.0 + + retext-stringify@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.5 + + retext@9.0.0: + dependencies: + '@types/nlcst': 2.0.3 + retext-latin: 4.0.0 + retext-stringify: 4.0.0 + unified: 11.0.5 + + reusify@1.0.4: {} + + rollup-plugin-inject@3.0.2: + dependencies: + estree-walker: 0.6.1 + magic-string: 0.25.9 + rollup-pluginutils: 2.8.2 + + rollup-plugin-node-polyfills@0.2.1: + dependencies: + rollup-plugin-inject: 3.0.2 + + rollup-pluginutils@2.8.2: + dependencies: + estree-walker: 0.6.1 + + rollup@4.21.1: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.21.1 + '@rollup/rollup-android-arm64': 4.21.1 + '@rollup/rollup-darwin-arm64': 4.21.1 + '@rollup/rollup-darwin-x64': 4.21.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.1 + '@rollup/rollup-linux-arm-musleabihf': 4.21.1 + '@rollup/rollup-linux-arm64-gnu': 4.21.1 + '@rollup/rollup-linux-arm64-musl': 4.21.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.1 + '@rollup/rollup-linux-riscv64-gnu': 4.21.1 + '@rollup/rollup-linux-s390x-gnu': 4.21.1 + '@rollup/rollup-linux-x64-gnu': 4.21.1 + '@rollup/rollup-linux-x64-musl': 4.21.1 + '@rollup/rollup-win32-arm64-msvc': 4.21.1 + '@rollup/rollup-win32-ia32-msvc': 4.21.1 + '@rollup/rollup-win32-x64-msvc': 4.21.1 + fsevents: 2.3.3 + + run-applescript@7.0.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + + semver@6.3.1: {} + + semver@7.6.3: {} + + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + optional: true + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shiki@1.14.1: + dependencies: + '@shikijs/core': 1.14.1 + '@types/hast': 3.0.4 + + signal-exit@4.1.0: {} + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + optional: true + + sisteransi@1.0.5: {} + + source-map-js@1.2.0: {} + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + sourcemap-codec@1.4.8: {} + + space-separated-tokens@2.0.2: {} + + sprintf-js@1.0.3: {} + + stacktracey@2.1.8: + dependencies: + as-table: 1.0.55 + get-source: 2.0.12 + + stdin-discarder@0.2.2: {} + + stoppable@1.1.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-bom-string@1.0.0: {} + + strip-bom@3.0.0: {} + + strip-final-newline@3.0.0: {} + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.6: + dependencies: + inline-style-parser: 0.2.3 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.0.1 + + tailwind-merge@2.5.2: {} + + tailwindcss@3.4.10: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.1 + postcss: 8.4.41 + postcss-import: 15.1.0(postcss@8.4.41) + postcss-js: 4.0.1(postcss@8.4.41) + postcss-load-config: 4.0.2(postcss@8.4.41) + postcss-nested: 6.2.0(postcss@8.4.41) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + tiny-glob@0.2.9: + dependencies: + globalyzer: 0.1.0 + globrex: 0.1.2 + + tiny-invariant@1.3.3: {} + + tinyexec@0.3.0: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-interface-checker@0.1.13: {} + + tsconfck@3.1.1(typescript@5.5.4): + optionalDependencies: + typescript: 5.5.4 + + tslib@2.7.0: {} + + type-fest@2.19.0: {} + + typesafe-path@0.2.2: {} + + typescript-auto-import-cache@0.3.3: + dependencies: + semver: 7.6.3 + + typescript@5.5.4: {} + + ufo@1.5.4: {} + + undici-types@6.19.8: {} + + undici@5.28.4: + dependencies: + '@fastify/busboy': 2.1.1 + + undici@6.19.8: {} + + unenv-nightly@1.10.0-1717606461.a117952: + dependencies: + consola: 3.2.3 + defu: 6.1.4 + mime: 3.0.0 + node-fetch-native: 1.6.4 + pathe: 1.1.2 + ufo: 1.5.4 + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-modify-children@4.0.0: + dependencies: + '@types/unist': 3.0.3 + array-iterate: 2.0.1 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-children@3.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.1.2 + picocolors: 1.0.1 + + util-deprecate@1.0.2: {} + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + vite@5.4.2(@types/node@22.5.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.41 + rollup: 4.21.1 + optionalDependencies: + '@types/node': 22.5.0 + fsevents: 2.3.3 + + vitefu@0.2.5(vite@5.4.2(@types/node@22.5.0)): + optionalDependencies: + vite: 5.4.2(@types/node@22.5.0) + + volar-service-css@0.0.61(@volar/language-service@2.4.0): + dependencies: + vscode-css-languageservice: 6.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.0 + + volar-service-emmet@0.0.61(@volar/language-service@2.4.0): + dependencies: + '@emmetio/css-parser': 0.4.0 + '@emmetio/html-matcher': 1.3.0 + '@vscode/emmet-helper': 2.9.3 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.0 + + volar-service-html@0.0.61(@volar/language-service@2.4.0): + dependencies: + vscode-html-languageservice: 5.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.0 + + volar-service-prettier@0.0.61(@volar/language-service@2.4.0): + dependencies: + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.0 + + volar-service-typescript-twoslash-queries@0.0.61(@volar/language-service@2.4.0): + dependencies: + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.0 + + volar-service-typescript@0.0.61(@volar/language-service@2.4.0): + dependencies: + path-browserify: 1.0.1 + semver: 7.6.3 + typescript-auto-import-cache: 0.3.3 + vscode-languageserver-textdocument: 1.0.12 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.0 + + volar-service-yaml@0.0.61(@volar/language-service@2.4.0): + dependencies: + vscode-uri: 3.0.8 + yaml-language-server: 1.15.0 + optionalDependencies: + '@volar/language-service': 2.4.0 + + vscode-css-languageservice@6.3.1: + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + vscode-html-languageservice@5.3.1: + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + vscode-json-languageservice@4.1.8: + dependencies: + jsonc-parser: 3.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + + vscode-jsonrpc@6.0.0: {} + + vscode-jsonrpc@8.2.0: {} + + vscode-languageserver-protocol@3.16.0: + dependencies: + vscode-jsonrpc: 6.0.0 + vscode-languageserver-types: 3.16.0 + + vscode-languageserver-protocol@3.17.5: + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + vscode-languageserver-textdocument@1.0.12: {} + + vscode-languageserver-types@3.16.0: {} + + vscode-languageserver-types@3.17.5: {} + + vscode-languageserver@7.0.0: + dependencies: + vscode-languageserver-protocol: 3.16.0 + + vscode-languageserver@9.0.1: + dependencies: + vscode-languageserver-protocol: 3.17.5 + + vscode-nls@5.2.0: {} + + vscode-uri@2.1.2: {} + + vscode-uri@3.0.8: {} + + web-namespaces@2.0.1: {} + + web-streams-polyfill@3.3.3: {} + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + + which-pm-runs@1.1.0: {} + + which-pm@3.0.0: + dependencies: + load-yaml-file: 0.2.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + workerd@1.20240821.1: + optionalDependencies: + '@cloudflare/workerd-darwin-64': 1.20240821.1 + '@cloudflare/workerd-darwin-arm64': 1.20240821.1 + '@cloudflare/workerd-linux-64': 1.20240821.1 + '@cloudflare/workerd-linux-arm64': 1.20240821.1 + '@cloudflare/workerd-windows-64': 1.20240821.1 + + wrangler@3.72.3(@cloudflare/workers-types@4.20240821.1): + dependencies: + '@cloudflare/kv-asset-handler': 0.3.4 + '@cloudflare/workers-shared': 0.4.0 + '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) + '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) + blake3-wasm: 2.1.5 + chokidar: 3.6.0 + date-fns: 3.6.0 + esbuild: 0.17.19 + miniflare: 3.20240821.0 + nanoid: 3.3.7 + path-to-regexp: 6.2.2 + resolve: 1.22.8 + resolve.exports: 2.0.2 + selfsigned: 2.4.1 + source-map: 0.6.1 + unenv: unenv-nightly@1.10.0-1717606461.a117952 + workerd: 1.20240821.1 + xxhash-wasm: 1.0.2 + optionalDependencies: + '@cloudflare/workers-types': 4.20240821.1 + fsevents: 2.3.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + ws@8.18.0: {} + + xxhash-wasm@1.0.2: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml-language-server@1.15.0: + dependencies: + ajv: 8.17.1 + lodash: 4.17.21 + request-light: 0.5.8 + vscode-json-languageservice: 4.1.8 + vscode-languageserver: 7.0.0 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + yaml: 2.2.2 + optionalDependencies: + prettier: 2.8.7 + + yaml@2.2.2: {} + + yaml@2.5.0: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + yocto-queue@1.1.1: {} + + youch@3.3.3: + dependencies: + cookie: 0.5.0 + mustache: 4.2.0 + stacktracey: 2.1.8 + + zod-to-json-schema@3.23.2(zod@3.23.8): + dependencies: + zod: 3.23.8 + + zod-to-ts@1.2.0(typescript@5.5.4)(zod@3.23.8): + dependencies: + typescript: 5.5.4 + zod: 3.23.8 + + zod@3.23.8: {} + + zwitch@2.0.4: {} diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index 33ad091d..00000000 --- a/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 00000000..f157bd1c --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,9 @@ + + + + diff --git a/results/2023/data/questions.json b/results/2023/data/questions.json deleted file mode 100644 index 55e94029..00000000 --- a/results/2023/data/questions.json +++ /dev/null @@ -1 +0,0 @@ -{"profile-q-0":{"multiple":false,"label":"What is your gender?","required":true,"choices":["Male","Female"]},"profile-q-1":{"multiple":null,"label":"What is your age?","required":true,"choices":["Younger than 18 years","18 to 24 years","25 to 34 years","35 to 44 years","45 or older"]},"profile-q-2":{"multiple":null,"label":"Where are you currently located?","required":true,"choices":["Rabat-Salé-Kénitra","Casablanca-Settat","Marrakech-Safi","Tanger-Tétouan-Al Hoceïma","L'Oriental","Fès-Meknès","Béni Mellal-Khénifra","Drâa-Tafilalet","Souss-Massa","Guelmim-Oued Noun","Laâyoune-Sakia El Hamra","Dakhla-Oued Ed Dahab","Europe","US & Canada","Middle East","Others"]},"profile-q-3":{"multiple":null,"label":"What is your occupation?","required":true,"choices":["Back-end developer","Full-stack developer","Front-end developer","Desktop applications developer","Mobile developer","Embedded applications/devices developer","QA/test Developer","Game/graphics Developer","DevOps specialist","Database administrator","Designer","System administrator","Data/business analyst","Data scientist or machine learning specialist","Data engineer","Academic researcher","Educator","Engineering manager","Product manager","Scientist","Site reliability engineer","Senior executive/VP","Marketing/sales professional","Network engineer","Security specialist","IT specialist","Prompt engineer","ERP Consultant"]},"profile-q-4":{"multiple":null,"label":"What is your highest diploma?","required":true,"choices":["Self-taught","Bac +2/+3, Bachelor’s degree (B.A., B.S., B.Eng., etc.)","Bac +5, Master’s degree (M.A., M.S., M.Eng., MBA, etc.)","Bac +8, Other doctoral degree (Ph.D., Ed.D., etc.)"]},"profile-q-5":{"multiple":null,"label":"How many years have you been coding professionally?","required":true,"choices":["I don't have any professional coding experience","Less than a year","1-2 years","3-4 years","5-6 years","7-10 years","11-16 years","16+ years"]},"profile-q-6":{"multiple":null,"label":"Is coding a hobby for you?","required":true,"choices":["Yes","No"]},"profile-q-7":{"multiple":null,"label":"Do you have any plans to work outside Morocco?","required":true,"choices":["Yes, in the next 12 months","Yes, in the next 24 months","Still hesitating","Currently working outside Morocco","No"]},"profile-q-8":{"multiple":null,"label":"If you are working abroad, do you have any plans to come back to Morocco?","choices":["Yes","Still hesitating","No"]},"profile-q-9":{"multiple":null,"label":"What do you usually drink while coding?","required":true,"choices":["Tea","Coffee","Water","Energy drinks","None","Other"]},"education-q-0":{"multiple":null,"label":"Where did you study coding?","required":true,"choices":["Self-taught (no diploma or other field's diploma).","University / Public school","Private school","Vocational School (bootcamps, technical skills ...)","Coding schools (1337, YouCode, etc.)","Other"]},"education-q-1":{"multiple":null,"label":"Do you think school gives you enough knowledge to start your professional career?","required":false,"choices":["Not enough","Enough to start","Everything I needed"]},"education-q-2":{"multiple":true,"label":"What languages can you read/write?","required":true,"choices":["Arabic","Amazigh","French","English","Others"]},"education-q-3":{"multiple":null,"label":"Is English an obstacle to learning new technologies?","required":true,"choices":["Yes","No"]},"education-q-4":{"multiple":null,"label":"Do you think we need more content in Darija?","required":true,"choices":["Spoken","Written/Read","Both","No"]},"education-q-5":{"multiple":true,"label":"What are your preferred platforms for learning?","required":true,"choices":["YouTube","Paid platforms","Books","Official documentation","Blog posts","Company resources","Conferences (virtual/in-person)","Podcasts","Online Communities (StackOverflow/Reddit/Twitter)","AI Assistant (ChatGPT, etc)","Others"]},"work-q-0":{"multiple":false,"label":"What is your employment status?","required":true,"choices":["Founder/entrepreneur","Full-time employee","Freelancer/self-employed","Part-time employee","Looking for work","Internship","Student"]},"work-q-1":{"multiple":null,"label":"How often do you work overtime or beyond the normal time expectation of your job?","choices":["Never","Rarely: 1-2 days per year or less ","Occasionally: 1-2 days per quarter but less than monthly ","Sometimes: 1-2 days per month but less than weekly","Often: 1-2 days per week or more"]},"work-q-2":{"multiple":null,"label":"How do you feel about your job?","choices":["Very Unsatisfied","Slightly Unsatisfied","Neither satisfied nor Unsatisfied","Slightly satisfied","Very satisfied"]},"work-q-3":{"multiple":null,"label":"Do you work on side projects?","required":true,"choices":["No","Yes For profit","Yes For learning"]},"work-q-4":{"multiple":null,"label":"How long have you been unemployed after graduation?","choices":["None, I worked straight after my graduation 😎","Up to 3 months","Up to 6 months","Up to 1 year","More than 1 year"]},"work-q-5":{"multiple":null,"label":"If you are a full time employee in Morocco(CDI), Your NET salary range per month in MAD is:","choices":["< 4 000","4 000 - 6 000","6 000 - 8 000","8 000 - 10 000","10 000 - 12 000","12 000 - 14 000","14 000 - 16 000","16 000 - 18 000","18 000 - 20 000","20 000 - 22 000","22 000 - 25 000","25 000 - 30 000","> 30 000"]},"work-q-6":{"multiple":null,"label":"If you are working as a freelancer in Morocco, Your salary range per day in MAD(TJM) is:","choices":["< 1 000","1 000 - 1 500","1 500 - 2 000","2 000 - 2 500","2 500 - 3 000","3 000 - 4 000","4 000 - 5 000","> 5 000"]},"work-q-7":{"multiple":null,"label":"If you are working full-time contract outside Morocco, Your gross salary range per year in USD is:","choices":["< 20 000","20 000 - 25 000","30 500 - 40 000","40 000 - 50 000","50 000 - 60 000","60 000 - 80 000","80 000 - 100 000","100 000 - 120 000","120 000 - 150 000","150 000 - 200 000","> 200 000"]},"work-q-8":{"multiple":null,"label":"If you are working as a freelancer/contractor outside Morocco, Your daily gross wage in USD is:","choices":["< 200","200 - 500","500 - 1 000","1 000 - 2 000","2 000 - 3 000","3 000 - 5 000","5 000 - 10 000","> 10 000"]},"work-q-9":{"multiple":true,"label":"What characteristics would mostly influence your decision to choose one job offer over another?","required":true,"choices":["Languages, frameworks, and other technologies I’d be working on","Office environment or company culture","Flexible time or schedule","Opportunities for professional development","Remote work options","How widely used or impactful my work output would be","The industry that I’d be working in","Company paid training and certifications","Salary"]},"work-q-10":{"multiple":null,"label":"What type of company do you prefer?","required":true,"choices":["Self-employed","Company under 10 employees","Company between 11 and 30 employees","Company between 31 and 100 employees","Company above 100 employees"]},"work-q-11":{"multiple":null,"label":"What agile software development methodology do you use in your team, if any?","choices":["Scrum","Kanban","XP","Other","None"]},"work-q-12":{"multiple":null,"label":"As many companies are returning to their offices, what options does your employer provide?","choices":["Back to office","Full remote","Hybrid"]},"work-q-13":{"multiple":null,"label":"What is your preferred mode of work?","required":true,"choices":["From the office","Full remote","Part-time remote/Hybrid"]},"tech-q-0":{"multiple":true,"label":"What are the programming languages you like the most?","required":true,"choices":["JavaScript","HTML/CSS 😉","SQL","Python","Java","Bash/Shell/PowerShell","C#","PHP","TypeScript","C++","C","Go","Kotlin","Ruby","Assembly","VBA","Swift","R","Rust","Objective-C","Dart","Scala","Perl","Haskell","Julia","Other"]},"tech-q-1":{"multiple":true,"label":"What are the programming languages you want to learn next?","required":true,"choices":["JavaScript","HTML/CSS 😉","SQL","Python","Java","Bash/Shell/PowerShell","C#","PHP","TypeScript","C++","C","Go","Kotlin","Ruby","Assembly","VBA","Swift","R","Rust","Objective-C","Dart","Scala","Perl","Haskell","Julia","Other"]},"tech-q-2":{"multiple":true,"label":"What are the programming languages you are using on a daily basis?","required":true,"choices":["JavaScript","HTML/CSS 😉","SQL5","Python","Java","Bash/Shell/PowerShell","C#","PHP","TypeScript","C++","C","Go","Kotlin","Ruby","Assembly","VBA","Swift","R","Rust","Objective-C","Dart","Scala","Perl","Haskell","Julia","Other"]},"tech-q-3":{"multiple":true,"label":"What are the front-end frameworks/libraries you are using on a daily basis?","choices":["jQuery","React.js","Angular","Vue.js","Angular.js","Gatsby","Ember.js","Backbone.js","Preact","Next.js","Svelte","Foundation","Alpine.js","Remix","Solid.js","AstroJs","Qwik","Htmx","Other"]},"tech-q-4":{"multiple":true,"label":"What are the front-end frameworks/libraries you want to learn next?","choices":["jQuery","React.js","Angular","Vue.js","Angular.js","Gatsby","Ember.js","Backbone.js","Preact","Next.js","Svelte","Foundation","Alpine.js","Remix","Solid.js","Astro Js","Qwik","Htmx","Other"]},"tech-q-5":{"multiple":true,"label":"What approach do you use for styling your web apps?","choices":["CSS","CSS Frameworks (Bootstrap, Material UI ...)","CSS in JS (Styled Components, Emotion ...)","CSS Preprocessor (Sass, Less ...)","CSS Modules","Tailwind CSS","Other"]},"tech-q-6":{"multiple":true,"label":"What are the backend frameworks you are using on a daily basis?","choices":[".NET","Spring Ecosystem","Micronaut","Quarkus","Jakarta EE / Java EE","Django","Flask","Laravel","Symfony","Ruby on Rails","Sinatra","FastAPI","Express.js","Nest.js","Sails.js","Serverless framework","Serverless technology (Vercel,Netlify...)","Headless CMS (Strapi,KeystoneJS,Ghost ...)","Other"]},"tech-q-7":{"multiple":true,"label":"What are the backend frameworks you want to learn next?","choices":[".NET","Spring Ecosystem","Micronaut","Quarkus","Jakarta EE / Java EE","Django","Flask","Laravel","Symfony","Ruby on Rails","Sinatra","FastAPI","Express.js","Nest.js","Sails.js","Serverless framework","Serverless technology (Vercel,Netlify...)","Headless CMS (Strapi,KeystoneJS,Ghost ...)","Other"]},"tech-q-8":{"multiple":true,"label":"What are the platforms and tools you are using on a daily basis?","required":true,"choices":["Node.js",".NET","JVM","PHP","GraalVM","Pandas","TensorFlow","Docker","Kubernetes","React Native","Unity 3D","Configuration Management(Ansible, Puppet...)","Flutter","Terraform","Cordova","Xamarin","Apache Spark","Bun Js","Deno Js","Other"]},"tech-q-9":{"multiple":true,"label":"What are the platforms and tools you want to learn next?","required":true,"choices":["Node.js",".NET","JVM","PHP","GraalVM","Pandas","TensorFlow","Docker","Kubernetes","React Native","Unity 3D","Configuration Management(Ansible, Puppet...)","Flutter","Terraform","Cordova","Xamarin","Apache Spark","Bun Js","Deno Js","Other"]},"tech-q-10":{"multiple":null,"label":"Your primary Operating System is:","required":true,"choices":["Windows","MacOS","Linux-based","Windows + WSL2"]},"tech-q-11":{"multiple":true,"label":"What is you current IDE or code editor for daily work?","required":true,"choices":["Jetbrains (IntelliJ, PhpStorm, Resharper ...)","VS Code","Eclipse","Netbeans","Vim","Sublime","Atom","Notepad++","Cloud based IDE","Other"]},"tech-q-12":{"multiple":null,"label":"How frequently do you learn a new programming language or framework?","required":true,"choices":["Every few months","Once a year","Once every few years","Once a decade"]},"tech-q-13":{"multiple":true,"label":"What do you do when you get stuck on a problem?","required":true,"choices":["Google it","Ask ChatGPT or other AI assistants","Dig in StackOverflow","Do other work and come back later","Watch help/tutorial videos","Call a coworker or friend"]},"tech-q-14":{"multiple":true,"label":"The production environment you or your team are using is:","choices":["Public cloud (AWS/Azure/GCP/Oracle/IBM/etc.)","On-premise","Hybrid Cloud","Shared hosting","Managed PaaS (heroku, app platform, Salesforce, AWS Beanstalk ...)"]},"tech-q-15":{"multiple":true,"label":"What cloud platform are you using?","choices":["GCP","AWS","Azure","Oracle Cloud","IBM Cloud","DigitalOcean","Other Moroccan Cloud providers","Other cloud providers","None"]},"tech-q-16":{"multiple":true,"label":"The production database you or your team are using is:","choices":["Oracle Database","Mysql/MariaDB","PostgreSQL","SQL Server","CosmosDB","MongoDB","Redis","DynamoDB","Neo4j","Apache Cassandra","BigTable","Other"]},"ai-q-0":{"multiple":null,"label":"How often do you use AI tools for Dev (Github Copilot, ChatGPT ...) ","required":true,"choices":["Daily","Occasionally","Tried them but not interested","Never"]},"ai-q-1":{"multiple":null,"label":"If you are using AI based coding assistants for Dev, How much improvement do you see in your productivity?","choices":["Did not improve my productivity","Somewhat improved my productivity (5% to 10%)","Helped me to become more productive (10% to 30%)","I am now very productive (30% to 50%)","I am a 10x engineer now (+50%)"]},"ai-q-2":{"multiple":null,"label":"Do you think AI will replace developers in the future?","required":true,"choices":["Not very much ( less than 10% )","Somewhat ( 10% - 30% )","To some extent ( 30% - 50% )","The majority ( 50% - 80% )","Completely ( more than 80% )","Not sure"]},"ai-q-3":{"multiple":null,"label":"Are you planning to learn AI to build apps?","required":true,"choices":["No, I am not interested","Already started learning the basics.","I can build simple apps with AI using third-party APIs.","I can build complex apps and play with models.","I am already an expert"]},"ai-q-4":{"multiple":null,"label":"How much is your company investing in AI?","choices":["We haven't started adopting AI","We're getting the basics in place","We have some ad-hoc use cases in production","We have several use cases in production"]},"ai-q-5":{"multiple":true,"label":"Which AI tools and apps do you use?","choices":["ChatGPT","Bard (Google)","Claude (Anthropic)","DALL-E (OpenAI)","GitHub Copilot","QuillBot","Notion AI","Midijourney","Coby.ai","Grammarly","Other"]},"ai-q-6":{"multiple":true,"label":"Which AI frameworks and models do you use?","choices":["LangChain","Hugging Face","AWS Bedrock","Together.ai","Weights & Biases","Llama","Haystack","Humanloop","Unstructured","PyTorch","TensorFlow","OpenAI (GPT)","Keras","Microsoft Cognitive Toolkit","Caffe","Mistral","PyBrain","IBM Watson","Scikit-Learn","Other"]},"community-q-0":{"multiple":false,"label":"How far are you involved in any local developer’s community?","required":true,"choices":["No, I am not interested","I know some, but not involved","I am following some communities","I am an active member","I am an organizer"]},"community-q-1":{"multiple":true,"label":"Did you ever participate in an open-source project?","required":true,"choices":["I don’t have an account on Github (or alternatives).","Yes, only few PRs in various projects.","I am maintaining my own project.","I have a repo with more than +1k stars.","I maintain an organization project with +1k stars."]},"community-q-2":{"multiple":null,"label":"Did you get the chance to write blog posts?","required":true,"choices":["No, I am not interested.","Still thinking about it.","Yes, less than 10 blog posts.","Yes, more than 10 blog posts."]},"community-q-3":{"multiple":false,"label":"When it comes to IT, what is your primary social network?","required":true,"choices":["Facebook","Instagram","WhatsApp","Twitter","Youtube","Telegram","Discord","Slack","Gitter","Reddit","LinkedIn","None"]},"community-q-4":{"multiple":null,"label":"How many IT events did you attend in person in the past 12 months?","required":true,"choices":["0","1-3","More than 3"]},"community-q-5":{"multiple":null,"label":"How many talks did you participate in the last 12 months?","required":true,"choices":["0","1 - 3 talks","More than 3"]},"community-q-6":{"multiple":null,"label":"Do you prefer?","required":true,"choices":["Live/online events","In-person events?","Li ja bismillah"]},"community-q-7":{"multiple":null,"label":"How do you evaluate the Moroccan Tech Community?","required":true,"choices":["Bad","Not Bad","Good","Excellent"]}} \ No newline at end of file diff --git a/results/articles/article-placholder.mdx b/results/articles/article-placholder.mdx deleted file mode 100644 index 859cae3c..00000000 --- a/results/articles/article-placholder.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -date: 12-12-2020 -title: Your Title Here -author: - name: Your Name - link: https://google.com ---- - -Article content here - -# Header 1 - -## Header 2 - -### Header 3 - - - - diff --git a/scripts/export-results.js b/scripts/export-results.js deleted file mode 100644 index c3710654..00000000 --- a/scripts/export-results.js +++ /dev/null @@ -1,61 +0,0 @@ -const admin = require("firebase-admin") -const fs = require("fs") -require("dotenv").config({ - path: `.env.${process.env.NODE_ENV}`, -}) - -const getFirebase = () => { - const firebasePrivateKey = process.env.FIREBASE_PRIVATE_KEY - if (!admin.apps.length) { - admin.initializeApp({ - credential: admin.credential.cert({ - projectId: process.env.GATSBY_FIREBASE_PROJECT_ID, - clientEmail: process.env.FIREBASE_CLIENT_EMAIL, - // https://stackoverflow.com/a/41044630/1332513 - privateKey: firebasePrivateKey?.replace(/\\n/g, "\n"), - }), - }) - } - return admin -} - -function getFileName() { - const now = new Date() - return `./scripts/${now.getFullYear()}-${ - now.getMonth() + 1 - }-${now.getDate()}----${now.getUTCHours()}H-${now.getMinutes()}min.json` -} - -function writeToFile(filename, data) { - fs.writeFile(filename, JSON.stringify(data), err => { - if (err) { - console.log(err) - } else { - console.log(`[SUCCESS] ${new Date()} JSON saved to ${filename}`) - } - }) -} - -const getResults = () => getFirebase().firestore().collection("/results") - -const exportResults = async () => { - const data = { results: [] } - const results = await getResults().get() - results.forEach(element => { - const tmp = { userId: element.id, ...normalize_element(element.data()) } - data.results.push(tmp) - }) - writeToFile(getFileName(), data) -} - -const normalize_element = element => { - const tmp = element - for (const [key, value] of Object.entries(element)) { - if (typeof value === "string" && key !== "userId") - tmp[key] = parseInt(value) - if (Array.isArray(value)) tmp[key] = value.map(v => parseInt(v)) - } - return tmp -} - -exportResults() diff --git a/scripts/generate-questions-file.js b/scripts/generate-questions-file.js deleted file mode 100644 index dfcd599d..00000000 --- a/scripts/generate-questions-file.js +++ /dev/null @@ -1,51 +0,0 @@ -const yaml = require("js-yaml") -const fs = require("fs") - -const generate = async () => { - const QS = {} - // Get document, or throw exception on error - try { - const profile = await yaml.load( - fs.readFileSync("./survey/1-profile.yml", "utf8") - ) - const learning = await yaml.load( - fs.readFileSync("./survey/2-learning-and-education.yml", "utf8") - ) - const work = await yaml.load(fs.readFileSync("./survey/3-work.yml", "utf8")) - const ai = await yaml.load(fs.readFileSync("./survey/4-ai.yml", "utf8")) - const tech = await yaml.load(fs.readFileSync("./survey/5-tech.yml", "utf8")) - const community = yaml.load( - fs.readFileSync("./survey/6-community.yml", "utf8") - ) - const data = [profile, learning, work, tech, ai, community] - - data.forEach(({ label, questions }) => { - questions.forEach((element, index) => { - const id = `${label}-q-${index}` - console.log(id) - QS[id] = { - multiple: null, - ...element, - } - }) - }) - - writeToFile("./questions.json", QS) - - console.log(QS) - } catch (e) { - console.log(e) - } -} - -generate() - -function writeToFile(filename, data) { - fs.writeFile(filename, JSON.stringify(data), err => { - if (err) { - console.log(err) - } else { - console.log(`[SUCCESS] ${new Date()} JSON saved to ${filename}`) - } - }) -} diff --git a/src/actions/createAccount.ts b/src/actions/createAccount.ts new file mode 100644 index 00000000..839f4a2a --- /dev/null +++ b/src/actions/createAccount.ts @@ -0,0 +1,14 @@ +import { projectAuth } from "@/firebase/config"; +import { defineAction, z } from "astro:actions"; +import { createUserWithEmailAndPassword } from "firebase/auth"; + +export const createAccount = defineAction({ + accept: "form", + input: z.object({ + email: z.string().email(), + password: z.string(), + }), + handler: async ({ email, password }) => { + await createUserWithEmailAndPassword(projectAuth, email, password); + }, +}); diff --git a/src/actions/index.ts b/src/actions/index.ts new file mode 100644 index 00000000..c19d917f --- /dev/null +++ b/src/actions/index.ts @@ -0,0 +1,9 @@ +import { createAccount } from "./createAccount"; +import { loginAccount } from "./loginAccount"; +import { logoutAccount } from "./logoutAccount"; + +export const server = { + createAccount, + loginAccount, + logoutAccount, +}; diff --git a/src/actions/loginAccount.ts b/src/actions/loginAccount.ts new file mode 100644 index 00000000..226cc2f5 --- /dev/null +++ b/src/actions/loginAccount.ts @@ -0,0 +1,14 @@ +import { projectAuth } from "@/firebase/config"; +import { defineAction, z } from "astro:actions"; +import { signInWithEmailAndPassword } from "firebase/auth"; + +export const loginAccount = defineAction({ + accept: "form", + input: z.object({ + email: z.string().email(), + password: z.string(), + }), + handler: async ({ email, password }) => { + await signInWithEmailAndPassword(projectAuth, email, password); + }, +}); diff --git a/src/actions/logoutAccount.ts b/src/actions/logoutAccount.ts new file mode 100644 index 00000000..7cd43369 --- /dev/null +++ b/src/actions/logoutAccount.ts @@ -0,0 +1,8 @@ +import { projectAuth } from "@/firebase/config"; +import { defineAction, z } from "astro:actions"; + +export const logoutAccount = defineAction({ + handler: async () => { + await projectAuth.signOut(); + }, +}); diff --git a/src/assets/Article.svg b/src/assets/Article.svg deleted file mode 100644 index 660d3855..00000000 --- a/src/assets/Article.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/Chart.svg b/src/assets/Chart.svg deleted file mode 100644 index 768f2cc8..00000000 --- a/src/assets/Chart.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/Community.svg b/src/assets/Community.svg deleted file mode 100644 index 32884924..00000000 --- a/src/assets/Community.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/Crea.svg b/src/assets/Crea.svg deleted file mode 100644 index b721fe0a..00000000 --- a/src/assets/Crea.svg +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/Download.svg b/src/assets/Download.svg deleted file mode 100644 index f48825dc..00000000 --- a/src/assets/Download.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/Knowledge.svg b/src/assets/Knowledge.svg deleted file mode 100644 index 8134b200..00000000 --- a/src/assets/Knowledge.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/Playground.svg b/src/assets/Playground.svg deleted file mode 100644 index c98e6f50..00000000 --- a/src/assets/Playground.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/Protips.svg b/src/assets/Protips.svg deleted file mode 100644 index b418a096..00000000 --- a/src/assets/Protips.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/assets/Share.svg b/src/assets/Share.svg deleted file mode 100644 index aa7a2085..00000000 --- a/src/assets/Share.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/Trends.svg b/src/assets/Trends.svg deleted file mode 100644 index 24496253..00000000 --- a/src/assets/Trends.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/assets/data_image.svg b/src/assets/data_image.svg deleted file mode 100644 index b140fb0a..00000000 --- a/src/assets/data_image.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/github.svg b/src/assets/github.svg deleted file mode 100644 index 404ae3f1..00000000 --- a/src/assets/github.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/imgs/alert.png b/src/assets/imgs/alert.png deleted file mode 100644 index a8f2899d673459708f74633af2a1571c9f888507..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5170 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 diff --git a/src/assets/logo.png b/src/assets/logo.png deleted file mode 100644 index 96f70665ba278b163374b1c33071b1d80e64eefc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21422 zcmd>lg;&(y6E+A)taPjr!V;1a(&54`4bmM85=wVVNiHGXB`MwANJ*Dc(%p@q^!wra z{@%ah<(%alID7A%xpVK#GtbNoRaTV7#UaN*K|#Tlm61?IK|#$1K9yKcf&ZY;&fNmP zvF&AaoKR380*@b5$waRAz&}x)RHfl4<)f6lz#r&lFa;P2N>vo-)(8UyMNM2*0;cYc zde}B^XS$uR)V73>yo71Gadnv+i&qza)4u%D(J8GEpQi7{GNN%b`Q}aBDS8YO+Kc!8 z-*Z}U>9xo_kMxWwlHbLKD=nhYC)0#ZjZzb+U_YU!o6mU@`jLR{)nXU}^$*$>J#X5Q zy^)rsUk09W2V2?2mo08@MH|(nV`I}0N^g&K_jM!y@%}&jq5ndQ^74D1@Ak2C(eg1~ za5uY+-LLxTedpt)trWLq1Op0+z!L&UWk5uYnef)$LG+Fw9hBqQ(}1Sc_hNJU2QD2- z-K){Z6>-z@O1Hl=5fI?}=mZdg-`d(cwGH(KyzukAtmVwyPO-Fkx$_JA!eA+{90Cun zHcGn}HYi7_`4q;*>Aq6XxO=tr{rZJ1=ovEa(6&dYd z$fu}|n~w^+FT>m(TjV{7Mu$6FMayeCXb=a_S^nutKGx`#~|@Y*=x`tXAKy ztVT4ByE`r#zS05Opb%s;OFsPaz0M!4mOO*!>b_>>+e#!QKeG)9qzFs8<$5h4haWyA2Ac?T|x3sl(Zd0%wiH`TjWfo*7$RC z6Q@VJh_^pgw{Af&vI3k%*{TTbJm^CJc{u6Hk#5n^pMoMifl) zF)&9U=#z@TPwts5pW|+`ubn3>C@bw^f%)MjKklq`QE?*s!=ni!nV{`xig;x|=DTo< z+}Zj1ap ztsHWM9a+dECxk;fp;K#xhH``{VLsPi{eez^qDmo+DrP_OmyazIwa5jPqs|h8G=u?0 zszwqokgAqrbn-T7B8Ag$01P-Vz(0_Sfj;|2tj2 zeQtn(a)2#iPCigQ#3L+!ugzWoN-+^6ZQg{>yV}E#h$81|3o)2eU|@+M>Y-C7r~d|E z0B4TN)_e+URPG>lsJGvBC}>Xc)qHKh$v@N?_djHo5;O?1}xnQuBYgJ~q{Bw!shB9|;S9{NDC zqgyUlsmJe<0P_lq@RL}ISHn6(RhCSn$1r-2_!&%mT$PsV{d@56@2%g{0C-wGIo`Q$bdwGB%v_n<%8mYoLxZ46WN;Yl5gF!|FTJ-arT z+Y#H(!+F#40Yj^~In~-Wg>Iirjye5!z8SQ3KH5#{g6yWU?jS>c%3}9JgMyK|H~8k= zF6Rp=+$AOMxhRMl=(Q_f; NaFE)vPL?z3lb!%Bb~%&&ys@W| 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 Q?D;o6EkjL$hJDn303&up>Hq)$ diff --git a/src/assets/logo.svg b/src/assets/logo.svg deleted file mode 100644 index 3e0cf361..00000000 --- a/src/assets/logo.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/time.svg b/src/assets/time.svg deleted file mode 100644 index c4b5e72c..00000000 --- a/src/assets/time.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/assets/undraw_visual_data.svg b/src/assets/undraw_visual_data.svg deleted file mode 100644 index f5041ad7..00000000 --- a/src/assets/undraw_visual_data.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/Button.astro b/src/components/Button.astro new file mode 100644 index 00000000..1c4f06cc --- /dev/null +++ b/src/components/Button.astro @@ -0,0 +1,42 @@ +--- +import type { HTMLAttributes } from "astro/types"; +import { cva, type VariantProps } from "class-variance-authority"; +import { twMerge } from "tailwind-merge"; + +const button = cva( + "flex items-center gap-2 max-w-fit rounded transition-all focus:outline-none focus-visible:ring-2 ring-offset-4 border-transparent text-theme-base ring-offset-theme-base", + { + variants: { + intent: { + primary: ["bg-theme-text", "hover:bg-theme-text/90", "ring-theme-text"], + accent: [ + "bg-theme-accent", + "hover:bg-theme-accent/90", + "ring-theme-accent", + ], + checkbox: [ + "size-6 border-2 border-theme-accent rounded-md grid place-items-center text-theme-base peer-checked:bg-theme-accent peer-focus-visible:ring-2 ring-theme-accent ring-offset-2 ring-offset-theme-base", + ], + }, + size: { + small: ["text-sm", "py-1", "px-2"], + medium: ["text-base", "py-2", "px-4"], + large: ["text-lg", "py-3", "px-5"], + square: ["aspect-square"], + }, + }, + } +); + +export interface Props + extends HTMLAttributes<"button">, + VariantProps { + classes?: string; +} + +const { intent = "primary", size = "medium", classes, ...rest } = Astro.props; +--- + + diff --git a/src/components/Chart.astro b/src/components/Chart.astro new file mode 100644 index 00000000..54158582 --- /dev/null +++ b/src/components/Chart.astro @@ -0,0 +1,16 @@ +--- +import type { HTMLAttributes } from "astro/types"; + +interface Props extends HTMLAttributes<"input"> { + name: string; + label: string; +} + +const { label, name, ...rest } = Astro.props; + +const randomId = Math.random(); +--- + +
+ this is a chart {randomId} +
diff --git a/src/components/Chart/Actions.js b/src/components/Chart/Actions.js deleted file mode 100644 index 6b999d3f..00000000 --- a/src/components/Chart/Actions.js +++ /dev/null @@ -1,44 +0,0 @@ -import React from "react" -import { Link } from "gatsby" -import Popup from "reactjs-popup" -import { useLocation } from "@reach/router" - -import CharIcon from "../../assets/Chart.svg" -import ShareIcon from "../../assets/Share.svg" -import Share from "../Share" - -export const Actions = ({ id }) => { - const location = useLocation() - - return ( -
- - Share result -
- } - position="top center" - closeOnDocumentClick - > - - - {location.pathname !== "/playground/" ? ( - - Open in playground - - ) : null} - - ) -} diff --git a/src/components/Chart/BarChart.js b/src/components/Chart/BarChart.js deleted file mode 100644 index 924d69c1..00000000 --- a/src/components/Chart/BarChart.js +++ /dev/null @@ -1,127 +0,0 @@ -import React from "react" -import ReactTooltip from "react-tooltip" -import { getPercent } from "./utils" - -const colors = [ - "#059669", - "#10B981", - "#34D399", - "#6EE7B7", - "#A7F3D0", - "#D1FAE5", - "#ECFDF5", - "#dd2f2e", - "#F6AA2F", - "#4DAFEA", - "#132034", - "#4543C5", -] - -function makeTooltipContent(data) { - if (!data) return null - return ( - <> -
    - {data?.results?.map((c, i) => ( -
  • - {c.label} : {c.value} : {`${getPercent(c.value, data?.total)}%`} -
  • - ))} -
- - ) -} - -export const BarChart = ({ results, total }) => { - const [hovered, setHovered] = React.useState(null) - const x = ( - 90 / - Math.max.apply( - Math, - results.map(function (o) { - return o.percent - }) - ) - ).toFixed(1) - - return ( - <> - - - {results.map((choice, i) => ( - setHovered(i)} - onMouseLeave={() => setHovered(null)} - /> - ))} - -
- -
- {results[0]?.grouped?.choices?.map((c, i) => ( -
  • -
    - {c} -
  • - ))} -
    - makeTooltipContent(results[hovered]?.grouped)} - /> - - ) -} - -const Bar = ({ choice, x, total, onMouseEnter, onMouseLeave }) => { - return ( - <> - - -

    {choice.label || "No Response "}

    -

    - {`${choice.percent}%`}{" "} - - - {choice.value}/{total} resp - -

    - - -
    - {choice?.grouped?.results?.map((c, i) => ( -
    - ))} -
    - - - - ) -} diff --git a/src/components/Chart/PieChart.js b/src/components/Chart/PieChart.js deleted file mode 100644 index c98632f0..00000000 --- a/src/components/Chart/PieChart.js +++ /dev/null @@ -1,92 +0,0 @@ -import React, { useState } from "react" -import { PieChart } from "react-minimal-pie-chart" -import ReactTooltip from "react-tooltip" - -const colors = [ - "#1EBA83", - "#dd2f2e", - "#F6AA2F", - "#4DAFEA", - "#132034", - "#4543C5", -] - -function makeTooltipContent(entry, total) { - return `${entry.label} (${entry.value}/${total} res)` -} - -const normalizeData = data => - data.map((d, i) => ({ ...d, title: d.label, color: colors[i] || "#6A2135" })) - -function Pie({ results, total }) { - const [hovered, setHovered] = useState(null) - - const data = normalizeData(results).map((entry, i) => { - if (hovered === i) { - return { - ...entry, - } - } - return entry - }) - - const lineWidth = 40 - - return ( -
    -
    - Math.round(dataEntry.percentage) + "%"} - labelPosition={100 - lineWidth / 2} - labelStyle={{ - fontSize: "7px", - fill: "#fff", - opacity: 0.75, - pointerEvents: "none", - }} - onMouseOver={(_, index) => { - setHovered(index) - }} - onMouseOut={() => { - setHovered(null) - }} - /> - - typeof hovered === "number" - ? makeTooltipContent(data[hovered], total) - : null - } - /> -
    -
      - {data.map((e, i) => ( -
    • -
      - {e.label} -
    • - ))} -
    -
    - ) -} - -export default Pie diff --git a/src/components/Chart/chart.test.js b/src/components/Chart/chart.test.js deleted file mode 100644 index 9f102e67..00000000 --- a/src/components/Chart/chart.test.js +++ /dev/null @@ -1,123 +0,0 @@ -import Questions from "../../../results/2020/data/questions.json" -import { getQuestion } from "./utils" - -const results = [ - { - userId: "020Tufn7jzE0BYz39j53", - "profile-q-12": 1, - "profile-q-14": [0, 1], - "profile-q-3": 0, - "profile-q-0": 0, - "profile-q-1": 2, - "profile-q-11": [0], - "profile-q-2": 0, - "profile-q-6": 0, - }, - { - userId: "020TufnjwQTTT0C7jzE0BYz39j53", - "profile-q-12": 1, - "profile-q-14": [0, 1], - "profile-q-3": 1, - "profile-q-0": 1, - "profile-q-1": 2, - "profile-q-11": [0], - "profile-q-2": 0, - "profile-q-6": 0, - }, - { - userId: "020TufnjwQTTT0C7z39j53", - "profile-q-12": 1, - "profile-q-14": [1, 2], - "profile-q-3": 1, - "profile-q-0": 1, - "profile-q-1": 2, - "profile-q-11": [0], - "profile-q-2": 0, - "profile-q-6": 0, - }, - { - userId: "020TufnjwQTTT0C7z39j53", - "profile-q-12": 0, - "profile-q-14": [0, 3], - "profile-q-3": 2, - "profile-q-0": 1, - "profile-q-1": 1, - "profile-q-11": [0], - "profile-q-2": 0, - "profile-q-6": 0, - }, -] - -test("should return correct values data ", () => { - const data = getQuestion({ id: "profile-q-0", source: results }) - expect(data.total).toBe(4) - expect(data.results[0].label).toBe(Questions["profile-q-0"].choices[0]) - expect(data.results[0].value).toBe(1) - expect(data.results[1].value).toBe(3) -}) - -test("should return correct values data with condition with function ", () => { - const condition = v => v["profile-q-12"] === 1 - const data = getQuestion({ - id: "profile-q-0", - source: results, - condition, - }) - expect(data.total).toBe(3) - expect(data.results[0].label).toBe(Questions["profile-q-0"].choices[0]) - expect(data.results[0].value).toBe(1) - expect(data.results[1].value).toBe(2) -}) -test("should return correct values data with condition for multi choices questions ", () => { - const condition = v => { - if (Array.isArray(v["profile-q-14"])) return v["profile-q-14"].includes(1) - else return v["profile-q-14"] === 1 - } - const data = getQuestion({ - id: "profile-q-0", - source: results, - condition, - }) - expect(data.total).toBe(3) - expect(data.results[0].label).toBe(Questions["profile-q-0"].choices[0]) - expect(data.results[0].value).toBe(1) - expect(data.results[1].value).toBe(2) -}) - -test("should return correct values data with condition with object ", () => { - const condition = [{ question_id: "profile-q-12", values: ["1"] }] - const data = getQuestion({ - id: "profile-q-0", - source: results, - condition, - }) - expect(data.total).toBe(3) - expect(data.results[0].label).toBe(Questions["profile-q-0"].choices[0]) - expect(data.results[0].value).toBe(1) - expect(data.results[1].value).toBe(2) -}) -test("should return correct values data with condition with object for multi choices questions ", () => { - const condition = [{ question_id: "profile-q-14", values: ["1", "3"] }] - const data = getQuestion({ - id: "profile-q-0", - source: results, - condition, - }) - // console.log(JSON.stringify(data, null, 2)) - expect(data.total).toBe(4) - expect(data.results[0].label).toBe(Questions["profile-q-0"].choices[0]) - expect(data.results[0].value).toBe(1) - expect(data.results[1].value).toBe(3) -}) - -test("should be grouped correctly ", () => { - const data = getQuestion({ - id: "profile-q-0", - source: results, - groupBy: "profile-q-1", - }) - - expect(data.total).toBe(4) - expect(data.results[0].value).toBe(data.results[0].grouped.total) - expect(data.results[1].value).toBe(data.results[1].grouped.total) -}) diff --git a/src/components/Chart/index.js b/src/components/Chart/index.js deleted file mode 100644 index 670eea12..00000000 --- a/src/components/Chart/index.js +++ /dev/null @@ -1,62 +0,0 @@ -import React from "react" -import { ErrorBoundary } from "react-error-boundary" -import "./index.scss" -import { BarChart } from "./BarChart" -import { getPercent, getQuestion } from "./utils" -import Pie from "./PieChart" -import { Actions } from "./Actions" - -export const UIChart = ({ - id, - sort = true, - pie = false, - title = true, - condition, - source = undefined, - groupBy = undefined, - year = 2020, -}) => { - const { label, results, total } = getQuestion({ - id, - condition, - source, - groupBy, - year, - }) - const res = results - .sort((b, a) => - sort ? (a.value > b.value ? 1 : b.value > a.value ? -1 : 0) : 0 - ) - .map(r => { - return { ...r, percent: getPercent(r.value, total) } - }) - - return ( -
    -

    {title ? (typeof title === "string" ? title : label) : null}

    - {pie ? ( - - ) : ( - - )} - -
    - ) -} - -function ErrorFallback({ error }) { - return ( -
    -

    Something went wrong:

    -
    {error.message}
    -
    - ) -} - -export const Chart = props => { - return ( - - - - ) -} diff --git a/src/components/Chart/index.scss b/src/components/Chart/index.scss deleted file mode 100644 index c14378e1..00000000 --- a/src/components/Chart/index.scss +++ /dev/null @@ -1,180 +0,0 @@ -@import "../../styles/vars"; -@import "../../styles/mixins.scss"; - -.chart { - margin-bottom: 3rem; - color: #333333; - table { - width: 100%; - } - td { - padding: 0.2rem 0px; - vertical-align: middle; - height: 100%; - @include breakpoint(mobileonly) { - padding-bottom: 0px; - } - } - tr { - display: block; - padding-top: 1rem; - } - .value { - flex: 1; - display: flex; - flex-direction: row; - align-items: center; - align-content: center; - background-color: #f6f6f6; - border-radius: 4px; - padding: 0; - - .bar { - // display: block; - background-color: var(--green); - height: 18px; - margin-right: 0.5rem; - border-radius: 3px; - display: flex; - flex-direction: row; - } - } - - .label { - // text-align: right; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: flex-end; - width: 100%; - font-size: 17px; - p { - margin: 0; - font-size: 14px; - line-height: 17px; - span { - font-size: 12px; - line-height: 15px; - color: #666666; - } - } - .percent { - text-align: right; - min-width: 145px; - } - } - - .choices { - display: flex; - flex-direction: row; - padding-top: 2rem; - flex-wrap: wrap; - li { - .square { - width: 24px; - height: 24px; - border-radius: 4px; - margin-right: 5px; - } - position: relative; - display: flex; - - align-items: center; - padding: 10px; - font-size: 15px; - line-height: 17px; - color: #333333; - } - } -} - -.pie-chart { - display: flex; - flex-direction: row; - align-items: center; - justify-content: center; - margin: auto; - .chart-content { - // flex: 1; - // background-color: red; - margin-right: 3rem; - justify-content: flex-start; - } - - li { - .square { - width: 24px; - height: 24px; - border-radius: 4px; - margin-right: 5px; - } - position: relative; - display: flex; - align-items: center; - padding: 10px; - font-size: 15px; - line-height: 17px; - color: #333333; - } - - ul { - display: flex; - flex-direction: column; - flex-wrap: wrap; - } -} - -.chart-actions { - font-weight: normal; - font-size: 14px; - line-height: 20px; - display: flex; - align-items: center; - justify-content: flex-end; - color: #747776a4; - .item { - cursor: pointer; - color: #747776a4; - display: flex; - margin-left: 1.5rem; - &:visited { - color: #747776a4; - } - &:hover { - color: var(--green); - } - svg { - margin-right: 4px; - } - } -} -.popup-content { - margin: auto; - background: rgb(255, 255, 255); - width: 50%; - padding: 5px; - border: 1px solid #d7d7d74b; -} -.popup-arrow { - color: rgb(255, 255, 255); -} -[role="tooltip"].popup-content { - width: fit-content; - box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 3px; - border-radius: 5px; -} - -.popup-overlay { - background: rgba(0, 0, 0, 0.5); -} -[data-popup="tooltip"].popup-overlay { - background: transparent; -} - -.popup-arrow { - color: #fff; - stroke-width: 2px; - stroke: #d7d7d74b; - stroke-dasharray: 30px; - stroke-dashoffset: -54px; -} diff --git a/src/components/Chart/utils.js b/src/components/Chart/utils.js deleted file mode 100644 index c4a774b8..00000000 --- a/src/components/Chart/utils.js +++ /dev/null @@ -1,96 +0,0 @@ -import DATA_2020 from "../../../results/2020/data/results.json" -import Questions_2020 from "../../../results/2020/data/questions.json" -import DATA_2021 from "../../../results/2021/data/results.json" -import Questions_2021 from "../../../results/2021/data/questions.json" - -import DATA_2022 from "../../../results/2022/data/results.json" -import Questions_2022 from "../../../results/2022/data/questions.json" - -import DATA_2023 from "../../../results/2023/data/results.json" -import Questions_2023 from "../../../results/2023/data/questions.json" - -const reducer = (accumulator, currentValue) => { - if (currentValue === undefined || currentValue === null) return accumulator - if (Array.isArray(currentValue)) { - currentValue.forEach(element => { - accumulator[element] = (accumulator[element] || 0) + 1 - }) - } else { - accumulator[currentValue] = (accumulator[currentValue] || 0) + 1 - } - accumulator["total"] = (accumulator["total"] || 0) + 1 - - return accumulator -} - -const filter = (data, condition) => { - if (typeof condition === "function") return data.filter(condition) - if (Array.isArray(condition)) { - return data.filter(v => { - for (let index = 0; index < condition.length; index++) { - const element = condition[index] - const vs = Array.isArray(v[element.question_id]) - ? v[element.question_id] - : [v[element.question_id]] - const intersection = - vs.filter(x => element?.values?.includes(x?.toString())) || [] - if (element.values.length !== 0 && intersection.length === 0) - return false - } - return true - }) - } - - return data -} - -const getDataByYear = year => { - if (year === 2021) return [DATA_2021, Questions_2021] - if (year === 2022) return [DATA_2022, Questions_2022] - if (year === 2023) return [DATA_2023, Questions_2023] - - return [DATA_2020, Questions_2020] -} - -// condition here is a function (v) => v['profile-q-0'] === 1 -export const getQuestion = ({ - id, - condition, - groupBy, - source: playgroundRes, - year = 2020, -}) => { - const [DATA, Questions] = getDataByYear(year) - const question = Questions[id] - const source = playgroundRes ? playgroundRes : DATA.results - const results = [] - const filteredData = filter(source, condition) - const d = filteredData.map(r => r[id]).reduce(reducer, {}) - Object.keys(d).map(function (key) { - if (key !== undefined && key !== "total") { - const grouped = groupBy - ? getQuestion({ - id: groupBy, - condition: v => { - if (Array.isArray(v[id])) return v[id].includes(parseInt(key, 10)) - else return v[id] === parseInt(key, 10) - }, - source: filteredData, - year, - }) - : null - results.push({ - key: key, - label: question.choices[key] || key, - value: d[key], - grouped, - }) - } - }) - - return { ...question, results, total: d.total } -} - -export const getPercent = (value, total) => { - return ((value * 100) / total).toFixed(1) -} diff --git a/src/components/Footer.js b/src/components/Footer.js deleted file mode 100644 index c61a9200..00000000 --- a/src/components/Footer.js +++ /dev/null @@ -1,141 +0,0 @@ -import React from "react" -import Logo from "../assets/logo.svg" - -export const Footer = () => { - return ( - - ) -} diff --git a/src/components/Header.js b/src/components/Header.js deleted file mode 100644 index 0845f8b6..00000000 --- a/src/components/Header.js +++ /dev/null @@ -1,115 +0,0 @@ -import { Link } from "gatsby" -import React from "react" -import Logo from "../assets/logo.svg" -import Github from "../assets/github.svg" -import Chart from "../assets/Chart.svg" - -export const Header = () => { - return ( -
    - -
    - -
    - - - - -
    - ) -} - -const ReportLink = ({ year }) => ( - } /> -) - -const PlaygroundLink = () => ( - } - /> -) - -const GithubLink = () => ( - } /> -) - -const LinkWIcon = ({ label, icon }) => ( -
    -
    -
    {icon}
    -
    -
    {label}
    -
    -) - -const ReportIcon = () => ( - -) diff --git a/src/components/Home/FAQ.js b/src/components/Home/FAQ.js deleted file mode 100644 index 9707c108..00000000 --- a/src/components/Home/FAQ.js +++ /dev/null @@ -1,109 +0,0 @@ -import React from "react" - -export const FAQ = () => ( -
    -

    - Have Questions? Checkout these FAQs -

    -

    - We have written down answers to some of the frequently asked questions. - But, if you still have any queries, feel free to get in touch with us. -

    -
      -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    -
    -) diff --git a/src/components/Home/Header.js b/src/components/Home/Header.js deleted file mode 100644 index 542704fa..00000000 --- a/src/components/Home/Header.js +++ /dev/null @@ -1,78 +0,0 @@ -import { Link } from "gatsby" -import React from "react" -import Logo from "../../assets/logo.svg" - -export const Header = () => { - return ( -
    - -
    - -
    - - - - -
    - ) -} - -const RIcon = ({ year }) => ( -
    -
    -
    - -
    -
    -
    {year}
    -
    -) diff --git a/src/components/Home/Hero.js b/src/components/Home/Hero.js deleted file mode 100644 index cda67822..00000000 --- a/src/components/Home/Hero.js +++ /dev/null @@ -1,162 +0,0 @@ -import React from "react" -import { Fragment, useRef, useState } from "react" - -import { Dialog, Transition } from "@headlessui/react" -import TimeIcon from "../../assets/time.svg" -import { Link } from "gatsby" - -export const Hero = () => { - return ( - <> -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    - State Of Dev
    - In{" "} - - {" "} - Morocco 2023{" "} - -

    -

    - Participate and let us know what working in tech really looks - like in Morocco 🇲🇦 -

    -
    -
    - -
    -
    - - - - -
    - Take part in the survey{" "} -
    - - - Read last year report - -
    -
    -
    - -

    The survey should take you 10 minutes

    -
    -
    -
    -
    - -
    -
    -
    - - ) -} - -export const YoutubeVideo = () => { - const [open, setOpen] = useState(false) - - const cancelButtonRef = useRef(null) - - return ( - <> -
    - - -
    - - - - -
    - - -
    -
    - - -
    - -
    -
    -
    -
    -
    -
    -
    - - ) -} diff --git a/src/components/Home/Interested.js b/src/components/Home/Interested.js deleted file mode 100644 index 91e32898..00000000 --- a/src/components/Home/Interested.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from "react" - -// export const Interested = () => ( -//
    -//

    -// Interested in the final report only?{" "} -// -// Subscribe to our Newsletter -// -//

    -//
    -// ) - -export const Interested = () => ( -
    -
    -
    -
    -
    -
    -
    -
    - - - -
    -

    - Interested in the final report only? -

    -

    - Subscribe to our Newsletter to get the final report as soon as it's - ready. -

    - - -
    -
    -
    -) diff --git a/src/components/Home/PastReports.js b/src/components/Home/PastReports.js deleted file mode 100644 index 84c19a02..00000000 --- a/src/components/Home/PastReports.js +++ /dev/null @@ -1,61 +0,0 @@ -import { Link } from "gatsby" -import React from "react" - -const reports = [ - { - title: `2022 Report`, - link: `/2022`, - description: `In December 2022, 1617 developers from Morocco told us about their job satisfaction, salaries, and community contributions. They shared information on how they learn and level up, the tools they're using, and what they want to learn next.`, - }, - - { - title: `2021 Report`, - link: `/2021`, - description: `In November 2021, 1,098 developers from Morocco told us about their job satisfaction, salaries, and community contributions. They shared insights on how they learn and level up, the tools they're using, and what they want to learn next.`, - }, - { - title: `2020 Report`, - link: `/2020`, - description: `In November 2020, 2,287 developers from Morocco told us about their job satisfaction, salaries, and community contributions. They shared information on how they learn and level up, the tools they're using, and what they want to learn next.`, - }, -] - -export const PastReports = () => ( -
    -
    -

    Last Years Reports:

    -
    -
    - {reports.map((report, index) => ( - - ))} -
    -
    -) - -export const ReportCard = ({ title, link, description }) => ( - -
    -
    - -
    -

    {title}

    -

    {description}

    -
    - -) diff --git a/src/components/Home/Why.js b/src/components/Home/Why.js deleted file mode 100644 index c69ceade..00000000 --- a/src/components/Home/Why.js +++ /dev/null @@ -1,50 +0,0 @@ -import React from "react" -import Community from "../../assets/Community.svg" -import Trends from "../../assets/Trends.svg" -import Protips from "../../assets/Protips.svg" - -import Knowledge from "../../assets/Knowledge.svg" - -export const Why = () => ( -
    -
    -
    -

    - Why Should You Take Part In The Survey? -

    -
    - }> - You’ll co-create a report that’ll be available for everyone across the - world, shedding more light on the state of development in Morocco. - - }> - The report will help local communities to make dissension about what - people want to learn and help make more impact. - - }> - You’ll definitely find inspiration in what other people think, getting - to know new tools and solutions – ready to use in your own work. - - }> - You'll have an idea about trending and most requested Technologies in - the market and you’ll get the chance to compare yourself with other - developers. - -
    -
    -
    -) - -const Card = ({ title, icon, children }) => ( -
    -
    -
    {icon}
    -

    - {title} -

    -

    - {children} -

    -
    -
    -) diff --git a/src/components/Home/index.js b/src/components/Home/index.js deleted file mode 100644 index 8c7882df..00000000 --- a/src/components/Home/index.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react" -import { Hero } from "./Hero" -import { Why } from "./Why" -import { Interested } from "./Interested" -import { PastReports } from "./PastReports" -import { FAQ } from "./FAQ" - -const Home = () => { - return ( - <> - - - - - - - ) -} - -export default Home diff --git a/src/components/Input.astro b/src/components/Input.astro new file mode 100644 index 00000000..ec8a7d2e --- /dev/null +++ b/src/components/Input.astro @@ -0,0 +1,23 @@ +--- +import type { HTMLAttributes } from "astro/types"; + +interface Props extends HTMLAttributes<"input"> { + name: string; + label: string; +} + +const { label, name, ...rest } = Astro.props; + +const randomId = Math.random(); +--- + +
    + + +
    diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx deleted file mode 100644 index c24553c8..00000000 --- a/src/components/Layout.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from "react" -import { GatsbySeo } from "gatsby-plugin-next-seo" -import { Footer } from "./Footer" -import "../styles/commons.scss" -import { Header } from "./Header" - -export const Layout = ({ children, year = undefined }) => ( - <> - {year === undefined ? ( - - ) : ( - - )} -
    - {children} -