Compare changes

Choose any two refs to compare.

-16
.github/renovate.json5
··· 1 - { 2 - "extends": ["config:base"], 3 - "branchPrefix": "maintenance/", 4 - "username": "renovate-release", 5 - "gitAuthor": "Renovate Bot <bot@renovateapp.com>", 6 - "onboarding": false, 7 - "prConcurrentLimit": 0, 8 - "prHourlyLimit": 5, 9 - "dependencyDashboardApproval": false, 10 - "minimumReleaseAge": "0", 11 - "packageRules": [ 12 - { 13 - "matchUpdateTypes": ["minor", "patch"] 14 - } 15 - ] 16 - }
···
-15
.github/workflows/renovate.yml
··· 1 - name: Renovate 2 - on: 3 - schedule: 4 - - cron: "0 9 * * 1" 5 - jobs: 6 - renovate: 7 - runs-on: ubuntu-latest 8 - steps: 9 - - name: Checkout 10 - uses: actions/checkout@v4.1.7 11 - - name: Self-hosted Renovate 12 - uses: renovatebot/github-action@v41.0.7 13 - with: 14 - configurationFile: .github/renovate.json5 15 - token: ${{ secrets.RENOVATE_TOKEN }}
···
+2 -22
.gitignore
··· 1 - # build output 2 - dist/ 3 - 4 - # generated types 5 - .astro/ 6 - 7 - # dependencies 8 - node_modules/ 9 - 10 - # logs 11 - npm-debug.log* 12 - yarn-debug.log* 13 - yarn-error.log* 14 - pnpm-debug.log* 15 - 16 - # environment variables 17 - .env 18 - .env.production 19 - 20 - # macOS-specific files 21 - .DS_Store 22 - .vercel
··· 1 + .wrangler 2 + node_modules
+2
.tangled/workflows/deploy.yml
··· 4 - event: ["push"] 5 branch: ["main"] 6 7 dependencies: 8 nixpkgs: 9 - nodejs
··· 4 - event: ["push"] 5 branch: ["main"] 6 7 + engine: "nixery" 8 + 9 dependencies: 10 nixpkgs: 11 - nodejs
-3
README.md
··· 1 - # Dane's Personal Site 2 - 3 - Welcome to the repository for my personal site! This iteration is using [astro](https://astro.build). Feel free to look around if you want to use this as an example for your personal website.
···
-48
astro.config.ts
··· 1 - import { defineConfig, sharpImageService } from "astro/config"; 2 - import sitemap from "@astrojs/sitemap"; 3 - import UnoCSS from "unocss/astro"; 4 - import mdx from "@astrojs/mdx"; 5 - 6 - import cloudflare from "@astrojs/cloudflare"; 7 - 8 - // https://astro.build/config 9 - export default defineConfig({ 10 - site: "https://dane.computer", 11 - experimental: { 12 - contentIntellisense: true, 13 - }, 14 - image: { 15 - service: sharpImageService(), 16 - }, 17 - integrations: [ 18 - UnoCSS({ 19 - injectReset: true, 20 - }), 21 - sitemap(), 22 - mdx(), 23 - ], 24 - markdown: { 25 - syntaxHighlight: "shiki", 26 - shikiConfig: { 27 - theme: "solarized-light", 28 - wrap: true, 29 - transformers: [ 30 - { 31 - preprocess(code) { 32 - if (code.endsWith("\n")) { 33 - code = code.slice(0, -1); 34 - } 35 - return code; 36 - }, 37 - }, 38 - ], 39 - }, 40 - }, 41 - output: "server", 42 - adapter: cloudflare({ 43 - imageService: "compile", 44 - platformProxy: { 45 - enabled: true, 46 - }, 47 - }), 48 - });
···
+7 -31
package.json
··· 1 { 2 - "name": "danethe.dev-astro", 3 - "type": "module", 4 - "version": "0.0.1", 5 "scripts": { 6 - "dev": "astro dev", 7 - "start": "astro dev", 8 - "build": "astro check && astro build", 9 - "preview": "astro build && wrangler dev", 10 - "astro": "astro", 11 - "deploy": "astro build && wrangler deploy", 12 - "cf-typegen": "wrangler types" 13 - }, 14 - "dependencies": { 15 - "@astrojs/check": "^0.9.4", 16 - "@astrojs/cloudflare": "^12.6.3", 17 - "@astrojs/mdx": "^4.3.3", 18 - "@astrojs/sitemap": "latest", 19 - "@nulfrost/leaflet-loader-astro": "^1.1.0", 20 - "astro": "^5.13.0", 21 - "sharp": "^0.34.3", 22 - "typescript": "^5.9.2" 23 }, 24 - "trustedDependencies": [ 25 - "sharp" 26 - ], 27 "devDependencies": { 28 - "@cloudflare/workers-types": "^4.20250813.0", 29 - "@iconify-json/lucide": "^1.2.62", 30 - "@iconify-json/tabler": "^1.2.22", 31 - "@unocss/reset": "^66.4.2", 32 - "detect-libc": "^2.0.4", 33 - "tsx": "^4.20.4", 34 - "unocss": "^66.4.2", 35 - "wrangler": "^4.30.0" 36 } 37 }
··· 1 { 2 + "name": "website", 3 + "version": "0.0.0", 4 + "private": true, 5 "scripts": { 6 + "deploy": "wrangler deploy", 7 + "dev": "wrangler dev", 8 + "start": "wrangler dev" 9 }, 10 "devDependencies": { 11 + "wrangler": "^4.55.0" 12 } 13 }
+219 -5532
pnpm-lock.yaml
··· 7 importers: 8 9 .: 10 - dependencies: 11 - '@astrojs/check': 12 - specifier: ^0.9.4 13 - version: 0.9.4(prettier@3.6.2)(typescript@5.9.2) 14 - '@astrojs/cloudflare': 15 - specifier: ^12.6.3 16 - version: 12.6.3(@types/node@22.5.0)(astro@5.13.0(@types/node@22.5.0)(jiti@2.5.1)(rollup@4.46.2)(tsx@4.20.4)(typescript@5.9.2)(yaml@2.6.0))(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0) 17 - '@astrojs/mdx': 18 - specifier: ^4.3.3 19 - version: 4.3.3(astro@5.13.0(@types/node@22.5.0)(jiti@2.5.1)(rollup@4.46.2)(tsx@4.20.4)(typescript@5.9.2)(yaml@2.6.0)) 20 - '@astrojs/sitemap': 21 - specifier: latest 22 - version: 3.2.1 23 - '@nulfrost/leaflet-loader-astro': 24 - specifier: ^1.1.0 25 - version: 1.1.0 26 - astro: 27 - specifier: ^5.13.0 28 - version: 5.13.0(@types/node@22.5.0)(jiti@2.5.1)(rollup@4.46.2)(tsx@4.20.4)(typescript@5.9.2)(yaml@2.6.0) 29 - sharp: 30 - specifier: ^0.34.3 31 - version: 0.34.3 32 - typescript: 33 - specifier: ^5.9.2 34 - version: 5.9.2 35 devDependencies: 36 - '@cloudflare/workers-types': 37 - specifier: ^4.20250813.0 38 - version: 4.20250813.0 39 - '@iconify-json/lucide': 40 - specifier: ^1.2.62 41 - version: 1.2.62 42 - '@iconify-json/tabler': 43 - specifier: ^1.2.22 44 - version: 1.2.22 45 - '@unocss/reset': 46 - specifier: ^66.4.2 47 - version: 66.4.2 48 - detect-libc: 49 - specifier: ^2.0.4 50 - version: 2.0.4 51 - tsx: 52 - specifier: ^4.20.4 53 - version: 4.20.4 54 - unocss: 55 - specifier: ^66.4.2 56 - version: 66.4.2(postcss@8.5.6)(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0)) 57 wrangler: 58 - specifier: ^4.30.0 59 - version: 4.30.0(@cloudflare/workers-types@4.20250813.0) 60 61 packages: 62 63 - '@ampproject/remapping@2.3.0': 64 - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 65 - engines: {node: '>=6.0.0'} 66 - 67 - '@antfu/install-pkg@1.1.0': 68 - resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} 69 - 70 - '@antfu/utils@9.2.0': 71 - resolution: {integrity: sha512-Oq1d9BGZakE/FyoEtcNeSwM7MpDO2vUBi11RWBZXf75zPsbUVWmUs03EqkRFrcgbXyKTas0BdZWC1wcuSoqSAw==} 72 - 73 - '@astrojs/check@0.9.4': 74 - resolution: {integrity: sha512-IOheHwCtpUfvogHHsvu0AbeRZEnjJg3MopdLddkJE70mULItS/Vh37BHcI00mcOJcH1vhD3odbpvWokpxam7xA==} 75 - hasBin: true 76 - peerDependencies: 77 - typescript: ^5.0.0 78 - 79 - '@astrojs/cloudflare@12.6.3': 80 - resolution: {integrity: sha512-xhJptF5tU2k5eo70nIMyL1Udma0CqmUEnGSlGyFflLqSY82CRQI6nWZ/xZt0ZvmXuErUjIx0YYQNfZsz5CNjLQ==} 81 - peerDependencies: 82 - astro: ^5.0.0 83 - 84 - '@astrojs/compiler@2.10.3': 85 - resolution: {integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==} 86 - 87 - '@astrojs/compiler@2.12.2': 88 - resolution: {integrity: sha512-w2zfvhjNCkNMmMMOn5b0J8+OmUaBL1o40ipMvqcG6NRpdC+lKxmTi48DT8Xw0SzJ3AfmeFLB45zXZXtmbsjcgw==} 89 - 90 - '@astrojs/internal-helpers@0.7.1': 91 - resolution: {integrity: sha512-7dwEVigz9vUWDw3nRwLQ/yH/xYovlUA0ZD86xoeKEBmkz9O6iELG1yri67PgAPW6VLL/xInA4t7H0CK6VmtkKQ==} 92 - 93 - '@astrojs/language-server@2.15.4': 94 - resolution: {integrity: sha512-JivzASqTPR2bao9BWsSc/woPHH7OGSGc9aMxXL4U6egVTqBycB3ZHdBJPuOCVtcGLrzdWTosAqVPz1BVoxE0+A==} 95 - hasBin: true 96 - peerDependencies: 97 - prettier: ^3.0.0 98 - prettier-plugin-astro: '>=0.11.0' 99 - peerDependenciesMeta: 100 - prettier: 101 - optional: true 102 - prettier-plugin-astro: 103 - optional: true 104 - 105 - '@astrojs/markdown-remark@6.3.5': 106 - resolution: {integrity: sha512-MiR92CkE2BcyWf3b86cBBw/1dKiOH0qhLgXH2OXA6cScrrmmks1Rr4Tl0p/lFpvmgQQrP54Pd1uidJfmxGrpWQ==} 107 - 108 - '@astrojs/mdx@4.3.3': 109 - resolution: {integrity: sha512-+9+xGP2TBXxcm84cpiq4S9JbuHOHM1fcvREfqW7VHxlUyfUQPByoJ9YYliqHkLS6BMzG+O/+o7n8nguVhuEv4w==} 110 - engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} 111 - peerDependencies: 112 - astro: ^5.0.0 113 - 114 - '@astrojs/prism@3.3.0': 115 - resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==} 116 - engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} 117 - 118 - '@astrojs/sitemap@3.2.1': 119 - resolution: {integrity: sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==} 120 - 121 - '@astrojs/telemetry@3.3.0': 122 - resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==} 123 - engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} 124 - 125 - '@astrojs/underscore-redirects@1.0.0': 126 - resolution: {integrity: sha512-qZxHwVnmb5FXuvRsaIGaqWgnftjCuMY+GSbaVZdBmE4j8AfgPqKPxYp8SUERyJcjpKCEmO4wD6ybuGH8A2kVRQ==} 127 - 128 - '@astrojs/yaml2ts@0.2.2': 129 - resolution: {integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==} 130 - 131 - '@atcute/client@4.0.3': 132 - resolution: {integrity: sha512-RIOZWFVLca/HiPAAUDqQPOdOreCxTbL5cb+WUf5yqQOKIu5yEAP3eksinmlLmgIrlr5qVOE7brazUUzaskFCfw==} 133 - 134 - '@atcute/identity@1.0.3': 135 - resolution: {integrity: sha512-mNMxbKHFGys03A8JXKk0KfMBzdd0vrYMzZZWjpw1nYTs0+ea6bo5S1hwqVUZxHdo1gFHSe/t63jxQIF4yL9aKw==} 136 - 137 - '@atcute/lexicons@1.1.0': 138 - resolution: {integrity: sha512-LFqwnria78xLYb62Ri/+WwQpUTgZp2DuyolNGIIOV1dpiKhFFFh//nscHMA6IExFLQRqWDs3tTjy7zv0h3sf1Q==} 139 - 140 - '@atproto/api@0.16.2': 141 - resolution: {integrity: sha512-sSTg31J8ws8DNaoiizp+/uJideRxRaJsq+Nyl8rnSxGw0w3oCvoeRU19iRWh2t0jZEmiRJAGkveGu23NKmPYEQ==} 142 - 143 - '@atproto/common-web@0.4.2': 144 - resolution: {integrity: sha512-vrXwGNoFGogodjQvJDxAeP3QbGtawgZute2ed1XdRO0wMixLk3qewtikZm06H259QDJVu6voKC5mubml+WgQUw==} 145 - 146 - '@atproto/lexicon@0.4.12': 147 - resolution: {integrity: sha512-fcEvEQ1GpQYF5igZ4IZjPWEoWVpsEF22L9RexxLS3ptfySXLflEyH384e7HITzO/73McDeaJx3lqHIuqn9ulnw==} 148 - 149 - '@atproto/syntax@0.4.0': 150 - resolution: {integrity: sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA==} 151 - 152 - '@atproto/xrpc@0.7.1': 153 - resolution: {integrity: sha512-ANHEzlskYlMEdH18m+Itp3a8d0pEJao2qoDybDoMupTnoeNkya4VKIaOgAi6ERQnqatBBZyn9asW+7rJmSt/8g==} 154 - 155 - '@babel/code-frame@7.27.1': 156 - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} 157 - engines: {node: '>=6.9.0'} 158 - 159 - '@babel/generator@7.28.0': 160 - resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} 161 - engines: {node: '>=6.9.0'} 162 - 163 - '@babel/helper-globals@7.28.0': 164 - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} 165 - engines: {node: '>=6.9.0'} 166 - 167 - '@babel/helper-string-parser@7.27.1': 168 - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} 169 - engines: {node: '>=6.9.0'} 170 - 171 - '@babel/helper-validator-identifier@7.27.1': 172 - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 173 - engines: {node: '>=6.9.0'} 174 - 175 - '@babel/parser@7.28.0': 176 - resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} 177 - engines: {node: '>=6.0.0'} 178 - hasBin: true 179 - 180 - '@babel/template@7.27.2': 181 - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} 182 - engines: {node: '>=6.9.0'} 183 - 184 - '@babel/traverse@7.28.0': 185 - resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} 186 - engines: {node: '>=6.9.0'} 187 - 188 - '@babel/types@7.28.2': 189 - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} 190 - engines: {node: '>=6.9.0'} 191 - 192 - '@badrap/valita@0.4.6': 193 - resolution: {integrity: sha512-4kdqcjyxo/8RQ8ayjms47HCWZIF5981oE5nIenbfThKDxWXtEHKipAOWlflpPJzZx9y/JWYQkp18Awr7VuepFg==} 194 - engines: {node: '>= 18'} 195 - 196 - '@capsizecss/unpack@2.4.0': 197 - resolution: {integrity: sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==} 198 - 199 - '@cloudflare/kv-asset-handler@0.4.0': 200 - resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} 201 engines: {node: '>=18.0.0'} 202 203 - '@cloudflare/unenv-preset@2.6.1': 204 - resolution: {integrity: sha512-48rC6jo9CkSRkImfu5KU4zKyoPJx7b9GTUpZn0Emr6J+jkmrLhwCY3BI10QS+fhOt1NkJNlxIcYrBgvWeCpKOw==} 205 peerDependencies: 206 - unenv: 2.0.0-rc.19 207 - workerd: ^1.20250802.0 208 peerDependenciesMeta: 209 workerd: 210 optional: true 211 212 - '@cloudflare/workerd-darwin-64@1.20250813.0': 213 - resolution: {integrity: sha512-Pka37/jqLy7ZaQlwpBy79A/BLH+qpRPSEX2h/zWND+qRfoCVCCaZQPdknHZO0pcvHPzK8E2Z4j5QI1IafPA5UA==} 214 engines: {node: '>=16'} 215 cpu: [x64] 216 os: [darwin] 217 218 - '@cloudflare/workerd-darwin-arm64@1.20250813.0': 219 - resolution: {integrity: sha512-QnaJbmhcA32+4uZ+or1hXZjdxGqrFUuh6Ye+skEGu3iB/xzq9CmyVyoKoshiUOcWGKndQb7KRo56dq0bVvVLFw==} 220 engines: {node: '>=16'} 221 cpu: [arm64] 222 os: [darwin] 223 224 - '@cloudflare/workerd-linux-64@1.20250813.0': 225 - resolution: {integrity: sha512-6pokgBQmujJsAuqOme2wBX5ol/1YW3d7kV7wp0Y1/tFi46TnmWcEy08B4FD5t2AARQJ68a7XMxIJKWChcaJ9Cg==} 226 engines: {node: '>=16'} 227 cpu: [x64] 228 os: [linux] 229 230 - '@cloudflare/workerd-linux-arm64@1.20250813.0': 231 - resolution: {integrity: sha512-lFwqohi8fkR98OwjHT69sbThx4BJem7vu6N8kqrge7wuKJWrMDNbzOTdyBA8adV9DmE07ELuN2vcbbu8ZjaL2Q==} 232 engines: {node: '>=16'} 233 cpu: [arm64] 234 os: [linux] 235 236 - '@cloudflare/workerd-windows-64@1.20250813.0': 237 - resolution: {integrity: sha512-Fs62NvUajtoXb+4W8jaRXzw64Nbmb8X+PbRLZbxUFv68sGhxKPw1nB1YEmNNZ215ma47hTlSdF3UQh4FOmz7NA==} 238 engines: {node: '>=16'} 239 cpu: [x64] 240 os: [win32] 241 242 - '@cloudflare/workers-types@4.20250813.0': 243 - resolution: {integrity: sha512-RFFjomDndGR+p7ug1HWDlW21qOJyRZbmI99dUtuR9tmwJbSZhUUnSFmzok9lBYVfkMMrO1O5vmB+IlgiecgLEA==} 244 - 245 '@cspotcode/source-map-support@0.8.1': 246 resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 247 engines: {node: '>=12'} 248 249 - '@emmetio/abbreviation@2.3.3': 250 - resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} 251 - 252 - '@emmetio/css-abbreviation@2.1.8': 253 - resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} 254 - 255 - '@emmetio/css-parser@0.4.0': 256 - resolution: {integrity: sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==} 257 - 258 - '@emmetio/html-matcher@1.3.0': 259 - resolution: {integrity: sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==} 260 261 - '@emmetio/scanner@1.0.4': 262 - resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} 263 - 264 - '@emmetio/stream-reader-utils@0.1.0': 265 - resolution: {integrity: sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==} 266 - 267 - '@emmetio/stream-reader@2.2.0': 268 - resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==} 269 - 270 - '@emnapi/runtime@1.4.5': 271 - resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} 272 - 273 - '@esbuild/aix-ppc64@0.25.4': 274 - resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} 275 engines: {node: '>=18'} 276 cpu: [ppc64] 277 os: [aix] 278 279 - '@esbuild/aix-ppc64@0.25.8': 280 - resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} 281 - engines: {node: '>=18'} 282 - cpu: [ppc64] 283 - os: [aix] 284 - 285 - '@esbuild/android-arm64@0.25.4': 286 - resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} 287 - engines: {node: '>=18'} 288 - cpu: [arm64] 289 - os: [android] 290 - 291 - '@esbuild/android-arm64@0.25.8': 292 - resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} 293 engines: {node: '>=18'} 294 cpu: [arm64] 295 os: [android] 296 297 - '@esbuild/android-arm@0.25.4': 298 - resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} 299 - engines: {node: '>=18'} 300 - cpu: [arm] 301 - os: [android] 302 - 303 - '@esbuild/android-arm@0.25.8': 304 - resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} 305 engines: {node: '>=18'} 306 cpu: [arm] 307 os: [android] 308 309 - '@esbuild/android-x64@0.25.4': 310 - resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} 311 engines: {node: '>=18'} 312 cpu: [x64] 313 os: [android] 314 315 - '@esbuild/android-x64@0.25.8': 316 - resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} 317 - engines: {node: '>=18'} 318 - cpu: [x64] 319 - os: [android] 320 - 321 - '@esbuild/darwin-arm64@0.25.4': 322 - resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} 323 engines: {node: '>=18'} 324 cpu: [arm64] 325 os: [darwin] 326 327 - '@esbuild/darwin-arm64@0.25.8': 328 - resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} 329 - engines: {node: '>=18'} 330 - cpu: [arm64] 331 - os: [darwin] 332 - 333 - '@esbuild/darwin-x64@0.25.4': 334 - resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} 335 engines: {node: '>=18'} 336 cpu: [x64] 337 os: [darwin] 338 339 - '@esbuild/darwin-x64@0.25.8': 340 - resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} 341 - engines: {node: '>=18'} 342 - cpu: [x64] 343 - os: [darwin] 344 - 345 - '@esbuild/freebsd-arm64@0.25.4': 346 - resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} 347 - engines: {node: '>=18'} 348 - cpu: [arm64] 349 - os: [freebsd] 350 - 351 - '@esbuild/freebsd-arm64@0.25.8': 352 - resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} 353 engines: {node: '>=18'} 354 cpu: [arm64] 355 os: [freebsd] 356 357 - '@esbuild/freebsd-x64@0.25.4': 358 - resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} 359 engines: {node: '>=18'} 360 cpu: [x64] 361 os: [freebsd] 362 363 - '@esbuild/freebsd-x64@0.25.8': 364 - resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} 365 - engines: {node: '>=18'} 366 - cpu: [x64] 367 - os: [freebsd] 368 - 369 - '@esbuild/linux-arm64@0.25.4': 370 - resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} 371 engines: {node: '>=18'} 372 cpu: [arm64] 373 os: [linux] 374 375 - '@esbuild/linux-arm64@0.25.8': 376 - resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} 377 - engines: {node: '>=18'} 378 - cpu: [arm64] 379 - os: [linux] 380 - 381 - '@esbuild/linux-arm@0.25.4': 382 - resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} 383 engines: {node: '>=18'} 384 cpu: [arm] 385 os: [linux] 386 387 - '@esbuild/linux-arm@0.25.8': 388 - resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} 389 - engines: {node: '>=18'} 390 - cpu: [arm] 391 - os: [linux] 392 - 393 - '@esbuild/linux-ia32@0.25.4': 394 - resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} 395 - engines: {node: '>=18'} 396 - cpu: [ia32] 397 - os: [linux] 398 - 399 - '@esbuild/linux-ia32@0.25.8': 400 - resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} 401 engines: {node: '>=18'} 402 cpu: [ia32] 403 os: [linux] 404 405 - '@esbuild/linux-loong64@0.25.4': 406 - resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} 407 engines: {node: '>=18'} 408 cpu: [loong64] 409 os: [linux] 410 411 - '@esbuild/linux-loong64@0.25.8': 412 - resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} 413 - engines: {node: '>=18'} 414 - cpu: [loong64] 415 - os: [linux] 416 - 417 - '@esbuild/linux-mips64el@0.25.4': 418 - resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} 419 engines: {node: '>=18'} 420 cpu: [mips64el] 421 os: [linux] 422 423 - '@esbuild/linux-mips64el@0.25.8': 424 - resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} 425 - engines: {node: '>=18'} 426 - cpu: [mips64el] 427 - os: [linux] 428 - 429 - '@esbuild/linux-ppc64@0.25.4': 430 - resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} 431 engines: {node: '>=18'} 432 cpu: [ppc64] 433 os: [linux] 434 435 - '@esbuild/linux-ppc64@0.25.8': 436 - resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} 437 - engines: {node: '>=18'} 438 - cpu: [ppc64] 439 - os: [linux] 440 - 441 - '@esbuild/linux-riscv64@0.25.4': 442 - resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} 443 engines: {node: '>=18'} 444 cpu: [riscv64] 445 os: [linux] 446 447 - '@esbuild/linux-riscv64@0.25.8': 448 - resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} 449 - engines: {node: '>=18'} 450 - cpu: [riscv64] 451 - os: [linux] 452 - 453 - '@esbuild/linux-s390x@0.25.4': 454 - resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} 455 - engines: {node: '>=18'} 456 - cpu: [s390x] 457 - os: [linux] 458 - 459 - '@esbuild/linux-s390x@0.25.8': 460 - resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} 461 engines: {node: '>=18'} 462 cpu: [s390x] 463 os: [linux] 464 465 - '@esbuild/linux-x64@0.25.4': 466 - resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} 467 engines: {node: '>=18'} 468 cpu: [x64] 469 os: [linux] 470 471 - '@esbuild/linux-x64@0.25.8': 472 - resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} 473 - engines: {node: '>=18'} 474 - cpu: [x64] 475 - os: [linux] 476 - 477 - '@esbuild/netbsd-arm64@0.25.4': 478 - resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} 479 engines: {node: '>=18'} 480 cpu: [arm64] 481 os: [netbsd] 482 483 - '@esbuild/netbsd-arm64@0.25.8': 484 - resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} 485 - engines: {node: '>=18'} 486 - cpu: [arm64] 487 - os: [netbsd] 488 - 489 - '@esbuild/netbsd-x64@0.25.4': 490 - resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} 491 engines: {node: '>=18'} 492 cpu: [x64] 493 os: [netbsd] 494 495 - '@esbuild/netbsd-x64@0.25.8': 496 - resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} 497 - engines: {node: '>=18'} 498 - cpu: [x64] 499 - os: [netbsd] 500 - 501 - '@esbuild/openbsd-arm64@0.25.4': 502 - resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} 503 - engines: {node: '>=18'} 504 - cpu: [arm64] 505 - os: [openbsd] 506 - 507 - '@esbuild/openbsd-arm64@0.25.8': 508 - resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} 509 engines: {node: '>=18'} 510 cpu: [arm64] 511 os: [openbsd] 512 513 - '@esbuild/openbsd-x64@0.25.4': 514 - resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} 515 - engines: {node: '>=18'} 516 - cpu: [x64] 517 - os: [openbsd] 518 - 519 - '@esbuild/openbsd-x64@0.25.8': 520 - resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} 521 engines: {node: '>=18'} 522 cpu: [x64] 523 os: [openbsd] 524 525 - '@esbuild/openharmony-arm64@0.25.8': 526 - resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} 527 engines: {node: '>=18'} 528 cpu: [arm64] 529 os: [openharmony] 530 531 - '@esbuild/sunos-x64@0.25.4': 532 - resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} 533 engines: {node: '>=18'} 534 cpu: [x64] 535 os: [sunos] 536 537 - '@esbuild/sunos-x64@0.25.8': 538 - resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} 539 - engines: {node: '>=18'} 540 - cpu: [x64] 541 - os: [sunos] 542 - 543 - '@esbuild/win32-arm64@0.25.4': 544 - resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} 545 engines: {node: '>=18'} 546 cpu: [arm64] 547 os: [win32] 548 549 - '@esbuild/win32-arm64@0.25.8': 550 - resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} 551 - engines: {node: '>=18'} 552 - cpu: [arm64] 553 - os: [win32] 554 - 555 - '@esbuild/win32-ia32@0.25.4': 556 - resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} 557 - engines: {node: '>=18'} 558 - cpu: [ia32] 559 - os: [win32] 560 - 561 - '@esbuild/win32-ia32@0.25.8': 562 - resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} 563 engines: {node: '>=18'} 564 cpu: [ia32] 565 os: [win32] 566 567 - '@esbuild/win32-x64@0.25.4': 568 - resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} 569 - engines: {node: '>=18'} 570 - cpu: [x64] 571 - os: [win32] 572 - 573 - '@esbuild/win32-x64@0.25.8': 574 - resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} 575 engines: {node: '>=18'} 576 cpu: [x64] 577 os: [win32] 578 579 - '@iconify-json/lucide@1.2.62': 580 - resolution: {integrity: sha512-K0KfhvP5YQZ2KraOgCm6jJbwwzQCVocvXcdMpDou5uLa48QnLBRW/dQ8VDGmxHTGpwF9EqLlvnUSinH2i6xs3Q==} 581 - 582 - '@iconify-json/tabler@1.2.22': 583 - resolution: {integrity: sha512-KmCtTzZyz7dtszdQGJ5wbWqko6exhI38e4aCQqWZE1Z2wGUqBsMXrRWawXkAp6/XNBebt54h0lcxFCaTYBwFJg==} 584 - 585 - '@iconify/types@2.0.0': 586 - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} 587 - 588 - '@iconify/utils@3.0.1': 589 - resolution: {integrity: sha512-A78CUEnFGX8I/WlILxJCuIJXloL0j/OJ9PSchPAfCargEIKmUBWvvEMmKWB5oONwiUqlNt+5eRufdkLxeHIWYw==} 590 - 591 '@img/sharp-darwin-arm64@0.33.5': 592 resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 593 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 594 - cpu: [arm64] 595 - os: [darwin] 596 - 597 - '@img/sharp-darwin-arm64@0.34.3': 598 - resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==} 599 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 600 cpu: [arm64] 601 os: [darwin] ··· 606 cpu: [x64] 607 os: [darwin] 608 609 - '@img/sharp-darwin-x64@0.34.3': 610 - resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==} 611 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 612 - cpu: [x64] 613 - os: [darwin] 614 - 615 '@img/sharp-libvips-darwin-arm64@1.0.4': 616 resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 617 - cpu: [arm64] 618 - os: [darwin] 619 - 620 - '@img/sharp-libvips-darwin-arm64@1.2.0': 621 - resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==} 622 cpu: [arm64] 623 os: [darwin] 624 ··· 627 cpu: [x64] 628 os: [darwin] 629 630 - '@img/sharp-libvips-darwin-x64@1.2.0': 631 - resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==} 632 - cpu: [x64] 633 - os: [darwin] 634 - 635 '@img/sharp-libvips-linux-arm64@1.0.4': 636 resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 637 cpu: [arm64] 638 os: [linux] 639 640 - '@img/sharp-libvips-linux-arm64@1.2.0': 641 - resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==} 642 - cpu: [arm64] 643 - os: [linux] 644 - 645 '@img/sharp-libvips-linux-arm@1.0.5': 646 resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 647 cpu: [arm] 648 os: [linux] 649 650 - '@img/sharp-libvips-linux-arm@1.2.0': 651 - resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==} 652 - cpu: [arm] 653 - os: [linux] 654 - 655 - '@img/sharp-libvips-linux-ppc64@1.2.0': 656 - resolution: {integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==} 657 - cpu: [ppc64] 658 - os: [linux] 659 - 660 '@img/sharp-libvips-linux-s390x@1.0.4': 661 resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 662 cpu: [s390x] 663 os: [linux] 664 665 - '@img/sharp-libvips-linux-s390x@1.2.0': 666 - resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==} 667 - cpu: [s390x] 668 - os: [linux] 669 - 670 '@img/sharp-libvips-linux-x64@1.0.4': 671 resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 672 cpu: [x64] 673 os: [linux] 674 675 - '@img/sharp-libvips-linux-x64@1.2.0': 676 - resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==} 677 - cpu: [x64] 678 - os: [linux] 679 - 680 '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 681 resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 682 cpu: [arm64] 683 os: [linux] 684 685 - '@img/sharp-libvips-linuxmusl-arm64@1.2.0': 686 - resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==} 687 - cpu: [arm64] 688 - os: [linux] 689 - 690 '@img/sharp-libvips-linuxmusl-x64@1.0.4': 691 resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 692 - cpu: [x64] 693 - os: [linux] 694 - 695 - '@img/sharp-libvips-linuxmusl-x64@1.2.0': 696 - resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==} 697 cpu: [x64] 698 os: [linux] 699 ··· 703 cpu: [arm64] 704 os: [linux] 705 706 - '@img/sharp-linux-arm64@0.34.3': 707 - resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==} 708 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 709 - cpu: [arm64] 710 - os: [linux] 711 - 712 '@img/sharp-linux-arm@0.33.5': 713 resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 714 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 715 cpu: [arm] 716 os: [linux] 717 718 - '@img/sharp-linux-arm@0.34.3': 719 - resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==} 720 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 721 - cpu: [arm] 722 - os: [linux] 723 - 724 - '@img/sharp-linux-ppc64@0.34.3': 725 - resolution: {integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==} 726 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 727 - cpu: [ppc64] 728 - os: [linux] 729 - 730 '@img/sharp-linux-s390x@0.33.5': 731 resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 732 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 733 cpu: [s390x] 734 os: [linux] 735 736 - '@img/sharp-linux-s390x@0.34.3': 737 - resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==} 738 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 739 - cpu: [s390x] 740 - os: [linux] 741 - 742 '@img/sharp-linux-x64@0.33.5': 743 resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 744 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 745 cpu: [x64] 746 os: [linux] 747 748 - '@img/sharp-linux-x64@0.34.3': 749 - resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==} 750 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 751 - cpu: [x64] 752 - os: [linux] 753 - 754 '@img/sharp-linuxmusl-arm64@0.33.5': 755 resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 756 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 757 cpu: [arm64] 758 os: [linux] 759 760 - '@img/sharp-linuxmusl-arm64@0.34.3': 761 - resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==} 762 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 763 - cpu: [arm64] 764 - os: [linux] 765 - 766 '@img/sharp-linuxmusl-x64@0.33.5': 767 resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 768 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 769 cpu: [x64] 770 os: [linux] 771 772 - '@img/sharp-linuxmusl-x64@0.34.3': 773 - resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==} 774 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 775 - cpu: [x64] 776 - os: [linux] 777 - 778 '@img/sharp-wasm32@0.33.5': 779 resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 780 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 781 cpu: [wasm32] 782 783 - '@img/sharp-wasm32@0.34.3': 784 - resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==} 785 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 786 - cpu: [wasm32] 787 - 788 - '@img/sharp-win32-arm64@0.34.3': 789 - resolution: {integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==} 790 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 791 - cpu: [arm64] 792 - os: [win32] 793 - 794 '@img/sharp-win32-ia32@0.33.5': 795 resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 796 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 797 cpu: [ia32] 798 os: [win32] 799 800 - '@img/sharp-win32-ia32@0.34.3': 801 - resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==} 802 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 803 - cpu: [ia32] 804 - os: [win32] 805 - 806 '@img/sharp-win32-x64@0.33.5': 807 resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 808 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 809 cpu: [x64] 810 os: [win32] 811 812 - '@img/sharp-win32-x64@0.34.3': 813 - resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==} 814 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 815 - cpu: [x64] 816 - os: [win32] 817 - 818 - '@jridgewell/gen-mapping@0.3.12': 819 - resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} 820 - 821 '@jridgewell/resolve-uri@3.1.2': 822 resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 823 engines: {node: '>=6.0.0'} 824 825 - '@jridgewell/sourcemap-codec@1.5.0': 826 - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 827 - 828 - '@jridgewell/trace-mapping@0.3.29': 829 - resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} 830 831 '@jridgewell/trace-mapping@0.3.9': 832 resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 833 834 - '@mdx-js/mdx@3.1.0': 835 - resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} 836 - 837 - '@nodelib/fs.scandir@2.1.5': 838 - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 839 - engines: {node: '>= 8'} 840 - 841 - '@nodelib/fs.stat@2.0.5': 842 - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 843 - engines: {node: '>= 8'} 844 - 845 - '@nodelib/fs.walk@1.2.8': 846 - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 847 - engines: {node: '>= 8'} 848 - 849 - '@nulfrost/leaflet-loader-astro@1.1.0': 850 - resolution: {integrity: sha512-A6ONOmds3/3pVFfa+YdpC5YMfOF1shvczAOnSWfVtUYz3bl3NRz26KieUrGW+26iVPgUtHPRLQOfygImrLrhYw==} 851 - 852 - '@oslojs/encoding@1.1.0': 853 - resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} 854 - 855 - '@polka/url@1.0.0-next.25': 856 - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} 857 - 858 - '@poppinss/colors@4.1.5': 859 - resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==} 860 - 861 - '@poppinss/dumper@0.6.4': 862 - resolution: {integrity: sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==} 863 - 864 - '@poppinss/exception@1.2.2': 865 - resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} 866 - 867 - '@quansync/fs@0.1.3': 868 - resolution: {integrity: sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==} 869 - engines: {node: '>=20.0.0'} 870 - 871 - '@rollup/pluginutils@5.2.0': 872 - resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} 873 - engines: {node: '>=14.0.0'} 874 - peerDependencies: 875 - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 876 - peerDependenciesMeta: 877 - rollup: 878 - optional: true 879 - 880 - '@rollup/rollup-android-arm-eabi@4.46.2': 881 - resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} 882 - cpu: [arm] 883 - os: [android] 884 - 885 - '@rollup/rollup-android-arm64@4.46.2': 886 - resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} 887 - cpu: [arm64] 888 - os: [android] 889 - 890 - '@rollup/rollup-darwin-arm64@4.46.2': 891 - resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} 892 - cpu: [arm64] 893 - os: [darwin] 894 - 895 - '@rollup/rollup-darwin-x64@4.46.2': 896 - resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} 897 - cpu: [x64] 898 - os: [darwin] 899 - 900 - '@rollup/rollup-freebsd-arm64@4.46.2': 901 - resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} 902 - cpu: [arm64] 903 - os: [freebsd] 904 - 905 - '@rollup/rollup-freebsd-x64@4.46.2': 906 - resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} 907 - cpu: [x64] 908 - os: [freebsd] 909 - 910 - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': 911 - resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} 912 - cpu: [arm] 913 - os: [linux] 914 - 915 - '@rollup/rollup-linux-arm-musleabihf@4.46.2': 916 - resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} 917 - cpu: [arm] 918 - os: [linux] 919 - 920 - '@rollup/rollup-linux-arm64-gnu@4.46.2': 921 - resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} 922 - cpu: [arm64] 923 - os: [linux] 924 - 925 - '@rollup/rollup-linux-arm64-musl@4.46.2': 926 - resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} 927 - cpu: [arm64] 928 - os: [linux] 929 - 930 - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': 931 - resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} 932 - cpu: [loong64] 933 - os: [linux] 934 - 935 - '@rollup/rollup-linux-ppc64-gnu@4.46.2': 936 - resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} 937 - cpu: [ppc64] 938 - os: [linux] 939 - 940 - '@rollup/rollup-linux-riscv64-gnu@4.46.2': 941 - resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} 942 - cpu: [riscv64] 943 - os: [linux] 944 - 945 - '@rollup/rollup-linux-riscv64-musl@4.46.2': 946 - resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} 947 - cpu: [riscv64] 948 - os: [linux] 949 - 950 - '@rollup/rollup-linux-s390x-gnu@4.46.2': 951 - resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} 952 - cpu: [s390x] 953 - os: [linux] 954 - 955 - '@rollup/rollup-linux-x64-gnu@4.46.2': 956 - resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} 957 - cpu: [x64] 958 - os: [linux] 959 960 - '@rollup/rollup-linux-x64-musl@4.46.2': 961 - resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} 962 - cpu: [x64] 963 - os: [linux] 964 - 965 - '@rollup/rollup-win32-arm64-msvc@4.46.2': 966 - resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} 967 - cpu: [arm64] 968 - os: [win32] 969 - 970 - '@rollup/rollup-win32-ia32-msvc@4.46.2': 971 - resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} 972 - cpu: [ia32] 973 - os: [win32] 974 - 975 - '@rollup/rollup-win32-x64-msvc@4.46.2': 976 - resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} 977 - cpu: [x64] 978 - os: [win32] 979 - 980 - '@shikijs/core@3.9.2': 981 - resolution: {integrity: sha512-3q/mzmw09B2B6PgFNeiaN8pkNOixWS726IHmJEpjDAcneDPMQmUg2cweT9cWXY4XcyQS3i6mOOUgQz9RRUP6HA==} 982 - 983 - '@shikijs/engine-javascript@3.9.2': 984 - resolution: {integrity: sha512-kUTRVKPsB/28H5Ko6qEsyudBiWEDLst+Sfi+hwr59E0GLHV0h8RfgbQU7fdN5Lt9A8R1ulRiZyTvAizkROjwDA==} 985 - 986 - '@shikijs/engine-oniguruma@3.9.2': 987 - resolution: {integrity: sha512-Vn/w5oyQ6TUgTVDIC/BrpXwIlfK6V6kGWDVVz2eRkF2v13YoENUvaNwxMsQU/t6oCuZKzqp9vqtEtEzKl9VegA==} 988 - 989 - '@shikijs/langs@3.9.2': 990 - resolution: {integrity: sha512-X1Q6wRRQXY7HqAuX3I8WjMscjeGjqXCg/Sve7J2GWFORXkSrXud23UECqTBIdCSNKJioFtmUGJQNKtlMMZMn0w==} 991 - 992 - '@shikijs/themes@3.9.2': 993 - resolution: {integrity: sha512-6z5lBPBMRfLyyEsgf6uJDHPa6NAGVzFJqH4EAZ+03+7sedYir2yJBRu2uPZOKmj43GyhVHWHvyduLDAwJQfDjA==} 994 - 995 - '@shikijs/types@3.9.2': 996 - resolution: {integrity: sha512-/M5L0Uc2ljyn2jKvj4Yiah7ow/W+DJSglVafvWAJ/b8AZDeeRAdMu3c2riDzB7N42VD+jSnWxeP9AKtd4TfYVw==} 997 998 - '@shikijs/vscode-textmate@10.0.2': 999 - resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} 1000 1001 - '@sindresorhus/is@7.0.2': 1002 - resolution: {integrity: sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw==} 1003 engines: {node: '>=18'} 1004 1005 - '@speed-highlight/core@1.2.7': 1006 - resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==} 1007 - 1008 - '@swc/helpers@0.5.17': 1009 - resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} 1010 - 1011 - '@types/acorn@4.0.6': 1012 - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} 1013 - 1014 - '@types/debug@4.1.12': 1015 - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 1016 - 1017 - '@types/estree-jsx@1.0.5': 1018 - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} 1019 - 1020 - '@types/estree@1.0.6': 1021 - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 1022 - 1023 - '@types/estree@1.0.8': 1024 - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 1025 - 1026 - '@types/fontkit@2.0.8': 1027 - resolution: {integrity: sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==} 1028 - 1029 - '@types/hast@3.0.4': 1030 - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} 1031 - 1032 - '@types/mdast@4.0.4': 1033 - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} 1034 - 1035 - '@types/mdx@2.0.13': 1036 - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} 1037 - 1038 - '@types/ms@0.7.34': 1039 - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} 1040 - 1041 - '@types/nlcst@2.0.3': 1042 - resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} 1043 - 1044 - '@types/node@17.0.45': 1045 - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} 1046 - 1047 - '@types/node@22.5.0': 1048 - resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} 1049 - 1050 - '@types/sax@1.2.7': 1051 - resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} 1052 - 1053 - '@types/unist@2.0.11': 1054 - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} 1055 - 1056 - '@types/unist@3.0.3': 1057 - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} 1058 - 1059 - '@ungap/structured-clone@1.2.0': 1060 - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 1061 - 1062 - '@unocss/astro@66.4.2': 1063 - resolution: {integrity: sha512-En3AKHwkiPxtZT95vkVrNiRYrB+DFVCikew6/dMMCWDWVKK0+5tEVUTzR1ak3+YnzAXl0NpWj8D4zHb0PxOs/A==} 1064 - peerDependencies: 1065 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 1066 - peerDependenciesMeta: 1067 - vite: 1068 - optional: true 1069 - 1070 - '@unocss/cli@66.4.2': 1071 - resolution: {integrity: sha512-WsXzrB0SHbSt2nOHtD5QM91VN8j38+wObqyGcoIhtBSugqzsc+t7AdPkxV/ZaYgtPAz87bR0WFEVKcbiBRnmJw==} 1072 - engines: {node: '>=14'} 1073 - hasBin: true 1074 - 1075 - '@unocss/config@66.4.2': 1076 - resolution: {integrity: sha512-plji1gNGSzlWjuV2Uh0q6Dt5ZlNkOKCHpgxekW9J458WghGAMBeXgB9uNpWg6flilqP1g0GJQv+XvJcSkYRGpQ==} 1077 - engines: {node: '>=14'} 1078 - 1079 - '@unocss/core@66.4.2': 1080 - resolution: {integrity: sha512-cYgMQrLhB9nRekv5c+yPDDa+5dzlMkA2UMQRil0s5D9Lb5n7NsCMcr6+nfxkcSYVLy92SbwDV45c6T7vIxFTOA==} 1081 - 1082 - '@unocss/extractor-arbitrary-variants@66.4.2': 1083 - resolution: {integrity: sha512-T/eSeodfAp7HaWnQGqVLOsW4PbKUAvuybNRyvFWThMneM2qo+dOo3kFnA5my9ULAmRSFsAlyB1DnupD3qv5Klg==} 1084 - 1085 - '@unocss/inspector@66.4.2': 1086 - resolution: {integrity: sha512-ugcJK8r2ypM4eIdgetVn8RhfKrbA3AF3OQ/RohK5PPk2UPDAScqabzYpfdNW4eYQsBOZOgoiqWtnfc8weqo8LQ==} 1087 - 1088 - '@unocss/postcss@66.4.2': 1089 - resolution: {integrity: sha512-tu4lnh6K27pIAuaQHlFlhXin8korwC0r1kQl00YMmF3THiX7orXkTP6xWGcQwnkbx4uQz1dw+tBimYxeaAMrhA==} 1090 - engines: {node: '>=14'} 1091 - peerDependencies: 1092 - postcss: ^8.4.21 1093 - 1094 - '@unocss/preset-attributify@66.4.2': 1095 - resolution: {integrity: sha512-DwFJJkkawmHpjo3pGQE8FyoPsvhbxh+QMvvaAdYpo+iZ5HRkeDml9SOj7u6SGTcmbNyI+QR61s0KM8fxx6HcVQ==} 1096 - 1097 - '@unocss/preset-icons@66.4.2': 1098 - resolution: {integrity: sha512-qJx9gmesrvrmoTe9Mqoidihad8hm2MSD4QAezhfDSAyllioJOgyT0Bev/IEWAbehe9jtqYIh8v1oCerBPbGn6Q==} 1099 - 1100 - '@unocss/preset-mini@66.4.2': 1101 - resolution: {integrity: sha512-Ry+5hM+XLmT8HrEb182mUfcZuyrZ8xR+TBe72DBcliJ1DhOV3K67TCxwQucfb0zHbGV71HNWdPmHsLKxPDgweQ==} 1102 - 1103 - '@unocss/preset-tagify@66.4.2': 1104 - resolution: {integrity: sha512-dECS09LqWJY4sYpgPUH2OAUftWU/tiZPR2XDRoTngeGU37GxSN+1sWtSmB7vwDm3C7opsdVUN20he8F1LUNubw==} 1105 - 1106 - '@unocss/preset-typography@66.4.2': 1107 - resolution: {integrity: sha512-ZOKRuR5+V0r30QTVq04/6ZoIw75me3V25v2dU2YWJXIzwpMKmQ9TUN/M1yeiEUFfXjOaruWX6Ad6CvAw2MlCew==} 1108 - 1109 - '@unocss/preset-uno@66.4.2': 1110 - resolution: {integrity: sha512-1MFtPivGcpqRQFWdjtP40Enop1y3XDb3tlZXoMQUX0IGLG8HJOT+lfQx/Xl9t73ShJ8aAJ/l6qTxC43ZGNACzA==} 1111 - 1112 - '@unocss/preset-web-fonts@66.4.2': 1113 - resolution: {integrity: sha512-4FYmleeRoM8r2DqGl6dfIjnX57tepcfZCvVfeCqYnk7475Yddmv1OYkoMjkWMnkK9MzdSxsFwHMU6CIUTmFTzQ==} 1114 - 1115 - '@unocss/preset-wind3@66.4.2': 1116 - resolution: {integrity: sha512-0Aye/PaT08M/cQhPnGKn93iEVoRJbym0/1eomMvXoL+8oc7DVry35ws06r5CLu5h1sXI6UmS6sejoePFlSkLJQ==} 1117 - 1118 - '@unocss/preset-wind4@66.4.2': 1119 - resolution: {integrity: sha512-F4RZsDqIpnSevD9hY353+Tw5gxpJuHA5HwdKjLnC/TnT9VKKVmV7qUEZ6M0jEuAk1kz2x3/ngnQ9Ftw+C2L84A==} 1120 - 1121 - '@unocss/preset-wind@66.4.2': 1122 - resolution: {integrity: sha512-z/rFYFINNqmBtl3Dh+7UCKpPnPkxM7IIUGszMnvdntky9uhLauJ11dt/Puir73sM2cAfywfgvnHyZ00m0pg7rA==} 1123 - 1124 - '@unocss/reset@66.4.2': 1125 - resolution: {integrity: sha512-s3Kq4Q6a/d3/jYe6HTCfXUx7zYAYufetId5n66DZHzQxpeu6CoBS83+b37STTKsw27SOgV28cPJlJtZ6/D6Bhw==} 1126 - 1127 - '@unocss/rule-utils@66.4.2': 1128 - resolution: {integrity: sha512-7z3IuajwXhy2cx3E0IGOFXIiuKC79/jzm4Tt56TC68nXLh/etlH0fKhxVwkZ/HbcQRpVwWyDRNcbh29pmA3DwQ==} 1129 - engines: {node: '>=14'} 1130 - 1131 - '@unocss/transformer-attributify-jsx@66.4.2': 1132 - resolution: {integrity: sha512-de6LzoyW1tkdOftlCrj6z8wEb4j6l1sqmOU1nYKkYHw7luLFGxRUELC7iujlI9KmylbM02bcKfLETAfJy/je2w==} 1133 - 1134 - '@unocss/transformer-compile-class@66.4.2': 1135 - resolution: {integrity: sha512-+oiIrV8c3T7qiJdICr6YsEWik5sjbWirXF0mlpcBvZu2HyV559hvHjzuWKr/fl7xYYZKDL9FvddbqWo3DOXh3Q==} 1136 - 1137 - '@unocss/transformer-directives@66.4.2': 1138 - resolution: {integrity: sha512-7m/dTrCUkBkZeSRKPxPEo65Rav239orQSLq6sztwZhoA4x/6H8r58xCkAK0qC9VEalyerpCpyarU3sKN4+ehNg==} 1139 - 1140 - '@unocss/transformer-variant-group@66.4.2': 1141 - resolution: {integrity: sha512-SbPDbZUrhQyL4CpvnpvUfrr1DFq8AKf8ofPGbMJDm5S2TInQ34vFaIrhNroGR0szntMZRH5Zlkq6LtVUKDRs5g==} 1142 - 1143 - '@unocss/vite@66.4.2': 1144 - resolution: {integrity: sha512-7eON9iPF3qWzuI+M6u0kq7K3y9nEbimZlLj01nGoqrgSGxEsyJpP01QQQsmT7FPRiZzRMJv7BiKMEyDQSuRRCA==} 1145 - peerDependencies: 1146 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 1147 - 1148 - '@volar/kit@2.4.9': 1149 - resolution: {integrity: sha512-9EKvaON/yd9aUXLTVjipK5iBARTml5CLS2C4DYrXUccXrZ64OZKmhg7ShIed1xVrTujVZViG8ejpPlixHMpghg==} 1150 - peerDependencies: 1151 - typescript: '*' 1152 - 1153 - '@volar/language-core@2.4.9': 1154 - resolution: {integrity: sha512-t++GIrUeQnKCieZdY9e+Uar2VmTqOE4Z9KcEcdSHKmKZPuqpbbWow1YKe1i3HpU2s1JqLRVM8y/n87WKXyxJAg==} 1155 - 1156 - '@volar/language-server@2.4.9': 1157 - resolution: {integrity: sha512-5YOHMLJqQL8adKYUctePGA9ReZA2FQXS2PjDnNjMq/mwtIgRGq6lqRtgq8PBeZt5NK4Xmxq8p7HafqOtqTQ4Hg==} 1158 - 1159 - '@volar/language-service@2.4.9': 1160 - resolution: {integrity: sha512-PvraIeBkFcUVhNDMEWNuB0wsN3WMf3hzswaLrpkPMgntTdbiczjsvHIfVR7KTD9SPHka79bYB7CIFlFgvyHV2A==} 1161 - 1162 - '@volar/source-map@2.4.9': 1163 - resolution: {integrity: sha512-UGE+WgJwk64OcfBwBOBKIzmF+uNx4dC5GzOvaVsHbTBp/IVqeTVsGiO5CwBAt6l3vVXYbMuddG2DU8FEnBRxTg==} 1164 - 1165 - '@volar/typescript@2.4.9': 1166 - resolution: {integrity: sha512-Zmh3Bq8CFD6OANKYsi4vs/l7togwfjFH0kgrT12uAsDff2AJQjbEUKTVUnxmHbnbH2B9ja7Lb6Mu/Wj9wBuJlg==} 1167 - 1168 - '@vscode/emmet-helper@2.9.3': 1169 - resolution: {integrity: sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==} 1170 - 1171 - '@vscode/l10n@0.0.18': 1172 - resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} 1173 - 1174 - acorn-jsx@5.3.2: 1175 - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 1176 - peerDependencies: 1177 - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 1178 1179 acorn-walk@8.3.2: 1180 resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} ··· 1185 engines: {node: '>=0.4.0'} 1186 hasBin: true 1187 1188 - acorn@8.15.0: 1189 - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 1190 - engines: {node: '>=0.4.0'} 1191 - hasBin: true 1192 - 1193 - ajv@8.17.1: 1194 - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} 1195 - 1196 - ansi-align@3.0.1: 1197 - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} 1198 - 1199 - ansi-regex@5.0.1: 1200 - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1201 - engines: {node: '>=8'} 1202 - 1203 - ansi-regex@6.0.1: 1204 - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 1205 - engines: {node: '>=12'} 1206 - 1207 - ansi-styles@4.3.0: 1208 - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1209 - engines: {node: '>=8'} 1210 - 1211 - ansi-styles@6.2.1: 1212 - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 1213 - engines: {node: '>=12'} 1214 - 1215 - anymatch@3.1.3: 1216 - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 1217 - engines: {node: '>= 8'} 1218 - 1219 - arg@5.0.2: 1220 - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 1221 - 1222 - argparse@2.0.1: 1223 - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1224 - 1225 - aria-query@5.3.2: 1226 - resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 1227 - engines: {node: '>= 0.4'} 1228 - 1229 - array-iterate@2.0.1: 1230 - resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} 1231 - 1232 - astring@1.9.0: 1233 - resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} 1234 - hasBin: true 1235 - 1236 - astro@5.13.0: 1237 - resolution: {integrity: sha512-kWahyvrrxUtgxFRRWSH5X0DESvgg4ZZ0fk6tU7blVZRgmj4PY79nzfaXFT+N+Ac2vWXX7eYUPYs1kLLk5IjBfQ==} 1238 - engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} 1239 - hasBin: true 1240 - 1241 - await-lock@2.2.2: 1242 - resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==} 1243 - 1244 - axobject-query@4.1.0: 1245 - resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 1246 - engines: {node: '>= 0.4'} 1247 - 1248 - bail@2.0.2: 1249 - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} 1250 - 1251 - base-64@1.0.0: 1252 - resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} 1253 - 1254 - base64-js@1.5.1: 1255 - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1256 - 1257 - binary-extensions@2.3.0: 1258 - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 1259 - engines: {node: '>=8'} 1260 - 1261 blake3-wasm@2.1.5: 1262 resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} 1263 1264 - blob-to-buffer@1.2.9: 1265 - resolution: {integrity: sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==} 1266 - 1267 - boxen@8.0.1: 1268 - resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} 1269 - engines: {node: '>=18'} 1270 - 1271 - braces@3.0.3: 1272 - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 1273 - engines: {node: '>=8'} 1274 - 1275 - brotli@1.3.3: 1276 - resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} 1277 - 1278 - cac@6.7.14: 1279 - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 1280 - engines: {node: '>=8'} 1281 - 1282 - camelcase@8.0.0: 1283 - resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} 1284 - engines: {node: '>=16'} 1285 - 1286 - ccount@2.0.1: 1287 - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 1288 - 1289 - chalk@5.3.0: 1290 - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 1291 - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 1292 - 1293 - character-entities-html4@2.1.0: 1294 - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 1295 - 1296 - character-entities-legacy@3.0.0: 1297 - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} 1298 - 1299 - character-entities@2.0.2: 1300 - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 1301 - 1302 - character-reference-invalid@2.0.1: 1303 - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} 1304 - 1305 - chokidar@3.6.0: 1306 - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 1307 - engines: {node: '>= 8.10.0'} 1308 - 1309 - chokidar@4.0.1: 1310 - resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} 1311 - engines: {node: '>= 14.16.0'} 1312 - 1313 - chokidar@4.0.3: 1314 - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 1315 - engines: {node: '>= 14.16.0'} 1316 - 1317 - ci-info@4.3.0: 1318 - resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} 1319 - engines: {node: '>=8'} 1320 - 1321 - cli-boxes@3.0.0: 1322 - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} 1323 - engines: {node: '>=10'} 1324 - 1325 - cliui@8.0.1: 1326 - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1327 - engines: {node: '>=12'} 1328 - 1329 - clone@2.1.2: 1330 - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} 1331 - engines: {node: '>=0.8'} 1332 - 1333 - clsx@2.1.1: 1334 - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 1335 - engines: {node: '>=6'} 1336 - 1337 - collapse-white-space@2.1.0: 1338 - resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} 1339 - 1340 color-convert@2.0.1: 1341 resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1342 engines: {node: '>=7.0.0'} ··· 1351 resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 1352 engines: {node: '>=12.5.0'} 1353 1354 - colorette@2.0.20: 1355 - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 1356 - 1357 - comma-separated-tokens@2.0.3: 1358 - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} 1359 - 1360 - commander@8.3.0: 1361 - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} 1362 - engines: {node: '>= 12'} 1363 - 1364 - common-ancestor-path@1.0.1: 1365 - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} 1366 - 1367 - confbox@0.1.8: 1368 - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 1369 - 1370 - confbox@0.2.2: 1371 - resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} 1372 - 1373 - consola@3.4.2: 1374 - resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} 1375 - engines: {node: ^14.18.0 || >=16.10.0} 1376 - 1377 - cookie-es@1.2.2: 1378 - resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} 1379 - 1380 - cookie@1.0.2: 1381 - resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} 1382 engines: {node: '>=18'} 1383 1384 - cross-fetch@3.2.0: 1385 - resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} 1386 - 1387 - crossws@0.3.5: 1388 - resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} 1389 - 1390 - css-tree@3.1.0: 1391 - resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} 1392 - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 1393 - 1394 - cssesc@3.0.0: 1395 - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1396 - engines: {node: '>=4'} 1397 - hasBin: true 1398 - 1399 - debug@4.3.7: 1400 - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 1401 - engines: {node: '>=6.0'} 1402 - peerDependencies: 1403 - supports-color: '*' 1404 - peerDependenciesMeta: 1405 - supports-color: 1406 - optional: true 1407 - 1408 - debug@4.4.1: 1409 - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} 1410 - engines: {node: '>=6.0'} 1411 - peerDependencies: 1412 - supports-color: '*' 1413 - peerDependenciesMeta: 1414 - supports-color: 1415 - optional: true 1416 - 1417 - decode-named-character-reference@1.0.2: 1418 - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} 1419 - 1420 - deepmerge@4.3.1: 1421 - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 1422 - engines: {node: '>=0.10.0'} 1423 - 1424 - defu@6.1.4: 1425 - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 1426 - 1427 - dequal@2.0.3: 1428 - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1429 - engines: {node: '>=6'} 1430 - 1431 - destr@2.0.5: 1432 - resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} 1433 - 1434 - detect-libc@2.0.4: 1435 - resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} 1436 engines: {node: '>=8'} 1437 1438 - deterministic-object-hash@2.0.2: 1439 - resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} 1440 - engines: {node: '>=18'} 1441 - 1442 - devalue@5.1.1: 1443 - resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} 1444 - 1445 - devlop@1.1.0: 1446 - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 1447 - 1448 - dfa@1.2.0: 1449 - resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==} 1450 - 1451 - diff@5.2.0: 1452 - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} 1453 - engines: {node: '>=0.3.1'} 1454 - 1455 - dlv@1.1.3: 1456 - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 1457 - 1458 - dom-serializer@2.0.0: 1459 - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} 1460 - 1461 - domelementtype@2.3.0: 1462 - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 1463 - 1464 - domhandler@5.0.3: 1465 - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} 1466 - engines: {node: '>= 4'} 1467 - 1468 - domutils@3.2.2: 1469 - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} 1470 - 1471 - dset@3.1.4: 1472 - resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} 1473 - engines: {node: '>=4'} 1474 - 1475 - duplexer@0.1.2: 1476 - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 1477 - 1478 - emmet@2.4.11: 1479 - resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==} 1480 - 1481 - emoji-regex@10.3.0: 1482 - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} 1483 - 1484 - emoji-regex@8.0.0: 1485 - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1486 - 1487 - entities@4.5.0: 1488 - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 1489 - engines: {node: '>=0.12'} 1490 - 1491 error-stack-parser-es@1.0.5: 1492 resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} 1493 1494 - es-module-lexer@1.7.0: 1495 - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} 1496 - 1497 - esast-util-from-estree@2.0.0: 1498 - resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} 1499 - 1500 - esast-util-from-js@2.0.1: 1501 - resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} 1502 - 1503 - esbuild@0.25.4: 1504 - resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} 1505 engines: {node: '>=18'} 1506 hasBin: true 1507 1508 - esbuild@0.25.8: 1509 - resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} 1510 - engines: {node: '>=18'} 1511 - hasBin: true 1512 - 1513 - escalade@3.1.2: 1514 - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 1515 - engines: {node: '>=6'} 1516 - 1517 - escape-string-regexp@4.0.0: 1518 - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1519 - engines: {node: '>=10'} 1520 - 1521 - escape-string-regexp@5.0.0: 1522 - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1523 - engines: {node: '>=12'} 1524 - 1525 - esm-env@1.2.2: 1526 - resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 1527 - 1528 - estree-util-attach-comments@3.0.0: 1529 - resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} 1530 - 1531 - estree-util-build-jsx@3.0.1: 1532 - resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} 1533 - 1534 - estree-util-is-identifier-name@3.0.0: 1535 - resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} 1536 - 1537 - estree-util-scope@1.0.0: 1538 - resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} 1539 - 1540 - estree-util-to-js@2.0.0: 1541 - resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} 1542 - 1543 - estree-util-visit@2.0.0: 1544 - resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} 1545 - 1546 - estree-walker@2.0.2: 1547 - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1548 - 1549 - estree-walker@3.0.3: 1550 - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 1551 - 1552 - eventemitter3@5.0.1: 1553 - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} 1554 - 1555 exit-hook@2.2.1: 1556 resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} 1557 engines: {node: '>=6'} 1558 1559 - exsolve@1.0.7: 1560 - resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} 1561 - 1562 - extend@3.0.2: 1563 - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} 1564 - 1565 - fast-deep-equal@3.1.3: 1566 - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1567 - 1568 - fast-glob@3.3.2: 1569 - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1570 - engines: {node: '>=8.6.0'} 1571 - 1572 - fast-uri@3.0.3: 1573 - resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} 1574 - 1575 - fastq@1.17.1: 1576 - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1577 - 1578 - fdir@6.4.6: 1579 - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} 1580 - peerDependencies: 1581 - picomatch: ^3 || ^4 1582 - peerDependenciesMeta: 1583 - picomatch: 1584 - optional: true 1585 - 1586 - fill-range@7.1.1: 1587 - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1588 - engines: {node: '>=8'} 1589 - 1590 - flattie@1.1.1: 1591 - resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} 1592 - engines: {node: '>=8'} 1593 - 1594 - fontace@0.3.0: 1595 - resolution: {integrity: sha512-czoqATrcnxgWb/nAkfyIrRp6Q8biYj7nGnL6zfhTcX+JKKpWHFBnb8uNMw/kZr7u++3Y3wYSYoZgHkCcsuBpBg==} 1596 - 1597 - fontkit@2.0.4: 1598 - resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} 1599 - 1600 fsevents@2.3.3: 1601 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1602 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1603 os: [darwin] 1604 1605 - get-caller-file@2.0.5: 1606 - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1607 - engines: {node: 6.* || 8.* || >= 10.*} 1608 - 1609 - get-east-asian-width@1.2.0: 1610 - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} 1611 - engines: {node: '>=18'} 1612 - 1613 - get-tsconfig@4.7.6: 1614 - resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} 1615 - 1616 - github-slugger@2.0.0: 1617 - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} 1618 - 1619 - glob-parent@5.1.2: 1620 - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1621 - engines: {node: '>= 6'} 1622 - 1623 glob-to-regexp@0.4.1: 1624 resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1625 1626 - globals@15.15.0: 1627 - resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} 1628 - engines: {node: '>=18'} 1629 - 1630 - graphemer@1.4.0: 1631 - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1632 - 1633 - gzip-size@6.0.0: 1634 - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} 1635 - engines: {node: '>=10'} 1636 - 1637 - h3@1.15.4: 1638 - resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==} 1639 - 1640 - hast-util-from-html@2.0.3: 1641 - resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} 1642 - 1643 - hast-util-from-parse5@8.0.1: 1644 - resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} 1645 - 1646 - hast-util-is-element@3.0.0: 1647 - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} 1648 - 1649 - hast-util-parse-selector@4.0.0: 1650 - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} 1651 - 1652 - hast-util-raw@9.0.4: 1653 - resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} 1654 - 1655 - hast-util-to-estree@3.1.0: 1656 - resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} 1657 - 1658 - hast-util-to-html@9.0.5: 1659 - resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} 1660 - 1661 - hast-util-to-jsx-runtime@2.3.0: 1662 - resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} 1663 - 1664 - hast-util-to-parse5@8.0.0: 1665 - resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} 1666 - 1667 - hast-util-to-text@4.0.2: 1668 - resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} 1669 - 1670 - hast-util-whitespace@3.0.0: 1671 - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} 1672 - 1673 - hastscript@8.0.0: 1674 - resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} 1675 - 1676 - html-escaper@3.0.3: 1677 - resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} 1678 - 1679 - html-void-elements@3.0.0: 1680 - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} 1681 - 1682 - htmlparser2@8.0.2: 1683 - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} 1684 - 1685 - http-cache-semantics@4.1.1: 1686 - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} 1687 - 1688 - import-meta-resolve@4.1.0: 1689 - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 1690 - 1691 - inline-style-parser@0.1.1: 1692 - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} 1693 - 1694 - inline-style-parser@0.2.3: 1695 - resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==} 1696 - 1697 - iron-webcrypto@1.2.1: 1698 - resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} 1699 - 1700 - is-alphabetical@2.0.1: 1701 - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} 1702 - 1703 - is-alphanumerical@2.0.1: 1704 - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} 1705 - 1706 - is-arrayish@0.3.2: 1707 - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 1708 - 1709 - is-binary-path@2.1.0: 1710 - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1711 - engines: {node: '>=8'} 1712 - 1713 - is-decimal@2.0.1: 1714 - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} 1715 - 1716 - is-docker@3.0.0: 1717 - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} 1718 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1719 - hasBin: true 1720 - 1721 - is-extglob@2.1.1: 1722 - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1723 - engines: {node: '>=0.10.0'} 1724 - 1725 - is-fullwidth-code-point@3.0.0: 1726 - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1727 - engines: {node: '>=8'} 1728 - 1729 - is-glob@4.0.3: 1730 - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1731 - engines: {node: '>=0.10.0'} 1732 - 1733 - is-hexadecimal@2.0.1: 1734 - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} 1735 - 1736 - is-inside-container@1.0.0: 1737 - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} 1738 - engines: {node: '>=14.16'} 1739 - hasBin: true 1740 - 1741 - is-number@7.0.0: 1742 - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1743 - engines: {node: '>=0.12.0'} 1744 - 1745 - is-plain-obj@4.1.0: 1746 - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 1747 - engines: {node: '>=12'} 1748 - 1749 - is-plain-object@5.0.0: 1750 - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} 1751 - engines: {node: '>=0.10.0'} 1752 - 1753 - is-wsl@3.1.0: 1754 - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} 1755 - engines: {node: '>=16'} 1756 - 1757 - iso-datestring-validator@2.2.2: 1758 - resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 1759 - 1760 - jiti@2.5.1: 1761 - resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} 1762 - hasBin: true 1763 - 1764 - js-tokens@4.0.0: 1765 - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1766 - 1767 - js-yaml@4.1.0: 1768 - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1769 - hasBin: true 1770 - 1771 - jsesc@3.1.0: 1772 - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 1773 - engines: {node: '>=6'} 1774 - hasBin: true 1775 - 1776 - json-schema-traverse@1.0.0: 1777 - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 1778 - 1779 - jsonc-parser@2.3.1: 1780 - resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} 1781 - 1782 - jsonc-parser@3.3.1: 1783 - resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} 1784 - 1785 - katex@0.16.22: 1786 - resolution: {integrity: sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==} 1787 - hasBin: true 1788 - 1789 - kleur@3.0.3: 1790 - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 1791 - engines: {node: '>=6'} 1792 1793 kleur@4.1.5: 1794 resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 1795 engines: {node: '>=6'} 1796 1797 - kolorist@1.8.0: 1798 - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} 1799 - 1800 - local-pkg@1.1.1: 1801 - resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} 1802 - engines: {node: '>=14'} 1803 - 1804 - lodash@4.17.21: 1805 - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1806 - 1807 - longest-streak@3.1.0: 1808 - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 1809 - 1810 - lru-cache@10.4.3: 1811 - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1812 - 1813 - magic-string@0.30.17: 1814 - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1815 - 1816 - magicast@0.3.5: 1817 - resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} 1818 - 1819 - markdown-extensions@2.0.0: 1820 - resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} 1821 - engines: {node: '>=16'} 1822 - 1823 - markdown-table@3.0.3: 1824 - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} 1825 - 1826 - mdast-util-definitions@6.0.0: 1827 - resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} 1828 - 1829 - mdast-util-find-and-replace@3.0.1: 1830 - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} 1831 - 1832 - mdast-util-from-markdown@2.0.1: 1833 - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} 1834 - 1835 - mdast-util-gfm-autolink-literal@2.0.1: 1836 - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} 1837 - 1838 - mdast-util-gfm-footnote@2.0.0: 1839 - resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} 1840 - 1841 - mdast-util-gfm-strikethrough@2.0.0: 1842 - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} 1843 - 1844 - mdast-util-gfm-table@2.0.0: 1845 - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} 1846 - 1847 - mdast-util-gfm-task-list-item@2.0.0: 1848 - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} 1849 - 1850 - mdast-util-gfm@3.0.0: 1851 - resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} 1852 - 1853 - mdast-util-mdx-expression@2.0.0: 1854 - resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} 1855 - 1856 - mdast-util-mdx-jsx@3.1.3: 1857 - resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} 1858 - 1859 - mdast-util-mdx@3.0.0: 1860 - resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} 1861 - 1862 - mdast-util-mdxjs-esm@2.0.1: 1863 - resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} 1864 - 1865 - mdast-util-phrasing@4.1.0: 1866 - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} 1867 - 1868 - mdast-util-to-hast@13.2.0: 1869 - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} 1870 - 1871 - mdast-util-to-markdown@2.1.0: 1872 - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} 1873 - 1874 - mdast-util-to-string@4.0.0: 1875 - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} 1876 - 1877 - mdn-data@2.12.2: 1878 - resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} 1879 - 1880 - merge2@1.4.1: 1881 - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1882 - engines: {node: '>= 8'} 1883 - 1884 - micromark-core-commonmark@2.0.1: 1885 - resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} 1886 - 1887 - micromark-extension-gfm-autolink-literal@2.1.0: 1888 - resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} 1889 - 1890 - micromark-extension-gfm-footnote@2.1.0: 1891 - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} 1892 - 1893 - micromark-extension-gfm-strikethrough@2.1.0: 1894 - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} 1895 - 1896 - micromark-extension-gfm-table@2.1.0: 1897 - resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} 1898 - 1899 - micromark-extension-gfm-tagfilter@2.0.0: 1900 - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} 1901 - 1902 - micromark-extension-gfm-task-list-item@2.1.0: 1903 - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} 1904 - 1905 - micromark-extension-gfm@3.0.0: 1906 - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} 1907 - 1908 - micromark-extension-mdx-expression@3.0.0: 1909 - resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} 1910 - 1911 - micromark-extension-mdx-jsx@3.0.0: 1912 - resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} 1913 - 1914 - micromark-extension-mdx-md@2.0.0: 1915 - resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} 1916 - 1917 - micromark-extension-mdxjs-esm@3.0.0: 1918 - resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} 1919 - 1920 - micromark-extension-mdxjs@3.0.0: 1921 - resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} 1922 - 1923 - micromark-factory-destination@2.0.0: 1924 - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} 1925 - 1926 - micromark-factory-label@2.0.0: 1927 - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} 1928 - 1929 - micromark-factory-mdx-expression@2.0.1: 1930 - resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} 1931 - 1932 - micromark-factory-space@2.0.0: 1933 - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} 1934 - 1935 - micromark-factory-title@2.0.0: 1936 - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} 1937 - 1938 - micromark-factory-whitespace@2.0.0: 1939 - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} 1940 - 1941 - micromark-util-character@2.1.0: 1942 - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} 1943 - 1944 - micromark-util-chunked@2.0.0: 1945 - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} 1946 - 1947 - micromark-util-classify-character@2.0.0: 1948 - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} 1949 - 1950 - micromark-util-combine-extensions@2.0.0: 1951 - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} 1952 - 1953 - micromark-util-decode-numeric-character-reference@2.0.1: 1954 - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} 1955 - 1956 - micromark-util-decode-string@2.0.0: 1957 - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} 1958 - 1959 - micromark-util-encode@2.0.0: 1960 - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} 1961 - 1962 - micromark-util-events-to-acorn@2.0.2: 1963 - resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} 1964 - 1965 - micromark-util-html-tag-name@2.0.0: 1966 - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} 1967 - 1968 - micromark-util-normalize-identifier@2.0.0: 1969 - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} 1970 - 1971 - micromark-util-resolve-all@2.0.0: 1972 - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} 1973 - 1974 - micromark-util-sanitize-uri@2.0.0: 1975 - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} 1976 - 1977 - micromark-util-subtokenize@2.0.1: 1978 - resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} 1979 - 1980 - micromark-util-symbol@2.0.0: 1981 - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} 1982 - 1983 - micromark-util-types@2.0.0: 1984 - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} 1985 - 1986 - micromark@4.0.0: 1987 - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} 1988 - 1989 - micromatch@4.0.8: 1990 - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1991 - engines: {node: '>=8.6'} 1992 - 1993 mime@3.0.0: 1994 resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 1995 engines: {node: '>=10.0.0'} 1996 hasBin: true 1997 1998 - miniflare@4.20250813.1: 1999 - resolution: {integrity: sha512-6PyXwR4pZmH9ukO0jR5LmhlFVMktsVVGVcUjD9Lpev5QwnqjTRPEv73cnXCe0+oTbIm5TYnvXsAklaWxQuxstA==} 2000 engines: {node: '>=18.0.0'} 2001 hasBin: true 2002 2003 - mlly@1.7.4: 2004 - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} 2005 - 2006 - mrmime@2.0.1: 2007 - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} 2008 - engines: {node: '>=10'} 2009 - 2010 - ms@2.1.3: 2011 - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2012 - 2013 - muggle-string@0.4.1: 2014 - resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} 2015 - 2016 - multiformats@9.9.0: 2017 - resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 2018 - 2019 - nanoid@3.3.11: 2020 - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 2021 - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2022 - hasBin: true 2023 - 2024 - neotraverse@0.6.18: 2025 - resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} 2026 - engines: {node: '>= 10'} 2027 - 2028 - nlcst-to-string@4.0.0: 2029 - resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} 2030 - 2031 - node-fetch-native@1.6.7: 2032 - resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} 2033 - 2034 - node-fetch@2.7.0: 2035 - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 2036 - engines: {node: 4.x || >=6.0.0} 2037 - peerDependencies: 2038 - encoding: ^0.1.0 2039 - peerDependenciesMeta: 2040 - encoding: 2041 - optional: true 2042 - 2043 - node-mock-http@1.0.2: 2044 - resolution: {integrity: sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g==} 2045 - 2046 - normalize-path@3.0.0: 2047 - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2048 - engines: {node: '>=0.10.0'} 2049 - 2050 - ofetch@1.4.1: 2051 - resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} 2052 - 2053 - ohash@2.0.11: 2054 - resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} 2055 - 2056 - oniguruma-parser@0.12.1: 2057 - resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} 2058 - 2059 - oniguruma-to-es@4.3.3: 2060 - resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} 2061 - 2062 - p-limit@6.2.0: 2063 - resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} 2064 - engines: {node: '>=18'} 2065 - 2066 - p-queue@8.1.0: 2067 - resolution: {integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==} 2068 - engines: {node: '>=18'} 2069 - 2070 - p-timeout@6.1.2: 2071 - resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} 2072 - engines: {node: '>=14.16'} 2073 - 2074 - package-manager-detector@1.3.0: 2075 - resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} 2076 - 2077 - pako@0.2.9: 2078 - resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} 2079 - 2080 - parse-entities@4.0.1: 2081 - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} 2082 - 2083 - parse-latin@7.0.0: 2084 - resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} 2085 - 2086 - parse-srcset@1.0.2: 2087 - resolution: {integrity: sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==} 2088 - 2089 - parse5@7.1.2: 2090 - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} 2091 - 2092 - path-browserify@1.0.1: 2093 - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} 2094 - 2095 path-to-regexp@6.3.0: 2096 resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} 2097 2098 pathe@2.0.3: 2099 resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 2100 2101 - perfect-debounce@1.0.0: 2102 - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 2103 - 2104 - picocolors@1.1.1: 2105 - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 2106 - 2107 - picomatch@2.3.1: 2108 - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2109 - engines: {node: '>=8.6'} 2110 - 2111 - picomatch@4.0.2: 2112 - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 2113 - engines: {node: '>=12'} 2114 - 2115 - pkg-types@1.3.1: 2116 - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} 2117 - 2118 - pkg-types@2.2.0: 2119 - resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==} 2120 - 2121 - postcss@8.5.6: 2122 - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 2123 - engines: {node: ^10 || ^12 || >=14} 2124 - 2125 - prettier@2.8.7: 2126 - resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} 2127 - engines: {node: '>=10.13.0'} 2128 - hasBin: true 2129 - 2130 - prettier@3.6.2: 2131 - resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} 2132 - engines: {node: '>=14'} 2133 - hasBin: true 2134 - 2135 - prismjs@1.30.0: 2136 - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} 2137 - engines: {node: '>=6'} 2138 - 2139 - prompts@2.4.2: 2140 - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 2141 - engines: {node: '>= 6'} 2142 - 2143 - property-information@6.5.0: 2144 - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} 2145 - 2146 - property-information@7.1.0: 2147 - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} 2148 - 2149 - quansync@0.2.10: 2150 - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} 2151 - 2152 - queue-microtask@1.2.3: 2153 - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2154 - 2155 - radix3@1.1.2: 2156 - resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} 2157 - 2158 - readdirp@3.6.0: 2159 - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2160 - engines: {node: '>=8.10.0'} 2161 - 2162 - readdirp@4.0.2: 2163 - resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} 2164 - engines: {node: '>= 14.16.0'} 2165 - 2166 - recma-build-jsx@1.0.0: 2167 - resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} 2168 - 2169 - recma-jsx@1.0.1: 2170 - resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} 2171 - peerDependencies: 2172 - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 2173 - 2174 - recma-parse@1.0.0: 2175 - resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} 2176 - 2177 - recma-stringify@1.0.0: 2178 - resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} 2179 - 2180 - regex-recursion@6.0.2: 2181 - resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} 2182 - 2183 - regex-utilities@2.3.0: 2184 - resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} 2185 - 2186 - regex@6.0.1: 2187 - resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} 2188 - 2189 - rehype-parse@9.0.0: 2190 - resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} 2191 - 2192 - rehype-raw@7.0.0: 2193 - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} 2194 - 2195 - rehype-recma@1.0.0: 2196 - resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} 2197 - 2198 - rehype-stringify@10.0.1: 2199 - resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} 2200 - 2201 - rehype@13.0.2: 2202 - resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==} 2203 - 2204 - remark-gfm@4.0.1: 2205 - resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} 2206 - 2207 - remark-mdx@3.0.1: 2208 - resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} 2209 - 2210 - remark-parse@11.0.0: 2211 - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} 2212 - 2213 - remark-rehype@11.1.1: 2214 - resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} 2215 - 2216 - remark-rehype@11.1.2: 2217 - resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} 2218 - 2219 - remark-smartypants@3.0.2: 2220 - resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} 2221 - engines: {node: '>=16.0.0'} 2222 - 2223 - remark-stringify@11.0.0: 2224 - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} 2225 - 2226 - request-light@0.5.8: 2227 - resolution: {integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==} 2228 - 2229 - request-light@0.7.0: 2230 - resolution: {integrity: sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==} 2231 - 2232 - require-directory@2.1.1: 2233 - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2234 - engines: {node: '>=0.10.0'} 2235 - 2236 - require-from-string@2.0.2: 2237 - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 2238 - engines: {node: '>=0.10.0'} 2239 - 2240 - resolve-pkg-maps@1.0.0: 2241 - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2242 - 2243 - restructure@3.0.2: 2244 - resolution: {integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==} 2245 - 2246 - retext-latin@4.0.0: 2247 - resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} 2248 - 2249 - retext-smartypants@6.1.1: 2250 - resolution: {integrity: sha512-onsHf34i/GzgElJgtT1K2V+31yEhWs7NJboKNxXJcmVMMPxLpgxZ9iADoMdydd6j/bHic5F/aNq0CGqElEtu2g==} 2251 - 2252 - retext-stringify@4.0.0: 2253 - resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} 2254 - 2255 - retext@9.0.0: 2256 - resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} 2257 - 2258 - reusify@1.0.4: 2259 - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2260 - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2261 - 2262 - rollup@4.46.2: 2263 - resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} 2264 - engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2265 - hasBin: true 2266 - 2267 - run-parallel@1.2.0: 2268 - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2269 - 2270 - sanitize-html@2.17.0: 2271 - resolution: {integrity: sha512-dLAADUSS8rBwhaevT12yCezvioCA+bmUTPH/u57xKPT8d++voeYE6HeluA/bPbQ15TwDBG2ii+QZIEmYx8VdxA==} 2272 - 2273 - sax@1.4.1: 2274 - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} 2275 - 2276 - semver@7.6.3: 2277 - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 2278 - engines: {node: '>=10'} 2279 - hasBin: true 2280 - 2281 - semver@7.7.2: 2282 - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} 2283 engines: {node: '>=10'} 2284 hasBin: true 2285 ··· 2287 resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 2288 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 2289 2290 - sharp@0.34.3: 2291 - resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==} 2292 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 2293 - 2294 - shiki@3.9.2: 2295 - resolution: {integrity: sha512-t6NKl5e/zGTvw/IyftLcumolgOczhuroqwXngDeMqJ3h3EQiTY/7wmfgPlsmloD8oYfqkEDqxiaH37Pjm1zUhQ==} 2296 - 2297 - simple-swizzle@0.2.2: 2298 - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 2299 - 2300 - sirv@3.0.1: 2301 - resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} 2302 - engines: {node: '>=18'} 2303 - 2304 - sisteransi@1.0.5: 2305 - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 2306 - 2307 - sitemap@8.0.0: 2308 - resolution: {integrity: sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==} 2309 - engines: {node: '>=14.0.0', npm: '>=6.0.0'} 2310 - hasBin: true 2311 - 2312 - smol-toml@1.4.1: 2313 - resolution: {integrity: sha512-CxdwHXyYTONGHThDbq5XdwbFsuY4wlClRGejfE2NtwUtiHYsP1QtNsHb/hnj31jKYSchztJsaA8pSQoVzkfCFg==} 2314 - engines: {node: '>= 18'} 2315 - 2316 - source-map-js@1.2.1: 2317 - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 2318 - engines: {node: '>=0.10.0'} 2319 - 2320 - source-map@0.7.4: 2321 - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 2322 - engines: {node: '>= 8'} 2323 - 2324 - space-separated-tokens@2.0.2: 2325 - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} 2326 2327 stoppable@1.1.0: 2328 resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} 2329 engines: {node: '>=4', npm: '>=6'} 2330 2331 - stream-replace-string@2.0.0: 2332 - resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} 2333 - 2334 - string-width@4.2.3: 2335 - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2336 - engines: {node: '>=8'} 2337 - 2338 - string-width@7.2.0: 2339 - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 2340 engines: {node: '>=18'} 2341 2342 - stringify-entities@4.0.4: 2343 - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} 2344 - 2345 - strip-ansi@6.0.1: 2346 - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2347 - engines: {node: '>=8'} 2348 - 2349 - strip-ansi@7.1.0: 2350 - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 2351 - engines: {node: '>=12'} 2352 - 2353 - style-to-object@0.4.4: 2354 - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} 2355 - 2356 - style-to-object@1.0.7: 2357 - resolution: {integrity: sha512-uSjr59G5u6fbxUfKbb8GcqMGT3Xs9v5IbPkjb0S16GyOeBLAzSRK0CixBv5YrYvzO6TDLzIS6QCn78tkqWngPw==} 2358 - 2359 - supports-color@10.1.0: 2360 - resolution: {integrity: sha512-GBuewsPrhJPftT+fqDa9oI/zc5HNsG9nREqwzoSFDOIqf0NggOZbHQj2TE1P1CDJK8ZogFnlZY9hWoUiur7I/A==} 2361 - engines: {node: '>=18'} 2362 - 2363 - tiny-inflate@1.0.3: 2364 - resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} 2365 - 2366 - tinyexec@0.3.2: 2367 - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 2368 - 2369 - tinyexec@1.0.1: 2370 - resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} 2371 - 2372 - tinyglobby@0.2.14: 2373 - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} 2374 - engines: {node: '>=12.0.0'} 2375 - 2376 - tlds@1.259.0: 2377 - resolution: {integrity: sha512-AldGGlDP0PNgwppe2quAvuBl18UcjuNtOnDuUkqhd6ipPqrYYBt3aTxK1QTsBVknk97lS2JcafWMghjGWFtunw==} 2378 - hasBin: true 2379 - 2380 - to-regex-range@5.0.1: 2381 - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2382 - engines: {node: '>=8.0'} 2383 - 2384 - totalist@3.0.1: 2385 - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 2386 - engines: {node: '>=6'} 2387 - 2388 - tr46@0.0.3: 2389 - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2390 - 2391 - trim-lines@3.0.1: 2392 - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} 2393 - 2394 - trough@2.2.0: 2395 - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} 2396 - 2397 - tsconfck@3.1.6: 2398 - resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} 2399 - engines: {node: ^18 || >=20} 2400 - hasBin: true 2401 - peerDependencies: 2402 - typescript: ^5.0.0 2403 - peerDependenciesMeta: 2404 - typescript: 2405 - optional: true 2406 - 2407 - tslib@2.6.2: 2408 - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 2409 - 2410 tslib@2.8.1: 2411 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 2412 2413 - tsx@4.20.4: 2414 - resolution: {integrity: sha512-yyxBKfORQ7LuRt/BQKBXrpcq59ZvSW0XxwfjAt3w2/8PmdxaFzijtMhTawprSHhpzeM5BgU2hXHG3lklIERZXg==} 2415 - engines: {node: '>=18.0.0'} 2416 - hasBin: true 2417 - 2418 - type-fest@4.26.1: 2419 - resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} 2420 - engines: {node: '>=16'} 2421 - 2422 - typesafe-path@0.2.2: 2423 - resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==} 2424 - 2425 - typescript-auto-import-cache@0.3.5: 2426 - resolution: {integrity: sha512-fAIveQKsoYj55CozUiBoj4b/7WpN0i4o74wiGY5JVUEoD0XiqDk1tJqTEjgzL2/AizKQrXxyRosSebyDzBZKjw==} 2427 - 2428 - typescript@5.9.2: 2429 - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} 2430 - engines: {node: '>=14.17'} 2431 - hasBin: true 2432 - 2433 - ufo@1.6.1: 2434 - resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} 2435 - 2436 - uint8arrays@3.0.0: 2437 - resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 2438 - 2439 - ultrahtml@1.6.0: 2440 - resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} 2441 - 2442 - unconfig@7.3.2: 2443 - resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==} 2444 - 2445 - uncrypto@0.1.3: 2446 - resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} 2447 - 2448 - undici-types@6.19.8: 2449 - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 2450 - 2451 - undici@7.13.0: 2452 - resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} 2453 engines: {node: '>=20.18.1'} 2454 2455 - unenv@2.0.0-rc.19: 2456 - resolution: {integrity: sha512-t/OMHBNAkknVCI7bVB9OWjUUAwhVv9vsPIAGnNUxnu3FxPQN11rjh0sksLMzc3g7IlTgvHmOTl4JM7JHpcv5wA==} 2457 - 2458 - unicode-properties@1.4.1: 2459 - resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==} 2460 - 2461 - unicode-trie@2.0.0: 2462 - resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} 2463 - 2464 - unified@11.0.5: 2465 - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} 2466 - 2467 - unifont@0.5.2: 2468 - resolution: {integrity: sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg==} 2469 - 2470 - unist-util-find-after@5.0.0: 2471 - resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} 2472 - 2473 - unist-util-is@6.0.0: 2474 - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} 2475 - 2476 - unist-util-modify-children@4.0.0: 2477 - resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} 2478 - 2479 - unist-util-position-from-estree@2.0.0: 2480 - resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} 2481 - 2482 - unist-util-position@5.0.0: 2483 - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} 2484 - 2485 - unist-util-remove-position@5.0.0: 2486 - resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} 2487 - 2488 - unist-util-stringify-position@4.0.0: 2489 - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} 2490 - 2491 - unist-util-visit-children@3.0.0: 2492 - resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} 2493 - 2494 - unist-util-visit-parents@6.0.1: 2495 - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} 2496 - 2497 - unist-util-visit@5.0.0: 2498 - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} 2499 - 2500 - unocss@66.4.2: 2501 - resolution: {integrity: sha512-PsZ+4XF/ekiParR7PZEM7AchvHJ78EIfOXlqTPflTOXCYgZ77kG9NaIaIf4lHRevY+rRTyrHrjxdg1Ern2j8qw==} 2502 - engines: {node: '>=14'} 2503 - peerDependencies: 2504 - '@unocss/webpack': 66.4.2 2505 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 2506 - peerDependenciesMeta: 2507 - '@unocss/webpack': 2508 - optional: true 2509 - vite: 2510 - optional: true 2511 - 2512 - unplugin-utils@0.2.4: 2513 - resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} 2514 - engines: {node: '>=18.12.0'} 2515 - 2516 - unstorage@1.16.1: 2517 - resolution: {integrity: sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==} 2518 - peerDependencies: 2519 - '@azure/app-configuration': ^1.8.0 2520 - '@azure/cosmos': ^4.2.0 2521 - '@azure/data-tables': ^13.3.0 2522 - '@azure/identity': ^4.6.0 2523 - '@azure/keyvault-secrets': ^4.9.0 2524 - '@azure/storage-blob': ^12.26.0 2525 - '@capacitor/preferences': ^6.0.3 || ^7.0.0 2526 - '@deno/kv': '>=0.9.0' 2527 - '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 2528 - '@planetscale/database': ^1.19.0 2529 - '@upstash/redis': ^1.34.3 2530 - '@vercel/blob': '>=0.27.1' 2531 - '@vercel/kv': ^1.0.1 2532 - aws4fetch: ^1.0.20 2533 - db0: '>=0.2.1' 2534 - idb-keyval: ^6.2.1 2535 - ioredis: ^5.4.2 2536 - uploadthing: ^7.4.4 2537 - peerDependenciesMeta: 2538 - '@azure/app-configuration': 2539 - optional: true 2540 - '@azure/cosmos': 2541 - optional: true 2542 - '@azure/data-tables': 2543 - optional: true 2544 - '@azure/identity': 2545 - optional: true 2546 - '@azure/keyvault-secrets': 2547 - optional: true 2548 - '@azure/storage-blob': 2549 - optional: true 2550 - '@capacitor/preferences': 2551 - optional: true 2552 - '@deno/kv': 2553 - optional: true 2554 - '@netlify/blobs': 2555 - optional: true 2556 - '@planetscale/database': 2557 - optional: true 2558 - '@upstash/redis': 2559 - optional: true 2560 - '@vercel/blob': 2561 - optional: true 2562 - '@vercel/kv': 2563 - optional: true 2564 - aws4fetch: 2565 - optional: true 2566 - db0: 2567 - optional: true 2568 - idb-keyval: 2569 - optional: true 2570 - ioredis: 2571 - optional: true 2572 - uploadthing: 2573 - optional: true 2574 - 2575 - vfile-location@5.0.3: 2576 - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} 2577 - 2578 - vfile-message@4.0.2: 2579 - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} 2580 - 2581 - vfile@6.0.3: 2582 - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} 2583 - 2584 - vite@6.3.5: 2585 - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} 2586 - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 2587 - hasBin: true 2588 - peerDependencies: 2589 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 2590 - jiti: '>=1.21.0' 2591 - less: '*' 2592 - lightningcss: ^1.21.0 2593 - sass: '*' 2594 - sass-embedded: '*' 2595 - stylus: '*' 2596 - sugarss: '*' 2597 - terser: ^5.16.0 2598 - tsx: ^4.8.1 2599 - yaml: ^2.4.2 2600 - peerDependenciesMeta: 2601 - '@types/node': 2602 - optional: true 2603 - jiti: 2604 - optional: true 2605 - less: 2606 - optional: true 2607 - lightningcss: 2608 - optional: true 2609 - sass: 2610 - optional: true 2611 - sass-embedded: 2612 - optional: true 2613 - stylus: 2614 - optional: true 2615 - sugarss: 2616 - optional: true 2617 - terser: 2618 - optional: true 2619 - tsx: 2620 - optional: true 2621 - yaml: 2622 - optional: true 2623 - 2624 - vitefu@1.1.1: 2625 - resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} 2626 - peerDependencies: 2627 - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 2628 - peerDependenciesMeta: 2629 - vite: 2630 - optional: true 2631 - 2632 - volar-service-css@0.0.62: 2633 - resolution: {integrity: sha512-JwNyKsH3F8PuzZYuqPf+2e+4CTU8YoyUHEHVnoXNlrLe7wy9U3biomZ56llN69Ris7TTy/+DEX41yVxQpM4qvg==} 2634 - peerDependencies: 2635 - '@volar/language-service': ~2.4.0 2636 - peerDependenciesMeta: 2637 - '@volar/language-service': 2638 - optional: true 2639 - 2640 - volar-service-emmet@0.0.62: 2641 - resolution: {integrity: sha512-U4dxWDBWz7Pi4plpbXf4J4Z/ss6kBO3TYrACxWNsE29abu75QzVS0paxDDhI6bhqpbDFXlpsDhZ9aXVFpnfGRQ==} 2642 - peerDependencies: 2643 - '@volar/language-service': ~2.4.0 2644 - peerDependenciesMeta: 2645 - '@volar/language-service': 2646 - optional: true 2647 - 2648 - volar-service-html@0.0.62: 2649 - resolution: {integrity: sha512-Zw01aJsZRh4GTGUjveyfEzEqpULQUdQH79KNEiKVYHZyuGtdBRYCHlrus1sueSNMxwwkuF5WnOHfvBzafs8yyQ==} 2650 - peerDependencies: 2651 - '@volar/language-service': ~2.4.0 2652 - peerDependenciesMeta: 2653 - '@volar/language-service': 2654 - optional: true 2655 - 2656 - volar-service-prettier@0.0.62: 2657 - resolution: {integrity: sha512-h2yk1RqRTE+vkYZaI9KYuwpDfOQRrTEMvoHol0yW4GFKc75wWQRrb5n/5abDrzMPrkQbSip8JH2AXbvrRtYh4w==} 2658 - peerDependencies: 2659 - '@volar/language-service': ~2.4.0 2660 - prettier: ^2.2 || ^3.0 2661 - peerDependenciesMeta: 2662 - '@volar/language-service': 2663 - optional: true 2664 - prettier: 2665 - optional: true 2666 - 2667 - volar-service-typescript-twoslash-queries@0.0.62: 2668 - resolution: {integrity: sha512-KxFt4zydyJYYI0kFAcWPTh4u0Ha36TASPZkAnNY784GtgajerUqM80nX/W1d0wVhmcOFfAxkVsf/Ed+tiYU7ng==} 2669 - peerDependencies: 2670 - '@volar/language-service': ~2.4.0 2671 - peerDependenciesMeta: 2672 - '@volar/language-service': 2673 - optional: true 2674 - 2675 - volar-service-typescript@0.0.62: 2676 - resolution: {integrity: sha512-p7MPi71q7KOsH0eAbZwPBiKPp9B2+qrdHAd6VY5oTo9BUXatsOAdakTm9Yf0DUj6uWBAaOT01BSeVOPwucMV1g==} 2677 - peerDependencies: 2678 - '@volar/language-service': ~2.4.0 2679 - peerDependenciesMeta: 2680 - '@volar/language-service': 2681 - optional: true 2682 - 2683 - volar-service-yaml@0.0.62: 2684 - resolution: {integrity: sha512-k7gvv7sk3wa+nGll3MaSKyjwQsJjIGCHFjVkl3wjaSP2nouKyn9aokGmqjrl39mi88Oy49giog2GkZH526wjig==} 2685 - peerDependencies: 2686 - '@volar/language-service': ~2.4.0 2687 - peerDependenciesMeta: 2688 - '@volar/language-service': 2689 - optional: true 2690 - 2691 - vscode-css-languageservice@6.3.1: 2692 - resolution: {integrity: sha512-1BzTBuJfwMc3A0uX4JBdJgoxp74cjj4q2mDJdp49yD/GuAq4X0k5WtK6fNcMYr+FfJ9nqgR6lpfCSZDkARJ5qQ==} 2693 - 2694 - vscode-html-languageservice@5.3.1: 2695 - resolution: {integrity: sha512-ysUh4hFeW/WOWz/TO9gm08xigiSsV/FOAZ+DolgJfeLftna54YdmZ4A+lIn46RbdO3/Qv5QHTn1ZGqmrXQhZyA==} 2696 - 2697 - vscode-json-languageservice@4.1.8: 2698 - resolution: {integrity: sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==} 2699 - engines: {npm: '>=7.0.0'} 2700 - 2701 - vscode-jsonrpc@6.0.0: 2702 - resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} 2703 - engines: {node: '>=8.0.0 || >=10.0.0'} 2704 - 2705 - vscode-jsonrpc@8.2.0: 2706 - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} 2707 - engines: {node: '>=14.0.0'} 2708 - 2709 - vscode-languageserver-protocol@3.16.0: 2710 - resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} 2711 - 2712 - vscode-languageserver-protocol@3.17.5: 2713 - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} 2714 - 2715 - vscode-languageserver-textdocument@1.0.12: 2716 - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} 2717 - 2718 - vscode-languageserver-types@3.16.0: 2719 - resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} 2720 - 2721 - vscode-languageserver-types@3.17.5: 2722 - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} 2723 - 2724 - vscode-languageserver@7.0.0: 2725 - resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} 2726 - hasBin: true 2727 - 2728 - vscode-languageserver@9.0.1: 2729 - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} 2730 - hasBin: true 2731 - 2732 - vscode-nls@5.2.0: 2733 - resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} 2734 2735 - vscode-uri@2.1.2: 2736 - resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} 2737 - 2738 - vscode-uri@3.0.8: 2739 - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} 2740 - 2741 - vue-flow-layout@0.2.0: 2742 - resolution: {integrity: sha512-zKgsWWkXq0xrus7H4Mc+uFs1ESrmdTXlO0YNbR6wMdPaFvosL3fMB8N7uTV308UhGy9UvTrGhIY7mVz9eN+L0Q==} 2743 - 2744 - web-namespaces@2.0.1: 2745 - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} 2746 - 2747 - webidl-conversions@3.0.1: 2748 - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 2749 - 2750 - whatwg-url@5.0.0: 2751 - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 2752 - 2753 - which-pm-runs@1.1.0: 2754 - resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} 2755 - engines: {node: '>=4'} 2756 - 2757 - widest-line@5.0.0: 2758 - resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} 2759 - engines: {node: '>=18'} 2760 - 2761 - workerd@1.20250813.0: 2762 - resolution: {integrity: sha512-bDlPGSnb/KESpGFE57cDjgP8mEKDM4WBTd/uGJBsQYCB6Aokk1eK3ivtHoxFx3MfJNo3v6/hJy6KK1b6rw1gvg==} 2763 engines: {node: '>=16'} 2764 hasBin: true 2765 2766 - wrangler@4.30.0: 2767 - resolution: {integrity: sha512-NXJUObuXxgG8/ChQ4yXkWLmDQ5ZcO98gyq1yFKYVntJ884C0IpDQrVnAv2RA0ZEz5eB8zal+4OKnr26P3N7ItA==} 2768 - engines: {node: '>=18.0.0'} 2769 hasBin: true 2770 peerDependencies: 2771 - '@cloudflare/workers-types': ^4.20250813.0 2772 peerDependenciesMeta: 2773 '@cloudflare/workers-types': 2774 optional: true 2775 2776 - wrap-ansi@7.0.0: 2777 - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2778 - engines: {node: '>=10'} 2779 - 2780 - wrap-ansi@9.0.0: 2781 - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} 2782 - engines: {node: '>=18'} 2783 - 2784 ws@8.18.0: 2785 resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 2786 engines: {node: '>=10.0.0'} ··· 2793 utf-8-validate: 2794 optional: true 2795 2796 - xxhash-wasm@1.1.0: 2797 - resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} 2798 - 2799 - y18n@5.0.8: 2800 - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2801 - engines: {node: '>=10'} 2802 - 2803 - yaml-language-server@1.15.0: 2804 - resolution: {integrity: sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==} 2805 - hasBin: true 2806 - 2807 - yaml@2.2.2: 2808 - resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} 2809 - engines: {node: '>= 14'} 2810 - 2811 - yaml@2.6.0: 2812 - resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} 2813 - engines: {node: '>= 14'} 2814 - hasBin: true 2815 - 2816 - yargs-parser@21.1.1: 2817 - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2818 - engines: {node: '>=12'} 2819 - 2820 - yargs@17.7.2: 2821 - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2822 - engines: {node: '>=12'} 2823 - 2824 - yocto-queue@1.1.1: 2825 - resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} 2826 - engines: {node: '>=12.20'} 2827 - 2828 - yocto-spinner@0.2.3: 2829 - resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==} 2830 - engines: {node: '>=18.19'} 2831 - 2832 - yoctocolors@2.1.1: 2833 - resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} 2834 - engines: {node: '>=18'} 2835 - 2836 youch-core@0.3.3: 2837 resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} 2838 2839 youch@4.1.0-beta.10: 2840 resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} 2841 2842 - zod-to-json-schema@3.24.6: 2843 - resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} 2844 - peerDependencies: 2845 - zod: ^3.24.1 2846 - 2847 - zod-to-ts@1.2.0: 2848 - resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==} 2849 - peerDependencies: 2850 - typescript: ^4.9.4 || ^5.0.2 2851 - zod: ^3 2852 - 2853 zod@3.22.3: 2854 resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} 2855 2856 - zod@3.23.8: 2857 - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 2858 - 2859 - zod@3.25.76: 2860 - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 2861 - 2862 - zwitch@2.0.4: 2863 - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 2864 - 2865 snapshots: 2866 2867 - '@ampproject/remapping@2.3.0': 2868 - dependencies: 2869 - '@jridgewell/gen-mapping': 0.3.12 2870 - '@jridgewell/trace-mapping': 0.3.29 2871 - 2872 - '@antfu/install-pkg@1.1.0': 2873 - dependencies: 2874 - package-manager-detector: 1.3.0 2875 - tinyexec: 1.0.1 2876 - 2877 - '@antfu/utils@9.2.0': {} 2878 - 2879 - '@astrojs/check@0.9.4(prettier@3.6.2)(typescript@5.9.2)': 2880 - dependencies: 2881 - '@astrojs/language-server': 2.15.4(prettier@3.6.2)(typescript@5.9.2) 2882 - chokidar: 4.0.1 2883 - kleur: 4.1.5 2884 - typescript: 5.9.2 2885 - yargs: 17.7.2 2886 - transitivePeerDependencies: 2887 - - prettier 2888 - - prettier-plugin-astro 2889 - 2890 - '@astrojs/cloudflare@12.6.3(@types/node@22.5.0)(astro@5.13.0(@types/node@22.5.0)(jiti@2.5.1)(rollup@4.46.2)(tsx@4.20.4)(typescript@5.9.2)(yaml@2.6.0))(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0)': 2891 - dependencies: 2892 - '@astrojs/internal-helpers': 0.7.1 2893 - '@astrojs/underscore-redirects': 1.0.0 2894 - '@cloudflare/workers-types': 4.20250813.0 2895 - astro: 5.13.0(@types/node@22.5.0)(jiti@2.5.1)(rollup@4.46.2)(tsx@4.20.4)(typescript@5.9.2)(yaml@2.6.0) 2896 - tinyglobby: 0.2.14 2897 - vite: 6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0) 2898 - wrangler: 4.30.0(@cloudflare/workers-types@4.20250813.0) 2899 - transitivePeerDependencies: 2900 - - '@types/node' 2901 - - bufferutil 2902 - - jiti 2903 - - less 2904 - - lightningcss 2905 - - sass 2906 - - sass-embedded 2907 - - stylus 2908 - - sugarss 2909 - - terser 2910 - - tsx 2911 - - utf-8-validate 2912 - - yaml 2913 - 2914 - '@astrojs/compiler@2.10.3': {} 2915 - 2916 - '@astrojs/compiler@2.12.2': {} 2917 - 2918 - '@astrojs/internal-helpers@0.7.1': {} 2919 - 2920 - '@astrojs/language-server@2.15.4(prettier@3.6.2)(typescript@5.9.2)': 2921 - dependencies: 2922 - '@astrojs/compiler': 2.10.3 2923 - '@astrojs/yaml2ts': 0.2.2 2924 - '@jridgewell/sourcemap-codec': 1.5.0 2925 - '@volar/kit': 2.4.9(typescript@5.9.2) 2926 - '@volar/language-core': 2.4.9 2927 - '@volar/language-server': 2.4.9 2928 - '@volar/language-service': 2.4.9 2929 - fast-glob: 3.3.2 2930 - muggle-string: 0.4.1 2931 - volar-service-css: 0.0.62(@volar/language-service@2.4.9) 2932 - volar-service-emmet: 0.0.62(@volar/language-service@2.4.9) 2933 - volar-service-html: 0.0.62(@volar/language-service@2.4.9) 2934 - volar-service-prettier: 0.0.62(@volar/language-service@2.4.9)(prettier@3.6.2) 2935 - volar-service-typescript: 0.0.62(@volar/language-service@2.4.9) 2936 - volar-service-typescript-twoslash-queries: 0.0.62(@volar/language-service@2.4.9) 2937 - volar-service-yaml: 0.0.62(@volar/language-service@2.4.9) 2938 - vscode-html-languageservice: 5.3.1 2939 - vscode-uri: 3.0.8 2940 - optionalDependencies: 2941 - prettier: 3.6.2 2942 - transitivePeerDependencies: 2943 - - typescript 2944 - 2945 - '@astrojs/markdown-remark@6.3.5': 2946 - dependencies: 2947 - '@astrojs/internal-helpers': 0.7.1 2948 - '@astrojs/prism': 3.3.0 2949 - github-slugger: 2.0.0 2950 - hast-util-from-html: 2.0.3 2951 - hast-util-to-text: 4.0.2 2952 - import-meta-resolve: 4.1.0 2953 - js-yaml: 4.1.0 2954 - mdast-util-definitions: 6.0.0 2955 - rehype-raw: 7.0.0 2956 - rehype-stringify: 10.0.1 2957 - remark-gfm: 4.0.1 2958 - remark-parse: 11.0.0 2959 - remark-rehype: 11.1.2 2960 - remark-smartypants: 3.0.2 2961 - shiki: 3.9.2 2962 - smol-toml: 1.4.1 2963 - unified: 11.0.5 2964 - unist-util-remove-position: 5.0.0 2965 - unist-util-visit: 5.0.0 2966 - unist-util-visit-parents: 6.0.1 2967 - vfile: 6.0.3 2968 - transitivePeerDependencies: 2969 - - supports-color 2970 - 2971 - '@astrojs/mdx@4.3.3(astro@5.13.0(@types/node@22.5.0)(jiti@2.5.1)(rollup@4.46.2)(tsx@4.20.4)(typescript@5.9.2)(yaml@2.6.0))': 2972 - dependencies: 2973 - '@astrojs/markdown-remark': 6.3.5 2974 - '@mdx-js/mdx': 3.1.0(acorn@8.15.0) 2975 - acorn: 8.15.0 2976 - astro: 5.13.0(@types/node@22.5.0)(jiti@2.5.1)(rollup@4.46.2)(tsx@4.20.4)(typescript@5.9.2)(yaml@2.6.0) 2977 - es-module-lexer: 1.7.0 2978 - estree-util-visit: 2.0.0 2979 - hast-util-to-html: 9.0.5 2980 - kleur: 4.1.5 2981 - rehype-raw: 7.0.0 2982 - remark-gfm: 4.0.1 2983 - remark-smartypants: 3.0.2 2984 - source-map: 0.7.4 2985 - unist-util-visit: 5.0.0 2986 - vfile: 6.0.3 2987 - transitivePeerDependencies: 2988 - - supports-color 2989 - 2990 - '@astrojs/prism@3.3.0': 2991 - dependencies: 2992 - prismjs: 1.30.0 2993 - 2994 - '@astrojs/sitemap@3.2.1': 2995 - dependencies: 2996 - sitemap: 8.0.0 2997 - stream-replace-string: 2.0.0 2998 - zod: 3.23.8 2999 - 3000 - '@astrojs/telemetry@3.3.0': 3001 - dependencies: 3002 - ci-info: 4.3.0 3003 - debug: 4.4.1 3004 - dlv: 1.1.3 3005 - dset: 3.1.4 3006 - is-docker: 3.0.0 3007 - is-wsl: 3.1.0 3008 - which-pm-runs: 1.1.0 3009 - transitivePeerDependencies: 3010 - - supports-color 3011 - 3012 - '@astrojs/underscore-redirects@1.0.0': {} 3013 - 3014 - '@astrojs/yaml2ts@0.2.2': 3015 - dependencies: 3016 - yaml: 2.6.0 3017 - 3018 - '@atcute/client@4.0.3': 3019 - dependencies: 3020 - '@atcute/identity': 1.0.3 3021 - '@atcute/lexicons': 1.1.0 3022 - 3023 - '@atcute/identity@1.0.3': 3024 - dependencies: 3025 - '@atcute/lexicons': 1.1.0 3026 - '@badrap/valita': 0.4.6 3027 - 3028 - '@atcute/lexicons@1.1.0': 3029 - dependencies: 3030 - esm-env: 1.2.2 3031 - 3032 - '@atproto/api@0.16.2': 3033 - dependencies: 3034 - '@atproto/common-web': 0.4.2 3035 - '@atproto/lexicon': 0.4.12 3036 - '@atproto/syntax': 0.4.0 3037 - '@atproto/xrpc': 0.7.1 3038 - await-lock: 2.2.2 3039 - multiformats: 9.9.0 3040 - tlds: 1.259.0 3041 - zod: 3.25.76 3042 - 3043 - '@atproto/common-web@0.4.2': 3044 - dependencies: 3045 - graphemer: 1.4.0 3046 - multiformats: 9.9.0 3047 - uint8arrays: 3.0.0 3048 - zod: 3.25.76 3049 - 3050 - '@atproto/lexicon@0.4.12': 3051 - dependencies: 3052 - '@atproto/common-web': 0.4.2 3053 - '@atproto/syntax': 0.4.0 3054 - iso-datestring-validator: 2.2.2 3055 - multiformats: 9.9.0 3056 - zod: 3.25.76 3057 - 3058 - '@atproto/syntax@0.4.0': {} 3059 - 3060 - '@atproto/xrpc@0.7.1': 3061 - dependencies: 3062 - '@atproto/lexicon': 0.4.12 3063 - zod: 3.25.76 3064 - 3065 - '@babel/code-frame@7.27.1': 3066 - dependencies: 3067 - '@babel/helper-validator-identifier': 7.27.1 3068 - js-tokens: 4.0.0 3069 - picocolors: 1.1.1 3070 - 3071 - '@babel/generator@7.28.0': 3072 - dependencies: 3073 - '@babel/parser': 7.28.0 3074 - '@babel/types': 7.28.2 3075 - '@jridgewell/gen-mapping': 0.3.12 3076 - '@jridgewell/trace-mapping': 0.3.29 3077 - jsesc: 3.1.0 3078 - 3079 - '@babel/helper-globals@7.28.0': {} 3080 - 3081 - '@babel/helper-string-parser@7.27.1': {} 3082 - 3083 - '@babel/helper-validator-identifier@7.27.1': {} 3084 - 3085 - '@babel/parser@7.28.0': 3086 - dependencies: 3087 - '@babel/types': 7.28.2 3088 - 3089 - '@babel/template@7.27.2': 3090 - dependencies: 3091 - '@babel/code-frame': 7.27.1 3092 - '@babel/parser': 7.28.0 3093 - '@babel/types': 7.28.2 3094 - 3095 - '@babel/traverse@7.28.0': 3096 - dependencies: 3097 - '@babel/code-frame': 7.27.1 3098 - '@babel/generator': 7.28.0 3099 - '@babel/helper-globals': 7.28.0 3100 - '@babel/parser': 7.28.0 3101 - '@babel/template': 7.27.2 3102 - '@babel/types': 7.28.2 3103 - debug: 4.4.1 3104 - transitivePeerDependencies: 3105 - - supports-color 3106 - 3107 - '@babel/types@7.28.2': 3108 - dependencies: 3109 - '@babel/helper-string-parser': 7.27.1 3110 - '@babel/helper-validator-identifier': 7.27.1 3111 - 3112 - '@badrap/valita@0.4.6': {} 3113 - 3114 - '@capsizecss/unpack@2.4.0': 3115 - dependencies: 3116 - blob-to-buffer: 1.2.9 3117 - cross-fetch: 3.2.0 3118 - fontkit: 2.0.4 3119 - transitivePeerDependencies: 3120 - - encoding 3121 - 3122 - '@cloudflare/kv-asset-handler@0.4.0': 3123 dependencies: 3124 mime: 3.0.0 3125 3126 - '@cloudflare/unenv-preset@2.6.1(unenv@2.0.0-rc.19)(workerd@1.20250813.0)': 3127 dependencies: 3128 - unenv: 2.0.0-rc.19 3129 optionalDependencies: 3130 - workerd: 1.20250813.0 3131 3132 - '@cloudflare/workerd-darwin-64@1.20250813.0': 3133 optional: true 3134 3135 - '@cloudflare/workerd-darwin-arm64@1.20250813.0': 3136 optional: true 3137 3138 - '@cloudflare/workerd-linux-64@1.20250813.0': 3139 optional: true 3140 3141 - '@cloudflare/workerd-linux-arm64@1.20250813.0': 3142 optional: true 3143 3144 - '@cloudflare/workerd-windows-64@1.20250813.0': 3145 optional: true 3146 - 3147 - '@cloudflare/workers-types@4.20250813.0': {} 3148 3149 '@cspotcode/source-map-support@0.8.1': 3150 dependencies: 3151 '@jridgewell/trace-mapping': 0.3.9 3152 3153 - '@emmetio/abbreviation@2.3.3': 3154 - dependencies: 3155 - '@emmetio/scanner': 1.0.4 3156 - 3157 - '@emmetio/css-abbreviation@2.1.8': 3158 dependencies: 3159 - '@emmetio/scanner': 1.0.4 3160 - 3161 - '@emmetio/css-parser@0.4.0': 3162 - dependencies: 3163 - '@emmetio/stream-reader': 2.2.0 3164 - '@emmetio/stream-reader-utils': 0.1.0 3165 - 3166 - '@emmetio/html-matcher@1.3.0': 3167 - dependencies: 3168 - '@emmetio/scanner': 1.0.4 3169 - 3170 - '@emmetio/scanner@1.0.4': {} 3171 - 3172 - '@emmetio/stream-reader-utils@0.1.0': {} 3173 - 3174 - '@emmetio/stream-reader@2.2.0': {} 3175 - 3176 - '@emnapi/runtime@1.4.5': 3177 - dependencies: 3178 - tslib: 2.6.2 3179 optional: true 3180 3181 - '@esbuild/aix-ppc64@0.25.4': 3182 - optional: true 3183 - 3184 - '@esbuild/aix-ppc64@0.25.8': 3185 - optional: true 3186 - 3187 - '@esbuild/android-arm64@0.25.4': 3188 - optional: true 3189 - 3190 - '@esbuild/android-arm64@0.25.8': 3191 - optional: true 3192 - 3193 - '@esbuild/android-arm@0.25.4': 3194 - optional: true 3195 - 3196 - '@esbuild/android-arm@0.25.8': 3197 - optional: true 3198 - 3199 - '@esbuild/android-x64@0.25.4': 3200 - optional: true 3201 - 3202 - '@esbuild/android-x64@0.25.8': 3203 - optional: true 3204 - 3205 - '@esbuild/darwin-arm64@0.25.4': 3206 - optional: true 3207 - 3208 - '@esbuild/darwin-arm64@0.25.8': 3209 - optional: true 3210 - 3211 - '@esbuild/darwin-x64@0.25.4': 3212 - optional: true 3213 - 3214 - '@esbuild/darwin-x64@0.25.8': 3215 - optional: true 3216 - 3217 - '@esbuild/freebsd-arm64@0.25.4': 3218 - optional: true 3219 - 3220 - '@esbuild/freebsd-arm64@0.25.8': 3221 - optional: true 3222 - 3223 - '@esbuild/freebsd-x64@0.25.4': 3224 - optional: true 3225 - 3226 - '@esbuild/freebsd-x64@0.25.8': 3227 - optional: true 3228 - 3229 - '@esbuild/linux-arm64@0.25.4': 3230 - optional: true 3231 - 3232 - '@esbuild/linux-arm64@0.25.8': 3233 - optional: true 3234 - 3235 - '@esbuild/linux-arm@0.25.4': 3236 - optional: true 3237 - 3238 - '@esbuild/linux-arm@0.25.8': 3239 - optional: true 3240 - 3241 - '@esbuild/linux-ia32@0.25.4': 3242 - optional: true 3243 - 3244 - '@esbuild/linux-ia32@0.25.8': 3245 - optional: true 3246 - 3247 - '@esbuild/linux-loong64@0.25.4': 3248 - optional: true 3249 - 3250 - '@esbuild/linux-loong64@0.25.8': 3251 - optional: true 3252 - 3253 - '@esbuild/linux-mips64el@0.25.4': 3254 - optional: true 3255 - 3256 - '@esbuild/linux-mips64el@0.25.8': 3257 optional: true 3258 3259 - '@esbuild/linux-ppc64@0.25.4': 3260 optional: true 3261 3262 - '@esbuild/linux-ppc64@0.25.8': 3263 optional: true 3264 3265 - '@esbuild/linux-riscv64@0.25.4': 3266 optional: true 3267 3268 - '@esbuild/linux-riscv64@0.25.8': 3269 optional: true 3270 3271 - '@esbuild/linux-s390x@0.25.4': 3272 optional: true 3273 3274 - '@esbuild/linux-s390x@0.25.8': 3275 optional: true 3276 3277 - '@esbuild/linux-x64@0.25.4': 3278 optional: true 3279 3280 - '@esbuild/linux-x64@0.25.8': 3281 optional: true 3282 3283 - '@esbuild/netbsd-arm64@0.25.4': 3284 optional: true 3285 3286 - '@esbuild/netbsd-arm64@0.25.8': 3287 optional: true 3288 3289 - '@esbuild/netbsd-x64@0.25.4': 3290 optional: true 3291 3292 - '@esbuild/netbsd-x64@0.25.8': 3293 optional: true 3294 3295 - '@esbuild/openbsd-arm64@0.25.4': 3296 optional: true 3297 3298 - '@esbuild/openbsd-arm64@0.25.8': 3299 optional: true 3300 3301 - '@esbuild/openbsd-x64@0.25.4': 3302 optional: true 3303 3304 - '@esbuild/openbsd-x64@0.25.8': 3305 optional: true 3306 3307 - '@esbuild/openharmony-arm64@0.25.8': 3308 optional: true 3309 3310 - '@esbuild/sunos-x64@0.25.4': 3311 optional: true 3312 3313 - '@esbuild/sunos-x64@0.25.8': 3314 optional: true 3315 3316 - '@esbuild/win32-arm64@0.25.4': 3317 optional: true 3318 3319 - '@esbuild/win32-arm64@0.25.8': 3320 optional: true 3321 3322 - '@esbuild/win32-ia32@0.25.4': 3323 optional: true 3324 3325 - '@esbuild/win32-ia32@0.25.8': 3326 optional: true 3327 3328 - '@esbuild/win32-x64@0.25.4': 3329 optional: true 3330 3331 - '@esbuild/win32-x64@0.25.8': 3332 optional: true 3333 3334 - '@iconify-json/lucide@1.2.62': 3335 - dependencies: 3336 - '@iconify/types': 2.0.0 3337 - 3338 - '@iconify-json/tabler@1.2.22': 3339 - dependencies: 3340 - '@iconify/types': 2.0.0 3341 - 3342 - '@iconify/types@2.0.0': {} 3343 - 3344 - '@iconify/utils@3.0.1': 3345 - dependencies: 3346 - '@antfu/install-pkg': 1.1.0 3347 - '@antfu/utils': 9.2.0 3348 - '@iconify/types': 2.0.0 3349 - debug: 4.4.1 3350 - globals: 15.15.0 3351 - kolorist: 1.8.0 3352 - local-pkg: 1.1.1 3353 - mlly: 1.7.4 3354 - transitivePeerDependencies: 3355 - - supports-color 3356 - 3357 '@img/sharp-darwin-arm64@0.33.5': 3358 optionalDependencies: 3359 '@img/sharp-libvips-darwin-arm64': 1.0.4 3360 - optional: true 3361 - 3362 - '@img/sharp-darwin-arm64@0.34.3': 3363 - optionalDependencies: 3364 - '@img/sharp-libvips-darwin-arm64': 1.2.0 3365 optional: true 3366 3367 '@img/sharp-darwin-x64@0.33.5': ··· 3369 '@img/sharp-libvips-darwin-x64': 1.0.4 3370 optional: true 3371 3372 - '@img/sharp-darwin-x64@0.34.3': 3373 - optionalDependencies: 3374 - '@img/sharp-libvips-darwin-x64': 1.2.0 3375 - optional: true 3376 - 3377 '@img/sharp-libvips-darwin-arm64@1.0.4': 3378 optional: true 3379 3380 - '@img/sharp-libvips-darwin-arm64@1.2.0': 3381 - optional: true 3382 - 3383 '@img/sharp-libvips-darwin-x64@1.0.4': 3384 - optional: true 3385 - 3386 - '@img/sharp-libvips-darwin-x64@1.2.0': 3387 optional: true 3388 3389 '@img/sharp-libvips-linux-arm64@1.0.4': 3390 optional: true 3391 3392 - '@img/sharp-libvips-linux-arm64@1.2.0': 3393 - optional: true 3394 - 3395 '@img/sharp-libvips-linux-arm@1.0.5': 3396 optional: true 3397 3398 - '@img/sharp-libvips-linux-arm@1.2.0': 3399 - optional: true 3400 - 3401 - '@img/sharp-libvips-linux-ppc64@1.2.0': 3402 - optional: true 3403 - 3404 '@img/sharp-libvips-linux-s390x@1.0.4': 3405 - optional: true 3406 - 3407 - '@img/sharp-libvips-linux-s390x@1.2.0': 3408 optional: true 3409 3410 '@img/sharp-libvips-linux-x64@1.0.4': 3411 optional: true 3412 3413 - '@img/sharp-libvips-linux-x64@1.2.0': 3414 - optional: true 3415 - 3416 '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 3417 - optional: true 3418 - 3419 - '@img/sharp-libvips-linuxmusl-arm64@1.2.0': 3420 optional: true 3421 3422 '@img/sharp-libvips-linuxmusl-x64@1.0.4': 3423 optional: true 3424 3425 - '@img/sharp-libvips-linuxmusl-x64@1.2.0': 3426 - optional: true 3427 - 3428 '@img/sharp-linux-arm64@0.33.5': 3429 optionalDependencies: 3430 '@img/sharp-libvips-linux-arm64': 1.0.4 3431 optional: true 3432 3433 - '@img/sharp-linux-arm64@0.34.3': 3434 - optionalDependencies: 3435 - '@img/sharp-libvips-linux-arm64': 1.2.0 3436 - optional: true 3437 - 3438 '@img/sharp-linux-arm@0.33.5': 3439 optionalDependencies: 3440 '@img/sharp-libvips-linux-arm': 1.0.5 3441 optional: true 3442 3443 - '@img/sharp-linux-arm@0.34.3': 3444 - optionalDependencies: 3445 - '@img/sharp-libvips-linux-arm': 1.2.0 3446 - optional: true 3447 - 3448 - '@img/sharp-linux-ppc64@0.34.3': 3449 - optionalDependencies: 3450 - '@img/sharp-libvips-linux-ppc64': 1.2.0 3451 - optional: true 3452 - 3453 '@img/sharp-linux-s390x@0.33.5': 3454 optionalDependencies: 3455 '@img/sharp-libvips-linux-s390x': 1.0.4 3456 optional: true 3457 3458 - '@img/sharp-linux-s390x@0.34.3': 3459 - optionalDependencies: 3460 - '@img/sharp-libvips-linux-s390x': 1.2.0 3461 - optional: true 3462 - 3463 '@img/sharp-linux-x64@0.33.5': 3464 optionalDependencies: 3465 '@img/sharp-libvips-linux-x64': 1.0.4 3466 optional: true 3467 3468 - '@img/sharp-linux-x64@0.34.3': 3469 - optionalDependencies: 3470 - '@img/sharp-libvips-linux-x64': 1.2.0 3471 - optional: true 3472 - 3473 '@img/sharp-linuxmusl-arm64@0.33.5': 3474 optionalDependencies: 3475 '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 3476 - optional: true 3477 - 3478 - '@img/sharp-linuxmusl-arm64@0.34.3': 3479 - optionalDependencies: 3480 - '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 3481 optional: true 3482 3483 '@img/sharp-linuxmusl-x64@0.33.5': ··· 3485 '@img/sharp-libvips-linuxmusl-x64': 1.0.4 3486 optional: true 3487 3488 - '@img/sharp-linuxmusl-x64@0.34.3': 3489 - optionalDependencies: 3490 - '@img/sharp-libvips-linuxmusl-x64': 1.2.0 3491 - optional: true 3492 - 3493 '@img/sharp-wasm32@0.33.5': 3494 dependencies: 3495 - '@emnapi/runtime': 1.4.5 3496 - optional: true 3497 - 3498 - '@img/sharp-wasm32@0.34.3': 3499 - dependencies: 3500 - '@emnapi/runtime': 1.4.5 3501 - optional: true 3502 - 3503 - '@img/sharp-win32-arm64@0.34.3': 3504 optional: true 3505 3506 '@img/sharp-win32-ia32@0.33.5': 3507 optional: true 3508 3509 - '@img/sharp-win32-ia32@0.34.3': 3510 - optional: true 3511 - 3512 '@img/sharp-win32-x64@0.33.5': 3513 optional: true 3514 3515 - '@img/sharp-win32-x64@0.34.3': 3516 - optional: true 3517 - 3518 - '@jridgewell/gen-mapping@0.3.12': 3519 - dependencies: 3520 - '@jridgewell/sourcemap-codec': 1.5.0 3521 - '@jridgewell/trace-mapping': 0.3.29 3522 - 3523 '@jridgewell/resolve-uri@3.1.2': {} 3524 3525 - '@jridgewell/sourcemap-codec@1.5.0': {} 3526 - 3527 - '@jridgewell/trace-mapping@0.3.29': 3528 - dependencies: 3529 - '@jridgewell/resolve-uri': 3.1.2 3530 - '@jridgewell/sourcemap-codec': 1.5.0 3531 3532 '@jridgewell/trace-mapping@0.3.9': 3533 dependencies: 3534 '@jridgewell/resolve-uri': 3.1.2 3535 - '@jridgewell/sourcemap-codec': 1.5.0 3536 - 3537 - '@mdx-js/mdx@3.1.0(acorn@8.15.0)': 3538 - dependencies: 3539 - '@types/estree': 1.0.6 3540 - '@types/estree-jsx': 1.0.5 3541 - '@types/hast': 3.0.4 3542 - '@types/mdx': 2.0.13 3543 - collapse-white-space: 2.1.0 3544 - devlop: 1.1.0 3545 - estree-util-is-identifier-name: 3.0.0 3546 - estree-util-scope: 1.0.0 3547 - estree-walker: 3.0.3 3548 - hast-util-to-jsx-runtime: 2.3.0 3549 - markdown-extensions: 2.0.0 3550 - recma-build-jsx: 1.0.0 3551 - recma-jsx: 1.0.1(acorn@8.15.0) 3552 - recma-stringify: 1.0.0 3553 - rehype-recma: 1.0.0 3554 - remark-mdx: 3.0.1 3555 - remark-parse: 11.0.0 3556 - remark-rehype: 11.1.1 3557 - source-map: 0.7.4 3558 - unified: 11.0.5 3559 - unist-util-position-from-estree: 2.0.0 3560 - unist-util-stringify-position: 4.0.0 3561 - unist-util-visit: 5.0.0 3562 - vfile: 6.0.3 3563 - transitivePeerDependencies: 3564 - - acorn 3565 - - supports-color 3566 - 3567 - '@nodelib/fs.scandir@2.1.5': 3568 - dependencies: 3569 - '@nodelib/fs.stat': 2.0.5 3570 - run-parallel: 1.2.0 3571 - 3572 - '@nodelib/fs.stat@2.0.5': {} 3573 - 3574 - '@nodelib/fs.walk@1.2.8': 3575 - dependencies: 3576 - '@nodelib/fs.scandir': 2.1.5 3577 - fastq: 1.17.1 3578 - 3579 - '@nulfrost/leaflet-loader-astro@1.1.0': 3580 - dependencies: 3581 - '@atcute/client': 4.0.3 3582 - '@atcute/lexicons': 1.1.0 3583 - '@atproto/api': 0.16.2 3584 - katex: 0.16.22 3585 - sanitize-html: 2.17.0 3586 - 3587 - '@oslojs/encoding@1.1.0': {} 3588 - 3589 - '@polka/url@1.0.0-next.25': {} 3590 3591 - '@poppinss/colors@4.1.5': 3592 dependencies: 3593 kleur: 4.1.5 3594 3595 - '@poppinss/dumper@0.6.4': 3596 dependencies: 3597 - '@poppinss/colors': 4.1.5 3598 - '@sindresorhus/is': 7.0.2 3599 - supports-color: 10.1.0 3600 3601 - '@poppinss/exception@1.2.2': {} 3602 3603 - '@quansync/fs@0.1.3': 3604 - dependencies: 3605 - quansync: 0.2.10 3606 3607 - '@rollup/pluginutils@5.2.0(rollup@4.46.2)': 3608 - dependencies: 3609 - '@types/estree': 1.0.8 3610 - estree-walker: 2.0.2 3611 - picomatch: 4.0.2 3612 - optionalDependencies: 3613 - rollup: 4.46.2 3614 - 3615 - '@rollup/rollup-android-arm-eabi@4.46.2': 3616 - optional: true 3617 - 3618 - '@rollup/rollup-android-arm64@4.46.2': 3619 - optional: true 3620 - 3621 - '@rollup/rollup-darwin-arm64@4.46.2': 3622 - optional: true 3623 - 3624 - '@rollup/rollup-darwin-x64@4.46.2': 3625 - optional: true 3626 - 3627 - '@rollup/rollup-freebsd-arm64@4.46.2': 3628 - optional: true 3629 - 3630 - '@rollup/rollup-freebsd-x64@4.46.2': 3631 - optional: true 3632 - 3633 - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': 3634 - optional: true 3635 - 3636 - '@rollup/rollup-linux-arm-musleabihf@4.46.2': 3637 - optional: true 3638 - 3639 - '@rollup/rollup-linux-arm64-gnu@4.46.2': 3640 - optional: true 3641 - 3642 - '@rollup/rollup-linux-arm64-musl@4.46.2': 3643 - optional: true 3644 - 3645 - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': 3646 - optional: true 3647 - 3648 - '@rollup/rollup-linux-ppc64-gnu@4.46.2': 3649 - optional: true 3650 - 3651 - '@rollup/rollup-linux-riscv64-gnu@4.46.2': 3652 - optional: true 3653 - 3654 - '@rollup/rollup-linux-riscv64-musl@4.46.2': 3655 - optional: true 3656 - 3657 - '@rollup/rollup-linux-s390x-gnu@4.46.2': 3658 - optional: true 3659 - 3660 - '@rollup/rollup-linux-x64-gnu@4.46.2': 3661 - optional: true 3662 - 3663 - '@rollup/rollup-linux-x64-musl@4.46.2': 3664 - optional: true 3665 - 3666 - '@rollup/rollup-win32-arm64-msvc@4.46.2': 3667 - optional: true 3668 - 3669 - '@rollup/rollup-win32-ia32-msvc@4.46.2': 3670 - optional: true 3671 - 3672 - '@rollup/rollup-win32-x64-msvc@4.46.2': 3673 - optional: true 3674 - 3675 - '@shikijs/core@3.9.2': 3676 - dependencies: 3677 - '@shikijs/types': 3.9.2 3678 - '@shikijs/vscode-textmate': 10.0.2 3679 - '@types/hast': 3.0.4 3680 - hast-util-to-html: 9.0.5 3681 - 3682 - '@shikijs/engine-javascript@3.9.2': 3683 - dependencies: 3684 - '@shikijs/types': 3.9.2 3685 - '@shikijs/vscode-textmate': 10.0.2 3686 - oniguruma-to-es: 4.3.3 3687 - 3688 - '@shikijs/engine-oniguruma@3.9.2': 3689 - dependencies: 3690 - '@shikijs/types': 3.9.2 3691 - '@shikijs/vscode-textmate': 10.0.2 3692 - 3693 - '@shikijs/langs@3.9.2': 3694 - dependencies: 3695 - '@shikijs/types': 3.9.2 3696 - 3697 - '@shikijs/themes@3.9.2': 3698 - dependencies: 3699 - '@shikijs/types': 3.9.2 3700 - 3701 - '@shikijs/types@3.9.2': 3702 - dependencies: 3703 - '@shikijs/vscode-textmate': 10.0.2 3704 - '@types/hast': 3.0.4 3705 - 3706 - '@shikijs/vscode-textmate@10.0.2': {} 3707 - 3708 - '@sindresorhus/is@7.0.2': {} 3709 - 3710 - '@speed-highlight/core@1.2.7': {} 3711 - 3712 - '@swc/helpers@0.5.17': 3713 - dependencies: 3714 - tslib: 2.8.1 3715 - 3716 - '@types/acorn@4.0.6': 3717 - dependencies: 3718 - '@types/estree': 1.0.6 3719 - 3720 - '@types/debug@4.1.12': 3721 - dependencies: 3722 - '@types/ms': 0.7.34 3723 - 3724 - '@types/estree-jsx@1.0.5': 3725 - dependencies: 3726 - '@types/estree': 1.0.6 3727 - 3728 - '@types/estree@1.0.6': {} 3729 - 3730 - '@types/estree@1.0.8': {} 3731 - 3732 - '@types/fontkit@2.0.8': 3733 - dependencies: 3734 - '@types/node': 22.5.0 3735 - 3736 - '@types/hast@3.0.4': 3737 - dependencies: 3738 - '@types/unist': 3.0.3 3739 - 3740 - '@types/mdast@4.0.4': 3741 - dependencies: 3742 - '@types/unist': 3.0.3 3743 - 3744 - '@types/mdx@2.0.13': {} 3745 - 3746 - '@types/ms@0.7.34': {} 3747 - 3748 - '@types/nlcst@2.0.3': 3749 - dependencies: 3750 - '@types/unist': 3.0.3 3751 - 3752 - '@types/node@17.0.45': {} 3753 - 3754 - '@types/node@22.5.0': 3755 - dependencies: 3756 - undici-types: 6.19.8 3757 - 3758 - '@types/sax@1.2.7': 3759 - dependencies: 3760 - '@types/node': 22.5.0 3761 - 3762 - '@types/unist@2.0.11': {} 3763 - 3764 - '@types/unist@3.0.3': {} 3765 - 3766 - '@ungap/structured-clone@1.2.0': {} 3767 - 3768 - '@unocss/astro@66.4.2(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0))': 3769 - dependencies: 3770 - '@unocss/core': 66.4.2 3771 - '@unocss/reset': 66.4.2 3772 - '@unocss/vite': 66.4.2(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0)) 3773 - optionalDependencies: 3774 - vite: 6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0) 3775 - 3776 - '@unocss/cli@66.4.2': 3777 - dependencies: 3778 - '@ampproject/remapping': 2.3.0 3779 - '@unocss/config': 66.4.2 3780 - '@unocss/core': 66.4.2 3781 - '@unocss/preset-uno': 66.4.2 3782 - cac: 6.7.14 3783 - chokidar: 3.6.0 3784 - colorette: 2.0.20 3785 - consola: 3.4.2 3786 - magic-string: 0.30.17 3787 - pathe: 2.0.3 3788 - perfect-debounce: 1.0.0 3789 - tinyglobby: 0.2.14 3790 - unplugin-utils: 0.2.4 3791 - 3792 - '@unocss/config@66.4.2': 3793 - dependencies: 3794 - '@unocss/core': 66.4.2 3795 - unconfig: 7.3.2 3796 - 3797 - '@unocss/core@66.4.2': {} 3798 - 3799 - '@unocss/extractor-arbitrary-variants@66.4.2': 3800 - dependencies: 3801 - '@unocss/core': 66.4.2 3802 - 3803 - '@unocss/inspector@66.4.2': 3804 - dependencies: 3805 - '@unocss/core': 66.4.2 3806 - '@unocss/rule-utils': 66.4.2 3807 - colorette: 2.0.20 3808 - gzip-size: 6.0.0 3809 - sirv: 3.0.1 3810 - vue-flow-layout: 0.2.0 3811 - 3812 - '@unocss/postcss@66.4.2(postcss@8.5.6)': 3813 - dependencies: 3814 - '@unocss/config': 66.4.2 3815 - '@unocss/core': 66.4.2 3816 - '@unocss/rule-utils': 66.4.2 3817 - css-tree: 3.1.0 3818 - postcss: 8.5.6 3819 - tinyglobby: 0.2.14 3820 - 3821 - '@unocss/preset-attributify@66.4.2': 3822 - dependencies: 3823 - '@unocss/core': 66.4.2 3824 - 3825 - '@unocss/preset-icons@66.4.2': 3826 - dependencies: 3827 - '@iconify/utils': 3.0.1 3828 - '@unocss/core': 66.4.2 3829 - ofetch: 1.4.1 3830 - transitivePeerDependencies: 3831 - - supports-color 3832 - 3833 - '@unocss/preset-mini@66.4.2': 3834 - dependencies: 3835 - '@unocss/core': 66.4.2 3836 - '@unocss/extractor-arbitrary-variants': 66.4.2 3837 - '@unocss/rule-utils': 66.4.2 3838 - 3839 - '@unocss/preset-tagify@66.4.2': 3840 - dependencies: 3841 - '@unocss/core': 66.4.2 3842 - 3843 - '@unocss/preset-typography@66.4.2': 3844 - dependencies: 3845 - '@unocss/core': 66.4.2 3846 - '@unocss/preset-mini': 66.4.2 3847 - '@unocss/rule-utils': 66.4.2 3848 - 3849 - '@unocss/preset-uno@66.4.2': 3850 - dependencies: 3851 - '@unocss/core': 66.4.2 3852 - '@unocss/preset-wind3': 66.4.2 3853 - 3854 - '@unocss/preset-web-fonts@66.4.2': 3855 - dependencies: 3856 - '@unocss/core': 66.4.2 3857 - ofetch: 1.4.1 3858 - 3859 - '@unocss/preset-wind3@66.4.2': 3860 - dependencies: 3861 - '@unocss/core': 66.4.2 3862 - '@unocss/preset-mini': 66.4.2 3863 - '@unocss/rule-utils': 66.4.2 3864 - 3865 - '@unocss/preset-wind4@66.4.2': 3866 - dependencies: 3867 - '@unocss/core': 66.4.2 3868 - '@unocss/extractor-arbitrary-variants': 66.4.2 3869 - '@unocss/rule-utils': 66.4.2 3870 - 3871 - '@unocss/preset-wind@66.4.2': 3872 - dependencies: 3873 - '@unocss/core': 66.4.2 3874 - '@unocss/preset-wind3': 66.4.2 3875 - 3876 - '@unocss/reset@66.4.2': {} 3877 - 3878 - '@unocss/rule-utils@66.4.2': 3879 - dependencies: 3880 - '@unocss/core': 66.4.2 3881 - magic-string: 0.30.17 3882 - 3883 - '@unocss/transformer-attributify-jsx@66.4.2': 3884 - dependencies: 3885 - '@babel/parser': 7.28.0 3886 - '@babel/traverse': 7.28.0 3887 - '@unocss/core': 66.4.2 3888 - transitivePeerDependencies: 3889 - - supports-color 3890 - 3891 - '@unocss/transformer-compile-class@66.4.2': 3892 - dependencies: 3893 - '@unocss/core': 66.4.2 3894 - 3895 - '@unocss/transformer-directives@66.4.2': 3896 - dependencies: 3897 - '@unocss/core': 66.4.2 3898 - '@unocss/rule-utils': 66.4.2 3899 - css-tree: 3.1.0 3900 - 3901 - '@unocss/transformer-variant-group@66.4.2': 3902 - dependencies: 3903 - '@unocss/core': 66.4.2 3904 - 3905 - '@unocss/vite@66.4.2(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0))': 3906 - dependencies: 3907 - '@ampproject/remapping': 2.3.0 3908 - '@unocss/config': 66.4.2 3909 - '@unocss/core': 66.4.2 3910 - '@unocss/inspector': 66.4.2 3911 - chokidar: 3.6.0 3912 - magic-string: 0.30.17 3913 - pathe: 2.0.3 3914 - tinyglobby: 0.2.14 3915 - unplugin-utils: 0.2.4 3916 - vite: 6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0) 3917 - 3918 - '@volar/kit@2.4.9(typescript@5.9.2)': 3919 - dependencies: 3920 - '@volar/language-service': 2.4.9 3921 - '@volar/typescript': 2.4.9 3922 - typesafe-path: 0.2.2 3923 - typescript: 5.9.2 3924 - vscode-languageserver-textdocument: 1.0.12 3925 - vscode-uri: 3.0.8 3926 - 3927 - '@volar/language-core@2.4.9': 3928 - dependencies: 3929 - '@volar/source-map': 2.4.9 3930 - 3931 - '@volar/language-server@2.4.9': 3932 - dependencies: 3933 - '@volar/language-core': 2.4.9 3934 - '@volar/language-service': 2.4.9 3935 - '@volar/typescript': 2.4.9 3936 - path-browserify: 1.0.1 3937 - request-light: 0.7.0 3938 - vscode-languageserver: 9.0.1 3939 - vscode-languageserver-protocol: 3.17.5 3940 - vscode-languageserver-textdocument: 1.0.12 3941 - vscode-uri: 3.0.8 3942 - 3943 - '@volar/language-service@2.4.9': 3944 - dependencies: 3945 - '@volar/language-core': 2.4.9 3946 - vscode-languageserver-protocol: 3.17.5 3947 - vscode-languageserver-textdocument: 1.0.12 3948 - vscode-uri: 3.0.8 3949 - 3950 - '@volar/source-map@2.4.9': {} 3951 - 3952 - '@volar/typescript@2.4.9': 3953 - dependencies: 3954 - '@volar/language-core': 2.4.9 3955 - path-browserify: 1.0.1 3956 - vscode-uri: 3.0.8 3957 - 3958 - '@vscode/emmet-helper@2.9.3': 3959 - dependencies: 3960 - emmet: 2.4.11 3961 - jsonc-parser: 2.3.1 3962 - vscode-languageserver-textdocument: 1.0.12 3963 - vscode-languageserver-types: 3.17.5 3964 - vscode-uri: 2.1.2 3965 - 3966 - '@vscode/l10n@0.0.18': {} 3967 - 3968 - acorn-jsx@5.3.2(acorn@8.15.0): 3969 - dependencies: 3970 - acorn: 8.15.0 3971 3972 acorn-walk@8.3.2: {} 3973 3974 acorn@8.14.0: {} 3975 3976 - acorn@8.15.0: {} 3977 - 3978 - ajv@8.17.1: 3979 - dependencies: 3980 - fast-deep-equal: 3.1.3 3981 - fast-uri: 3.0.3 3982 - json-schema-traverse: 1.0.0 3983 - require-from-string: 2.0.2 3984 - 3985 - ansi-align@3.0.1: 3986 - dependencies: 3987 - string-width: 4.2.3 3988 - 3989 - ansi-regex@5.0.1: {} 3990 - 3991 - ansi-regex@6.0.1: {} 3992 - 3993 - ansi-styles@4.3.0: 3994 - dependencies: 3995 - color-convert: 2.0.1 3996 - 3997 - ansi-styles@6.2.1: {} 3998 - 3999 - anymatch@3.1.3: 4000 - dependencies: 4001 - normalize-path: 3.0.0 4002 - picomatch: 2.3.1 4003 - 4004 - arg@5.0.2: {} 4005 - 4006 - argparse@2.0.1: {} 4007 - 4008 - aria-query@5.3.2: {} 4009 - 4010 - array-iterate@2.0.1: {} 4011 - 4012 - astring@1.9.0: {} 4013 - 4014 - astro@5.13.0(@types/node@22.5.0)(jiti@2.5.1)(rollup@4.46.2)(tsx@4.20.4)(typescript@5.9.2)(yaml@2.6.0): 4015 - dependencies: 4016 - '@astrojs/compiler': 2.12.2 4017 - '@astrojs/internal-helpers': 0.7.1 4018 - '@astrojs/markdown-remark': 6.3.5 4019 - '@astrojs/telemetry': 3.3.0 4020 - '@capsizecss/unpack': 2.4.0 4021 - '@oslojs/encoding': 1.1.0 4022 - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) 4023 - acorn: 8.15.0 4024 - aria-query: 5.3.2 4025 - axobject-query: 4.1.0 4026 - boxen: 8.0.1 4027 - ci-info: 4.3.0 4028 - clsx: 2.1.1 4029 - common-ancestor-path: 1.0.1 4030 - cookie: 1.0.2 4031 - cssesc: 3.0.0 4032 - debug: 4.4.1 4033 - deterministic-object-hash: 2.0.2 4034 - devalue: 5.1.1 4035 - diff: 5.2.0 4036 - dlv: 1.1.3 4037 - dset: 3.1.4 4038 - es-module-lexer: 1.7.0 4039 - esbuild: 0.25.8 4040 - estree-walker: 3.0.3 4041 - flattie: 1.1.1 4042 - fontace: 0.3.0 4043 - github-slugger: 2.0.0 4044 - html-escaper: 3.0.3 4045 - http-cache-semantics: 4.1.1 4046 - import-meta-resolve: 4.1.0 4047 - js-yaml: 4.1.0 4048 - kleur: 4.1.5 4049 - magic-string: 0.30.17 4050 - magicast: 0.3.5 4051 - mrmime: 2.0.1 4052 - neotraverse: 0.6.18 4053 - p-limit: 6.2.0 4054 - p-queue: 8.1.0 4055 - package-manager-detector: 1.3.0 4056 - picomatch: 4.0.2 4057 - prompts: 2.4.2 4058 - rehype: 13.0.2 4059 - semver: 7.7.2 4060 - shiki: 3.9.2 4061 - smol-toml: 1.4.1 4062 - tinyexec: 0.3.2 4063 - tinyglobby: 0.2.14 4064 - tsconfck: 3.1.6(typescript@5.9.2) 4065 - ultrahtml: 1.6.0 4066 - unifont: 0.5.2 4067 - unist-util-visit: 5.0.0 4068 - unstorage: 1.16.1 4069 - vfile: 6.0.3 4070 - vite: 6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0) 4071 - vitefu: 1.1.1(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0)) 4072 - xxhash-wasm: 1.1.0 4073 - yargs-parser: 21.1.1 4074 - yocto-spinner: 0.2.3 4075 - zod: 3.25.76 4076 - zod-to-json-schema: 3.24.6(zod@3.25.76) 4077 - zod-to-ts: 1.2.0(typescript@5.9.2)(zod@3.25.76) 4078 - optionalDependencies: 4079 - sharp: 0.33.5 4080 - transitivePeerDependencies: 4081 - - '@azure/app-configuration' 4082 - - '@azure/cosmos' 4083 - - '@azure/data-tables' 4084 - - '@azure/identity' 4085 - - '@azure/keyvault-secrets' 4086 - - '@azure/storage-blob' 4087 - - '@capacitor/preferences' 4088 - - '@deno/kv' 4089 - - '@netlify/blobs' 4090 - - '@planetscale/database' 4091 - - '@types/node' 4092 - - '@upstash/redis' 4093 - - '@vercel/blob' 4094 - - '@vercel/kv' 4095 - - aws4fetch 4096 - - db0 4097 - - encoding 4098 - - idb-keyval 4099 - - ioredis 4100 - - jiti 4101 - - less 4102 - - lightningcss 4103 - - rollup 4104 - - sass 4105 - - sass-embedded 4106 - - stylus 4107 - - sugarss 4108 - - supports-color 4109 - - terser 4110 - - tsx 4111 - - typescript 4112 - - uploadthing 4113 - - yaml 4114 - 4115 - await-lock@2.2.2: {} 4116 - 4117 - axobject-query@4.1.0: {} 4118 - 4119 - bail@2.0.2: {} 4120 - 4121 - base-64@1.0.0: {} 4122 - 4123 - base64-js@1.5.1: {} 4124 - 4125 - binary-extensions@2.3.0: {} 4126 - 4127 blake3-wasm@2.1.5: {} 4128 4129 - blob-to-buffer@1.2.9: {} 4130 - 4131 - boxen@8.0.1: 4132 - dependencies: 4133 - ansi-align: 3.0.1 4134 - camelcase: 8.0.0 4135 - chalk: 5.3.0 4136 - cli-boxes: 3.0.0 4137 - string-width: 7.2.0 4138 - type-fest: 4.26.1 4139 - widest-line: 5.0.0 4140 - wrap-ansi: 9.0.0 4141 - 4142 - braces@3.0.3: 4143 - dependencies: 4144 - fill-range: 7.1.1 4145 - 4146 - brotli@1.3.3: 4147 - dependencies: 4148 - base64-js: 1.5.1 4149 - 4150 - cac@6.7.14: {} 4151 - 4152 - camelcase@8.0.0: {} 4153 - 4154 - ccount@2.0.1: {} 4155 - 4156 - chalk@5.3.0: {} 4157 - 4158 - character-entities-html4@2.1.0: {} 4159 - 4160 - character-entities-legacy@3.0.0: {} 4161 - 4162 - character-entities@2.0.2: {} 4163 - 4164 - character-reference-invalid@2.0.1: {} 4165 - 4166 - chokidar@3.6.0: 4167 - dependencies: 4168 - anymatch: 3.1.3 4169 - braces: 3.0.3 4170 - glob-parent: 5.1.2 4171 - is-binary-path: 2.1.0 4172 - is-glob: 4.0.3 4173 - normalize-path: 3.0.0 4174 - readdirp: 3.6.0 4175 - optionalDependencies: 4176 - fsevents: 2.3.3 4177 - 4178 - chokidar@4.0.1: 4179 - dependencies: 4180 - readdirp: 4.0.2 4181 - 4182 - chokidar@4.0.3: 4183 - dependencies: 4184 - readdirp: 4.0.2 4185 - 4186 - ci-info@4.3.0: {} 4187 - 4188 - cli-boxes@3.0.0: {} 4189 - 4190 - cliui@8.0.1: 4191 - dependencies: 4192 - string-width: 4.2.3 4193 - strip-ansi: 6.0.1 4194 - wrap-ansi: 7.0.0 4195 - 4196 - clone@2.1.2: {} 4197 - 4198 - clsx@2.1.1: {} 4199 - 4200 - collapse-white-space@2.1.0: {} 4201 - 4202 color-convert@2.0.1: 4203 dependencies: 4204 color-name: 1.1.4 ··· 4208 color-string@1.9.1: 4209 dependencies: 4210 color-name: 1.1.4 4211 - simple-swizzle: 0.2.2 4212 4213 color@4.2.3: 4214 dependencies: 4215 color-convert: 2.0.1 4216 color-string: 1.9.1 4217 4218 - colorette@2.0.20: {} 4219 - 4220 - comma-separated-tokens@2.0.3: {} 4221 - 4222 - commander@8.3.0: {} 4223 - 4224 - common-ancestor-path@1.0.1: {} 4225 - 4226 - confbox@0.1.8: {} 4227 - 4228 - confbox@0.2.2: {} 4229 - 4230 - consola@3.4.2: {} 4231 - 4232 - cookie-es@1.2.2: {} 4233 - 4234 - cookie@1.0.2: {} 4235 - 4236 - cross-fetch@3.2.0: 4237 - dependencies: 4238 - node-fetch: 2.7.0 4239 - transitivePeerDependencies: 4240 - - encoding 4241 - 4242 - crossws@0.3.5: 4243 - dependencies: 4244 - uncrypto: 0.1.3 4245 - 4246 - css-tree@3.1.0: 4247 - dependencies: 4248 - mdn-data: 2.12.2 4249 - source-map-js: 1.2.1 4250 - 4251 - cssesc@3.0.0: {} 4252 - 4253 - debug@4.3.7: 4254 - dependencies: 4255 - ms: 2.1.3 4256 - 4257 - debug@4.4.1: 4258 - dependencies: 4259 - ms: 2.1.3 4260 - 4261 - decode-named-character-reference@1.0.2: 4262 - dependencies: 4263 - character-entities: 2.0.2 4264 - 4265 - deepmerge@4.3.1: {} 4266 - 4267 - defu@6.1.4: {} 4268 - 4269 - dequal@2.0.3: {} 4270 - 4271 - destr@2.0.5: {} 4272 - 4273 - detect-libc@2.0.4: {} 4274 - 4275 - deterministic-object-hash@2.0.2: 4276 - dependencies: 4277 - base-64: 1.0.0 4278 - 4279 - devalue@5.1.1: {} 4280 - 4281 - devlop@1.1.0: 4282 - dependencies: 4283 - dequal: 2.0.3 4284 - 4285 - dfa@1.2.0: {} 4286 - 4287 - diff@5.2.0: {} 4288 - 4289 - dlv@1.1.3: {} 4290 4291 - dom-serializer@2.0.0: 4292 - dependencies: 4293 - domelementtype: 2.3.0 4294 - domhandler: 5.0.3 4295 - entities: 4.5.0 4296 - 4297 - domelementtype@2.3.0: {} 4298 - 4299 - domhandler@5.0.3: 4300 - dependencies: 4301 - domelementtype: 2.3.0 4302 - 4303 - domutils@3.2.2: 4304 - dependencies: 4305 - dom-serializer: 2.0.0 4306 - domelementtype: 2.3.0 4307 - domhandler: 5.0.3 4308 - 4309 - dset@3.1.4: {} 4310 - 4311 - duplexer@0.1.2: {} 4312 - 4313 - emmet@2.4.11: 4314 - dependencies: 4315 - '@emmetio/abbreviation': 2.3.3 4316 - '@emmetio/css-abbreviation': 2.1.8 4317 - 4318 - emoji-regex@10.3.0: {} 4319 - 4320 - emoji-regex@8.0.0: {} 4321 - 4322 - entities@4.5.0: {} 4323 4324 error-stack-parser-es@1.0.5: {} 4325 4326 - es-module-lexer@1.7.0: {} 4327 - 4328 - esast-util-from-estree@2.0.0: 4329 - dependencies: 4330 - '@types/estree-jsx': 1.0.5 4331 - devlop: 1.1.0 4332 - estree-util-visit: 2.0.0 4333 - unist-util-position-from-estree: 2.0.0 4334 - 4335 - esast-util-from-js@2.0.1: 4336 - dependencies: 4337 - '@types/estree-jsx': 1.0.5 4338 - acorn: 8.15.0 4339 - esast-util-from-estree: 2.0.0 4340 - vfile-message: 4.0.2 4341 - 4342 - esbuild@0.25.4: 4343 optionalDependencies: 4344 - '@esbuild/aix-ppc64': 0.25.4 4345 - '@esbuild/android-arm': 0.25.4 4346 - '@esbuild/android-arm64': 0.25.4 4347 - '@esbuild/android-x64': 0.25.4 4348 - '@esbuild/darwin-arm64': 0.25.4 4349 - '@esbuild/darwin-x64': 0.25.4 4350 - '@esbuild/freebsd-arm64': 0.25.4 4351 - '@esbuild/freebsd-x64': 0.25.4 4352 - '@esbuild/linux-arm': 0.25.4 4353 - '@esbuild/linux-arm64': 0.25.4 4354 - '@esbuild/linux-ia32': 0.25.4 4355 - '@esbuild/linux-loong64': 0.25.4 4356 - '@esbuild/linux-mips64el': 0.25.4 4357 - '@esbuild/linux-ppc64': 0.25.4 4358 - '@esbuild/linux-riscv64': 0.25.4 4359 - '@esbuild/linux-s390x': 0.25.4 4360 - '@esbuild/linux-x64': 0.25.4 4361 - '@esbuild/netbsd-arm64': 0.25.4 4362 - '@esbuild/netbsd-x64': 0.25.4 4363 - '@esbuild/openbsd-arm64': 0.25.4 4364 - '@esbuild/openbsd-x64': 0.25.4 4365 - '@esbuild/sunos-x64': 0.25.4 4366 - '@esbuild/win32-arm64': 0.25.4 4367 - '@esbuild/win32-ia32': 0.25.4 4368 - '@esbuild/win32-x64': 0.25.4 4369 - 4370 - esbuild@0.25.8: 4371 - optionalDependencies: 4372 - '@esbuild/aix-ppc64': 0.25.8 4373 - '@esbuild/android-arm': 0.25.8 4374 - '@esbuild/android-arm64': 0.25.8 4375 - '@esbuild/android-x64': 0.25.8 4376 - '@esbuild/darwin-arm64': 0.25.8 4377 - '@esbuild/darwin-x64': 0.25.8 4378 - '@esbuild/freebsd-arm64': 0.25.8 4379 - '@esbuild/freebsd-x64': 0.25.8 4380 - '@esbuild/linux-arm': 0.25.8 4381 - '@esbuild/linux-arm64': 0.25.8 4382 - '@esbuild/linux-ia32': 0.25.8 4383 - '@esbuild/linux-loong64': 0.25.8 4384 - '@esbuild/linux-mips64el': 0.25.8 4385 - '@esbuild/linux-ppc64': 0.25.8 4386 - '@esbuild/linux-riscv64': 0.25.8 4387 - '@esbuild/linux-s390x': 0.25.8 4388 - '@esbuild/linux-x64': 0.25.8 4389 - '@esbuild/netbsd-arm64': 0.25.8 4390 - '@esbuild/netbsd-x64': 0.25.8 4391 - '@esbuild/openbsd-arm64': 0.25.8 4392 - '@esbuild/openbsd-x64': 0.25.8 4393 - '@esbuild/openharmony-arm64': 0.25.8 4394 - '@esbuild/sunos-x64': 0.25.8 4395 - '@esbuild/win32-arm64': 0.25.8 4396 - '@esbuild/win32-ia32': 0.25.8 4397 - '@esbuild/win32-x64': 0.25.8 4398 - 4399 - escalade@3.1.2: {} 4400 - 4401 - escape-string-regexp@4.0.0: {} 4402 - 4403 - escape-string-regexp@5.0.0: {} 4404 - 4405 - esm-env@1.2.2: {} 4406 - 4407 - estree-util-attach-comments@3.0.0: 4408 - dependencies: 4409 - '@types/estree': 1.0.6 4410 - 4411 - estree-util-build-jsx@3.0.1: 4412 - dependencies: 4413 - '@types/estree-jsx': 1.0.5 4414 - devlop: 1.1.0 4415 - estree-util-is-identifier-name: 3.0.0 4416 - estree-walker: 3.0.3 4417 - 4418 - estree-util-is-identifier-name@3.0.0: {} 4419 - 4420 - estree-util-scope@1.0.0: 4421 - dependencies: 4422 - '@types/estree': 1.0.6 4423 - devlop: 1.1.0 4424 - 4425 - estree-util-to-js@2.0.0: 4426 - dependencies: 4427 - '@types/estree-jsx': 1.0.5 4428 - astring: 1.9.0 4429 - source-map: 0.7.4 4430 - 4431 - estree-util-visit@2.0.0: 4432 - dependencies: 4433 - '@types/estree-jsx': 1.0.5 4434 - '@types/unist': 3.0.3 4435 - 4436 - estree-walker@2.0.2: {} 4437 - 4438 - estree-walker@3.0.3: 4439 - dependencies: 4440 - '@types/estree': 1.0.6 4441 - 4442 - eventemitter3@5.0.1: {} 4443 4444 exit-hook@2.2.1: {} 4445 4446 - exsolve@1.0.7: {} 4447 - 4448 - extend@3.0.2: {} 4449 - 4450 - fast-deep-equal@3.1.3: {} 4451 - 4452 - fast-glob@3.3.2: 4453 - dependencies: 4454 - '@nodelib/fs.stat': 2.0.5 4455 - '@nodelib/fs.walk': 1.2.8 4456 - glob-parent: 5.1.2 4457 - merge2: 1.4.1 4458 - micromatch: 4.0.8 4459 - 4460 - fast-uri@3.0.3: {} 4461 - 4462 - fastq@1.17.1: 4463 - dependencies: 4464 - reusify: 1.0.4 4465 - 4466 - fdir@6.4.6(picomatch@4.0.2): 4467 - optionalDependencies: 4468 - picomatch: 4.0.2 4469 - 4470 - fill-range@7.1.1: 4471 - dependencies: 4472 - to-regex-range: 5.0.1 4473 - 4474 - flattie@1.1.1: {} 4475 - 4476 - fontace@0.3.0: 4477 - dependencies: 4478 - '@types/fontkit': 2.0.8 4479 - fontkit: 2.0.4 4480 - 4481 - fontkit@2.0.4: 4482 - dependencies: 4483 - '@swc/helpers': 0.5.17 4484 - brotli: 1.3.3 4485 - clone: 2.1.2 4486 - dfa: 1.2.0 4487 - fast-deep-equal: 3.1.3 4488 - restructure: 3.0.2 4489 - tiny-inflate: 1.0.3 4490 - unicode-properties: 1.4.1 4491 - unicode-trie: 2.0.0 4492 - 4493 fsevents@2.3.3: 4494 optional: true 4495 - 4496 - get-caller-file@2.0.5: {} 4497 - 4498 - get-east-asian-width@1.2.0: {} 4499 - 4500 - get-tsconfig@4.7.6: 4501 - dependencies: 4502 - resolve-pkg-maps: 1.0.0 4503 - 4504 - github-slugger@2.0.0: {} 4505 - 4506 - glob-parent@5.1.2: 4507 - dependencies: 4508 - is-glob: 4.0.3 4509 4510 glob-to-regexp@0.4.1: {} 4511 4512 - globals@15.15.0: {} 4513 - 4514 - graphemer@1.4.0: {} 4515 - 4516 - gzip-size@6.0.0: 4517 - dependencies: 4518 - duplexer: 0.1.2 4519 - 4520 - h3@1.15.4: 4521 - dependencies: 4522 - cookie-es: 1.2.2 4523 - crossws: 0.3.5 4524 - defu: 6.1.4 4525 - destr: 2.0.5 4526 - iron-webcrypto: 1.2.1 4527 - node-mock-http: 1.0.2 4528 - radix3: 1.1.2 4529 - ufo: 1.6.1 4530 - uncrypto: 0.1.3 4531 - 4532 - hast-util-from-html@2.0.3: 4533 - dependencies: 4534 - '@types/hast': 3.0.4 4535 - devlop: 1.1.0 4536 - hast-util-from-parse5: 8.0.1 4537 - parse5: 7.1.2 4538 - vfile: 6.0.3 4539 - vfile-message: 4.0.2 4540 - 4541 - hast-util-from-parse5@8.0.1: 4542 - dependencies: 4543 - '@types/hast': 3.0.4 4544 - '@types/unist': 3.0.3 4545 - devlop: 1.1.0 4546 - hastscript: 8.0.0 4547 - property-information: 6.5.0 4548 - vfile: 6.0.3 4549 - vfile-location: 5.0.3 4550 - web-namespaces: 2.0.1 4551 - 4552 - hast-util-is-element@3.0.0: 4553 - dependencies: 4554 - '@types/hast': 3.0.4 4555 - 4556 - hast-util-parse-selector@4.0.0: 4557 - dependencies: 4558 - '@types/hast': 3.0.4 4559 - 4560 - hast-util-raw@9.0.4: 4561 - dependencies: 4562 - '@types/hast': 3.0.4 4563 - '@types/unist': 3.0.3 4564 - '@ungap/structured-clone': 1.2.0 4565 - hast-util-from-parse5: 8.0.1 4566 - hast-util-to-parse5: 8.0.0 4567 - html-void-elements: 3.0.0 4568 - mdast-util-to-hast: 13.2.0 4569 - parse5: 7.1.2 4570 - unist-util-position: 5.0.0 4571 - unist-util-visit: 5.0.0 4572 - vfile: 6.0.3 4573 - web-namespaces: 2.0.1 4574 - zwitch: 2.0.4 4575 - 4576 - hast-util-to-estree@3.1.0: 4577 - dependencies: 4578 - '@types/estree': 1.0.6 4579 - '@types/estree-jsx': 1.0.5 4580 - '@types/hast': 3.0.4 4581 - comma-separated-tokens: 2.0.3 4582 - devlop: 1.1.0 4583 - estree-util-attach-comments: 3.0.0 4584 - estree-util-is-identifier-name: 3.0.0 4585 - hast-util-whitespace: 3.0.0 4586 - mdast-util-mdx-expression: 2.0.0 4587 - mdast-util-mdx-jsx: 3.1.3 4588 - mdast-util-mdxjs-esm: 2.0.1 4589 - property-information: 6.5.0 4590 - space-separated-tokens: 2.0.2 4591 - style-to-object: 0.4.4 4592 - unist-util-position: 5.0.0 4593 - zwitch: 2.0.4 4594 - transitivePeerDependencies: 4595 - - supports-color 4596 - 4597 - hast-util-to-html@9.0.5: 4598 - dependencies: 4599 - '@types/hast': 3.0.4 4600 - '@types/unist': 3.0.3 4601 - ccount: 2.0.1 4602 - comma-separated-tokens: 2.0.3 4603 - hast-util-whitespace: 3.0.0 4604 - html-void-elements: 3.0.0 4605 - mdast-util-to-hast: 13.2.0 4606 - property-information: 7.1.0 4607 - space-separated-tokens: 2.0.2 4608 - stringify-entities: 4.0.4 4609 - zwitch: 2.0.4 4610 - 4611 - hast-util-to-jsx-runtime@2.3.0: 4612 - dependencies: 4613 - '@types/estree': 1.0.6 4614 - '@types/hast': 3.0.4 4615 - '@types/unist': 3.0.3 4616 - comma-separated-tokens: 2.0.3 4617 - devlop: 1.1.0 4618 - estree-util-is-identifier-name: 3.0.0 4619 - hast-util-whitespace: 3.0.0 4620 - mdast-util-mdx-expression: 2.0.0 4621 - mdast-util-mdx-jsx: 3.1.3 4622 - mdast-util-mdxjs-esm: 2.0.1 4623 - property-information: 6.5.0 4624 - space-separated-tokens: 2.0.2 4625 - style-to-object: 1.0.7 4626 - unist-util-position: 5.0.0 4627 - vfile-message: 4.0.2 4628 - transitivePeerDependencies: 4629 - - supports-color 4630 - 4631 - hast-util-to-parse5@8.0.0: 4632 - dependencies: 4633 - '@types/hast': 3.0.4 4634 - comma-separated-tokens: 2.0.3 4635 - devlop: 1.1.0 4636 - property-information: 6.5.0 4637 - space-separated-tokens: 2.0.2 4638 - web-namespaces: 2.0.1 4639 - zwitch: 2.0.4 4640 - 4641 - hast-util-to-text@4.0.2: 4642 - dependencies: 4643 - '@types/hast': 3.0.4 4644 - '@types/unist': 3.0.3 4645 - hast-util-is-element: 3.0.0 4646 - unist-util-find-after: 5.0.0 4647 - 4648 - hast-util-whitespace@3.0.0: 4649 - dependencies: 4650 - '@types/hast': 3.0.4 4651 - 4652 - hastscript@8.0.0: 4653 - dependencies: 4654 - '@types/hast': 3.0.4 4655 - comma-separated-tokens: 2.0.3 4656 - hast-util-parse-selector: 4.0.0 4657 - property-information: 6.5.0 4658 - space-separated-tokens: 2.0.2 4659 - 4660 - html-escaper@3.0.3: {} 4661 - 4662 - html-void-elements@3.0.0: {} 4663 - 4664 - htmlparser2@8.0.2: 4665 - dependencies: 4666 - domelementtype: 2.3.0 4667 - domhandler: 5.0.3 4668 - domutils: 3.2.2 4669 - entities: 4.5.0 4670 - 4671 - http-cache-semantics@4.1.1: {} 4672 - 4673 - import-meta-resolve@4.1.0: {} 4674 - 4675 - inline-style-parser@0.1.1: {} 4676 - 4677 - inline-style-parser@0.2.3: {} 4678 - 4679 - iron-webcrypto@1.2.1: {} 4680 - 4681 - is-alphabetical@2.0.1: {} 4682 - 4683 - is-alphanumerical@2.0.1: 4684 - dependencies: 4685 - is-alphabetical: 2.0.1 4686 - is-decimal: 2.0.1 4687 - 4688 - is-arrayish@0.3.2: {} 4689 - 4690 - is-binary-path@2.1.0: 4691 - dependencies: 4692 - binary-extensions: 2.3.0 4693 - 4694 - is-decimal@2.0.1: {} 4695 - 4696 - is-docker@3.0.0: {} 4697 - 4698 - is-extglob@2.1.1: {} 4699 - 4700 - is-fullwidth-code-point@3.0.0: {} 4701 - 4702 - is-glob@4.0.3: 4703 - dependencies: 4704 - is-extglob: 2.1.1 4705 - 4706 - is-hexadecimal@2.0.1: {} 4707 - 4708 - is-inside-container@1.0.0: 4709 - dependencies: 4710 - is-docker: 3.0.0 4711 - 4712 - is-number@7.0.0: {} 4713 - 4714 - is-plain-obj@4.1.0: {} 4715 - 4716 - is-plain-object@5.0.0: {} 4717 - 4718 - is-wsl@3.1.0: 4719 - dependencies: 4720 - is-inside-container: 1.0.0 4721 - 4722 - iso-datestring-validator@2.2.2: {} 4723 - 4724 - jiti@2.5.1: {} 4725 - 4726 - js-tokens@4.0.0: {} 4727 - 4728 - js-yaml@4.1.0: 4729 - dependencies: 4730 - argparse: 2.0.1 4731 - 4732 - jsesc@3.1.0: {} 4733 - 4734 - json-schema-traverse@1.0.0: {} 4735 - 4736 - jsonc-parser@2.3.1: {} 4737 - 4738 - jsonc-parser@3.3.1: {} 4739 - 4740 - katex@0.16.22: 4741 - dependencies: 4742 - commander: 8.3.0 4743 - 4744 - kleur@3.0.3: {} 4745 4746 kleur@4.1.5: {} 4747 4748 - kolorist@1.8.0: {} 4749 - 4750 - local-pkg@1.1.1: 4751 - dependencies: 4752 - mlly: 1.7.4 4753 - pkg-types: 2.2.0 4754 - quansync: 0.2.10 4755 - 4756 - lodash@4.17.21: {} 4757 - 4758 - longest-streak@3.1.0: {} 4759 - 4760 - lru-cache@10.4.3: {} 4761 - 4762 - magic-string@0.30.17: 4763 - dependencies: 4764 - '@jridgewell/sourcemap-codec': 1.5.0 4765 - 4766 - magicast@0.3.5: 4767 - dependencies: 4768 - '@babel/parser': 7.28.0 4769 - '@babel/types': 7.28.2 4770 - source-map-js: 1.2.1 4771 - 4772 - markdown-extensions@2.0.0: {} 4773 - 4774 - markdown-table@3.0.3: {} 4775 - 4776 - mdast-util-definitions@6.0.0: 4777 - dependencies: 4778 - '@types/mdast': 4.0.4 4779 - '@types/unist': 3.0.3 4780 - unist-util-visit: 5.0.0 4781 - 4782 - mdast-util-find-and-replace@3.0.1: 4783 - dependencies: 4784 - '@types/mdast': 4.0.4 4785 - escape-string-regexp: 5.0.0 4786 - unist-util-is: 6.0.0 4787 - unist-util-visit-parents: 6.0.1 4788 - 4789 - mdast-util-from-markdown@2.0.1: 4790 - dependencies: 4791 - '@types/mdast': 4.0.4 4792 - '@types/unist': 3.0.3 4793 - decode-named-character-reference: 1.0.2 4794 - devlop: 1.1.0 4795 - mdast-util-to-string: 4.0.0 4796 - micromark: 4.0.0 4797 - micromark-util-decode-numeric-character-reference: 2.0.1 4798 - micromark-util-decode-string: 2.0.0 4799 - micromark-util-normalize-identifier: 2.0.0 4800 - micromark-util-symbol: 2.0.0 4801 - micromark-util-types: 2.0.0 4802 - unist-util-stringify-position: 4.0.0 4803 - transitivePeerDependencies: 4804 - - supports-color 4805 - 4806 - mdast-util-gfm-autolink-literal@2.0.1: 4807 - dependencies: 4808 - '@types/mdast': 4.0.4 4809 - ccount: 2.0.1 4810 - devlop: 1.1.0 4811 - mdast-util-find-and-replace: 3.0.1 4812 - micromark-util-character: 2.1.0 4813 - 4814 - mdast-util-gfm-footnote@2.0.0: 4815 - dependencies: 4816 - '@types/mdast': 4.0.4 4817 - devlop: 1.1.0 4818 - mdast-util-from-markdown: 2.0.1 4819 - mdast-util-to-markdown: 2.1.0 4820 - micromark-util-normalize-identifier: 2.0.0 4821 - transitivePeerDependencies: 4822 - - supports-color 4823 - 4824 - mdast-util-gfm-strikethrough@2.0.0: 4825 - dependencies: 4826 - '@types/mdast': 4.0.4 4827 - mdast-util-from-markdown: 2.0.1 4828 - mdast-util-to-markdown: 2.1.0 4829 - transitivePeerDependencies: 4830 - - supports-color 4831 - 4832 - mdast-util-gfm-table@2.0.0: 4833 - dependencies: 4834 - '@types/mdast': 4.0.4 4835 - devlop: 1.1.0 4836 - markdown-table: 3.0.3 4837 - mdast-util-from-markdown: 2.0.1 4838 - mdast-util-to-markdown: 2.1.0 4839 - transitivePeerDependencies: 4840 - - supports-color 4841 - 4842 - mdast-util-gfm-task-list-item@2.0.0: 4843 - dependencies: 4844 - '@types/mdast': 4.0.4 4845 - devlop: 1.1.0 4846 - mdast-util-from-markdown: 2.0.1 4847 - mdast-util-to-markdown: 2.1.0 4848 - transitivePeerDependencies: 4849 - - supports-color 4850 - 4851 - mdast-util-gfm@3.0.0: 4852 - dependencies: 4853 - mdast-util-from-markdown: 2.0.1 4854 - mdast-util-gfm-autolink-literal: 2.0.1 4855 - mdast-util-gfm-footnote: 2.0.0 4856 - mdast-util-gfm-strikethrough: 2.0.0 4857 - mdast-util-gfm-table: 2.0.0 4858 - mdast-util-gfm-task-list-item: 2.0.0 4859 - mdast-util-to-markdown: 2.1.0 4860 - transitivePeerDependencies: 4861 - - supports-color 4862 - 4863 - mdast-util-mdx-expression@2.0.0: 4864 - dependencies: 4865 - '@types/estree-jsx': 1.0.5 4866 - '@types/hast': 3.0.4 4867 - '@types/mdast': 4.0.4 4868 - devlop: 1.1.0 4869 - mdast-util-from-markdown: 2.0.1 4870 - mdast-util-to-markdown: 2.1.0 4871 - transitivePeerDependencies: 4872 - - supports-color 4873 - 4874 - mdast-util-mdx-jsx@3.1.3: 4875 - dependencies: 4876 - '@types/estree-jsx': 1.0.5 4877 - '@types/hast': 3.0.4 4878 - '@types/mdast': 4.0.4 4879 - '@types/unist': 3.0.3 4880 - ccount: 2.0.1 4881 - devlop: 1.1.0 4882 - mdast-util-from-markdown: 2.0.1 4883 - mdast-util-to-markdown: 2.1.0 4884 - parse-entities: 4.0.1 4885 - stringify-entities: 4.0.4 4886 - unist-util-stringify-position: 4.0.0 4887 - vfile-message: 4.0.2 4888 - transitivePeerDependencies: 4889 - - supports-color 4890 - 4891 - mdast-util-mdx@3.0.0: 4892 - dependencies: 4893 - mdast-util-from-markdown: 2.0.1 4894 - mdast-util-mdx-expression: 2.0.0 4895 - mdast-util-mdx-jsx: 3.1.3 4896 - mdast-util-mdxjs-esm: 2.0.1 4897 - mdast-util-to-markdown: 2.1.0 4898 - transitivePeerDependencies: 4899 - - supports-color 4900 - 4901 - mdast-util-mdxjs-esm@2.0.1: 4902 - dependencies: 4903 - '@types/estree-jsx': 1.0.5 4904 - '@types/hast': 3.0.4 4905 - '@types/mdast': 4.0.4 4906 - devlop: 1.1.0 4907 - mdast-util-from-markdown: 2.0.1 4908 - mdast-util-to-markdown: 2.1.0 4909 - transitivePeerDependencies: 4910 - - supports-color 4911 - 4912 - mdast-util-phrasing@4.1.0: 4913 - dependencies: 4914 - '@types/mdast': 4.0.4 4915 - unist-util-is: 6.0.0 4916 - 4917 - mdast-util-to-hast@13.2.0: 4918 - dependencies: 4919 - '@types/hast': 3.0.4 4920 - '@types/mdast': 4.0.4 4921 - '@ungap/structured-clone': 1.2.0 4922 - devlop: 1.1.0 4923 - micromark-util-sanitize-uri: 2.0.0 4924 - trim-lines: 3.0.1 4925 - unist-util-position: 5.0.0 4926 - unist-util-visit: 5.0.0 4927 - vfile: 6.0.3 4928 - 4929 - mdast-util-to-markdown@2.1.0: 4930 - dependencies: 4931 - '@types/mdast': 4.0.4 4932 - '@types/unist': 3.0.3 4933 - longest-streak: 3.1.0 4934 - mdast-util-phrasing: 4.1.0 4935 - mdast-util-to-string: 4.0.0 4936 - micromark-util-decode-string: 2.0.0 4937 - unist-util-visit: 5.0.0 4938 - zwitch: 2.0.4 4939 - 4940 - mdast-util-to-string@4.0.0: 4941 - dependencies: 4942 - '@types/mdast': 4.0.4 4943 - 4944 - mdn-data@2.12.2: {} 4945 - 4946 - merge2@1.4.1: {} 4947 - 4948 - micromark-core-commonmark@2.0.1: 4949 - dependencies: 4950 - decode-named-character-reference: 1.0.2 4951 - devlop: 1.1.0 4952 - micromark-factory-destination: 2.0.0 4953 - micromark-factory-label: 2.0.0 4954 - micromark-factory-space: 2.0.0 4955 - micromark-factory-title: 2.0.0 4956 - micromark-factory-whitespace: 2.0.0 4957 - micromark-util-character: 2.1.0 4958 - micromark-util-chunked: 2.0.0 4959 - micromark-util-classify-character: 2.0.0 4960 - micromark-util-html-tag-name: 2.0.0 4961 - micromark-util-normalize-identifier: 2.0.0 4962 - micromark-util-resolve-all: 2.0.0 4963 - micromark-util-subtokenize: 2.0.1 4964 - micromark-util-symbol: 2.0.0 4965 - micromark-util-types: 2.0.0 4966 - 4967 - micromark-extension-gfm-autolink-literal@2.1.0: 4968 - dependencies: 4969 - micromark-util-character: 2.1.0 4970 - micromark-util-sanitize-uri: 2.0.0 4971 - micromark-util-symbol: 2.0.0 4972 - micromark-util-types: 2.0.0 4973 - 4974 - micromark-extension-gfm-footnote@2.1.0: 4975 - dependencies: 4976 - devlop: 1.1.0 4977 - micromark-core-commonmark: 2.0.1 4978 - micromark-factory-space: 2.0.0 4979 - micromark-util-character: 2.1.0 4980 - micromark-util-normalize-identifier: 2.0.0 4981 - micromark-util-sanitize-uri: 2.0.0 4982 - micromark-util-symbol: 2.0.0 4983 - micromark-util-types: 2.0.0 4984 - 4985 - micromark-extension-gfm-strikethrough@2.1.0: 4986 - dependencies: 4987 - devlop: 1.1.0 4988 - micromark-util-chunked: 2.0.0 4989 - micromark-util-classify-character: 2.0.0 4990 - micromark-util-resolve-all: 2.0.0 4991 - micromark-util-symbol: 2.0.0 4992 - micromark-util-types: 2.0.0 4993 - 4994 - micromark-extension-gfm-table@2.1.0: 4995 - dependencies: 4996 - devlop: 1.1.0 4997 - micromark-factory-space: 2.0.0 4998 - micromark-util-character: 2.1.0 4999 - micromark-util-symbol: 2.0.0 5000 - micromark-util-types: 2.0.0 5001 - 5002 - micromark-extension-gfm-tagfilter@2.0.0: 5003 - dependencies: 5004 - micromark-util-types: 2.0.0 5005 - 5006 - micromark-extension-gfm-task-list-item@2.1.0: 5007 - dependencies: 5008 - devlop: 1.1.0 5009 - micromark-factory-space: 2.0.0 5010 - micromark-util-character: 2.1.0 5011 - micromark-util-symbol: 2.0.0 5012 - micromark-util-types: 2.0.0 5013 - 5014 - micromark-extension-gfm@3.0.0: 5015 - dependencies: 5016 - micromark-extension-gfm-autolink-literal: 2.1.0 5017 - micromark-extension-gfm-footnote: 2.1.0 5018 - micromark-extension-gfm-strikethrough: 2.1.0 5019 - micromark-extension-gfm-table: 2.1.0 5020 - micromark-extension-gfm-tagfilter: 2.0.0 5021 - micromark-extension-gfm-task-list-item: 2.1.0 5022 - micromark-util-combine-extensions: 2.0.0 5023 - micromark-util-types: 2.0.0 5024 - 5025 - micromark-extension-mdx-expression@3.0.0: 5026 - dependencies: 5027 - '@types/estree': 1.0.6 5028 - devlop: 1.1.0 5029 - micromark-factory-mdx-expression: 2.0.1 5030 - micromark-factory-space: 2.0.0 5031 - micromark-util-character: 2.1.0 5032 - micromark-util-events-to-acorn: 2.0.2 5033 - micromark-util-symbol: 2.0.0 5034 - micromark-util-types: 2.0.0 5035 - 5036 - micromark-extension-mdx-jsx@3.0.0: 5037 - dependencies: 5038 - '@types/acorn': 4.0.6 5039 - '@types/estree': 1.0.6 5040 - devlop: 1.1.0 5041 - estree-util-is-identifier-name: 3.0.0 5042 - micromark-factory-mdx-expression: 2.0.1 5043 - micromark-factory-space: 2.0.0 5044 - micromark-util-character: 2.1.0 5045 - micromark-util-symbol: 2.0.0 5046 - micromark-util-types: 2.0.0 5047 - vfile-message: 4.0.2 5048 - 5049 - micromark-extension-mdx-md@2.0.0: 5050 - dependencies: 5051 - micromark-util-types: 2.0.0 5052 - 5053 - micromark-extension-mdxjs-esm@3.0.0: 5054 - dependencies: 5055 - '@types/estree': 1.0.6 5056 - devlop: 1.1.0 5057 - micromark-core-commonmark: 2.0.1 5058 - micromark-util-character: 2.1.0 5059 - micromark-util-events-to-acorn: 2.0.2 5060 - micromark-util-symbol: 2.0.0 5061 - micromark-util-types: 2.0.0 5062 - unist-util-position-from-estree: 2.0.0 5063 - vfile-message: 4.0.2 5064 - 5065 - micromark-extension-mdxjs@3.0.0: 5066 - dependencies: 5067 - acorn: 8.15.0 5068 - acorn-jsx: 5.3.2(acorn@8.15.0) 5069 - micromark-extension-mdx-expression: 3.0.0 5070 - micromark-extension-mdx-jsx: 3.0.0 5071 - micromark-extension-mdx-md: 2.0.0 5072 - micromark-extension-mdxjs-esm: 3.0.0 5073 - micromark-util-combine-extensions: 2.0.0 5074 - micromark-util-types: 2.0.0 5075 - 5076 - micromark-factory-destination@2.0.0: 5077 - dependencies: 5078 - micromark-util-character: 2.1.0 5079 - micromark-util-symbol: 2.0.0 5080 - micromark-util-types: 2.0.0 5081 - 5082 - micromark-factory-label@2.0.0: 5083 - dependencies: 5084 - devlop: 1.1.0 5085 - micromark-util-character: 2.1.0 5086 - micromark-util-symbol: 2.0.0 5087 - micromark-util-types: 2.0.0 5088 - 5089 - micromark-factory-mdx-expression@2.0.1: 5090 - dependencies: 5091 - '@types/estree': 1.0.6 5092 - devlop: 1.1.0 5093 - micromark-util-character: 2.1.0 5094 - micromark-util-events-to-acorn: 2.0.2 5095 - micromark-util-symbol: 2.0.0 5096 - micromark-util-types: 2.0.0 5097 - unist-util-position-from-estree: 2.0.0 5098 - vfile-message: 4.0.2 5099 - 5100 - micromark-factory-space@2.0.0: 5101 - dependencies: 5102 - micromark-util-character: 2.1.0 5103 - micromark-util-types: 2.0.0 5104 - 5105 - micromark-factory-title@2.0.0: 5106 - dependencies: 5107 - micromark-factory-space: 2.0.0 5108 - micromark-util-character: 2.1.0 5109 - micromark-util-symbol: 2.0.0 5110 - micromark-util-types: 2.0.0 5111 - 5112 - micromark-factory-whitespace@2.0.0: 5113 - dependencies: 5114 - micromark-factory-space: 2.0.0 5115 - micromark-util-character: 2.1.0 5116 - micromark-util-symbol: 2.0.0 5117 - micromark-util-types: 2.0.0 5118 - 5119 - micromark-util-character@2.1.0: 5120 - dependencies: 5121 - micromark-util-symbol: 2.0.0 5122 - micromark-util-types: 2.0.0 5123 - 5124 - micromark-util-chunked@2.0.0: 5125 - dependencies: 5126 - micromark-util-symbol: 2.0.0 5127 - 5128 - micromark-util-classify-character@2.0.0: 5129 - dependencies: 5130 - micromark-util-character: 2.1.0 5131 - micromark-util-symbol: 2.0.0 5132 - micromark-util-types: 2.0.0 5133 - 5134 - micromark-util-combine-extensions@2.0.0: 5135 - dependencies: 5136 - micromark-util-chunked: 2.0.0 5137 - micromark-util-types: 2.0.0 5138 - 5139 - micromark-util-decode-numeric-character-reference@2.0.1: 5140 - dependencies: 5141 - micromark-util-symbol: 2.0.0 5142 - 5143 - micromark-util-decode-string@2.0.0: 5144 - dependencies: 5145 - decode-named-character-reference: 1.0.2 5146 - micromark-util-character: 2.1.0 5147 - micromark-util-decode-numeric-character-reference: 2.0.1 5148 - micromark-util-symbol: 2.0.0 5149 - 5150 - micromark-util-encode@2.0.0: {} 5151 - 5152 - micromark-util-events-to-acorn@2.0.2: 5153 - dependencies: 5154 - '@types/acorn': 4.0.6 5155 - '@types/estree': 1.0.6 5156 - '@types/unist': 3.0.3 5157 - devlop: 1.1.0 5158 - estree-util-visit: 2.0.0 5159 - micromark-util-symbol: 2.0.0 5160 - micromark-util-types: 2.0.0 5161 - vfile-message: 4.0.2 5162 - 5163 - micromark-util-html-tag-name@2.0.0: {} 5164 - 5165 - micromark-util-normalize-identifier@2.0.0: 5166 - dependencies: 5167 - micromark-util-symbol: 2.0.0 5168 - 5169 - micromark-util-resolve-all@2.0.0: 5170 - dependencies: 5171 - micromark-util-types: 2.0.0 5172 - 5173 - micromark-util-sanitize-uri@2.0.0: 5174 - dependencies: 5175 - micromark-util-character: 2.1.0 5176 - micromark-util-encode: 2.0.0 5177 - micromark-util-symbol: 2.0.0 5178 - 5179 - micromark-util-subtokenize@2.0.1: 5180 - dependencies: 5181 - devlop: 1.1.0 5182 - micromark-util-chunked: 2.0.0 5183 - micromark-util-symbol: 2.0.0 5184 - micromark-util-types: 2.0.0 5185 - 5186 - micromark-util-symbol@2.0.0: {} 5187 - 5188 - micromark-util-types@2.0.0: {} 5189 - 5190 - micromark@4.0.0: 5191 - dependencies: 5192 - '@types/debug': 4.1.12 5193 - debug: 4.3.7 5194 - decode-named-character-reference: 1.0.2 5195 - devlop: 1.1.0 5196 - micromark-core-commonmark: 2.0.1 5197 - micromark-factory-space: 2.0.0 5198 - micromark-util-character: 2.1.0 5199 - micromark-util-chunked: 2.0.0 5200 - micromark-util-combine-extensions: 2.0.0 5201 - micromark-util-decode-numeric-character-reference: 2.0.1 5202 - micromark-util-encode: 2.0.0 5203 - micromark-util-normalize-identifier: 2.0.0 5204 - micromark-util-resolve-all: 2.0.0 5205 - micromark-util-sanitize-uri: 2.0.0 5206 - micromark-util-subtokenize: 2.0.1 5207 - micromark-util-symbol: 2.0.0 5208 - micromark-util-types: 2.0.0 5209 - transitivePeerDependencies: 5210 - - supports-color 5211 - 5212 - micromatch@4.0.8: 5213 - dependencies: 5214 - braces: 3.0.3 5215 - picomatch: 2.3.1 5216 - 5217 mime@3.0.0: {} 5218 5219 - miniflare@4.20250813.1: 5220 dependencies: 5221 '@cspotcode/source-map-support': 0.8.1 5222 acorn: 8.14.0 ··· 5225 glob-to-regexp: 0.4.1 5226 sharp: 0.33.5 5227 stoppable: 1.1.0 5228 - undici: 7.13.0 5229 - workerd: 1.20250813.0 5230 ws: 8.18.0 5231 youch: 4.1.0-beta.10 5232 zod: 3.22.3 ··· 5234 - bufferutil 5235 - utf-8-validate 5236 5237 - mlly@1.7.4: 5238 - dependencies: 5239 - acorn: 8.15.0 5240 - pathe: 2.0.3 5241 - pkg-types: 1.3.1 5242 - ufo: 1.6.1 5243 - 5244 - mrmime@2.0.1: {} 5245 - 5246 - ms@2.1.3: {} 5247 - 5248 - muggle-string@0.4.1: {} 5249 - 5250 - multiformats@9.9.0: {} 5251 - 5252 - nanoid@3.3.11: {} 5253 - 5254 - neotraverse@0.6.18: {} 5255 - 5256 - nlcst-to-string@4.0.0: 5257 - dependencies: 5258 - '@types/nlcst': 2.0.3 5259 - 5260 - node-fetch-native@1.6.7: {} 5261 - 5262 - node-fetch@2.7.0: 5263 - dependencies: 5264 - whatwg-url: 5.0.0 5265 - 5266 - node-mock-http@1.0.2: {} 5267 - 5268 - normalize-path@3.0.0: {} 5269 - 5270 - ofetch@1.4.1: 5271 - dependencies: 5272 - destr: 2.0.5 5273 - node-fetch-native: 1.6.7 5274 - ufo: 1.6.1 5275 - 5276 - ohash@2.0.11: {} 5277 - 5278 - oniguruma-parser@0.12.1: {} 5279 - 5280 - oniguruma-to-es@4.3.3: 5281 - dependencies: 5282 - oniguruma-parser: 0.12.1 5283 - regex: 6.0.1 5284 - regex-recursion: 6.0.2 5285 - 5286 - p-limit@6.2.0: 5287 - dependencies: 5288 - yocto-queue: 1.1.1 5289 - 5290 - p-queue@8.1.0: 5291 - dependencies: 5292 - eventemitter3: 5.0.1 5293 - p-timeout: 6.1.2 5294 - 5295 - p-timeout@6.1.2: {} 5296 - 5297 - package-manager-detector@1.3.0: {} 5298 - 5299 - pako@0.2.9: {} 5300 - 5301 - parse-entities@4.0.1: 5302 - dependencies: 5303 - '@types/unist': 2.0.11 5304 - character-entities: 2.0.2 5305 - character-entities-legacy: 3.0.0 5306 - character-reference-invalid: 2.0.1 5307 - decode-named-character-reference: 1.0.2 5308 - is-alphanumerical: 2.0.1 5309 - is-decimal: 2.0.1 5310 - is-hexadecimal: 2.0.1 5311 - 5312 - parse-latin@7.0.0: 5313 - dependencies: 5314 - '@types/nlcst': 2.0.3 5315 - '@types/unist': 3.0.3 5316 - nlcst-to-string: 4.0.0 5317 - unist-util-modify-children: 4.0.0 5318 - unist-util-visit-children: 3.0.0 5319 - vfile: 6.0.3 5320 - 5321 - parse-srcset@1.0.2: {} 5322 - 5323 - parse5@7.1.2: 5324 - dependencies: 5325 - entities: 4.5.0 5326 - 5327 - path-browserify@1.0.1: {} 5328 - 5329 path-to-regexp@6.3.0: {} 5330 5331 pathe@2.0.3: {} 5332 5333 - perfect-debounce@1.0.0: {} 5334 - 5335 - picocolors@1.1.1: {} 5336 - 5337 - picomatch@2.3.1: {} 5338 - 5339 - picomatch@4.0.2: {} 5340 - 5341 - pkg-types@1.3.1: 5342 - dependencies: 5343 - confbox: 0.1.8 5344 - mlly: 1.7.4 5345 - pathe: 2.0.3 5346 - 5347 - pkg-types@2.2.0: 5348 - dependencies: 5349 - confbox: 0.2.2 5350 - exsolve: 1.0.7 5351 - pathe: 2.0.3 5352 - 5353 - postcss@8.5.6: 5354 - dependencies: 5355 - nanoid: 3.3.11 5356 - picocolors: 1.1.1 5357 - source-map-js: 1.2.1 5358 - 5359 - prettier@2.8.7: 5360 - optional: true 5361 - 5362 - prettier@3.6.2: 5363 - optional: true 5364 - 5365 - prismjs@1.30.0: {} 5366 - 5367 - prompts@2.4.2: 5368 - dependencies: 5369 - kleur: 3.0.3 5370 - sisteransi: 1.0.5 5371 - 5372 - property-information@6.5.0: {} 5373 - 5374 - property-information@7.1.0: {} 5375 - 5376 - quansync@0.2.10: {} 5377 - 5378 - queue-microtask@1.2.3: {} 5379 - 5380 - radix3@1.1.2: {} 5381 - 5382 - readdirp@3.6.0: 5383 - dependencies: 5384 - picomatch: 2.3.1 5385 - 5386 - readdirp@4.0.2: {} 5387 - 5388 - recma-build-jsx@1.0.0: 5389 - dependencies: 5390 - '@types/estree': 1.0.6 5391 - estree-util-build-jsx: 3.0.1 5392 - vfile: 6.0.3 5393 - 5394 - recma-jsx@1.0.1(acorn@8.15.0): 5395 - dependencies: 5396 - acorn: 8.15.0 5397 - acorn-jsx: 5.3.2(acorn@8.15.0) 5398 - estree-util-to-js: 2.0.0 5399 - recma-parse: 1.0.0 5400 - recma-stringify: 1.0.0 5401 - unified: 11.0.5 5402 - 5403 - recma-parse@1.0.0: 5404 - dependencies: 5405 - '@types/estree': 1.0.6 5406 - esast-util-from-js: 2.0.1 5407 - unified: 11.0.5 5408 - vfile: 6.0.3 5409 - 5410 - recma-stringify@1.0.0: 5411 - dependencies: 5412 - '@types/estree': 1.0.6 5413 - estree-util-to-js: 2.0.0 5414 - unified: 11.0.5 5415 - vfile: 6.0.3 5416 - 5417 - regex-recursion@6.0.2: 5418 - dependencies: 5419 - regex-utilities: 2.3.0 5420 - 5421 - regex-utilities@2.3.0: {} 5422 - 5423 - regex@6.0.1: 5424 - dependencies: 5425 - regex-utilities: 2.3.0 5426 - 5427 - rehype-parse@9.0.0: 5428 - dependencies: 5429 - '@types/hast': 3.0.4 5430 - hast-util-from-html: 2.0.3 5431 - unified: 11.0.5 5432 - 5433 - rehype-raw@7.0.0: 5434 - dependencies: 5435 - '@types/hast': 3.0.4 5436 - hast-util-raw: 9.0.4 5437 - vfile: 6.0.3 5438 - 5439 - rehype-recma@1.0.0: 5440 - dependencies: 5441 - '@types/estree': 1.0.6 5442 - '@types/hast': 3.0.4 5443 - hast-util-to-estree: 3.1.0 5444 - transitivePeerDependencies: 5445 - - supports-color 5446 - 5447 - rehype-stringify@10.0.1: 5448 - dependencies: 5449 - '@types/hast': 3.0.4 5450 - hast-util-to-html: 9.0.5 5451 - unified: 11.0.5 5452 - 5453 - rehype@13.0.2: 5454 - dependencies: 5455 - '@types/hast': 3.0.4 5456 - rehype-parse: 9.0.0 5457 - rehype-stringify: 10.0.1 5458 - unified: 11.0.5 5459 - 5460 - remark-gfm@4.0.1: 5461 - dependencies: 5462 - '@types/mdast': 4.0.4 5463 - mdast-util-gfm: 3.0.0 5464 - micromark-extension-gfm: 3.0.0 5465 - remark-parse: 11.0.0 5466 - remark-stringify: 11.0.0 5467 - unified: 11.0.5 5468 - transitivePeerDependencies: 5469 - - supports-color 5470 - 5471 - remark-mdx@3.0.1: 5472 - dependencies: 5473 - mdast-util-mdx: 3.0.0 5474 - micromark-extension-mdxjs: 3.0.0 5475 - transitivePeerDependencies: 5476 - - supports-color 5477 - 5478 - remark-parse@11.0.0: 5479 - dependencies: 5480 - '@types/mdast': 4.0.4 5481 - mdast-util-from-markdown: 2.0.1 5482 - micromark-util-types: 2.0.0 5483 - unified: 11.0.5 5484 - transitivePeerDependencies: 5485 - - supports-color 5486 - 5487 - remark-rehype@11.1.1: 5488 - dependencies: 5489 - '@types/hast': 3.0.4 5490 - '@types/mdast': 4.0.4 5491 - mdast-util-to-hast: 13.2.0 5492 - unified: 11.0.5 5493 - vfile: 6.0.3 5494 - 5495 - remark-rehype@11.1.2: 5496 - dependencies: 5497 - '@types/hast': 3.0.4 5498 - '@types/mdast': 4.0.4 5499 - mdast-util-to-hast: 13.2.0 5500 - unified: 11.0.5 5501 - vfile: 6.0.3 5502 - 5503 - remark-smartypants@3.0.2: 5504 - dependencies: 5505 - retext: 9.0.0 5506 - retext-smartypants: 6.1.1 5507 - unified: 11.0.5 5508 - unist-util-visit: 5.0.0 5509 - 5510 - remark-stringify@11.0.0: 5511 - dependencies: 5512 - '@types/mdast': 4.0.4 5513 - mdast-util-to-markdown: 2.1.0 5514 - unified: 11.0.5 5515 - 5516 - request-light@0.5.8: {} 5517 - 5518 - request-light@0.7.0: {} 5519 - 5520 - require-directory@2.1.1: {} 5521 - 5522 - require-from-string@2.0.2: {} 5523 - 5524 - resolve-pkg-maps@1.0.0: {} 5525 - 5526 - restructure@3.0.2: {} 5527 - 5528 - retext-latin@4.0.0: 5529 - dependencies: 5530 - '@types/nlcst': 2.0.3 5531 - parse-latin: 7.0.0 5532 - unified: 11.0.5 5533 - 5534 - retext-smartypants@6.1.1: 5535 - dependencies: 5536 - '@types/nlcst': 2.0.3 5537 - nlcst-to-string: 4.0.0 5538 - unist-util-visit: 5.0.0 5539 - 5540 - retext-stringify@4.0.0: 5541 - dependencies: 5542 - '@types/nlcst': 2.0.3 5543 - nlcst-to-string: 4.0.0 5544 - unified: 11.0.5 5545 - 5546 - retext@9.0.0: 5547 - dependencies: 5548 - '@types/nlcst': 2.0.3 5549 - retext-latin: 4.0.0 5550 - retext-stringify: 4.0.0 5551 - unified: 11.0.5 5552 - 5553 - reusify@1.0.4: {} 5554 - 5555 - rollup@4.46.2: 5556 - dependencies: 5557 - '@types/estree': 1.0.8 5558 - optionalDependencies: 5559 - '@rollup/rollup-android-arm-eabi': 4.46.2 5560 - '@rollup/rollup-android-arm64': 4.46.2 5561 - '@rollup/rollup-darwin-arm64': 4.46.2 5562 - '@rollup/rollup-darwin-x64': 4.46.2 5563 - '@rollup/rollup-freebsd-arm64': 4.46.2 5564 - '@rollup/rollup-freebsd-x64': 4.46.2 5565 - '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 5566 - '@rollup/rollup-linux-arm-musleabihf': 4.46.2 5567 - '@rollup/rollup-linux-arm64-gnu': 4.46.2 5568 - '@rollup/rollup-linux-arm64-musl': 4.46.2 5569 - '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 5570 - '@rollup/rollup-linux-ppc64-gnu': 4.46.2 5571 - '@rollup/rollup-linux-riscv64-gnu': 4.46.2 5572 - '@rollup/rollup-linux-riscv64-musl': 4.46.2 5573 - '@rollup/rollup-linux-s390x-gnu': 4.46.2 5574 - '@rollup/rollup-linux-x64-gnu': 4.46.2 5575 - '@rollup/rollup-linux-x64-musl': 4.46.2 5576 - '@rollup/rollup-win32-arm64-msvc': 4.46.2 5577 - '@rollup/rollup-win32-ia32-msvc': 4.46.2 5578 - '@rollup/rollup-win32-x64-msvc': 4.46.2 5579 - fsevents: 2.3.3 5580 - 5581 - run-parallel@1.2.0: 5582 - dependencies: 5583 - queue-microtask: 1.2.3 5584 - 5585 - sanitize-html@2.17.0: 5586 - dependencies: 5587 - deepmerge: 4.3.1 5588 - escape-string-regexp: 4.0.0 5589 - htmlparser2: 8.0.2 5590 - is-plain-object: 5.0.0 5591 - parse-srcset: 1.0.2 5592 - postcss: 8.5.6 5593 - 5594 - sax@1.4.1: {} 5595 - 5596 - semver@7.6.3: {} 5597 - 5598 - semver@7.7.2: {} 5599 5600 sharp@0.33.5: 5601 dependencies: 5602 color: 4.2.3 5603 - detect-libc: 2.0.4 5604 - semver: 7.7.2 5605 optionalDependencies: 5606 '@img/sharp-darwin-arm64': 0.33.5 5607 '@img/sharp-darwin-x64': 0.33.5 ··· 5623 '@img/sharp-win32-ia32': 0.33.5 5624 '@img/sharp-win32-x64': 0.33.5 5625 5626 - sharp@0.34.3: 5627 dependencies: 5628 - color: 4.2.3 5629 - detect-libc: 2.0.4 5630 - semver: 7.7.2 5631 - optionalDependencies: 5632 - '@img/sharp-darwin-arm64': 0.34.3 5633 - '@img/sharp-darwin-x64': 0.34.3 5634 - '@img/sharp-libvips-darwin-arm64': 1.2.0 5635 - '@img/sharp-libvips-darwin-x64': 1.2.0 5636 - '@img/sharp-libvips-linux-arm': 1.2.0 5637 - '@img/sharp-libvips-linux-arm64': 1.2.0 5638 - '@img/sharp-libvips-linux-ppc64': 1.2.0 5639 - '@img/sharp-libvips-linux-s390x': 1.2.0 5640 - '@img/sharp-libvips-linux-x64': 1.2.0 5641 - '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 5642 - '@img/sharp-libvips-linuxmusl-x64': 1.2.0 5643 - '@img/sharp-linux-arm': 0.34.3 5644 - '@img/sharp-linux-arm64': 0.34.3 5645 - '@img/sharp-linux-ppc64': 0.34.3 5646 - '@img/sharp-linux-s390x': 0.34.3 5647 - '@img/sharp-linux-x64': 0.34.3 5648 - '@img/sharp-linuxmusl-arm64': 0.34.3 5649 - '@img/sharp-linuxmusl-x64': 0.34.3 5650 - '@img/sharp-wasm32': 0.34.3 5651 - '@img/sharp-win32-arm64': 0.34.3 5652 - '@img/sharp-win32-ia32': 0.34.3 5653 - '@img/sharp-win32-x64': 0.34.3 5654 - 5655 - shiki@3.9.2: 5656 - dependencies: 5657 - '@shikijs/core': 3.9.2 5658 - '@shikijs/engine-javascript': 3.9.2 5659 - '@shikijs/engine-oniguruma': 3.9.2 5660 - '@shikijs/langs': 3.9.2 5661 - '@shikijs/themes': 3.9.2 5662 - '@shikijs/types': 3.9.2 5663 - '@shikijs/vscode-textmate': 10.0.2 5664 - '@types/hast': 3.0.4 5665 - 5666 - simple-swizzle@0.2.2: 5667 - dependencies: 5668 - is-arrayish: 0.3.2 5669 - 5670 - sirv@3.0.1: 5671 - dependencies: 5672 - '@polka/url': 1.0.0-next.25 5673 - mrmime: 2.0.1 5674 - totalist: 3.0.1 5675 - 5676 - sisteransi@1.0.5: {} 5677 - 5678 - sitemap@8.0.0: 5679 - dependencies: 5680 - '@types/node': 17.0.45 5681 - '@types/sax': 1.2.7 5682 - arg: 5.0.2 5683 - sax: 1.4.1 5684 - 5685 - smol-toml@1.4.1: {} 5686 - 5687 - source-map-js@1.2.1: {} 5688 - 5689 - source-map@0.7.4: {} 5690 - 5691 - space-separated-tokens@2.0.2: {} 5692 5693 stoppable@1.1.0: {} 5694 5695 - stream-replace-string@2.0.0: {} 5696 - 5697 - string-width@4.2.3: 5698 - dependencies: 5699 - emoji-regex: 8.0.0 5700 - is-fullwidth-code-point: 3.0.0 5701 - strip-ansi: 6.0.1 5702 - 5703 - string-width@7.2.0: 5704 - dependencies: 5705 - emoji-regex: 10.3.0 5706 - get-east-asian-width: 1.2.0 5707 - strip-ansi: 7.1.0 5708 5709 - stringify-entities@4.0.4: 5710 - dependencies: 5711 - character-entities-html4: 2.1.0 5712 - character-entities-legacy: 3.0.0 5713 - 5714 - strip-ansi@6.0.1: 5715 - dependencies: 5716 - ansi-regex: 5.0.1 5717 - 5718 - strip-ansi@7.1.0: 5719 - dependencies: 5720 - ansi-regex: 6.0.1 5721 - 5722 - style-to-object@0.4.4: 5723 - dependencies: 5724 - inline-style-parser: 0.1.1 5725 - 5726 - style-to-object@1.0.7: 5727 - dependencies: 5728 - inline-style-parser: 0.2.3 5729 - 5730 - supports-color@10.1.0: {} 5731 - 5732 - tiny-inflate@1.0.3: {} 5733 - 5734 - tinyexec@0.3.2: {} 5735 - 5736 - tinyexec@1.0.1: {} 5737 - 5738 - tinyglobby@0.2.14: 5739 - dependencies: 5740 - fdir: 6.4.6(picomatch@4.0.2) 5741 - picomatch: 4.0.2 5742 - 5743 - tlds@1.259.0: {} 5744 - 5745 - to-regex-range@5.0.1: 5746 - dependencies: 5747 - is-number: 7.0.0 5748 - 5749 - totalist@3.0.1: {} 5750 - 5751 - tr46@0.0.3: {} 5752 - 5753 - trim-lines@3.0.1: {} 5754 - 5755 - trough@2.2.0: {} 5756 - 5757 - tsconfck@3.1.6(typescript@5.9.2): 5758 - optionalDependencies: 5759 - typescript: 5.9.2 5760 - 5761 - tslib@2.6.2: 5762 optional: true 5763 5764 - tslib@2.8.1: {} 5765 - 5766 - tsx@4.20.4: 5767 - dependencies: 5768 - esbuild: 0.25.8 5769 - get-tsconfig: 4.7.6 5770 - optionalDependencies: 5771 - fsevents: 2.3.3 5772 - 5773 - type-fest@4.26.1: {} 5774 - 5775 - typesafe-path@0.2.2: {} 5776 - 5777 - typescript-auto-import-cache@0.3.5: 5778 - dependencies: 5779 - semver: 7.6.3 5780 - 5781 - typescript@5.9.2: {} 5782 - 5783 - ufo@1.6.1: {} 5784 - 5785 - uint8arrays@3.0.0: 5786 - dependencies: 5787 - multiformats: 9.9.0 5788 - 5789 - ultrahtml@1.6.0: {} 5790 - 5791 - unconfig@7.3.2: 5792 - dependencies: 5793 - '@quansync/fs': 0.1.3 5794 - defu: 6.1.4 5795 - jiti: 2.5.1 5796 - quansync: 0.2.10 5797 - 5798 - uncrypto@0.1.3: {} 5799 - 5800 - undici-types@6.19.8: {} 5801 - 5802 - undici@7.13.0: {} 5803 - 5804 - unenv@2.0.0-rc.19: 5805 - dependencies: 5806 - defu: 6.1.4 5807 - exsolve: 1.0.7 5808 - ohash: 2.0.11 5809 - pathe: 2.0.3 5810 - ufo: 1.6.1 5811 - 5812 - unicode-properties@1.4.1: 5813 - dependencies: 5814 - base64-js: 1.5.1 5815 - unicode-trie: 2.0.0 5816 - 5817 - unicode-trie@2.0.0: 5818 - dependencies: 5819 - pako: 0.2.9 5820 - tiny-inflate: 1.0.3 5821 - 5822 - unified@11.0.5: 5823 - dependencies: 5824 - '@types/unist': 3.0.3 5825 - bail: 2.0.2 5826 - devlop: 1.1.0 5827 - extend: 3.0.2 5828 - is-plain-obj: 4.1.0 5829 - trough: 2.2.0 5830 - vfile: 6.0.3 5831 - 5832 - unifont@0.5.2: 5833 - dependencies: 5834 - css-tree: 3.1.0 5835 - ofetch: 1.4.1 5836 - ohash: 2.0.11 5837 - 5838 - unist-util-find-after@5.0.0: 5839 - dependencies: 5840 - '@types/unist': 3.0.3 5841 - unist-util-is: 6.0.0 5842 - 5843 - unist-util-is@6.0.0: 5844 - dependencies: 5845 - '@types/unist': 3.0.3 5846 - 5847 - unist-util-modify-children@4.0.0: 5848 - dependencies: 5849 - '@types/unist': 3.0.3 5850 - array-iterate: 2.0.1 5851 - 5852 - unist-util-position-from-estree@2.0.0: 5853 - dependencies: 5854 - '@types/unist': 3.0.3 5855 - 5856 - unist-util-position@5.0.0: 5857 - dependencies: 5858 - '@types/unist': 3.0.3 5859 - 5860 - unist-util-remove-position@5.0.0: 5861 - dependencies: 5862 - '@types/unist': 3.0.3 5863 - unist-util-visit: 5.0.0 5864 - 5865 - unist-util-stringify-position@4.0.0: 5866 - dependencies: 5867 - '@types/unist': 3.0.3 5868 - 5869 - unist-util-visit-children@3.0.0: 5870 - dependencies: 5871 - '@types/unist': 3.0.3 5872 - 5873 - unist-util-visit-parents@6.0.1: 5874 - dependencies: 5875 - '@types/unist': 3.0.3 5876 - unist-util-is: 6.0.0 5877 - 5878 - unist-util-visit@5.0.0: 5879 - dependencies: 5880 - '@types/unist': 3.0.3 5881 - unist-util-is: 6.0.0 5882 - unist-util-visit-parents: 6.0.1 5883 5884 - unocss@66.4.2(postcss@8.5.6)(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0)): 5885 - dependencies: 5886 - '@unocss/astro': 66.4.2(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0)) 5887 - '@unocss/cli': 66.4.2 5888 - '@unocss/core': 66.4.2 5889 - '@unocss/postcss': 66.4.2(postcss@8.5.6) 5890 - '@unocss/preset-attributify': 66.4.2 5891 - '@unocss/preset-icons': 66.4.2 5892 - '@unocss/preset-mini': 66.4.2 5893 - '@unocss/preset-tagify': 66.4.2 5894 - '@unocss/preset-typography': 66.4.2 5895 - '@unocss/preset-uno': 66.4.2 5896 - '@unocss/preset-web-fonts': 66.4.2 5897 - '@unocss/preset-wind': 66.4.2 5898 - '@unocss/preset-wind3': 66.4.2 5899 - '@unocss/preset-wind4': 66.4.2 5900 - '@unocss/transformer-attributify-jsx': 66.4.2 5901 - '@unocss/transformer-compile-class': 66.4.2 5902 - '@unocss/transformer-directives': 66.4.2 5903 - '@unocss/transformer-variant-group': 66.4.2 5904 - '@unocss/vite': 66.4.2(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0)) 5905 - optionalDependencies: 5906 - vite: 6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0) 5907 - transitivePeerDependencies: 5908 - - postcss 5909 - - supports-color 5910 - 5911 - unplugin-utils@0.2.4: 5912 dependencies: 5913 pathe: 2.0.3 5914 - picomatch: 4.0.2 5915 5916 - unstorage@1.16.1: 5917 - dependencies: 5918 - anymatch: 3.1.3 5919 - chokidar: 4.0.3 5920 - destr: 2.0.5 5921 - h3: 1.15.4 5922 - lru-cache: 10.4.3 5923 - node-fetch-native: 1.6.7 5924 - ofetch: 1.4.1 5925 - ufo: 1.6.1 5926 - 5927 - vfile-location@5.0.3: 5928 - dependencies: 5929 - '@types/unist': 3.0.3 5930 - vfile: 6.0.3 5931 - 5932 - vfile-message@4.0.2: 5933 - dependencies: 5934 - '@types/unist': 3.0.3 5935 - unist-util-stringify-position: 4.0.0 5936 - 5937 - vfile@6.0.3: 5938 - dependencies: 5939 - '@types/unist': 3.0.3 5940 - vfile-message: 4.0.2 5941 - 5942 - vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0): 5943 - dependencies: 5944 - esbuild: 0.25.8 5945 - fdir: 6.4.6(picomatch@4.0.2) 5946 - picomatch: 4.0.2 5947 - postcss: 8.5.6 5948 - rollup: 4.46.2 5949 - tinyglobby: 0.2.14 5950 - optionalDependencies: 5951 - '@types/node': 22.5.0 5952 - fsevents: 2.3.3 5953 - jiti: 2.5.1 5954 - tsx: 4.20.4 5955 - yaml: 2.6.0 5956 - 5957 - vitefu@1.1.1(vite@6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0)): 5958 - optionalDependencies: 5959 - vite: 6.3.5(@types/node@22.5.0)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.6.0) 5960 - 5961 - volar-service-css@0.0.62(@volar/language-service@2.4.9): 5962 - dependencies: 5963 - vscode-css-languageservice: 6.3.1 5964 - vscode-languageserver-textdocument: 1.0.12 5965 - vscode-uri: 3.0.8 5966 - optionalDependencies: 5967 - '@volar/language-service': 2.4.9 5968 - 5969 - volar-service-emmet@0.0.62(@volar/language-service@2.4.9): 5970 - dependencies: 5971 - '@emmetio/css-parser': 0.4.0 5972 - '@emmetio/html-matcher': 1.3.0 5973 - '@vscode/emmet-helper': 2.9.3 5974 - vscode-uri: 3.0.8 5975 optionalDependencies: 5976 - '@volar/language-service': 2.4.9 5977 5978 - volar-service-html@0.0.62(@volar/language-service@2.4.9): 5979 dependencies: 5980 - vscode-html-languageservice: 5.3.1 5981 - vscode-languageserver-textdocument: 1.0.12 5982 - vscode-uri: 3.0.8 5983 - optionalDependencies: 5984 - '@volar/language-service': 2.4.9 5985 - 5986 - volar-service-prettier@0.0.62(@volar/language-service@2.4.9)(prettier@3.6.2): 5987 - dependencies: 5988 - vscode-uri: 3.0.8 5989 - optionalDependencies: 5990 - '@volar/language-service': 2.4.9 5991 - prettier: 3.6.2 5992 - 5993 - volar-service-typescript-twoslash-queries@0.0.62(@volar/language-service@2.4.9): 5994 - dependencies: 5995 - vscode-uri: 3.0.8 5996 - optionalDependencies: 5997 - '@volar/language-service': 2.4.9 5998 - 5999 - volar-service-typescript@0.0.62(@volar/language-service@2.4.9): 6000 - dependencies: 6001 - path-browserify: 1.0.1 6002 - semver: 7.6.3 6003 - typescript-auto-import-cache: 0.3.5 6004 - vscode-languageserver-textdocument: 1.0.12 6005 - vscode-nls: 5.2.0 6006 - vscode-uri: 3.0.8 6007 - optionalDependencies: 6008 - '@volar/language-service': 2.4.9 6009 - 6010 - volar-service-yaml@0.0.62(@volar/language-service@2.4.9): 6011 - dependencies: 6012 - vscode-uri: 3.0.8 6013 - yaml-language-server: 1.15.0 6014 - optionalDependencies: 6015 - '@volar/language-service': 2.4.9 6016 - 6017 - vscode-css-languageservice@6.3.1: 6018 - dependencies: 6019 - '@vscode/l10n': 0.0.18 6020 - vscode-languageserver-textdocument: 1.0.12 6021 - vscode-languageserver-types: 3.17.5 6022 - vscode-uri: 3.0.8 6023 - 6024 - vscode-html-languageservice@5.3.1: 6025 - dependencies: 6026 - '@vscode/l10n': 0.0.18 6027 - vscode-languageserver-textdocument: 1.0.12 6028 - vscode-languageserver-types: 3.17.5 6029 - vscode-uri: 3.0.8 6030 - 6031 - vscode-json-languageservice@4.1.8: 6032 - dependencies: 6033 - jsonc-parser: 3.3.1 6034 - vscode-languageserver-textdocument: 1.0.12 6035 - vscode-languageserver-types: 3.17.5 6036 - vscode-nls: 5.2.0 6037 - vscode-uri: 3.0.8 6038 - 6039 - vscode-jsonrpc@6.0.0: {} 6040 - 6041 - vscode-jsonrpc@8.2.0: {} 6042 - 6043 - vscode-languageserver-protocol@3.16.0: 6044 - dependencies: 6045 - vscode-jsonrpc: 6.0.0 6046 - vscode-languageserver-types: 3.16.0 6047 - 6048 - vscode-languageserver-protocol@3.17.5: 6049 - dependencies: 6050 - vscode-jsonrpc: 8.2.0 6051 - vscode-languageserver-types: 3.17.5 6052 - 6053 - vscode-languageserver-textdocument@1.0.12: {} 6054 - 6055 - vscode-languageserver-types@3.16.0: {} 6056 - 6057 - vscode-languageserver-types@3.17.5: {} 6058 - 6059 - vscode-languageserver@7.0.0: 6060 - dependencies: 6061 - vscode-languageserver-protocol: 3.16.0 6062 - 6063 - vscode-languageserver@9.0.1: 6064 - dependencies: 6065 - vscode-languageserver-protocol: 3.17.5 6066 - 6067 - vscode-nls@5.2.0: {} 6068 - 6069 - vscode-uri@2.1.2: {} 6070 - 6071 - vscode-uri@3.0.8: {} 6072 - 6073 - vue-flow-layout@0.2.0: {} 6074 - 6075 - web-namespaces@2.0.1: {} 6076 - 6077 - webidl-conversions@3.0.1: {} 6078 - 6079 - whatwg-url@5.0.0: 6080 - dependencies: 6081 - tr46: 0.0.3 6082 - webidl-conversions: 3.0.1 6083 - 6084 - which-pm-runs@1.1.0: {} 6085 - 6086 - widest-line@5.0.0: 6087 - dependencies: 6088 - string-width: 7.2.0 6089 - 6090 - workerd@1.20250813.0: 6091 - optionalDependencies: 6092 - '@cloudflare/workerd-darwin-64': 1.20250813.0 6093 - '@cloudflare/workerd-darwin-arm64': 1.20250813.0 6094 - '@cloudflare/workerd-linux-64': 1.20250813.0 6095 - '@cloudflare/workerd-linux-arm64': 1.20250813.0 6096 - '@cloudflare/workerd-windows-64': 1.20250813.0 6097 - 6098 - wrangler@4.30.0(@cloudflare/workers-types@4.20250813.0): 6099 - dependencies: 6100 - '@cloudflare/kv-asset-handler': 0.4.0 6101 - '@cloudflare/unenv-preset': 2.6.1(unenv@2.0.0-rc.19)(workerd@1.20250813.0) 6102 blake3-wasm: 2.1.5 6103 - esbuild: 0.25.4 6104 - miniflare: 4.20250813.1 6105 path-to-regexp: 6.3.0 6106 - unenv: 2.0.0-rc.19 6107 - workerd: 1.20250813.0 6108 optionalDependencies: 6109 - '@cloudflare/workers-types': 4.20250813.0 6110 fsevents: 2.3.3 6111 transitivePeerDependencies: 6112 - bufferutil 6113 - utf-8-validate 6114 6115 - wrap-ansi@7.0.0: 6116 - dependencies: 6117 - ansi-styles: 4.3.0 6118 - string-width: 4.2.3 6119 - strip-ansi: 6.0.1 6120 - 6121 - wrap-ansi@9.0.0: 6122 - dependencies: 6123 - ansi-styles: 6.2.1 6124 - string-width: 7.2.0 6125 - strip-ansi: 7.1.0 6126 - 6127 ws@8.18.0: {} 6128 6129 - xxhash-wasm@1.1.0: {} 6130 - 6131 - y18n@5.0.8: {} 6132 - 6133 - yaml-language-server@1.15.0: 6134 - dependencies: 6135 - ajv: 8.17.1 6136 - lodash: 4.17.21 6137 - request-light: 0.5.8 6138 - vscode-json-languageservice: 4.1.8 6139 - vscode-languageserver: 7.0.0 6140 - vscode-languageserver-textdocument: 1.0.12 6141 - vscode-languageserver-types: 3.17.5 6142 - vscode-nls: 5.2.0 6143 - vscode-uri: 3.0.8 6144 - yaml: 2.2.2 6145 - optionalDependencies: 6146 - prettier: 2.8.7 6147 - 6148 - yaml@2.2.2: {} 6149 - 6150 - yaml@2.6.0: {} 6151 - 6152 - yargs-parser@21.1.1: {} 6153 - 6154 - yargs@17.7.2: 6155 - dependencies: 6156 - cliui: 8.0.1 6157 - escalade: 3.1.2 6158 - get-caller-file: 2.0.5 6159 - require-directory: 2.1.1 6160 - string-width: 4.2.3 6161 - y18n: 5.0.8 6162 - yargs-parser: 21.1.1 6163 - 6164 - yocto-queue@1.1.1: {} 6165 - 6166 - yocto-spinner@0.2.3: 6167 - dependencies: 6168 - yoctocolors: 2.1.1 6169 - 6170 - yoctocolors@2.1.1: {} 6171 - 6172 youch-core@0.3.3: 6173 dependencies: 6174 - '@poppinss/exception': 1.2.2 6175 error-stack-parser-es: 1.0.5 6176 6177 youch@4.1.0-beta.10: 6178 dependencies: 6179 - '@poppinss/colors': 4.1.5 6180 - '@poppinss/dumper': 0.6.4 6181 - '@speed-highlight/core': 1.2.7 6182 - cookie: 1.0.2 6183 youch-core: 0.3.3 6184 6185 - zod-to-json-schema@3.24.6(zod@3.25.76): 6186 - dependencies: 6187 - zod: 3.25.76 6188 - 6189 - zod-to-ts@1.2.0(typescript@5.9.2)(zod@3.25.76): 6190 - dependencies: 6191 - typescript: 5.9.2 6192 - zod: 3.25.76 6193 - 6194 zod@3.22.3: {} 6195 - 6196 - zod@3.23.8: {} 6197 - 6198 - zod@3.25.76: {} 6199 - 6200 - zwitch@2.0.4: {}
··· 7 importers: 8 9 .: 10 devDependencies: 11 wrangler: 12 + specifier: ^4.55.0 13 + version: 4.55.0 14 15 packages: 16 17 + '@cloudflare/kv-asset-handler@0.4.1': 18 + resolution: {integrity: sha512-Nu8ahitGFFJztxUml9oD/DLb7Z28C8cd8F46IVQ7y5Btz575pvMY8AqZsXkX7Gds29eCKdMgIHjIvzskHgPSFg==} 19 engines: {node: '>=18.0.0'} 20 21 + '@cloudflare/unenv-preset@2.7.13': 22 + resolution: {integrity: sha512-NulO1H8R/DzsJguLC0ndMuk4Ufv0KSlN+E54ay9rn9ZCQo0kpAPwwh3LhgpZ96a3Dr6L9LqW57M4CqC34iLOvw==} 23 peerDependencies: 24 + unenv: 2.0.0-rc.24 25 + workerd: ^1.20251202.0 26 peerDependenciesMeta: 27 workerd: 28 optional: true 29 30 + '@cloudflare/workerd-darwin-64@1.20251213.0': 31 + resolution: {integrity: sha512-29mPlP7xgyik85EHotrakuQur5WfuAR4tRAntRFwLEFnB88RB7br6Me9wb15itu/1l9nMyimZWhBMAfnEs5PQw==} 32 engines: {node: '>=16'} 33 cpu: [x64] 34 os: [darwin] 35 36 + '@cloudflare/workerd-darwin-arm64@1.20251213.0': 37 + resolution: {integrity: sha512-gn4nIg7hbGyHxyNdVqDmSvgMfgytFr4Z/OXGp2ZorP1+OKeGLvfQ70LEEYY/kZwSsbOqEYDXyU6LzPj4n86NZQ==} 38 engines: {node: '>=16'} 39 cpu: [arm64] 40 os: [darwin] 41 42 + '@cloudflare/workerd-linux-64@1.20251213.0': 43 + resolution: {integrity: sha512-zMO9tV4aGDZnRfsWg5MC1mbXaRdutDcMeqH5XMzGHsuKO66tbBipV38gX76PLqxKH+UfbE3Uo3jk3iqIuPEF3g==} 44 engines: {node: '>=16'} 45 cpu: [x64] 46 os: [linux] 47 48 + '@cloudflare/workerd-linux-arm64@1.20251213.0': 49 + resolution: {integrity: sha512-8pQk1dCzdyZdJXehIhxkFMTc5lTLxzqmxskCGlpbem/pWIPTAEjt25OFCxq5Z3iU/x/kI8tcQdYRYx77KS32mQ==} 50 engines: {node: '>=16'} 51 cpu: [arm64] 52 os: [linux] 53 54 + '@cloudflare/workerd-windows-64@1.20251213.0': 55 + resolution: {integrity: sha512-QBwfyZXTzI2JHLS7ZEuVVMC81PAQyNxPdcv9Dxd8wvV4QYF7B97h9pUtaBnqUdlBwL6e3O8QniYkOl8c7bEFJw==} 56 engines: {node: '>=16'} 57 cpu: [x64] 58 os: [win32] 59 60 '@cspotcode/source-map-support@0.8.1': 61 resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 62 engines: {node: '>=12'} 63 64 + '@emnapi/runtime@1.7.1': 65 + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} 66 67 + '@esbuild/aix-ppc64@0.27.0': 68 + resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} 69 engines: {node: '>=18'} 70 cpu: [ppc64] 71 os: [aix] 72 73 + '@esbuild/android-arm64@0.27.0': 74 + resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} 75 engines: {node: '>=18'} 76 cpu: [arm64] 77 os: [android] 78 79 + '@esbuild/android-arm@0.27.0': 80 + resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} 81 engines: {node: '>=18'} 82 cpu: [arm] 83 os: [android] 84 85 + '@esbuild/android-x64@0.27.0': 86 + resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} 87 engines: {node: '>=18'} 88 cpu: [x64] 89 os: [android] 90 91 + '@esbuild/darwin-arm64@0.27.0': 92 + resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} 93 engines: {node: '>=18'} 94 cpu: [arm64] 95 os: [darwin] 96 97 + '@esbuild/darwin-x64@0.27.0': 98 + resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} 99 engines: {node: '>=18'} 100 cpu: [x64] 101 os: [darwin] 102 103 + '@esbuild/freebsd-arm64@0.27.0': 104 + resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} 105 engines: {node: '>=18'} 106 cpu: [arm64] 107 os: [freebsd] 108 109 + '@esbuild/freebsd-x64@0.27.0': 110 + resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} 111 engines: {node: '>=18'} 112 cpu: [x64] 113 os: [freebsd] 114 115 + '@esbuild/linux-arm64@0.27.0': 116 + resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} 117 engines: {node: '>=18'} 118 cpu: [arm64] 119 os: [linux] 120 121 + '@esbuild/linux-arm@0.27.0': 122 + resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} 123 engines: {node: '>=18'} 124 cpu: [arm] 125 os: [linux] 126 127 + '@esbuild/linux-ia32@0.27.0': 128 + resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} 129 engines: {node: '>=18'} 130 cpu: [ia32] 131 os: [linux] 132 133 + '@esbuild/linux-loong64@0.27.0': 134 + resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} 135 engines: {node: '>=18'} 136 cpu: [loong64] 137 os: [linux] 138 139 + '@esbuild/linux-mips64el@0.27.0': 140 + resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} 141 engines: {node: '>=18'} 142 cpu: [mips64el] 143 os: [linux] 144 145 + '@esbuild/linux-ppc64@0.27.0': 146 + resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} 147 engines: {node: '>=18'} 148 cpu: [ppc64] 149 os: [linux] 150 151 + '@esbuild/linux-riscv64@0.27.0': 152 + resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} 153 engines: {node: '>=18'} 154 cpu: [riscv64] 155 os: [linux] 156 157 + '@esbuild/linux-s390x@0.27.0': 158 + resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} 159 engines: {node: '>=18'} 160 cpu: [s390x] 161 os: [linux] 162 163 + '@esbuild/linux-x64@0.27.0': 164 + resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} 165 engines: {node: '>=18'} 166 cpu: [x64] 167 os: [linux] 168 169 + '@esbuild/netbsd-arm64@0.27.0': 170 + resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} 171 engines: {node: '>=18'} 172 cpu: [arm64] 173 os: [netbsd] 174 175 + '@esbuild/netbsd-x64@0.27.0': 176 + resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} 177 engines: {node: '>=18'} 178 cpu: [x64] 179 os: [netbsd] 180 181 + '@esbuild/openbsd-arm64@0.27.0': 182 + resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} 183 engines: {node: '>=18'} 184 cpu: [arm64] 185 os: [openbsd] 186 187 + '@esbuild/openbsd-x64@0.27.0': 188 + resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} 189 engines: {node: '>=18'} 190 cpu: [x64] 191 os: [openbsd] 192 193 + '@esbuild/openharmony-arm64@0.27.0': 194 + resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} 195 engines: {node: '>=18'} 196 cpu: [arm64] 197 os: [openharmony] 198 199 + '@esbuild/sunos-x64@0.27.0': 200 + resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} 201 engines: {node: '>=18'} 202 cpu: [x64] 203 os: [sunos] 204 205 + '@esbuild/win32-arm64@0.27.0': 206 + resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} 207 engines: {node: '>=18'} 208 cpu: [arm64] 209 os: [win32] 210 211 + '@esbuild/win32-ia32@0.27.0': 212 + resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} 213 engines: {node: '>=18'} 214 cpu: [ia32] 215 os: [win32] 216 217 + '@esbuild/win32-x64@0.27.0': 218 + resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} 219 engines: {node: '>=18'} 220 cpu: [x64] 221 os: [win32] 222 223 '@img/sharp-darwin-arm64@0.33.5': 224 resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 225 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 226 cpu: [arm64] 227 os: [darwin] ··· 232 cpu: [x64] 233 os: [darwin] 234 235 '@img/sharp-libvips-darwin-arm64@1.0.4': 236 resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 237 cpu: [arm64] 238 os: [darwin] 239 ··· 242 cpu: [x64] 243 os: [darwin] 244 245 '@img/sharp-libvips-linux-arm64@1.0.4': 246 resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 247 cpu: [arm64] 248 os: [linux] 249 250 '@img/sharp-libvips-linux-arm@1.0.5': 251 resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 252 cpu: [arm] 253 os: [linux] 254 255 '@img/sharp-libvips-linux-s390x@1.0.4': 256 resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 257 cpu: [s390x] 258 os: [linux] 259 260 '@img/sharp-libvips-linux-x64@1.0.4': 261 resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 262 cpu: [x64] 263 os: [linux] 264 265 '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 266 resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 267 cpu: [arm64] 268 os: [linux] 269 270 '@img/sharp-libvips-linuxmusl-x64@1.0.4': 271 resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 272 cpu: [x64] 273 os: [linux] 274 ··· 278 cpu: [arm64] 279 os: [linux] 280 281 '@img/sharp-linux-arm@0.33.5': 282 resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 283 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 284 cpu: [arm] 285 os: [linux] 286 287 '@img/sharp-linux-s390x@0.33.5': 288 resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 289 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 290 cpu: [s390x] 291 os: [linux] 292 293 '@img/sharp-linux-x64@0.33.5': 294 resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 295 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 296 cpu: [x64] 297 os: [linux] 298 299 '@img/sharp-linuxmusl-arm64@0.33.5': 300 resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 301 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 302 cpu: [arm64] 303 os: [linux] 304 305 '@img/sharp-linuxmusl-x64@0.33.5': 306 resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 307 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 308 cpu: [x64] 309 os: [linux] 310 311 '@img/sharp-wasm32@0.33.5': 312 resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 313 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 314 cpu: [wasm32] 315 316 '@img/sharp-win32-ia32@0.33.5': 317 resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 318 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 319 cpu: [ia32] 320 os: [win32] 321 322 '@img/sharp-win32-x64@0.33.5': 323 resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 324 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 325 cpu: [x64] 326 os: [win32] 327 328 '@jridgewell/resolve-uri@3.1.2': 329 resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 330 engines: {node: '>=6.0.0'} 331 332 + '@jridgewell/sourcemap-codec@1.5.5': 333 + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 334 335 '@jridgewell/trace-mapping@0.3.9': 336 resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 337 338 + '@poppinss/colors@4.1.6': 339 + resolution: {integrity: sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==} 340 341 + '@poppinss/dumper@0.6.5': 342 + resolution: {integrity: sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==} 343 344 + '@poppinss/exception@1.2.3': 345 + resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} 346 347 + '@sindresorhus/is@7.1.1': 348 + resolution: {integrity: sha512-rO92VvpgMc3kfiTjGT52LEtJ8Yc5kCWhZjLQ3LwlA4pSgPpQO7bVpYXParOD8Jwf+cVQECJo3yP/4I8aZtUQTQ==} 349 engines: {node: '>=18'} 350 351 + '@speed-highlight/core@1.2.12': 352 + resolution: {integrity: sha512-uilwrK0Ygyri5dToHYdZSjcvpS2ZwX0w5aSt3GCEN9hrjxWCoeV4Z2DTXuxjwbntaLQIEEAlCeNQss5SoHvAEA==} 353 354 acorn-walk@8.3.2: 355 resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} ··· 360 engines: {node: '>=0.4.0'} 361 hasBin: true 362 363 blake3-wasm@2.1.5: 364 resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} 365 366 color-convert@2.0.1: 367 resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 368 engines: {node: '>=7.0.0'} ··· 377 resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 378 engines: {node: '>=12.5.0'} 379 380 + cookie@1.1.1: 381 + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} 382 engines: {node: '>=18'} 383 384 + detect-libc@2.1.2: 385 + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} 386 engines: {node: '>=8'} 387 388 error-stack-parser-es@1.0.5: 389 resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} 390 391 + esbuild@0.27.0: 392 + resolution: {integrity: sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==} 393 engines: {node: '>=18'} 394 hasBin: true 395 396 exit-hook@2.2.1: 397 resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} 398 engines: {node: '>=6'} 399 400 fsevents@2.3.3: 401 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 402 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 403 os: [darwin] 404 405 glob-to-regexp@0.4.1: 406 resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 407 408 + is-arrayish@0.3.4: 409 + resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} 410 411 kleur@4.1.5: 412 resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 413 engines: {node: '>=6'} 414 415 mime@3.0.0: 416 resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 417 engines: {node: '>=10.0.0'} 418 hasBin: true 419 420 + miniflare@4.20251213.0: 421 + resolution: {integrity: sha512-/Or0LuRA6dQMKvL7nztPWNOVXosrJRBiO0BdJX9LUIesyeAUWIZMPFmP9XX+cdny2fIUcqYcG4DuoL5JHxj95w==} 422 engines: {node: '>=18.0.0'} 423 hasBin: true 424 425 path-to-regexp@6.3.0: 426 resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} 427 428 pathe@2.0.3: 429 resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 430 431 + semver@7.7.3: 432 + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} 433 engines: {node: '>=10'} 434 hasBin: true 435 ··· 437 resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 438 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 439 440 + simple-swizzle@0.2.4: 441 + resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} 442 443 stoppable@1.1.0: 444 resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} 445 engines: {node: '>=4', npm: '>=6'} 446 447 + supports-color@10.2.2: 448 + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} 449 engines: {node: '>=18'} 450 451 tslib@2.8.1: 452 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 453 454 + undici@7.14.0: 455 + resolution: {integrity: sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==} 456 engines: {node: '>=20.18.1'} 457 458 + unenv@2.0.0-rc.24: 459 + resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} 460 461 + workerd@1.20251213.0: 462 + resolution: {integrity: sha512-knLMSqmUKo7EO1wV69u8o2J+6RVDow3H5qK9f1tzk24fd4rEZXkR1cxFiYisfTRjk/Jl3/1URAkQRSDAiWE5RA==} 463 engines: {node: '>=16'} 464 hasBin: true 465 466 + wrangler@4.55.0: 467 + resolution: {integrity: sha512-50icmLX8UbNaq0FmFHbcvvOh7I6rDA/FyaMYRcNSl1iX0JwuKswezmmtYvYPxPTkbYz7FUYR8GPZLaT23uzFqw==} 468 + engines: {node: '>=20.0.0'} 469 hasBin: true 470 peerDependencies: 471 + '@cloudflare/workers-types': ^4.20251213.0 472 peerDependenciesMeta: 473 '@cloudflare/workers-types': 474 optional: true 475 476 ws@8.18.0: 477 resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 478 engines: {node: '>=10.0.0'} ··· 485 utf-8-validate: 486 optional: true 487 488 youch-core@0.3.3: 489 resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} 490 491 youch@4.1.0-beta.10: 492 resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} 493 494 zod@3.22.3: 495 resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} 496 497 snapshots: 498 499 + '@cloudflare/kv-asset-handler@0.4.1': 500 dependencies: 501 mime: 3.0.0 502 503 + '@cloudflare/unenv-preset@2.7.13(unenv@2.0.0-rc.24)(workerd@1.20251213.0)': 504 dependencies: 505 + unenv: 2.0.0-rc.24 506 optionalDependencies: 507 + workerd: 1.20251213.0 508 509 + '@cloudflare/workerd-darwin-64@1.20251213.0': 510 optional: true 511 512 + '@cloudflare/workerd-darwin-arm64@1.20251213.0': 513 optional: true 514 515 + '@cloudflare/workerd-linux-64@1.20251213.0': 516 optional: true 517 518 + '@cloudflare/workerd-linux-arm64@1.20251213.0': 519 optional: true 520 521 + '@cloudflare/workerd-windows-64@1.20251213.0': 522 optional: true 523 524 '@cspotcode/source-map-support@0.8.1': 525 dependencies: 526 '@jridgewell/trace-mapping': 0.3.9 527 528 + '@emnapi/runtime@1.7.1': 529 dependencies: 530 + tslib: 2.8.1 531 optional: true 532 533 + '@esbuild/aix-ppc64@0.27.0': 534 optional: true 535 536 + '@esbuild/android-arm64@0.27.0': 537 optional: true 538 539 + '@esbuild/android-arm@0.27.0': 540 optional: true 541 542 + '@esbuild/android-x64@0.27.0': 543 optional: true 544 545 + '@esbuild/darwin-arm64@0.27.0': 546 optional: true 547 548 + '@esbuild/darwin-x64@0.27.0': 549 optional: true 550 551 + '@esbuild/freebsd-arm64@0.27.0': 552 optional: true 553 554 + '@esbuild/freebsd-x64@0.27.0': 555 optional: true 556 557 + '@esbuild/linux-arm64@0.27.0': 558 optional: true 559 560 + '@esbuild/linux-arm@0.27.0': 561 optional: true 562 563 + '@esbuild/linux-ia32@0.27.0': 564 optional: true 565 566 + '@esbuild/linux-loong64@0.27.0': 567 optional: true 568 569 + '@esbuild/linux-mips64el@0.27.0': 570 optional: true 571 572 + '@esbuild/linux-ppc64@0.27.0': 573 optional: true 574 575 + '@esbuild/linux-riscv64@0.27.0': 576 optional: true 577 578 + '@esbuild/linux-s390x@0.27.0': 579 optional: true 580 581 + '@esbuild/linux-x64@0.27.0': 582 optional: true 583 584 + '@esbuild/netbsd-arm64@0.27.0': 585 optional: true 586 587 + '@esbuild/netbsd-x64@0.27.0': 588 optional: true 589 590 + '@esbuild/openbsd-arm64@0.27.0': 591 optional: true 592 593 + '@esbuild/openbsd-x64@0.27.0': 594 optional: true 595 596 + '@esbuild/openharmony-arm64@0.27.0': 597 optional: true 598 599 + '@esbuild/sunos-x64@0.27.0': 600 optional: true 601 602 + '@esbuild/win32-arm64@0.27.0': 603 optional: true 604 605 + '@esbuild/win32-ia32@0.27.0': 606 optional: true 607 608 + '@esbuild/win32-x64@0.27.0': 609 optional: true 610 611 '@img/sharp-darwin-arm64@0.33.5': 612 optionalDependencies: 613 '@img/sharp-libvips-darwin-arm64': 1.0.4 614 optional: true 615 616 '@img/sharp-darwin-x64@0.33.5': ··· 618 '@img/sharp-libvips-darwin-x64': 1.0.4 619 optional: true 620 621 '@img/sharp-libvips-darwin-arm64@1.0.4': 622 optional: true 623 624 '@img/sharp-libvips-darwin-x64@1.0.4': 625 optional: true 626 627 '@img/sharp-libvips-linux-arm64@1.0.4': 628 optional: true 629 630 '@img/sharp-libvips-linux-arm@1.0.5': 631 optional: true 632 633 '@img/sharp-libvips-linux-s390x@1.0.4': 634 optional: true 635 636 '@img/sharp-libvips-linux-x64@1.0.4': 637 optional: true 638 639 '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 640 optional: true 641 642 '@img/sharp-libvips-linuxmusl-x64@1.0.4': 643 optional: true 644 645 '@img/sharp-linux-arm64@0.33.5': 646 optionalDependencies: 647 '@img/sharp-libvips-linux-arm64': 1.0.4 648 optional: true 649 650 '@img/sharp-linux-arm@0.33.5': 651 optionalDependencies: 652 '@img/sharp-libvips-linux-arm': 1.0.5 653 optional: true 654 655 '@img/sharp-linux-s390x@0.33.5': 656 optionalDependencies: 657 '@img/sharp-libvips-linux-s390x': 1.0.4 658 optional: true 659 660 '@img/sharp-linux-x64@0.33.5': 661 optionalDependencies: 662 '@img/sharp-libvips-linux-x64': 1.0.4 663 optional: true 664 665 '@img/sharp-linuxmusl-arm64@0.33.5': 666 optionalDependencies: 667 '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 668 optional: true 669 670 '@img/sharp-linuxmusl-x64@0.33.5': ··· 672 '@img/sharp-libvips-linuxmusl-x64': 1.0.4 673 optional: true 674 675 '@img/sharp-wasm32@0.33.5': 676 dependencies: 677 + '@emnapi/runtime': 1.7.1 678 optional: true 679 680 '@img/sharp-win32-ia32@0.33.5': 681 optional: true 682 683 '@img/sharp-win32-x64@0.33.5': 684 optional: true 685 686 '@jridgewell/resolve-uri@3.1.2': {} 687 688 + '@jridgewell/sourcemap-codec@1.5.5': {} 689 690 '@jridgewell/trace-mapping@0.3.9': 691 dependencies: 692 '@jridgewell/resolve-uri': 3.1.2 693 + '@jridgewell/sourcemap-codec': 1.5.5 694 695 + '@poppinss/colors@4.1.6': 696 dependencies: 697 kleur: 4.1.5 698 699 + '@poppinss/dumper@0.6.5': 700 dependencies: 701 + '@poppinss/colors': 4.1.6 702 + '@sindresorhus/is': 7.1.1 703 + supports-color: 10.2.2 704 705 + '@poppinss/exception@1.2.3': {} 706 707 + '@sindresorhus/is@7.1.1': {} 708 709 + '@speed-highlight/core@1.2.12': {} 710 711 acorn-walk@8.3.2: {} 712 713 acorn@8.14.0: {} 714 715 blake3-wasm@2.1.5: {} 716 717 color-convert@2.0.1: 718 dependencies: 719 color-name: 1.1.4 ··· 723 color-string@1.9.1: 724 dependencies: 725 color-name: 1.1.4 726 + simple-swizzle: 0.2.4 727 728 color@4.2.3: 729 dependencies: 730 color-convert: 2.0.1 731 color-string: 1.9.1 732 733 + cookie@1.1.1: {} 734 735 + detect-libc@2.1.2: {} 736 737 error-stack-parser-es@1.0.5: {} 738 739 + esbuild@0.27.0: 740 optionalDependencies: 741 + '@esbuild/aix-ppc64': 0.27.0 742 + '@esbuild/android-arm': 0.27.0 743 + '@esbuild/android-arm64': 0.27.0 744 + '@esbuild/android-x64': 0.27.0 745 + '@esbuild/darwin-arm64': 0.27.0 746 + '@esbuild/darwin-x64': 0.27.0 747 + '@esbuild/freebsd-arm64': 0.27.0 748 + '@esbuild/freebsd-x64': 0.27.0 749 + '@esbuild/linux-arm': 0.27.0 750 + '@esbuild/linux-arm64': 0.27.0 751 + '@esbuild/linux-ia32': 0.27.0 752 + '@esbuild/linux-loong64': 0.27.0 753 + '@esbuild/linux-mips64el': 0.27.0 754 + '@esbuild/linux-ppc64': 0.27.0 755 + '@esbuild/linux-riscv64': 0.27.0 756 + '@esbuild/linux-s390x': 0.27.0 757 + '@esbuild/linux-x64': 0.27.0 758 + '@esbuild/netbsd-arm64': 0.27.0 759 + '@esbuild/netbsd-x64': 0.27.0 760 + '@esbuild/openbsd-arm64': 0.27.0 761 + '@esbuild/openbsd-x64': 0.27.0 762 + '@esbuild/openharmony-arm64': 0.27.0 763 + '@esbuild/sunos-x64': 0.27.0 764 + '@esbuild/win32-arm64': 0.27.0 765 + '@esbuild/win32-ia32': 0.27.0 766 + '@esbuild/win32-x64': 0.27.0 767 768 exit-hook@2.2.1: {} 769 770 fsevents@2.3.3: 771 optional: true 772 773 glob-to-regexp@0.4.1: {} 774 775 + is-arrayish@0.3.4: {} 776 777 kleur@4.1.5: {} 778 779 mime@3.0.0: {} 780 781 + miniflare@4.20251213.0: 782 dependencies: 783 '@cspotcode/source-map-support': 0.8.1 784 acorn: 8.14.0 ··· 787 glob-to-regexp: 0.4.1 788 sharp: 0.33.5 789 stoppable: 1.1.0 790 + undici: 7.14.0 791 + workerd: 1.20251213.0 792 ws: 8.18.0 793 youch: 4.1.0-beta.10 794 zod: 3.22.3 ··· 796 - bufferutil 797 - utf-8-validate 798 799 path-to-regexp@6.3.0: {} 800 801 pathe@2.0.3: {} 802 803 + semver@7.7.3: {} 804 805 sharp@0.33.5: 806 dependencies: 807 color: 4.2.3 808 + detect-libc: 2.1.2 809 + semver: 7.7.3 810 optionalDependencies: 811 '@img/sharp-darwin-arm64': 0.33.5 812 '@img/sharp-darwin-x64': 0.33.5 ··· 828 '@img/sharp-win32-ia32': 0.33.5 829 '@img/sharp-win32-x64': 0.33.5 830 831 + simple-swizzle@0.2.4: 832 dependencies: 833 + is-arrayish: 0.3.4 834 835 stoppable@1.1.0: {} 836 837 + supports-color@10.2.2: {} 838 839 + tslib@2.8.1: 840 optional: true 841 842 + undici@7.14.0: {} 843 844 + unenv@2.0.0-rc.24: 845 dependencies: 846 pathe: 2.0.3 847 848 + workerd@1.20251213.0: 849 optionalDependencies: 850 + '@cloudflare/workerd-darwin-64': 1.20251213.0 851 + '@cloudflare/workerd-darwin-arm64': 1.20251213.0 852 + '@cloudflare/workerd-linux-64': 1.20251213.0 853 + '@cloudflare/workerd-linux-arm64': 1.20251213.0 854 + '@cloudflare/workerd-windows-64': 1.20251213.0 855 856 + wrangler@4.55.0: 857 dependencies: 858 + '@cloudflare/kv-asset-handler': 0.4.1 859 + '@cloudflare/unenv-preset': 2.7.13(unenv@2.0.0-rc.24)(workerd@1.20251213.0) 860 blake3-wasm: 2.1.5 861 + esbuild: 0.27.0 862 + miniflare: 4.20251213.0 863 path-to-regexp: 6.3.0 864 + unenv: 2.0.0-rc.24 865 + workerd: 1.20251213.0 866 optionalDependencies: 867 fsevents: 2.3.3 868 transitivePeerDependencies: 869 - bufferutil 870 - utf-8-validate 871 872 ws@8.18.0: {} 873 874 youch-core@0.3.3: 875 dependencies: 876 + '@poppinss/exception': 1.2.3 877 error-stack-parser-es: 1.0.5 878 879 youch@4.1.0-beta.10: 880 dependencies: 881 + '@poppinss/colors': 4.1.6 882 + '@poppinss/dumper': 0.6.5 883 + '@speed-highlight/core': 1.2.12 884 + cookie: 1.1.1 885 youch-core: 0.3.3 886 887 zod@3.22.3: {}
-4
pnpm-workspace.yaml
··· 1 - onlyBuiltDependencies: 2 - - esbuild 3 - - sharp 4 - - workerd
···
-4
public/.assetsignore
··· 1 - _worker.js 2 - _routes.json 3 - _headers 4 - _redirects
···
+1 -9
public/favicon.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128"> 2 - <path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" /> 3 - <style> 4 - path { fill: #000; } 5 - @media (prefers-color-scheme: dark) { 6 - path { fill: #FFF; } 7 - } 8 - </style> 9 - </svg>
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 16 16"><text x="0" y="14">โ™จ๏ธ</text></svg>
+209
public/index.html
···
··· 1 + <!DOCTYPE html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="UTF-8"> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 + <title>Dane's Website</title> 7 + <meta name="description" content="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies."> 8 + <link rel="icon" type="image/svg+xml" href="/public/favicon.svg"> 9 + <meta property="og:type" content="website"> 10 + <meta property="og:title" content="Dane's Website"> 11 + <meta property="og:description" content="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies."> 12 + <link rel="canonical" href="https://dane.computer/"> 13 + <meta property="og:url" content="https://dane.computer/"> 14 + <style> 15 + @layer reset { 16 + *, 17 + *::before, 18 + *::after { 19 + box-sizing: border-box; 20 + } 21 + 22 + * { 23 + margin: 0; 24 + padding: 0; 25 + } 26 + 27 + html { 28 + -webkit-text-size-adjust: none; 29 + -webkit-font-smoothing: antialiased; 30 + text-rendering: optimizespeed; 31 + text-size-adjust: none; 32 + color-scheme: dark light; 33 + tab-size: 2; 34 + scrollbar-gutter: stable; 35 + interpolate-size: allow-keywords; 36 + line-height: 1.5; 37 + } 38 + 39 + body { 40 + margin: 0; 41 + font-family: Menlo, Consolas, Monaco, Adwaita Mono, Liberation Mono, Lucida Console, monospace; 42 + font-synthesis: none; 43 + } 44 + 45 + ul[role=list], ol[role=list] { 46 + list-style: none; 47 + padding: 0; 48 + } 49 + 50 + ::marker { 51 + line-height: 0; 52 + } 53 + 54 + :focus-visible { 55 + outline-offset: 2px; 56 + } 57 + 58 + @media (prefers-reduced-motion: no-preference) { 59 + html:focus-within { 60 + scroll-behavior: smooth; 61 + } 62 + } 63 + 64 + a { 65 + color: inherit; 66 + text-underline-offset: 0.2ex; 67 + } 68 + 69 + h1, h2, 70 + h3, h4 { 71 + text-wrap: balance; 72 + } 73 + 74 + a[href] { 75 + -webkit-tap-highlight-color: transparent; 76 + } 77 + 78 + p, h1, h2, h3, h4, h5, h6 { 79 + overflow-wrap: break-word; 80 + } 81 + 82 + p { 83 + text-wrap: pretty; 84 + } 85 + 86 + } 87 + 88 + .container { 89 + max-width: 65ch; 90 + margin: 0 auto; 91 + padding: 5.5rem 0; 92 + } 93 + 94 + .intro { 95 + margin-bottom: 2rem; 96 + } 97 + 98 + .name { 99 + font-size: 2.5rem; 100 + font-weight: bold; 101 + text-transform: capitalize; 102 + } 103 + 104 + .title { 105 + font-weight: bold; 106 + margin-bottom: 1.5rem; 107 + } 108 + 109 + .bio { 110 + margin-bottom: 2rem; 111 + font-weight: 500; 112 + } 113 + 114 + .bio p:not(:last-of-type) { 115 + margin-bottom: 1rem; 116 + } 117 + 118 + .links { 119 + margin-bottom: 2rem; 120 + } 121 + 122 + .links p:first-of-type { 123 + font-weight: bold; 124 + } 125 + 126 + .job { 127 + display: flex; 128 + justify-content: space-between; 129 + } 130 + 131 + .work-experience ul { 132 + display: flex; 133 + flex-direction: column; 134 + row-gap: 1rem; 135 + } 136 + 137 + @media (width <= 640px) { 138 + .container { 139 + padding: 3.5rem 1rem; 140 + } 141 + } 142 + 143 + @media (width <= 600px) { 144 + .container { 145 + text-align: center; 146 + } 147 + 148 + .work-experience .job { 149 + display: flex; 150 + flex-direction: column; 151 + } 152 + } 153 + </style> 154 + </head> 155 + <body> 156 + <main class="container"> 157 + <section class="intro"> 158 + <h1 class="name">dane miller</h1> 159 + <p class="title">senior software developer</p> 160 + <aside class="bio"> 161 + <p>Currently working as a frontend developer at the Bank of Montreal in Toronto.</p> 162 + <p>In my spare time I enjoy (re)watching tv shows, listening to music and playing video games.</p> 163 + <p>I guess I code from time to time as well. At the moment i&apos;m into all things <a href="https://atproto.com" target="_blank" rel="noopener noreferrer">AT Protocol</a>.</p> 164 + <p>Writing code in Typescript, Go, Rust and Gleam.</p> 165 + </aside> 166 + </section> 167 + <section class="links"> 168 + <h2>where to find me on the world wide web</h2> 169 + <ul role="list"> 170 + <li> 171 + <a href="https://bsky.app/profile/did:plc:qttsv4e7pu2jl3ilanfgc3zn" target="_blank" aria-label="Go to Dane's bluesky profile, opens in a new tab" rel="noopener noreferrer">Bluesky</a> 172 + </li> 173 + <li> 174 + <a href="https://tangled.org/did:plc:qttsv4e7pu2jl3ilanfgc3zn" target="_blank" aria-label="Go to Dane's Tangled profile, opens in a new tab" rel="noopener noreferrer">Tangled</a> 175 + </li> 176 + <li> 177 + <a href="mailto:me@dane.computer">E-mail</a> 178 + </li> 179 + </ul> 180 + </section> 181 + <section class="work-experience"> 182 + <h2>work experience</h2> 183 + <ul role="list"> 184 + <li class="job"> 185 + <div> 186 + <p class="company">Bank of Montreal</p> 187 + <small class="title">Senior Software Developer</small> 188 + </div> 189 + <p>2021 to present</p> 190 + </li> 191 + <li class="job"> 192 + <div> 193 + <p class="company">Black Professionals In Tech Network</p> 194 + <small class="title">Intermediate Software Developer</small> 195 + </div> 196 + <p>2021 to 2021</p> 197 + </li> 198 + <li class="job"> 199 + <div> 200 + <p class="company">Wise Publishing</p> 201 + <small class="title">Frontend Developer Intern</small> 202 + </div> 203 + <p>2020 to 2020</p> 204 + </li> 205 + </ul> 206 + </section> 207 + </main> 208 + </body> 209 + </html>
public/resume.pdf

This is a binary file and will not be displayed.

-10
public/robots.txt
··· 1 - User-Agent: * 2 - Allow: / 3 - User-agent: GPTBot 4 - Disallow: / 5 - User-agent: ChatGPT-User 6 - Disallow: / 7 - User-agent: Google-Extended 8 - Disallow: / 9 - User-agent: PerplexityBot 10 - Disallow: /
···
-29
src/components/BlogPost.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - publishedAt: string; 5 - slug: string; 6 - } 7 - 8 - const { title, publishedAt, slug } = Astro.props; 9 - import Link from "@components/Link.astro"; 10 - --- 11 - 12 - <li> 13 - <article> 14 - <h2 15 - class="mb-1 font-bold text-blue-700 hover:text-blue-500 hover:underline" 16 - > 17 - <Link href={`/blogs/${slug}`}>{title}</Link> 18 - </h2> 19 - <footer class="text-sm text-gray-500"> 20 - <time datetime={publishedAt}> 21 - { 22 - new Intl.DateTimeFormat("en-us", { 23 - dateStyle: "medium", 24 - }).format(new Date(publishedAt)) 25 - } 26 - </time> 27 - </footer> 28 - </article> 29 - </li>
···
-13
src/components/Link.astro
··· 1 - --- 2 - interface Props { 3 - extraClasses?: string; 4 - [x: string]: unknown; 5 - } 6 - --- 7 - 8 - <a 9 - {...Astro.props} 10 - class={`text-blue-700 hover:(underline text-blue-600) focus-visible:(outline outline-[4px] outline-black underline [box-shadow:0_0_0_6px_white]) ${Astro.props.extraClasses}`} 11 - > 12 - <slot /> 13 - </a>
···
-28
src/components/Meta.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - description: string; 5 - } 6 - 7 - const { title, description } = Astro.props; 8 - const canonicalURL = new URL(Astro.url.pathname, Astro.site); 9 - --- 10 - 11 - <head> 12 - <meta charset="UTF-8" /> 13 - <meta name="description" content={description} /> 14 - <meta name="viewport" content="width=device-width, initial-scale=1" /> 15 - <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 16 - <meta name="generator" content={Astro.generator} /> 17 - <meta property="og:type" content="website" /> 18 - <meta name="twitter:card" content="summary_large_image" /> 19 - <meta name="twitter:creator" content="@hybridearth" /> 20 - <meta property="og:title" content={title} /> 21 - <meta property="og:description" content={description} /> 22 - <meta name="twitter:title" content={title} /> 23 - <meta name="twitter:description" content={description} /> 24 - <link rel="sitemap" href="/sitemap-index.xml" /> 25 - <link rel="canonical" href={canonicalURL} /> 26 - <meta property="og:url" content={canonicalURL} /> 27 - <title>{title}</title> 28 - </head>
···
-23
src/components/Navbar.astro
··· 1 - --- 2 - const paths = [ 3 - { name: "home", path: "/" }, 4 - { name: "blogs", path: "/blogs" }, 5 - ]; 6 - import Link from "@components/Link.astro"; 7 - --- 8 - 9 - <header class="max-w-5xl mx-auto pt-2 md:pt-10 mb-2 px-3 md:px-0"> 10 - <nav> 11 - <ul class="flex gap-2"> 12 - { 13 - paths.map(({ name, path }) => ( 14 - <li> 15 - <Link href={path} extraClasses="font-bold"> 16 - {name} 17 - </Link>{" "} 18 - </li> 19 - )) 20 - } 21 - </ul> 22 - </nav> 23 - </header>
···
-28
src/content.config.ts
··· 1 - import { defineCollection, z } from "astro:content"; 2 - import { leafletStaticLoader } from "@nulfrost/leaflet-loader-astro"; 3 - import { glob } from "astro/loaders"; 4 - 5 - const blogs = defineCollection({ 6 - loader: glob({ pattern: "**/*.mdx", base: "./src/data/blog" }), 7 - schema: z.object({ 8 - title: z.string(), 9 - description: z.string(), 10 - publishedAt: z.union([z.date(), z.string()]).transform((val) => { 11 - if (val instanceof Date) return val; 12 - return new Date(val); 13 - }), 14 - publication: z.string().optional(), 15 - author: z.string().optional(), 16 - // Optional fields to match documents structure 17 - rkey: z.string().optional(), 18 - cid: z.string().optional(), 19 - // Keep year for backward compatibility if needed 20 - year: z.number().optional(), 21 - }), 22 - }); 23 - 24 - const documents = defineCollection({ 25 - loader: leafletStaticLoader({ repo: "did:plc:qttsv4e7pu2jl3ilanfgc3zn" }), 26 - }); 27 - 28 - export const collections = { documents, blogs };
···
-47
src/data/blog/building-a-ttc-alerts-bot-with-threads-api.mdx
··· 1 - --- 2 - title: Building a TTC service alert bot with the Threads API and TTC Live Alerts API 3 - description: Going into detail about how I built a bot to report service updates for the TTC on Threads 4 - year: 2024 5 - publishedAt: 2024-06-23 6 - --- 7 - 8 - The Threads team at Meta finally released an API to interact with the Threads platform. I've had this idea of creating a bot account that posts updates about the TTC since the API was announced. I'm happy to announce that I've "finished" this project today. In this post I'll talk about how I built it and how I found and figured out how the TTC alerts API worked. 9 - 10 - I've been using Threads since it was released last year. It's a great platform, I like it very much. I feel like I have a voice on Threads and I've been way more active on there than I ever have been on Twitter. The Threads team have also been releasing features like crazy lately and I think come either the end of this year or the beginning of next year, they'll have either caught up or surpassed Twitter in terms of useful features. Anyways, kudos to them and I'm excited to see where the platform goes. Now, let's talk about the good stuff. 11 - 12 - With the release of the Threads API I got straight to work. I wanted to build a bot that posted service updates about the TTC. There is already an official account that does this on Twitter and I wanted to replicate that on Threads. The only downside initially was that I had no idea how they were pulling those updates and the TTC does not have a public API. Luckily, these updates are also posted on the TTC website so I figured I might find some clues there. 13 - 14 - Sure enough, with very minimal effort, I found the endpoint for the live service updates inside of the browser devtools network tab. 15 - ![Inspecting the network tab in the browser devtools to find the API endpoint](https://i.ibb.co/KxTDsYT/Screenshot-2024-06-23-at-9-19-49-PM.png) 16 - 17 - Next, I went to the endpoint URL in the browser and compared it against what was being posted on Twitter. Whenever the Twitter account posted I would refresh API endpoint page and it would match with the Twitter account. "Of course, so easy", I thought to myself as I started to create the github repo and start coding. For this project I went with Cloudflare Workers, Cloudflare KV and TypeScript. Initially I wasn't sure how often I should be running the cron job so I just started with 5 minutes as that seemed reasonable. 18 - 19 - After a couple of hours of coding away and waiting for my new Threads account to become unblocked by the spam protection by Meta, I had something working. Well until I noticed a bug. My bot would not create posts when there was an update for an alert. For example, say the 505 Streetcar went out of service, it's an entirely new alert so my bot picks it up and posts it. Now if there was an update for that alert my bot would not post it at all while the one on Twitter would. Initially I thought it was because the Twitter account used a different source for posting updates and the live alerts endpoint wasn't getting updated but that wasn't it at all. Here's where I lost a couple days to figuring out how this live alerts endpoint worked. 20 - 21 - The TTC live alerts endpoint works like this: 22 - 23 - - Whenever the `lastUpdated` field from the API is updated to a NEW time, it means there's NEW alerts. 24 - - Whenever a specific alert or alerts are updated, the `lastUpdated` changes but it's changed to whatever the timestamp was when the initial alert was updated. So this could be a timestamp in the past. 25 - 26 - <aside class="bg-blue-200 border-l-4 text-blue-900 p-2 border-blue-600"> 27 - Ex. NEW alert timestamp saved with <b>'2024-06-24T01:57:45.606Z'</b>, another 28 - NEW update saved with <b>'2024-06-24T01:58:30.100Z'</b>. A content only update 29 - to a previous alert changes the `lastUpdated` back to{" "} 30 - <b>'2024-06-24T01:57:45.606Z'</b> in the API and because I was comparing the 31 - data in my cache with the key of <b>'2024-06-24T01:57:45.606Z'</b> versus what 32 - was being returned from the API with `lastUpdated` as this value{" "} 33 - <b>'2024-06-24T01:57:45.606Z'</b>, the IDs would be the exact same. The 34 - content however was different. 35 - </aside> 36 - 37 - Initially I was just checking the cache with the key being whatever the `lastUpdated` was at the time of fetching the data from the API. All good and dandy except when the second situation from above happened, it meant I was comparing a previously saved list of alerts versus whatever was coming back from the API. Which because it was using a `lastUpdated` timestamp that already existed, just comparing based on the IDs wouldn't work. Whenever there are content updates there are no NEW ids, the same ID for an alert is reused and the content is updated. I had to ALSO check the content to see if any of them have changed. It was simple enough, I just copied the logic for checking for new IDs but applied it to check for new content based on the alert titles. 38 - 39 - After figuring that out, here's how the logic for checking for new posts shakes out: 40 - 41 - 1. Every minute (I changed it so it'd be faster) fetch data from the TTC live alerts API 42 - 2. Check the data fetched from the API against the most recently cached data (Cloudflare KV) 43 - 3. Are there NEW ids in the data versus what's stored in the cached? If yes, these are completely new alerts, post them and add a new entry to the cache. 44 - 4. If not, check to see if there are any content changes based on the alert titles against the cached data. 45 - 5. If there are content changes, it means there was an update and we should post them and update the cache. If not, stop there there's nothing to do. 46 - 47 - It actually sounds much simpler after typing it out but figuring out how it worked required me to wait for updates to the API and run tests to verify my thought process which took a bit a time. Overall it was a fun experience and I enjoyed working backwards to figure this all out. I hope this motivates the TTC to start posting updates on Threads as well but we'll see. If you live in Toronto and want TTC service updates on threads, give @ttcserviceupdates a follow!
···
-61
src/data/blog/docker-for-frontend-developers.mdx
··· 1 - --- 2 - title: Docker for Frontend Developers 3 - description: A short walkthrough on how to create an API 4 - year: 2021 5 - publishedAt: 2021-03-17 6 - --- 7 - 8 - I'll be honest, it took me a while to understand what docker was and why/how one would even use it in a typical workflow. I've read the documentation months ago to understand the basics but never knew how I could apply it into my own workflow or projects until recently. That's when I started to use it wherever I could. 9 - 10 - ## A tl;dr of what docker is 11 - 12 - Docker is a platform for developing and deploying applications wherever docker is installed. Before docker there were VMs (such as virtualbox) where you could take an image, usually an operating system, and stick it on some virtual hardware that you would then configure to your needs and then use that image in production to run whatever service you configured it for. Docker is similar to that but much lighter and much easier to get up and running. 13 - 14 - With docker you're able to pull pre-configured images from the docker "hub" and get up and running in a matter of minutes. Docker also allows you to create an environment that is consistent no matter where the application is running which I think is a huge plus because I've run into situations where I switch computers and for whatever reason the thing I'm working on just doesn't work! 15 - 16 - ## Getting up and running, fast 17 - 18 - Typically when I start a new project, be it a website or a discord bot, I'll usually end up needing some sort of database. Usually I would download the software needed to run the database on my computer and maybe a client to view the data in the database. Now, I'd just use docker and pull whatever image I needed for the database I'm using. 19 - 20 - ``` 21 - docker pull postgres 22 - docker run --name -d -p 5432:5432 -e POSTGRES_PASSWORD=password postgres 23 - ``` 24 - 25 - That's it! That's all I would need to get a postgres database running. 26 - 27 - I'll explain what some of these command line options mean. 28 - 29 - ``` 30 - docker pull postgres 31 - ``` 32 - 33 - With this command I'm saying, "On docker hub, find the postgres image and download it". 34 - 35 - There are a ton of images on docker hub for services you may neeed such as redis, apache, mongoDB, etc. 36 - 37 - ``` 38 - docker run --name postgres -d -p 5432:5432 -e POSTGRES_PASSWORD=password postgres 39 - ``` 40 - 41 - This command is a little more involved so I'll break it down. 42 - 43 - `` docker run` --name postgres `` is how you would spin up a new container (a new, tiny instance of postgres) and the name of the container would be postgres. By default if no name is given then docker will generate a random one. It's good practice to give your containers a name because they become easier to identify and easy to remember should you need to stop or start the container. 44 - 45 - `-d` just means run the container in daemon mode, instead of in the foreground. 46 - 47 - `-p 5432:5432` this is where you would set the port for the container so that the docker host can communicate with the container. Postgres runs on the port 5432 so we would need to say port 5432 on the host maps to port 5432 on the container. 48 - 49 - `-e POSTGRES_PASSWORD=password` to set environment variables at runtime you would need to provide the -e flag. An alternative to this would be to have a file where your secrets live and use `--env-file .env` instead. 50 - 51 - `postgres` last but not least the image you want to run. You can see a list of images you have dowloaded on your machine with `docker images`. 52 - 53 - ## Conclusion 54 - 55 - This post is mostly just a tl;dr of how to get started with docker as well as showing how easy it is. There are other things I wanted to cover such as building your own image, pushing an image to docker hub as well as deploying an image but I felt that would be a lot for a blog post so I'll leave some resources that helped me a bunch when I was learning about docker. 56 - 57 - [Docker and Kubernetes for beginners (FreeCodeCamp)](https://www.youtube.com/watch?v=Wf2eSG3owoA&t=1999s) 58 - 59 - [Docker documentation](https://docs.docker.com/reference/) 60 - 61 - [Deploying docker images to Heroku](https://devcenter.heroku.com/categories/deploying-with-docker)
···
-101
src/data/blog/give-angular-a-second-chance.mdx
··· 1 - --- 2 - title: Why I think Developers should give Angular 17 a serious try 3 - description: If you're a developer that is new to Angular and its ecosystem, you should definitely take a minute to try their latest release 4 - year: 2023 5 - publishedAt: 2023-12-15 6 - --- 7 - 8 - You've seen the memes, you've seen the angry github comments, you've seen the negative press. I'll be honest, I fell victim to the propaganda online. Was some of it warranted? Probably, but some of it was a bit overexaggerated in my opinion. Seriously, Angular is a really good framework and I think the release of Angular 17 will bring it back into the light and a serious option for building websites. I've only been through the documentation briefly and did the tutorial but there are some things I _really_ like. 9 - 10 - ## The CLI 11 - 12 - One thing I've always admired and wished other frameworks/libraries would have adopted is their version of the Angular CLI. Not only can you use it to create new components with all of the boiler plate code all generated for you, you can also do things like open the docs or quickly add angular modules with `ng add`. I found with the short amount of time I've spent with it, it allows me to move a bit quicker and think less about creating my own scripts or thinking about the most optimal file structure. There are a lot of commands that are just great defaults to have that aren't unique from project to project such as testing. I tell people repeatedly that I wish there was something similar with React but maybe it wouldn't work out the same way as I imagine. 13 - 14 - ## Pipes 15 - 16 - Now if you're not really a Linux user you've probably never heard of the term `pipe` before and when I first saw it mentioned in the Angular docs I had no idea what to expect but it works exactly the same as it does in the terminal. Let's say I have a sentence and I want to count the amount of words in that sentence. In my terminal I could do `echo hello this is a sentence` _and then_ pipe that ( | ) to the `wc` program that's available ("wc" without any options outputs the amount of lines, words and characters from whatever is passed in). So the full command in my terminal would look like this. 17 - 18 - ```bash 19 - echo hello this is a sentence | wc 20 - // 1 5 25 21 - ``` 22 - 23 - It's the same concept in Angular, which is really cool in my opinion. For example by default Angular has an `uppercase` pipe that transforms some text to uppercase. 24 - 25 - ```ts 26 - import { Component } from "@angular/core"; 27 - import { UppercasePipe } from "@angular/common"; 28 - 29 - @Component({ 30 - standalone: true, 31 - templateUrl: ` 32 - <p>Hello my name is {{ name | uppercase }}</p> 33 - `, 34 - imports: [UppercasePipe], 35 - }) 36 - export class AppComponent { 37 - name = "Dane"; 38 - } 39 - ``` 40 - 41 - You can also make your own pipes to do whatever you need them to, like this capitalize pipe! 42 - 43 - ```ts 44 - // captialize.ts 45 - import { Pipe, PipeTransform } from "@angular/core"; 46 - 47 - @Pipe({ 48 - name: "capitalize", 49 - standalone: true, 50 - }) 51 - export class CapitalizePipe implements PipeTransform { 52 - transform(value: string): string { 53 - if (typeof value !== "string" || value.length <= 1) return value; 54 - let uppercasedFirstLetter = value.slice(0, 1).toUpperCase(); 55 - let restOfWord = value.substring(1, value.length); 56 - return `${uppercasedFirstLetter}${restOfWord}`; 57 - } 58 - } 59 - ``` 60 - 61 - ```ts 62 - // main.ts 63 - import { Component } from "@angular/core"; 64 - import { CapitalizePipe } from "./capitalize"; 65 - 66 - @Component({ 67 - selector: "app-root", 68 - standalone: true, 69 - template: ` Hello world, {{ name | capitalize }} `, 70 - imports: [CapitalizePipe], 71 - }) 72 - export class AppComponent { 73 - name = "dane"; 74 - } 75 - ``` 76 - 77 - Simple examples but you can imagine how useful this is and I honestly prefer writing reusable functions like this. 78 - 79 - ## Deferrable views 80 - 81 - This is something new in Angular and something most frameworks/libraries have included but the way it's been done in Angular is super cool and really simple to grasp. [In the documentation](https://angular.dev/guide/defer) they have a simple example showing how to defer something like a list of comments so that the page loads quicker. Sure, when there are maybe 1 or 2 comments it won't impact page performance much but when that list grows a user will have to wait for the main content _and_ the comments to be loaded. Angular 17 introduces deferrable views to help with this sort of thing. Let's say I want to defer the loading of a list of recipies, I would do something like this: 82 - 83 - ```ts 84 - @defer { 85 - <recipie-list /> 86 - } 87 - ``` 88 - 89 - That's literally it! In addition to the @defer syntax you can also specify a placeholder. Placeholders are good because it gives the user more information about what's happening and makes it so content doesn't just show up on the page. So combined with the last snippet it could look something like this: 90 - 91 - ```ts 92 - @defer { 93 - <recipe-list /> 94 - } @placeholder (minimum 500ms) { 95 - <p>Recipe list is loading...</p> 96 - } 97 - ``` 98 - 99 - The `minimum` parameter let's us say how long the placeholder should show before showing the resolved content. This is done so there isn't a weird flicker after the content is ready to be shown. This only scratches the surface of what Angular gives you to help improve the performance of your website, there are a few examples on how you get fine tuned performance even more with triggers which is definitely worth a read. 100 - 101 - I honestly believe Angular should be given another chance with this new release, there are a ton of great features you get out of the box that help with making a performant website. I plan on using Angular to make a side project so I can really explore all of the features in depth and I hope more people do the same!
···
-132
src/data/blog/running-a-containerized-application-in-the-cloud.mdx
··· 1 - --- 2 - title: Running a containerized application in the cloud using AWS App Runner 3 - description: Exploring the new AWS App Runner service 4 - publishedAt: 2021-05-19 5 - year: 2021 6 - publication: t 7 - --- 8 - 9 - I've been pretty deep in the cloud space for a few weeks now, researching different topics related to system design and playing around with different AWS services. So far I've been playing around with containers and figuring out ways I could deploy a simple containerized application to the cloud without much fuss. I've found AWS Elastic Container Service and AWS Elastic Kubernetes Service (more on kubernetes in another blog post, I've been having fun learning about it) but those are more for managing clusters of containers than just being able to deploy something simple and small. I've also looked at AWS Elastic Beanstalk and while it is possible to deploy docker containers through that service I haven't had much luck doing it through the UI or the Elastic Beanstalk CLI. 10 - 11 - ## Enter AWS App Runner 12 - 13 - This was actually just released a few days ago and is pretty much exactly what I needed for the application I wanted to run. It is pretty similar to Elastic Beanstalk in some ways but with Elastic Beanstalk there are still some things you need to configure yourself like SSL for example whereas with App Runner that's already ready and configured for you. You can simply upload a docker image to your AWS Container registry or link your github repository and any time the image is updated or new code is pushed it'll re-run the build process and deploy your application (automatic deployments are opt-in and a flat $1/month). There are some costs associated with provisioned / active instances + the amount of RAM and CPU you choose and you're billed by the hour but the cost is pretty low and depends on how much traffic your application is getting. 14 - 15 - ## Deploying an application to App Runner 16 - 17 - In these next few screenshots I'll show going from a simple node application to a deployed version in App Runner. I will be using docker to deploy so if you don't already have it installed and would like to follow along I'd suggest doing that now. 18 - 19 - ### Bootstrapping our application 20 - 21 - So, you've decided to feed your hotwheels addiction by making an application to trade hotwheels with other enthusiasts. Great idea! First we'll need to install some dependencies. 22 - 23 - ```bash 24 - mkdir hotwheels-trading-app && cd hotwheels-trading-app 25 - npm init -y 26 - npm install express 27 - ``` 28 - 29 - With our dependencies installed we can now start adding some code! 30 - 31 - ```javascript 32 - // index.js 33 - const express = require("express"); 34 - const app = express(); 35 - 36 - app.get("/", (_, response) => { 37 - response.status(200).json({ 38 - data: { 39 - message: "Welcome to my hotwheels app!", 40 - }, 41 - }); 42 - }); 43 - 44 - app.listen(4000, () => console.log("App running!")); 45 - ``` 46 - 47 - Beautiful, ain't it? You can test it out by running `node index.js` and navigating to `http://localhost:4000`. 48 - 49 - Next we'll containerize the application. Create a Dockerfile and add this to it. 50 - 51 - ```bash 52 - FROM node:alpine 53 - 54 - WORKDIR /app 55 - 56 - COPY package*.json /app/ 57 - 58 - RUN npm install 59 - 60 - COPY . /app/ 61 - 62 - CMD ["node", "index.js"] 63 - ``` 64 - 65 - Then build the image. 66 - 67 - ```bash 68 - docker build -t hotwheels-app:latest . 69 - ``` 70 - 71 - Then test it locally to make sure everything is still working. 72 - 73 - ```bash 74 - docker run --name hotwheels-app -p 4000:4000 -d hotwheels-app:latest 75 - ``` 76 - 77 - You should be able to navigate to the same URL that we used before and see the same message. Alright cool, we've finished setting up our nifty application and now we want to get it to the public. 78 - 79 - ### Uploading the image to AWS Elastic Container Registry 80 - 81 - In the AWS console navigate over to the Elastic Container Registry 82 - 83 - ![AWS Console search results](https://www.datocms-assets.com/44755/1621569095-console.png) 84 - 85 - Then click create repository 86 - 87 - ![Image of the AWS ECR main screen](https://www.datocms-assets.com/44755/1621569099-ecr1.png) 88 - 89 - You can just leave all the settings to default (I chose to turn scanning on just so it checks for vulnerabilites but for this you don't need to turn it on) 90 - 91 - ![Image of AWS ECR create repository page](https://www.datocms-assets.com/44755/1621569102-ecr2.png) 92 - 93 - Once the repository is created you should see it in the list on the main screen, click the repository name then in the top right click "View push commands". Copy and execute the commands one by one to push your image to the repository. After you're done you should see your image in the repository (click the refresh button if you don't). 94 - 95 - ![Image of docker container in the ECR repository](https://www.datocms-assets.com/44755/1621569528-ecr4.png) 96 - 97 - That's all that needs to be done for the docker image side of things. The last step would be to get everything set up in App Runner. 98 - 99 - ### Deploying our cool new app ๐Ÿš€ 100 - 101 - In the AWS console head over to AWS App runner. 102 - 103 - ![Image of AWS console](https://www.datocms-assets.com/44755/1621571455-runner1.png) 104 - 105 - Some more things App Runner includes out of the box are 106 - load balancing, auto-scaling and monitoring via cloud watch and since you're already in the AWS ecosystem you can make use of the many other services they offer. 107 - 108 - Click "Create an App Runner service" to get started. In the first step you're prompted with a few different options. We'll be using the docker image we uploaded to ECR so keep the repository type "Container registry" selected. The provider you can leave default also since we uploaded our image to a private repository but if you wanted to you could use public also so as long your image is in a public respository. 109 - 110 - ![Image of App Runner create service page](https://www.datocms-assets.com/44755/1621571459-runner2.png) 111 - 112 - For the docker image click browse and select the hotwheels-app from the dropdown and then click continue. 113 - 114 - ![Image of selecting docker image for App Runner](https://www.datocms-assets.com/44755/1621571463-runner3.png) 115 - 116 - For deployment settings you have the option between manual and automatic. As a reminder, **automatic deployments do cost money** ($1/month) so keep that in mind if you do select it. For this example I will but will also delete the application right after I am done as I don't think it incurs a cost. 117 - 118 - For step two all you need to do is give the application a name and fill out the port number. In this step you're also able to customize the auto-scaling settings, you can set minimum and maximum instances as well as the amount of concurrent requests your application should reach before adding more instances. 119 - 120 - ![Image of step two of App Runner settings](https://www.datocms-assets.com/44755/1621571466-runner4.png) 121 - 122 - Step three is just reviewing your configurations but you can also edit anything here if you wanted to. After you're done reviewing just click "create & deploy" and wait for your application to be created. 123 - 124 - ### Issues 125 - 126 - As of May 20th, 2021, creating a service role is a bit bugged and you'll get an error the first time you use App Runner when you get to the 3rd step. What I did was select "create service role" then fill out the information until the end then click create & deploy. You may or may not get an error depending on if it's fixed or not but if it isn't all you have to do is go back to step one and select "use existing role" and select the app runner role from the list then try deploying again. 127 - 128 - If everything goes well you should see a message saying the deployment was successful and there is a link provided under "default domain" to view your newly deployed application! Remember to tear down the environment after playing around with it also! 129 - 130 - ## Conclusion 131 - 132 - I think App Runner is pretty neat and I may use it in the future to host an application. Another free alternative would be Heroku but if you're looking for something equivalent in the AWS space this is it. I'd suggest to keep poking around and taking a look at the [pricing](https://aws.amazon.com/apprunner/pricing/) breakdown and find which configuration fits for you.
···
-255
src/data/blog/supabase-auth-with-remix-and-vite.mdx
··· 1 - --- 2 - title: Add authentication to your Remix application with Supabase 3 - description: Adding authentication to your remix app with Supabase has never been easier, this blog post will show you how to get up and running quickly 4 - year: 2024 5 - publishedAt: 2024-03-08 6 - --- 7 - 8 - With Supabase now fully supporting doing authentication completely server-side, it has never been easier to take advantage of all of the features that it offers. We'll go through how to quickly spin up a Remix project and add supabase with authentication. 9 - 10 - ## Spin up a new Remix project 11 - 12 - This guide should also work for non-vite Remix projects but my preference is to use vite so we'll use a clean vite template. 13 - 14 - ```bash 15 - npx create-remix@latest 16 - ``` 17 - 18 - Run this command in your terminal and follow the prompts, then open your new project in your editor of choice. You'll also need to [create a new project in supabase](https://supabase.com/) so that we can get access to the environment variables for this example. 19 - 20 - Once you've created a supabase project, in the root of your project create a `.env` file and paste in the values for your `SUPABASE_URL` and `SUPABASE_ANON_KEY`. You can find these values by going into your supabase project dashboard, clicking on the on the connect button and selecting Remix from the frameworks list. 21 - 22 - ![Supabase dashboard connect button](https://i.ibb.co/k4GYkG8/Screenshot-2024-03-07-at-6-38-35-PM.png) 23 - 24 - ![Supabase frameworks dropdown list](https://i.ibb.co/HpXVMMW/Screenshot-2024-03-07-at-6-40-13-PM.png) 25 - 26 - Lastly, install the `@supabase/ssr` package. 27 - 28 - ```bash 29 - npm install @supabase/ssr 30 - ``` 31 - 32 - ## Setting up authentication 33 - 34 - There are a bunch of ways you can set up auth in supabase. E-mail and password combo, E-mail magic link, OAuth and so on. For the sake of this blog post we'll set up E-mail and password since it's the simplest one. Though that should be enough to explore the other methods as well if you wish. 35 - 36 - ### Create the necessary files 37 - 38 - In here we are just creating a utility function so that we can re-use this function across all instances where we need to access supabase resources. 39 - 40 - ```ts 41 - // app/utils/supabase.server.ts 42 - 43 - import { createServerClient, serialize, parse } from "@supabase/ssr"; 44 - 45 - export function createClient(request: Request) { 46 - const cookies = parse(request.headers.get("Cookie") ?? ""); 47 - const headers = new Headers(); 48 - 49 - const supabase = createServerClient( 50 - process.env.SUPABASE_URL!, 51 - process.env.SUPABASE_ANON_KEY!, 52 - { 53 - cookies: { 54 - get(key) { 55 - return cookies[key]; 56 - }, 57 - set(key, value, options) { 58 - headers.append("Set-Cookie", serialize(key, value, options)); 59 - }, 60 - remove(key, options) { 61 - headers.append("Set-Cookie", serialize(key, "", options)); 62 - }, 63 - }, 64 - }, 65 - ); 66 - 67 - return { 68 - supabase, 69 - headers, 70 - }; 71 - } 72 - ``` 73 - 74 - This file is for when we are signing up for the first time and receive a confirmation e-mail. Clicking the link with log you in automatically but going forward you will log in through the log in page. 75 - 76 - ```ts 77 - // app/routes/auth.callback.tsx 78 - 79 - import { redirect, type LoaderFunctionArgs } from "@remix-run/node"; 80 - import { createClient } from "~/utils/supabase.server"; 81 - 82 - export async function loader({ request }: LoaderFunctionArgs) { 83 - const requestUrl = new URL(request.url); 84 - const code = requestUrl.searchParams.get("code"); 85 - const next = requestUrl.searchParams.get("next") || "/"; 86 - const { supabase, headers } = createClient(request); 87 - 88 - if (code) { 89 - const { error } = await supabase.auth.exchangeCodeForSession(code); 90 - if (!error) { 91 - return redirect(next, { headers }); 92 - } 93 - } 94 - 95 - return redirect("/auth/auth-error-page", { headers }); 96 - } 97 - ``` 98 - 99 - Sign up page, you will recieve a confirmation e-mail for the first time that you sign up. After you click the link in your e-mail you will be signed in. 100 - 101 - ```ts 102 - // app/routes/signup.tsx 103 - 104 - import { ActionFunctionArgs, json } from "@remix-run/node"; 105 - import { Form } from "@remix-run/react"; 106 - import { createClient } from "~/utils/supabase.server"; 107 - 108 - export async function action({ request }: ActionFunctionArgs) { 109 - const formData = await request.formData(); 110 - const email = formData.get("email") as string; 111 - const password = formData.get("password") as string; 112 - const { supabase } = createClient(request); 113 - 114 - const { error } = await supabase.auth.signUp({ 115 - email, 116 - password, 117 - }); 118 - 119 - if (error) { 120 - return json({ message: error.message }, { status: 400 }); 121 - } 122 - return null; 123 - } 124 - 125 - export default function Component() { 126 - return ( 127 - <div> 128 - <h1>Sign up</h1> 129 - <Form method="POST"> 130 - <label htmlFor="email">E-mail</label> 131 - <input type="email" name="email" id="email" /> 132 - <label htmlFor="password">Password</label> 133 - <input type="password" name="password" id="password" /> 134 - <button type="submit">Sign up</button> 135 - </Form> 136 - </div> 137 - ); 138 - } 139 - ``` 140 - 141 - Log in page, if all goes well then you will be redirected to the home page after logging in successfully. 142 - 143 - ```ts 144 - // app/routes/login.tsx 145 - 146 - import { ActionFunctionArgs, json } from "@remix-run/node"; 147 - import { Form } from "@remix-run/react"; 148 - import { redirect } from "react-router"; 149 - import { createClient } from "~/utils/supabase.server"; 150 - 151 - export async function action({ request }: ActionFunctionArgs) { 152 - const formData = await request.formData(); 153 - const email = formData.get("email") as string; 154 - const password = formData.get("password") as string; 155 - const { supabase, headers } = createClient(request); 156 - 157 - const { error } = await supabase.auth.signInWithPassword({ 158 - email, 159 - password, 160 - }); 161 - 162 - if (error) { 163 - return json({ message: error.message }, { status: 400 }); 164 - } 165 - return redirect("/", { headers }); 166 - } 167 - 168 - export default function Component() { 169 - return ( 170 - <div> 171 - <h1>Log in</h1> 172 - <Form method="POST"> 173 - <label htmlFor="email">E-mail</label> 174 - <input type="email" name="email" id="email" /> 175 - <label htmlFor="password">Password</label> 176 - <input type="password" name="password" id="password" /> 177 - <button type="submit">Log in</button> 178 - </Form> 179 - </div> 180 - ); 181 - } 182 - ``` 183 - 184 - To verify that everything is working correctly, you can display the information of the currently logged in user. 185 - 186 - ```ts 187 - // app/_index.tsx 188 - 189 - import type { LoaderFunctionArgs, MetaFunction } from "@remix-run/node"; 190 - import { useLoaderData } from "@remix-run/react"; 191 - import { createClient } from "~/utils/supabase.server"; 192 - 193 - export const meta: MetaFunction = () => { 194 - return [ 195 - { title: "New Remix App" }, 196 - { name: "description", content: "Welcome to Remix!" }, 197 - ]; 198 - }; 199 - 200 - export async function loader({ request }: LoaderFunctionArgs) { 201 - const { supabase } = createClient(request); 202 - 203 - const { data } = await supabase.auth.getSession(); 204 - 205 - return { user: data?.session?.user }; 206 - } 207 - 208 - export default function Index() { 209 - const { user } = useLoaderData<typeof loader>(); 210 - return ( 211 - <div> 212 - <h1>Currently logged in user</h1> 213 - <pre>{JSON.stringify(user, null, 2)}</pre> 214 - </div> 215 - ); 216 - } 217 - ``` 218 - 219 - Finally, add a log out button and resource route so that you can sign the user out. 220 - 221 - ```diff 222 - export default function Index() { 223 - const { user } = useLoaderData<typeof loader>(); 224 - return ( 225 - <div> 226 - <h1>Currently logged in user</h1> 227 - <pre>{JSON.stringify(user, null, 2)}</pre> 228 - + <Form method="POST" action="/logout"> 229 - + <button type="submit">Log out</button> 230 - + </Form> 231 - </div> 232 - ); 233 - } 234 - ``` 235 - 236 - ```ts 237 - // app/logout.tsx 238 - 239 - import { ActionFunctionArgs, redirect } from "@remix-run/node"; 240 - import { createClient } from "~/utils/supabase.server"; 241 - 242 - export async function action({ request }: ActionFunctionArgs) { 243 - const { supabase, headers } = createClient(request); 244 - await supabase.auth.signOut(); 245 - return redirect("/login", { headers }); 246 - } 247 - 248 - export const loader = () => redirect("/"); 249 - ``` 250 - 251 - And with that you have fully functioning authentication! 252 - 253 - ## Conclusion 254 - 255 - This is all that is needed to set up authentication, you can explore the other authentication methods if you choose to do so. I have a [repository set up with Github authentication](https://github.com/nulfrost/supabase-remix-ssr) as well as a [live example of supabase auth in action](https://supabase-ssr-remix.vercel.app/).
···
-107
src/data/blog/type-safe-environment-variables-in-remix.mdx
··· 1 - --- 2 - title: Type-safe environment variables in your Remix application using t3-env 3 - description: Quickly and easily add type-safety and runtime validation to your environment variables using the t3-env package. 4 - year: 2024 5 - publishedAt: 2024-04-05 6 - --- 7 - 8 - There are many was you can get type-safe variables in your projects, I've tried a few but recently found the t3-env package which makes it even easier and comes with some nice features as well. I will quickly walk through how to set this up in a Remix project. 9 - 10 - ## Install t3-env 11 - 12 - As of writing this, currently you can't just bring in any validation library so you will need to install `zod` as well. 13 - 14 - ```bash 15 - npm install @t3-oss/env-core zod 16 - ``` 17 - 18 - ## Create a new `env.server.ts` file 19 - 20 - Inside of the `/app` directory, create a file named `env.server.ts` and add the following code: 21 - 22 - ```typescript 23 - // app/env.server.ts 24 - 25 - import { createEnv } from "@t3-oss/env-core"; 26 - import { z } from "zod"; 27 - 28 - export const env = createEnv({ 29 - server: { 30 - DATABASE_URL: z.string().url(), 31 - // whatever else you may need 32 - }, 33 - }); 34 - ``` 35 - 36 - Then, to access the environment variables in your loaders or actions or anywhere you might need them, you would just need to import the `env` object and use it like this: 37 - 38 - ```typescript 39 - import { env } from "~/env.server"; 40 - 41 - export async function loader() { 42 - const dbUrl = env.server.DATABASE_URL; 43 - // do something with the dbUrl 44 - } 45 - ``` 46 - 47 - This is enough to get type-safety for your environment variables, but we can go even further. 48 - 49 - If you want to add runtime validation you just need to add a single property: 50 - 51 - ```typescript 52 - export const env = createEnv({ 53 - // ... 54 - runtimeEnv: process.env, 55 - }); 56 - ``` 57 - 58 - and then you'll need to import the `env.server.ts` file into the `entry.server.tsx` file like so: 59 - 60 - ```diff 61 - // app/entry.server.tsx 62 - 63 - import { PassThrough } from "node:stream"; 64 - 65 - import type { AppLoadContext, EntryContext } from "@remix-run/node"; 66 - import { createReadableStreamFromReadable } from "@remix-run/node"; 67 - import { RemixServer } from "@remix-run/react"; 68 - import { isbot } from "isbot"; 69 - import { renderToPipeableStream } from "react-dom/server"; 70 - + import "~/env.server.ts"; 71 - ``` 72 - 73 - On top of that, if you want to override the default error handler, you can do so like this: 74 - 75 - ```typescript 76 - export const env = createEnv({ 77 - onValidationError: (error) => { 78 - throw new Error( 79 - `Invalid environment configuration, missing the following variables: ${error.errors.map((error) => error.path[0]).join(", ")}`, 80 - ); 81 - }, 82 - // ... 83 - }); 84 - ``` 85 - 86 - Putting that all together you should end up with a file that looks like this: 87 - 88 - ```typescript 89 - // app/env.server.ts 90 - 91 - import { createEnv } from "@t3-oss/env-core"; 92 - import { z } from "zod"; 93 - 94 - export const env = createEnv({ 95 - onValidationError: (error) => { 96 - throw new Error( 97 - `Invalid environment configuration, missing the following variables: ${error.errors.map((error) => error.path[0]).join(", ")}`, 98 - ); 99 - }, 100 - server: { 101 - DATABASE_URL: z.string().url(), 102 - }, 103 - runtimeEnv: process.env, 104 - }); 105 - ``` 106 - 107 - If you want to see all of the features available in the t3-env package, I recommend checking out [the official documentation](https://env.t3.gg/docs/introduction).
···
-57
src/data/blog/what-im-going-to-be-learning-in-2022.mdx
··· 1 - --- 2 - title: What I'm going to be learning in the year 2022 3 - description: Tech / frameworks / languages I'm focusing on in the new year 4 - publishedAt: 2021-12-15 5 - year: 2021 6 - --- 7 - 8 - This year has been a pretty wild ride for me, from not having a job for almost a year then having multiple offers and then now ending up at a place I feel comfortable in. All in all I think I've made good decisions 9 - and I'm looking forward to more growth in the new year! ๐Ÿš€ 10 - 11 - In terms of learning new things I don't feel like I have done that a lot this year. Things in tech move pretty fast and it gets exhausting trying to keep up with everything that is happening 12 - but for the new year I want to change that. I have an itch to build things and try out all the stuff I've read about in the past year, and maybe actually follow through with finishing my side projects. Okay 13 - who are we kidding that won't change. 14 - 15 - For real though, I want to take my knowledge to the next level. I struggle with figuring out where I stand in terms of experience, I'm not quite a junior but also I feel 16 - my skills aren't there yet to consider myself a senior developer. I know labels don't really matter much but for myself I'd just like to figure out where I am. So, in the new year I'm going to reinforce 17 - the skills I already have and tackle some new things. Here's what I plan to do. 18 - 19 - ## New languages 20 - 21 - I don't really have much for this section, I've been learning Go on and off for probably about a year now but I haven't really applied my learning. I hope to pair it with my learning of cloud technologies. Also I guess rust is all the rage now so maybe that will be worth while to learn, who knows. 22 - 23 - ## Open source 24 - 25 - One thing I'd really love to do is get involved with the open source commmunity whether it be something I make or contributing to another project. This is another thing I have fears about when it comes to being judged harshly for maybe not doing things the correct way. Also a lot of open source projects look pretty daunting. 26 - I know the contribution doesn't have to be code all the time though so maybe I'll focus my efforts on improving documentation first before trying to contribute some code. 27 - 28 - ## Getting really good at CSS 29 - 30 - I know people like to joke about CSS and say it's really hard to work with and while there might be some truth to that I think it's extremely worth while as a frontend developer to be really good at it. You 31 - can definitely get away with knowing the very basic stuff but I've seen some amazing website designs from people on twitter and I'd love to be able to get to that level. I did purchase Josh Comeau's css <a href="https://css-for-js.dev/" target="_blank" rel="noopener noreferrer" aria-label="Visit CSS for JS devs, opens in a new tab">course</a> back 32 - when it was in preview for a good price. I got through most of the sections but work got in the way so I didn't finish it. I plan on starting over from the beginning and finishing it. 33 - 34 - ## Head in the clouds 35 - 36 - After completing the <abbr title="Certified Cloud Practitioner">CCP</abbr> exam last year I started looking into possibly studying for the solutions architect exam for <abbr title="Amazon Web Services">AWS</abbr> next. It is slightly harder than the <abbr title="Certified Cloud Practitioner">CCP</abbr> exam but I have confidence that 37 - with enough preparation I will do fine. I do love learning about cloud technologies 38 - and this the career path I will likely end up going to sometime in the future. Kubernetes 39 - is another thing I tinkered with a bit this year which I plan on going back to and 40 - doing a deeper dive on also. Besides that I want to practice building out mock environments 41 - for small to medium business scenarios for fun and for practice. 42 - 43 - ## Frameworks on Frameworks 44 - 45 - As much as I love Next.js it would be foolish for me to not give kudos to the team behind Remix. My first impressions with it have been extremely positive and I want to try building some side projects with 46 - it as soon as possible! That isn't to say that Vercel hasn't been making some big moves this year either. Some new things introduced such as middleware, URL imports (holy shit), the new rust compiler and alpha support for React server components 47 - has me extremely excited for whats to come next year. Also them going on a hiring spree and picking up some of the brightest minds in tech seems pretty promising too. 48 - 49 - ## Shipping more 50 - 51 - The one thing I love about web development is how easy it is to get started with a project and share it with the world within a matter of minutes. I love the feeling of completing a project (which happens sometimes), hooking it up to a hosting site and then finding all of the bugs you missed during developement. There are 52 - definitely a ton of ideas I'd like to try shipping this year. A lot of this inspiration comes from watching people on twitter ship their side projects, sometimes they fail but they are quick to move onto something else and take the knowledge they've gained from a previous project 53 - and apply it to something new. I think what scared me before was the fear of failing or receiving harsh feedback on the ideas I have but I'm not going to let that stop me in the new year. 2022 is the year of shipping more! 54 - 55 - ## Conclusion 56 - 57 - I've definitely outlined a lot of stuff I want to do in the new year but I don't think it's impossible for me to complete. It's just a matter of creating a plan and sticking to it. I hope by this time next year that I've gained a ton of knowledge and completed all the objectives I've laid out in this post.
···
-12
src/data/blog/you-dont-have-to-code-all-the-time.mdx
··· 1 - --- 2 - title: You don't have to code all the time 3 - description: Talking about burnout and how I recovered 4 - publishedAt: 2021-03-18 5 - year: 2021 6 - --- 7 - 8 - Honestly, this is something that I have to remind myself all the time. There's always this voice in the back of my head that tells me I'm wasting time if I'm not practicing or reading about the hip new javascript library that just came out. Being self-taught I always feel I lack a ton of skills that people that have a degree in computer science have and feel very insecure when I'm stuck on a task at work which makes me feel very dumb. 9 - 10 - I know it isn't true and there are endless examples of people that don't have a degree in CS that are extremely smart and are doing exceptionally well in the field and I guess this is something I just need to get over. Mostly what I think it is, is burnout from trying to get _in_ to the software development industry. I have a tech, non-CS background but worked manual labor jobs after college because I was still unsure of what I wanted to do career wise. Software / web development was something I always came back to because at the time it was really fun and I liked creating cool things in the browser. Two years ago I started studying endlessly to get a job as a frontend developer and would use any free time I had to learn. While it was very tiring at times and I would get frustrated I still enjoyed it and still do. 11 - 12 - I did end up getting a job as an intern last year but I think at that point the burnout had already set in. I did enjoy working at the place I was hired at but I would be really hard on myself when I couldn't do simple things and would have mini breakdowns some days. While I still love web development I think I need to turn my brain off for longer breaks and just relax a bit. I enjoy working hard but not to the point where I feel depressed all the time. If I have any advice for people that are in the same situation I was in I'd just say step away from the computer and do things that make you happy. No job / profession is worth driving yourself insane.
···
-6
src/env.d.ts
··· 1 - /// <reference path="../.astro/types.d.ts" /> 2 - type Runtime = import("@astrojs/cloudflare").Runtime<Env>; 3 - 4 - declare namespace App { 5 - interface Locals extends Runtime {} 6 - }
···
src/images/dane.png

This is a binary file and will not be displayed.

-27
src/layouts/BlogLayout.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - description: string; 5 - } 6 - 7 - import Meta from "@components/Meta.astro"; 8 - import Navbar from "@components/Navbar.astro"; 9 - const { title, description } = Astro.props; 10 - --- 11 - 12 - <!doctype html> 13 - <html lang="en" class="font-sans" dir="ltr"> 14 - <Meta title={title} description={description} /> 15 - <body> 16 - <Navbar /> 17 - <main class="max-w-5xl px-3 mx-auto xl:px-0" id="maincontent"> 18 - <h1 class="mt-4 mb-1 text-4xl font-bold"> 19 - {title} 20 - </h1> 21 - <p class="mb-4 text-gray-500">{description}</p> 22 - <div class="pb-6 prose max-w-none"> 23 - <slot /> 24 - </div> 25 - </main> 26 - </body> 27 - </html>
···
-24
src/layouts/Layout.astro
··· 1 - --- 2 - import Meta from "@components/Meta.astro"; 3 - import Navbar from "@components/Navbar.astro"; 4 - interface Props { 5 - title: string; 6 - description: string; 7 - } 8 - 9 - const { title, description } = Astro.props; 10 - --- 11 - 12 - <!doctype html> 13 - <html lang="en" class="font-sans" dir="ltr"> 14 - <Meta title={title} description={description} /> 15 - <body class="bg-snes-light-gray"> 16 - <Navbar /> 17 - <main 18 - class="max-w-5xl px-3 mx-auto xl:px-0 pb-5 md:pb-0" 19 - id="maincontent" 20 - > 21 - <slot /> 22 - </main> 23 - </body> 24 - </html>
···
-99
src/pages/blogs/[blog].astro
··· 1 - --- 2 - import BlogLayout from "@layouts/BlogLayout.astro"; 3 - import { render } from "astro:content"; 4 - import { getCollection, getEntry, type CollectionEntry } from "astro:content"; 5 - 6 - export const prerender = true; 7 - 8 - export async function getStaticPaths() { 9 - const documents = await getCollection("documents"); 10 - const blogs = await getCollection("blogs"); 11 - 12 - // Combine both collections for static paths 13 - const allPosts = [ 14 - ...documents.map((document) => ({ 15 - params: { blog: document.id }, 16 - props: { collection: "documents" }, 17 - })), 18 - ...blogs.map((blog) => ({ 19 - params: { blog: blog.id }, 20 - props: { collection: "blogs" }, 21 - })), 22 - ]; 23 - 24 - return allPosts; 25 - } 26 - 27 - // Try to get the entry from both collections 28 - let entry: CollectionEntry<"documents"> | CollectionEntry<"blogs"> | undefined = 29 - await getEntry("documents", Astro.params.blog); 30 - 31 - if (!entry) { 32 - entry = await getEntry("blogs", Astro.params.blog); 33 - } 34 - 35 - if (!entry) { 36 - return Astro.rewrite("/404"); 37 - } 38 - 39 - const { Content } = await render(entry); 40 - --- 41 - 42 - <script> 43 - const codeBlock = document.querySelectorAll("pre"); 44 - const copyButton = document.createElement("button"); 45 - copyButton.textContent = "Copy code to clipboard"; 46 - codeBlock.forEach((block) => { 47 - block?.parentNode?.insertBefore(copyButton.cloneNode(true), block); 48 - }); 49 - 50 - const copyButtons = document.querySelectorAll("button"); 51 - 52 - copyButtons.forEach((button) => { 53 - button.addEventListener("click", (event) => { 54 - // @ts-ignore 55 - const code = event.target.nextElementSibling.textContent; 56 - setTimeout(() => { 57 - // @ts-ignore 58 - event.target.textContent = "Copied!"; 59 - setTimeout(() => { 60 - // @ts-ignore 61 - event.target.textContent = "Copy code to clipboard"; 62 - }, 2000); 63 - }, 0); 64 - navigator.clipboard.writeText(code); 65 - }); 66 - }); 67 - </script> 68 - 69 - <BlogLayout {...entry!.data}> 70 - <Content /> 71 - </BlogLayout> 72 - 73 - <style is:global> 74 - code { 75 - position: relative; 76 - counter-reset: step; 77 - counter-increment: step 0; 78 - } 79 - 80 - code .line::before { 81 - content: counter(step); 82 - counter-increment: step; 83 - width: 1rem; 84 - margin-right: 1.5rem; 85 - display: inline-block; 86 - text-align: right; 87 - color: rgba(115, 138, 148, 0.2); 88 - } 89 - 90 - pre:hover .line::before { 91 - color: rgba(115, 138, 148, 0.5); 92 - } 93 - 94 - button { 95 - font-size: 0.8rem; 96 - text-align: right; 97 - width: 100%; 98 - } 99 - </style>
···
-46
src/pages/blogs/index.astro
··· 1 - --- 2 - import Layout from "@layouts/Layout.astro"; 3 - import BlogPost from "@components/BlogPost.astro"; 4 - import { getCollection } from "astro:content"; 5 - 6 - const blogs = await getCollection("blogs"); 7 - const documents = await getCollection("documents"); 8 - 9 - // Combine both collections and sort by publishedAt 10 - const allPosts = [ 11 - ...blogs.map((blog) => ({ 12 - ...blog, 13 - data: { 14 - ...blog.data, 15 - // Ensure publishedAt is a Date object for consistent sorting 16 - publishedAt: new Date(blog.data.publishedAt), 17 - }, 18 - })), 19 - ...documents.map((document) => ({ 20 - ...document, 21 - data: { 22 - ...document.data, 23 - // Ensure publishedAt is a Date object for consistent sorting 24 - publishedAt: new Date(document.data.publishedAt), 25 - }, 26 - })), 27 - ].sort((a, b) => b.data.publishedAt.valueOf() - a.data.publishedAt.valueOf()); 28 - --- 29 - 30 - <Layout 31 - title="Dane's Space | Blog" 32 - description="Where I write about things I've learned or found interesting" 33 - > 34 - <h1 class="mt-4 mb-4 text-2xl font-bold text-snes-black">Blog</h1> 35 - <ul class="space-y-4"> 36 - { 37 - allPosts.map((post) => ( 38 - <BlogPost 39 - title={post.data.title} 40 - slug={post.id} 41 - publishedAt={post.data.publishedAt.toISOString()} 42 - /> 43 - )) 44 - } 45 - </ul> 46 - </Layout>
···
-154
src/pages/index.astro
··· 1 - --- 2 - import daneImage from "../images/dane.png"; 3 - import Layout from "@layouts/Layout.astro"; 4 - import Link from "@components/Link.astro"; 5 - 6 - import { getCollection } from "astro:content"; 7 - const documents = await getCollection("documents"); 8 - const blogs = await getCollection("blogs"); 9 - 10 - // Combine both collections and sort by publishedAt 11 - const allPosts = [ 12 - ...blogs.map((blog) => ({ 13 - ...blog, 14 - data: { 15 - ...blog.data, 16 - publishedAt: new Date(blog.data.publishedAt), 17 - }, 18 - })), 19 - ...documents.map((document) => ({ 20 - ...document, 21 - data: { 22 - ...document.data, 23 - publishedAt: new Date(document.data.publishedAt), 24 - }, 25 - })), 26 - ] 27 - .sort((a, b) => b.data.publishedAt.valueOf() - a.data.publishedAt.valueOf()) 28 - .slice(0, 5); // Show only the 5 most recent 29 - --- 30 - 31 - <Layout 32 - title="Dane's Space | Home" 33 - description="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies." 34 - > 35 - <h1 class="text-2xl font-bold mb-4">Dane</h1> 36 - <div class="mb-4 grid xl:grid-cols-2 gap-4"> 37 - <div> 38 - <div> 39 - <img 40 - src={daneImage.src} 41 - height="384px" 42 - width="288px" 43 - alt="Dane staring down at his camera while on a boat" 44 - class="h-full w-sm rounded-lg border border-gray-300 mb-2 h-[288px] w-[384px]" 45 - /> 46 - </div> 47 - <div> 48 - <p>He/They</p> 49 - <p>30 years old</p> 50 - <p>Toronto, ONTARIO, Canada</p> 51 - </div> 52 - </div> 53 - <div> 54 - <h2 class="font-bold mb-1">Dane&apos;s latest blog entries</h2> 55 - <ul> 56 - { 57 - allPosts.map((post) => ( 58 - <li class="mb-2"> 59 - <p class="mb-0 max-w-[60ch]"> 60 - {post.data.title} 61 - <Link 62 - href={`/blogs/${post.id}`} 63 - extraClasses="text-sm font-bold ml-1" 64 - > 65 - (view more) 66 - </Link> 67 - </p> 68 - <span class="text-gray-500 text-sm"> 69 - posted on{" "} 70 - <time 71 - datetime={post.data.publishedAt.toISOString()} 72 - > 73 - {new Intl.DateTimeFormat("en-US").format( 74 - post.data.publishedAt, 75 - )} 76 - </time> 77 - </span> 78 - </li> 79 - )) 80 - } 81 - </ul> 82 - <Link href="/blogs" extraClasses="font-bold" 83 - >View All Blog Entries</Link 84 - > 85 - </div> 86 - </div> 87 - <div class="grid xl:grid-cols-2"> 88 - <div class="border-2 border-blue-400 xl:w-[400px] h-min mb-4 xl:mb-0"> 89 - <h2 class="bg-blue-400 font-bold text-white px-2 py-0.5"> 90 - Contacting Dane 91 - </h2> 92 - <ul class="px-2 py-0.5"> 93 - <li class="flex items-center gap-1"> 94 - <div class="i-lucide-mailbox"></div> 95 - <Link 96 - href="mailto:khadane.miller@gmail.com?subject=Hey%20There" 97 - > 98 - Send Message 99 - </Link> 100 - </li> 101 - <li class="flex items-center gap-1"> 102 - <div class="i-lucide-square-user"></div> 103 - <Link 104 - href="https://www.linkedin.com/in/dmiller94/" 105 - target="_blank" 106 - rel="noopener noreferrer" 107 - > 108 - Add on LinkedIn 109 - </Link> 110 - </li> 111 - <li class="flex items-center gap-1"> 112 - <div class="i-lucide-at-sign"></div> 113 - <Link 114 - href="https://www.threads.net/@dane__m" 115 - target="_blank" 116 - rel="noopener noreferrer" 117 - > 118 - Follow on Threads 119 - </Link> 120 - </li> 121 - <li class="flex items-center gap-1"> 122 - <div class="i-tabler-brand-bluesky"></div> 123 - <Link 124 - href="https://bsky.app/profile/dane.computer" 125 - target="_blank" 126 - rel="noopener noreferrer" 127 - > 128 - Follow on BlueSky 129 - </Link> 130 - </li> 131 - </ul> 132 - </div> 133 - <div> 134 - <h2 135 - class="bg-orange-200 font-bold text-orange-500 px-2 py-0.5 mb-2" 136 - > 137 - Dane's Blurbs 138 - </h2> 139 - <h3 class="text-orange-500 font-bold">About me:</h3> 140 - <p class="mb-4"> 141 - I'm a developer from Toronto interested in making <i>cool</i> and 142 - <span class="font-bold">accessible</span> websites for everyone. 143 - </p> 144 - <p> 145 - I got my start in programming through video games and just being 146 - very curious about how things worked. Eventually that turned in 147 - to developing websites which I am still doing today but I have 148 - interests in other areas such as DevOps and Game Development. I 149 - also try to blog about things I've learned when I remember to do 150 - so. 151 - </p> 152 - </div> 153 - </div> 154 - </Layout>
···
-11
tsconfig.json
··· 1 - { 2 - "extends": "astro/tsconfigs/strict", 3 - "compilerOptions": { 4 - "baseUrl": ".", 5 - "paths": { 6 - "@components/*": ["src/components/*"], 7 - "@layouts/*": ["src/layouts/*"] 8 - }, 9 - "types": ["@cloudflare/workers-types/2023-07-01"] 10 - } 11 - }
···
-22
uno.config.ts
··· 1 - import { 2 - defineConfig, 3 - presetWebFonts, 4 - transformerVariantGroup, 5 - presetUno, 6 - presetIcons, 7 - presetTypography, 8 - } from "unocss"; 9 - 10 - export default defineConfig({ 11 - presets: [ 12 - presetUno(), 13 - presetWebFonts({ 14 - fonts: { 15 - sans: "Asap:100,300,400,600,700", 16 - }, 17 - }), 18 - presetIcons(), 19 - presetTypography(), 20 - ], 21 - transformers: [transformerVariantGroup()], 22 - });
···
+16
wrangler.jsonc
···
··· 1 + /** 2 + * For more details on how to configure Wrangler, refer to: 3 + * https://developers.cloudflare.com/workers/wrangler/configuration/ 4 + */ 5 + { 6 + "$schema": "node_modules/wrangler/config-schema.json", 7 + "name": "dane-computer", 8 + "compatibility_date": "2025-12-17", 9 + "assets": { 10 + // The path to the directory containing the `index.html` file to be served at `/` 11 + "directory": "./public" 12 + }, 13 + "observability": { 14 + "enabled": true 15 + } 16 + }
-9
wrangler.toml
··· 1 - #:schema node_modules/wrangler/config-schema.json 2 - name = "dane-computer" 3 - compatibility_date = "2024-11-06" 4 - compatibility_flags = ["nodejs_compat_v2"] 5 - main = "./dist/_worker.js/index.js" 6 - assets = { directory = "./dist", binding = "ASSETS" } 7 - 8 - [observability] 9 - enabled = true
···