├── .gitignore ├── src ├── assets │ ├── bgm.mp3 │ ├── favicon.ico │ ├── sound_1.mp3 │ ├── sound_2.mp3 │ └── WoodenFish.svg ├── App.module.css ├── components │ ├── Volume.tsx │ ├── USwitch │ │ └── index.module.css │ ├── AresChang.tsx │ ├── USwitch.tsx │ ├── Settings.tsx │ ├── SoundEffect.tsx │ ├── OtherOptions.tsx │ └── Slider.tsx ├── index.tsx ├── composables │ ├── useConfig.ts │ └── useSound.ts ├── store │ └── index.ts └── App.tsx ├── img └── Snipaste_2022-11-21_19-44-23.png ├── tsconfig.json ├── shims.d.ts ├── index.html ├── package.json ├── uno.config.ts ├── vite.config.ts ├── LICENSE ├── README.md ├── auto-imports.d.ts └── pnpm-lock.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist -------------------------------------------------------------------------------- /src/assets/bgm.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ares-Chang/wooden-fish/HEAD/src/assets/bgm.mp3 -------------------------------------------------------------------------------- /src/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ares-Chang/wooden-fish/HEAD/src/assets/favicon.ico -------------------------------------------------------------------------------- /src/assets/sound_1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ares-Chang/wooden-fish/HEAD/src/assets/sound_1.mp3 -------------------------------------------------------------------------------- /src/assets/sound_2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ares-Chang/wooden-fish/HEAD/src/assets/sound_2.mp3 -------------------------------------------------------------------------------- /img/Snipaste_2022-11-21_19-44-23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ares-Chang/wooden-fish/HEAD/img/Snipaste_2022-11-21_19-44-23.png -------------------------------------------------------------------------------- /src/App.module.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.font.im/css?family=Pacifico|Roboto'); 2 | 3 | .code { 4 | @apply color-black bg-#444 text-0.5rem py-0.5 px-1.4 border-rd-1.3 m-2; 5 | } 6 | -------------------------------------------------------------------------------- /src/components/Volume.tsx: -------------------------------------------------------------------------------- 1 | export function Volume() { 2 | return ( 3 |
4 |
背景音量
5 |
e.stopPropagation()}> 6 | 7 |
8 |
9 | ) 10 | } 11 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | /* @refresh reload */ 2 | import { render } from 'solid-js/web' 3 | 4 | import 'uno.css' 5 | import '@unocss/reset/tailwind.css' 6 | 7 | import App from './App' 8 | 9 | render(() => , document.getElementById('root') as HTMLElement) 10 | -------------------------------------------------------------------------------- /src/components/USwitch/index.module.css: -------------------------------------------------------------------------------- 1 | .slider { 2 | @apply appearance-none w-60px h-30px bg-gray rd-8 cursor-pointer relative; 3 | } 4 | 5 | .slider:before { 6 | @apply content-empty inline-block w-50% h-full rd-50% bg-white absolute left-0; 7 | } 8 | 9 | .slider:checked { 10 | @apply bg-green; 11 | } 12 | .slider:checked:before { 13 | @apply left-auto right-0; 14 | } 15 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strict": true, 4 | "target": "ESNext", 5 | "module": "ESNext", 6 | "moduleResolution": "node", 7 | "allowSyntheticDefaultImports": true, 8 | "esModuleInterop": true, 9 | "jsx": "preserve", 10 | "jsxImportSource": "solid-js", 11 | "types": ["vite/client"], 12 | "noEmit": true, 13 | "isolatedModules": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/components/AresChang.tsx: -------------------------------------------------------------------------------- 1 | export function AresChang() { 2 | return ( 3 | 4 | 12 | Ares Chang 13 | 14 | 15 | ) 16 | } 17 | -------------------------------------------------------------------------------- /src/components/USwitch.tsx: -------------------------------------------------------------------------------- 1 | import css from './USwitch/index.module.css' 2 | 3 | export function USwitch(props: { 4 | checked: boolean 5 | onChange: (checked: boolean) => void 6 | }) { 7 | return ( 8 |
9 | props.onChange(e.target.checked)} 14 | /> 15 |
16 | ) 17 | } 18 | -------------------------------------------------------------------------------- /shims.d.ts: -------------------------------------------------------------------------------- 1 | import type { AttributifyAttributes } from '@unocss/preset-attributify' 2 | 3 | /** 4 | * 解决部分 Unocss Attributes 模式下 TypeScript 检查报错问题 5 | * 解决方法 {@link https://github.com/unocss/unocss/tree/main/packages/preset-attributify/#solidjs} 6 | * 问题链接 {@link https://github.com/unocss/unocss/issues/742} 7 | */ 8 | declare module 'solid-js' { 9 | namespace JSX { 10 | interface HTMLAttributes extends AttributifyAttributes {} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/components/Settings.tsx: -------------------------------------------------------------------------------- 1 | export function Settings(props: { onClose: () => void }) { 2 | return ( 3 |
16 | 17 | 18 | 19 |
20 | ) 21 | } 22 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | WoodenFish 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "vite", 5 | "build": "vite build", 6 | "serve": "vite preview" 7 | }, 8 | "license": "MIT", 9 | "devDependencies": { 10 | "@iconify-json/carbon": "^1.1.16", 11 | "@types/howler": "^2.2.7", 12 | "@unocss/preset-attributify": "^0.51.4", 13 | "@unocss/reset": "^0.51.4", 14 | "typescript": "^5.0.4", 15 | "unocss": "^0.51.4", 16 | "unplugin-auto-import": "^0.15.3", 17 | "vite": "^4.2.2", 18 | "vite-plugin-solid": "^2.7.0" 19 | }, 20 | "dependencies": { 21 | "howler": "^2.2.3", 22 | "solid-js": "^1.7.3" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /uno.config.ts: -------------------------------------------------------------------------------- 1 | import { 2 | defineConfig, 3 | presetAttributify, 4 | presetIcons, 5 | presetUno, 6 | presetWebFonts, 7 | transformerDirectives, 8 | transformerVariantGroup 9 | } from 'unocss' 10 | 11 | export default defineConfig({ 12 | shortcuts: [], 13 | presets: [ 14 | presetUno(), 15 | presetAttributify(), 16 | presetIcons({ 17 | scale: 1.2, 18 | warn: true 19 | }), 20 | presetWebFonts({ 21 | fonts: { 22 | sans: 'DM Sans', 23 | serif: 'DM Serif Display', 24 | mono: 'DM Mono' 25 | } 26 | }) 27 | ], 28 | transformers: [transformerDirectives(), transformerVariantGroup()] 29 | }) 30 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import solidPlugin from 'vite-plugin-solid' 3 | import Unocss from 'unocss/vite' 4 | import AutoImport from 'unplugin-auto-import/vite' 5 | 6 | export default defineConfig({ 7 | plugins: [ 8 | solidPlugin(), 9 | /** @see https://github.com/antfu/unplugin-auto-import */ 10 | AutoImport({ 11 | imports: ['solid-js'], 12 | dts: true, 13 | dirs: ['./src/components'], 14 | }), 15 | /** 16 | * @see https://github.com/antfu/unocss 17 | * see uno.config.ts for config 18 | */ 19 | Unocss() 20 | ], 21 | server: { 22 | port: 3000 23 | }, 24 | build: { 25 | target: 'esnext' 26 | } 27 | }) 28 | -------------------------------------------------------------------------------- /src/components/SoundEffect.tsx: -------------------------------------------------------------------------------- 1 | import { useSound } from '../composables/useSound' 2 | import { store, setStore } from '../store' 3 | 4 | export function SoundEffect() { 5 | return ( 6 |
7 |
8 | 音效选择 9 |
10 |
11 | {useSound.HowlList.map((_, index) => { 12 | return ( 13 |
setStore('sound', index)}> 19 | 音效{index + 1} 20 |
21 | ) 22 | })} 23 |
24 |
25 | ) 26 | } 27 | -------------------------------------------------------------------------------- /src/components/OtherOptions.tsx: -------------------------------------------------------------------------------- 1 | import { store, setStore } from '../store' 2 | 3 | export function OtherOptions() { 4 | const [tips, setStips] = createSignal('') 5 | createEffect(() => setStips(store.isCount ? '开启' : '关闭')) 6 | 7 | function setCacheSetting(checked: boolean) { 8 | setStore('isCount', checked) 9 | // alert(`缓存功能已${tips()}`) 10 | } 11 | 12 | function clearCache() { 13 | setStore('count', 0) 14 | alert('叮 ~ 功德已清空!') 15 | } 16 | 17 | return ( 18 |
19 |
20 | 其它设置 21 |
22 |
23 |
e.stopPropagation()}> 30 | 缓存: 31 | 32 |
33 |
34 |
35 | 清除缓存 36 |
37 |
38 |
39 |
40 | ) 41 | } 42 | -------------------------------------------------------------------------------- /src/composables/useConfig.ts: -------------------------------------------------------------------------------- 1 | export interface UseConfigOptions { 2 | volume: number 3 | sound: number 4 | count: number 5 | isCount: boolean 6 | } 7 | /** 8 | * 初始化配置 9 | */ 10 | const initConfigOptions: UseConfigOptions = { 11 | volume: 30, 12 | sound: 0, 13 | count: 0, 14 | isCount: true // 是否缓存 count 15 | } 16 | 17 | /** 18 | * 初始化 config 19 | */ 20 | function initConfig() { 21 | localStorage.setItem('config', JSON.stringify(initConfigOptions)) 22 | } 23 | 24 | /** 25 | * 获取配置 config,如初次使用将初始化配置 26 | * @returns 配置项 27 | */ 28 | export function useGetConfig(): UseConfigOptions { 29 | if (!localStorage.getItem('config')) initConfig() 30 | return { 31 | ...initConfigOptions, // 防止添加字段后无法适配问题 32 | ...JSON.parse(localStorage.getItem('config') || '{}') 33 | } 34 | } 35 | 36 | /** 37 | * 设置本地存储 38 | * @param key 属性名 39 | * @param val 属性值 40 | */ 41 | export function useSetConfig(key: string, val: any) { 42 | localStorage.setItem( 43 | 'config', 44 | JSON.stringify({ 45 | ...useGetConfig(), 46 | [key]: val 47 | }) 48 | ) 49 | } 50 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022-PRESENT Chang 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/composables/useSound.ts: -------------------------------------------------------------------------------- 1 | import { Howl } from 'howler' 2 | import BGMUrl from '../assets/bgm.mp3' 3 | import SoundUrl_1 from '../assets/sound_1.mp3' 4 | import SoundUrl_2 from '../assets/sound_2.mp3' 5 | 6 | /** 7 | * 创建背景音乐 8 | * @param volume 音量 9 | * @returns Howl Object 10 | */ 11 | export function useCreateBGM(volume: number) { 12 | return new Howl({ 13 | src: [BGMUrl], 14 | html5: true, 15 | loop: true, 16 | volume 17 | }) 18 | } 19 | 20 | /** 21 | * 注册点击音效 22 | */ 23 | export class useSound { 24 | /** 25 | * 音效列表 26 | */ 27 | static HowlList = [SoundUrl_1, SoundUrl_2] 28 | 29 | /** 30 | * Howl 音效对象 31 | */ 32 | howl: Howl 33 | 34 | constructor(index: number) { 35 | this.howl = new Howl({ 36 | src: [useSound.HowlList[index]] 37 | }) 38 | } 39 | 40 | /** 41 | * 更改点击音效 42 | * @param index 音效下标 43 | */ 44 | changeHowl(index: number) { 45 | this.howl = new Howl({ 46 | src: [useSound.HowlList[index]] 47 | }) 48 | } 49 | 50 | /** 51 | * howl 播放映射方法 52 | */ 53 | play() { 54 | if (!this.howl) return 55 | this.howl.play() 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/assets/WoodenFish.svg: -------------------------------------------------------------------------------- 1 | 7 | 8 | 13 | 14 | -------------------------------------------------------------------------------- /src/store/index.ts: -------------------------------------------------------------------------------- 1 | import { 2 | useGetConfig, 3 | useSetConfig, 4 | UseConfigOptions 5 | } from '../composables/useConfig' 6 | 7 | /** 8 | * 不需要缓存的字段类型 9 | */ 10 | interface StoreProps extends UseConfigOptions { 11 | [key: string]: any 12 | } 13 | 14 | const [configData, setConfigData] = createSignal(useGetConfig()) // 本地缓存数据 15 | const [cacheList, setCacheList] = createSignal(getCacheList(configData())) 16 | 17 | /** 18 | * 获取需要缓存的字段名称 19 | * @param configData 缓存配置项 20 | * @returns 需要缓存的字段名称 21 | */ 22 | function getCacheList(configData: StoreProps) { 23 | const keyList = Object.keys(configData) 24 | const judgeList = keyList.filter(item => item.includes('is')) // 获取所有包含 isXxx 字段 25 | const noCacheList = judgeList 26 | .filter(item => !configData[item]) 27 | .map(item => item.substring(2).replace(/^\S/, s => s.toLowerCase())) // 本地不缓存 28 | 29 | return keyList.filter(item => !noCacheList.includes(item)) 30 | } 31 | 32 | /** 33 | * 获取缓存并初始化 store 存储 34 | */ 35 | export const [store, setStore] = createStore({ 36 | ...configData() 37 | }) 38 | 39 | /** 40 | * 数据修改后,同步至 localStorage 41 | */ 42 | createEffect(() => { 43 | cacheList().forEach(key => { 44 | useSetConfig(key, store[key]) 45 | // 判断是否缓存属性产生改变,如果改变,触发 cacheList 重新获取 46 | if (key.includes('is') && store[key] !== configData()[key]) { 47 | setConfigData(useGetConfig()) 48 | setCacheList(getCacheList(configData())) 49 | } 50 | }) 51 | }) 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🐟WoodenFish 2 | 3 |

4 | Start Game 5 |

6 | 7 | [![WoodenFish](./img/Snipaste_2022-11-21_19-44-23.png)](https://wfish.areschang.top/) 8 | 9 | > 佛曰:“110010101110010 101000111111011 100111000000000 100111000000111 100111000001011 101110000110001 101001111101111 100111011100101 101001111101100 101010100100100 111100101011110 1001111110011001 101010011011111 1111110” 10 | 11 | ## 信仰快餐 12 | 13 | 敲电子木鱼,信虚拟神佛。你说我不虔诚?看我 99999+ 功德法池。 14 | 15 | 快餐化信仰,无关立场。是兄弟就点我,助我立场成佛! 16 | 17 | ## 灵感来源 18 | 19 | 借 埃隆·马斯克 优秀产品思想 20 | "copy [EWoodenFish](https://github.com/liuxiyuan-2022/EWoodenFish)" 21 | 22 | 感谢源作者开源出优秀 idea 23 | 24 | ## 技术栈 25 | 26 | - ⚡️[SolidJS](https://github.com/solidjs/solid), [Vite 3](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/), [ESBuild](https://github.com/evanw/esbuild) - 快快快快! 27 | 28 | - 🎨[UnoCSS](https://github.com/unocss/unocss) - 高性能且极具灵活性的即时原子化 CSS 引擎 29 | 30 | - 📦[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import) - 直接使用 Composition API 等,无需导入 31 | 32 | - 😃 [各种图标集为你所用](https://github.com/antfu/unocss/tree/main/packages/preset-icons) 33 | 34 | - 🎧[Howler](https://github.com/goldfire/howler.js) - 现代网络音频库 35 | 36 | - 🦾 [TypeScript](https://github.com/microsoft/TypeScript), 超强壮 37 | 38 | - ☁️ 零配置部署 [Netlify](https://www.netlify.com/) 39 | 40 | 初次尝试使用 [SolidJS](https://www.solidjs.com/) 开发,希望生态起来越完善。 41 | 42 | ## 现在开始吧! 43 | 44 | 克隆到本地 45 | 46 | ```shell 47 | $ git clone https://github.com/Ares-Chang/wooden-fish.git 48 | $ cd wooden-fish 49 | $ npm install 50 | $ npm run dev 51 | ``` 52 | 53 | **强推一个小工具 [ni](https://github.com/antfu/ni) ,用上之后爱不释手。** 54 | 55 | ```shell 56 | $ git clone git@github.com:Ares-Chang/wooden-fish.git 57 | $ cd wooden-fish 58 | $ ni 59 | $ nr dev 60 | ``` 61 | -------------------------------------------------------------------------------- /src/components/Slider.tsx: -------------------------------------------------------------------------------- 1 | import { store, setStore } from '../store' 2 | 3 | let line: HTMLDivElement 4 | let point: HTMLDivElement 5 | 6 | export function Silder() { 7 | let min = 0 8 | let max = 0 9 | let [moveX, setMoveX] = createSignal(0) 10 | /** 11 | * 鼠标按下事件 12 | * @param e 13 | */ 14 | function mouseDown(e: MouseEvent | TouchEvent) { 15 | // 绑定鼠标移动及松开事件 16 | document.addEventListener('touchmove', mouseMove) 17 | document.addEventListener('mousemove', mouseMove) 18 | document.addEventListener('touchend', mouseUp) 19 | document.addEventListener('mouseup', mouseUp) 20 | } 21 | 22 | /** 23 | * 鼠标移动事件 24 | * @param e 25 | */ 26 | function mouseMove(e: MouseEvent | TouchEvent) { 27 | let val = 0 28 | if (e.type === 'mousemove') val = (e as MouseEvent)?.clientX 29 | else if (e.type === 'touchmove') 30 | val = (e as TouchEvent)?.targetTouches[0]?.clientX 31 | 32 | if (val <= 0) val = 0 33 | else if (val >= max) val = max 34 | setValue(val) 35 | } 36 | 37 | /** 38 | * 鼠标松开事件 39 | * @param e 40 | */ 41 | function mouseUp(e: MouseEvent | TouchEvent) { 42 | // 解除鼠标移动及松开事件绑定 43 | document.removeEventListener('touchmove', mouseMove) 44 | document.removeEventListener('mousemove', mouseMove) 45 | document.removeEventListener('touchend', mouseUp) 46 | document.removeEventListener('mouseup', mouseUp) 47 | } 48 | 49 | // 组件挂载后 50 | onMount(() => { 51 | // 获取最大及最小边界范围 52 | min = line.offsetLeft 53 | max = line.offsetWidth + min 54 | setMoveX(store.volume) 55 | }) 56 | 57 | /** 58 | * 设置音箱位置及百分比值 59 | * @param num 当前位置数值 60 | */ 61 | function setValue(num: number) { 62 | // 目标值 / 总值 * 100 = 百分比 63 | const val = Math.trunc((num / max) * 100) 64 | 65 | setMoveX(val) // 设置进度 66 | setStore('volume', val) 67 | } 68 | 69 | return ( 70 |
71 |
81 |
94 |
95 |
96 | ) 97 | } 98 | -------------------------------------------------------------------------------- /auto-imports.d.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | /* prettier-ignore */ 3 | // @ts-nocheck 4 | // Generated by unplugin-auto-import 5 | export {} 6 | declare global { 7 | const AresChang: typeof import('./src/components/AresChang')['AresChang'] 8 | const Dynamic: typeof import('solid-js/web')['Dynamic'] 9 | const ErrorBoundary: typeof import('solid-js')['ErrorBoundary'] 10 | const For: typeof import('solid-js')['For'] 11 | const Index: typeof import('solid-js')['Index'] 12 | const Match: typeof import('solid-js')['Match'] 13 | const OtherOptions: typeof import('./src/components/OtherOptions')['OtherOptions'] 14 | const Portal: typeof import('solid-js/web')['Portal'] 15 | const Settings: typeof import('./src/components/Settings')['Settings'] 16 | const Show: typeof import('solid-js')['Show'] 17 | const Silder: typeof import('./src/components/Slider')['Silder'] 18 | const SoundEffect: typeof import('./src/components/SoundEffect')['SoundEffect'] 19 | const Suspense: typeof import('solid-js')['Suspense'] 20 | const SuspenseList: typeof import('solid-js')['SuspenseList'] 21 | const Switch: typeof import('solid-js')['Switch'] 22 | const USwitch: typeof import('./src/components/USwitch')['USwitch'] 23 | const Volume: typeof import('./src/components/Volume')['Volume'] 24 | const batch: typeof import('solid-js')['batch'] 25 | const children: typeof import('solid-js')['children'] 26 | const createContext: typeof import('solid-js')['createContext'] 27 | const createDeferred: typeof import('solid-js')['createDeferred'] 28 | const createEffect: typeof import('solid-js')['createEffect'] 29 | const createMemo: typeof import('solid-js')['createMemo'] 30 | const createMutable: typeof import('solid-js/store')['createMutable'] 31 | const createRenderEffect: typeof import('solid-js')['createRenderEffect'] 32 | const createResource: typeof import('solid-js')['createResource'] 33 | const createRoot: typeof import('solid-js')['createRoot'] 34 | const createSelector: typeof import('solid-js')['createSelector'] 35 | const createSignal: typeof import('solid-js')['createSignal'] 36 | const createStore: typeof import('solid-js/store')['createStore'] 37 | const hydrate: typeof import('solid-js/web')['hydrate'] 38 | const indexArray: typeof import('solid-js')['indexArray'] 39 | const isServer: typeof import('solid-js/web')['isServer'] 40 | const lazy: typeof import('solid-js')['lazy'] 41 | const mapArray: typeof import('solid-js')['mapArray'] 42 | const mergeProps: typeof import('solid-js')['mergeProps'] 43 | const observable: typeof import('solid-js')['observable'] 44 | const on: typeof import('solid-js')['on'] 45 | const onCleanup: typeof import('solid-js')['onCleanup'] 46 | const onError: typeof import('solid-js')['onError'] 47 | const onMount: typeof import('solid-js')['onMount'] 48 | const produce: typeof import('solid-js/store')['produce'] 49 | const reconcile: typeof import('solid-js/store')['reconcile'] 50 | const render: typeof import('solid-js/web')['render'] 51 | const renderToStream: typeof import('solid-js/web')['renderToStream'] 52 | const renderToString: typeof import('solid-js/web')['renderToString'] 53 | const renderToStringAsync: typeof import('solid-js/web')['renderToStringAsync'] 54 | const splitProps: typeof import('solid-js')['splitProps'] 55 | const untrack: typeof import('solid-js')['untrack'] 56 | const useContext: typeof import('solid-js')['useContext'] 57 | const useTransition: typeof import('solid-js')['useTransition'] 58 | } 59 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import type { Component } from 'solid-js' 2 | 3 | import styles from './App.module.css' 4 | import WoodenFish from './assets/WoodenFish.svg' 5 | 6 | import { store, setStore } from './store' 7 | import { useCreateBGM, useSound } from './composables/useSound' 8 | 9 | const [zoom, setZoom] = createSignal(false) 10 | const [show, setShow] = createSignal(false) // 设置 Settings 显隐 11 | 12 | const bgm = useCreateBGM(store.volume / 100) 13 | const sound = new useSound(store.sound) 14 | 15 | const isPC = 16 | !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( 17 | navigator.userAgent 18 | ) 19 | 20 | function handle() { 21 | sound.play() 22 | setStore('count', store.count + 1) 23 | setZoom(true) 24 | } 25 | function release() { 26 | setZoom(false) 27 | } 28 | 29 | function handleBGM() { 30 | if (!bgm.playing()) bgm.play() 31 | else bgm.pause() 32 | } 33 | 34 | // 绑定全局 keyboard 事件 35 | document.onkeydown = handleKeyBoard 36 | document.onkeyup = handleKeyBoard 37 | function handleKeyBoard({ key, code, type }: KeyboardEvent) { 38 | if (key !== ' ' || code !== 'Space') return 39 | type === 'keydown' ? handle() : release() 40 | } 41 | 42 | const App: Component = () => { 43 | // 监听控制声音变化 44 | createEffect(() => bgm.volume(store.volume / 100)) 45 | // 监听点击音效切换 46 | createEffect(() => sound.changeHowl(store.sound)) 47 | 48 | return ( 49 |
66 |
67 |
68 | 69 |
70 | 75 | setShow(true)}> 80 |
81 |
82 |
91 | {store.count} 92 |
93 |
101 | 功德 102 |
103 |
104 | 105 |
106 | WoodenFish {}} 110 | onMouseUp={isPC ? release : () => {}} 111 | onTouchStart={handle} 112 | onTouchEnd={release} 113 | transition-300 114 | cursor-pointer 115 | draggable={false} 116 | style={{ 117 | transform: `scale(${zoom() ? 0.99 : 1})`, 118 | '-webkit-tap-highlight-color': 'transparent' // 清除移动端 touch 高亮效果 119 | }} 120 | /> 121 |
122 | 123 |
124 |
125 |
126 | 按下 127 | Space或 128 | Click 129 | 积攒功德 130 |
131 |
132 | 点击 133 | 134 | 右上角 135 | 141 | 142 | 开启/关闭 沉浸模式 143 |
144 |
145 | 160 |
161 | 162 | setShow(false)} /> 163 | 164 |
165 | ) 166 | } 167 | 168 | export default App 169 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | dependencies: 4 | howler: 5 | specifier: ^2.2.3 6 | version: registry.npmmirror.com/howler@2.2.3 7 | solid-js: 8 | specifier: ^1.7.3 9 | version: 1.7.3 10 | 11 | devDependencies: 12 | '@iconify-json/carbon': 13 | specifier: ^1.1.16 14 | version: registry.npmmirror.com/@iconify-json/carbon@1.1.16 15 | '@types/howler': 16 | specifier: ^2.2.7 17 | version: registry.npmmirror.com/@types/howler@2.2.7 18 | '@unocss/preset-attributify': 19 | specifier: ^0.51.4 20 | version: 0.51.4 21 | '@unocss/reset': 22 | specifier: ^0.51.4 23 | version: 0.51.4 24 | typescript: 25 | specifier: ^5.0.4 26 | version: 5.0.4 27 | unocss: 28 | specifier: ^0.51.4 29 | version: 0.51.4(postcss@8.4.21)(vite@4.2.2) 30 | unplugin-auto-import: 31 | specifier: ^0.15.3 32 | version: 0.15.3 33 | vite: 34 | specifier: ^4.2.2 35 | version: 4.2.2 36 | vite-plugin-solid: 37 | specifier: ^2.7.0 38 | version: 2.7.0(solid-js@1.7.3)(vite@4.2.2) 39 | 40 | packages: 41 | 42 | /@ampproject/remapping@2.2.0: 43 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} 44 | engines: {node: '>=6.0.0'} 45 | dependencies: 46 | '@jridgewell/gen-mapping': 0.1.1 47 | '@jridgewell/trace-mapping': 0.3.17 48 | dev: true 49 | 50 | /@ampproject/remapping@2.2.1: 51 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} 52 | engines: {node: '>=6.0.0'} 53 | dependencies: 54 | '@jridgewell/gen-mapping': 0.3.2 55 | '@jridgewell/trace-mapping': 0.3.17 56 | dev: true 57 | 58 | /@antfu/install-pkg@0.1.1: 59 | resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} 60 | dependencies: 61 | execa: 5.1.1 62 | find-up: 5.0.0 63 | dev: true 64 | 65 | /@antfu/utils@0.5.2: 66 | resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} 67 | dev: true 68 | 69 | /@antfu/utils@0.7.2: 70 | resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} 71 | dev: true 72 | 73 | /@babel/code-frame@7.18.6: 74 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 75 | engines: {node: '>=6.9.0'} 76 | dependencies: 77 | '@babel/highlight': 7.18.6 78 | dev: true 79 | 80 | /@babel/compat-data@7.20.10: 81 | resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} 82 | engines: {node: '>=6.9.0'} 83 | dev: true 84 | 85 | /@babel/core@7.21.0: 86 | resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} 87 | engines: {node: '>=6.9.0'} 88 | dependencies: 89 | '@ampproject/remapping': 2.2.0 90 | '@babel/code-frame': 7.18.6 91 | '@babel/generator': 7.21.1 92 | '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) 93 | '@babel/helper-module-transforms': 7.21.2 94 | '@babel/helpers': 7.21.0 95 | '@babel/parser': 7.21.2 96 | '@babel/template': 7.20.7 97 | '@babel/traverse': 7.21.2 98 | '@babel/types': 7.21.2 99 | convert-source-map: 1.8.0 100 | debug: 4.3.4 101 | gensync: 1.0.0-beta.2 102 | json5: 2.2.3 103 | semver: 6.3.0 104 | transitivePeerDependencies: 105 | - supports-color 106 | dev: true 107 | 108 | /@babel/generator@7.21.1: 109 | resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} 110 | engines: {node: '>=6.9.0'} 111 | dependencies: 112 | '@babel/types': 7.21.2 113 | '@jridgewell/gen-mapping': 0.3.2 114 | '@jridgewell/trace-mapping': 0.3.17 115 | jsesc: 2.5.2 116 | dev: true 117 | 118 | /@babel/helper-annotate-as-pure@7.18.6: 119 | resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} 120 | engines: {node: '>=6.9.0'} 121 | dependencies: 122 | '@babel/types': 7.21.2 123 | dev: true 124 | 125 | /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.0): 126 | resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} 127 | engines: {node: '>=6.9.0'} 128 | peerDependencies: 129 | '@babel/core': ^7.0.0 130 | dependencies: 131 | '@babel/compat-data': 7.20.10 132 | '@babel/core': 7.21.0 133 | '@babel/helper-validator-option': 7.18.6 134 | browserslist: 4.21.4 135 | lru-cache: 5.1.1 136 | semver: 6.3.0 137 | dev: true 138 | 139 | /@babel/helper-create-class-features-plugin@7.18.6(@babel/core@7.21.0): 140 | resolution: {integrity: sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==} 141 | engines: {node: '>=6.9.0'} 142 | peerDependencies: 143 | '@babel/core': ^7.0.0 144 | dependencies: 145 | '@babel/core': 7.21.0 146 | '@babel/helper-annotate-as-pure': 7.18.6 147 | '@babel/helper-environment-visitor': 7.18.9 148 | '@babel/helper-function-name': 7.21.0 149 | '@babel/helper-member-expression-to-functions': 7.18.6 150 | '@babel/helper-optimise-call-expression': 7.18.6 151 | '@babel/helper-replace-supers': 7.18.6 152 | '@babel/helper-split-export-declaration': 7.18.6 153 | transitivePeerDependencies: 154 | - supports-color 155 | dev: true 156 | 157 | /@babel/helper-environment-visitor@7.18.9: 158 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} 159 | engines: {node: '>=6.9.0'} 160 | dev: true 161 | 162 | /@babel/helper-function-name@7.21.0: 163 | resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} 164 | engines: {node: '>=6.9.0'} 165 | dependencies: 166 | '@babel/template': 7.20.7 167 | '@babel/types': 7.21.2 168 | dev: true 169 | 170 | /@babel/helper-hoist-variables@7.18.6: 171 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} 172 | engines: {node: '>=6.9.0'} 173 | dependencies: 174 | '@babel/types': 7.21.2 175 | dev: true 176 | 177 | /@babel/helper-member-expression-to-functions@7.18.6: 178 | resolution: {integrity: sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng==} 179 | engines: {node: '>=6.9.0'} 180 | dependencies: 181 | '@babel/types': 7.21.2 182 | dev: true 183 | 184 | /@babel/helper-module-imports@7.18.6: 185 | resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} 186 | engines: {node: '>=6.9.0'} 187 | dependencies: 188 | '@babel/types': 7.21.2 189 | dev: true 190 | 191 | /@babel/helper-module-transforms@7.21.2: 192 | resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} 193 | engines: {node: '>=6.9.0'} 194 | dependencies: 195 | '@babel/helper-environment-visitor': 7.18.9 196 | '@babel/helper-module-imports': 7.18.6 197 | '@babel/helper-simple-access': 7.20.2 198 | '@babel/helper-split-export-declaration': 7.18.6 199 | '@babel/helper-validator-identifier': 7.19.1 200 | '@babel/template': 7.20.7 201 | '@babel/traverse': 7.21.2 202 | '@babel/types': 7.21.2 203 | transitivePeerDependencies: 204 | - supports-color 205 | dev: true 206 | 207 | /@babel/helper-optimise-call-expression@7.18.6: 208 | resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} 209 | engines: {node: '>=6.9.0'} 210 | dependencies: 211 | '@babel/types': 7.21.2 212 | dev: true 213 | 214 | /@babel/helper-plugin-utils@7.18.6: 215 | resolution: {integrity: sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==} 216 | engines: {node: '>=6.9.0'} 217 | dev: true 218 | 219 | /@babel/helper-replace-supers@7.18.6: 220 | resolution: {integrity: sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g==} 221 | engines: {node: '>=6.9.0'} 222 | dependencies: 223 | '@babel/helper-environment-visitor': 7.18.9 224 | '@babel/helper-member-expression-to-functions': 7.18.6 225 | '@babel/helper-optimise-call-expression': 7.18.6 226 | '@babel/traverse': 7.21.2 227 | '@babel/types': 7.21.2 228 | transitivePeerDependencies: 229 | - supports-color 230 | dev: true 231 | 232 | /@babel/helper-simple-access@7.20.2: 233 | resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} 234 | engines: {node: '>=6.9.0'} 235 | dependencies: 236 | '@babel/types': 7.21.2 237 | dev: true 238 | 239 | /@babel/helper-split-export-declaration@7.18.6: 240 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} 241 | engines: {node: '>=6.9.0'} 242 | dependencies: 243 | '@babel/types': 7.21.2 244 | dev: true 245 | 246 | /@babel/helper-string-parser@7.19.4: 247 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 248 | engines: {node: '>=6.9.0'} 249 | dev: true 250 | 251 | /@babel/helper-validator-identifier@7.19.1: 252 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 253 | engines: {node: '>=6.9.0'} 254 | dev: true 255 | 256 | /@babel/helper-validator-option@7.18.6: 257 | resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} 258 | engines: {node: '>=6.9.0'} 259 | dev: true 260 | 261 | /@babel/helpers@7.21.0: 262 | resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} 263 | engines: {node: '>=6.9.0'} 264 | dependencies: 265 | '@babel/template': 7.20.7 266 | '@babel/traverse': 7.21.2 267 | '@babel/types': 7.21.2 268 | transitivePeerDependencies: 269 | - supports-color 270 | dev: true 271 | 272 | /@babel/highlight@7.18.6: 273 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 274 | engines: {node: '>=6.9.0'} 275 | dependencies: 276 | '@babel/helper-validator-identifier': 7.19.1 277 | chalk: 2.4.2 278 | js-tokens: 4.0.0 279 | dev: true 280 | 281 | /@babel/parser@7.21.2: 282 | resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==} 283 | engines: {node: '>=6.0.0'} 284 | hasBin: true 285 | dependencies: 286 | '@babel/types': 7.21.2 287 | dev: true 288 | 289 | /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.0): 290 | resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} 291 | engines: {node: '>=6.9.0'} 292 | peerDependencies: 293 | '@babel/core': ^7.0.0-0 294 | dependencies: 295 | '@babel/core': 7.21.0 296 | '@babel/helper-plugin-utils': 7.18.6 297 | dev: true 298 | 299 | /@babel/plugin-syntax-typescript@7.18.6(@babel/core@7.21.0): 300 | resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} 301 | engines: {node: '>=6.9.0'} 302 | peerDependencies: 303 | '@babel/core': ^7.0.0-0 304 | dependencies: 305 | '@babel/core': 7.21.0 306 | '@babel/helper-plugin-utils': 7.18.6 307 | dev: true 308 | 309 | /@babel/plugin-transform-typescript@7.18.8(@babel/core@7.21.0): 310 | resolution: {integrity: sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==} 311 | engines: {node: '>=6.9.0'} 312 | peerDependencies: 313 | '@babel/core': ^7.0.0-0 314 | dependencies: 315 | '@babel/core': 7.21.0 316 | '@babel/helper-create-class-features-plugin': 7.18.6(@babel/core@7.21.0) 317 | '@babel/helper-plugin-utils': 7.18.6 318 | '@babel/plugin-syntax-typescript': 7.18.6(@babel/core@7.21.0) 319 | transitivePeerDependencies: 320 | - supports-color 321 | dev: true 322 | 323 | /@babel/preset-typescript@7.18.6(@babel/core@7.21.0): 324 | resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==} 325 | engines: {node: '>=6.9.0'} 326 | peerDependencies: 327 | '@babel/core': ^7.0.0-0 328 | dependencies: 329 | '@babel/core': 7.21.0 330 | '@babel/helper-plugin-utils': 7.18.6 331 | '@babel/helper-validator-option': 7.18.6 332 | '@babel/plugin-transform-typescript': 7.18.8(@babel/core@7.21.0) 333 | transitivePeerDependencies: 334 | - supports-color 335 | dev: true 336 | 337 | /@babel/template@7.20.7: 338 | resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} 339 | engines: {node: '>=6.9.0'} 340 | dependencies: 341 | '@babel/code-frame': 7.18.6 342 | '@babel/parser': 7.21.2 343 | '@babel/types': 7.21.2 344 | dev: true 345 | 346 | /@babel/traverse@7.21.2: 347 | resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} 348 | engines: {node: '>=6.9.0'} 349 | dependencies: 350 | '@babel/code-frame': 7.18.6 351 | '@babel/generator': 7.21.1 352 | '@babel/helper-environment-visitor': 7.18.9 353 | '@babel/helper-function-name': 7.21.0 354 | '@babel/helper-hoist-variables': 7.18.6 355 | '@babel/helper-split-export-declaration': 7.18.6 356 | '@babel/parser': 7.21.2 357 | '@babel/types': 7.21.2 358 | debug: 4.3.4 359 | globals: 11.12.0 360 | transitivePeerDependencies: 361 | - supports-color 362 | dev: true 363 | 364 | /@babel/types@7.21.2: 365 | resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} 366 | engines: {node: '>=6.9.0'} 367 | dependencies: 368 | '@babel/helper-string-parser': 7.19.4 369 | '@babel/helper-validator-identifier': 7.19.1 370 | to-fast-properties: 2.0.0 371 | dev: true 372 | 373 | /@esbuild/android-arm64@0.17.14: 374 | resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==} 375 | engines: {node: '>=12'} 376 | cpu: [arm64] 377 | os: [android] 378 | requiresBuild: true 379 | dev: true 380 | optional: true 381 | 382 | /@esbuild/android-arm@0.17.14: 383 | resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==} 384 | engines: {node: '>=12'} 385 | cpu: [arm] 386 | os: [android] 387 | requiresBuild: true 388 | dev: true 389 | optional: true 390 | 391 | /@esbuild/android-x64@0.17.14: 392 | resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==} 393 | engines: {node: '>=12'} 394 | cpu: [x64] 395 | os: [android] 396 | requiresBuild: true 397 | dev: true 398 | optional: true 399 | 400 | /@esbuild/darwin-arm64@0.17.14: 401 | resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==} 402 | engines: {node: '>=12'} 403 | cpu: [arm64] 404 | os: [darwin] 405 | requiresBuild: true 406 | dev: true 407 | optional: true 408 | 409 | /@esbuild/darwin-x64@0.17.14: 410 | resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==} 411 | engines: {node: '>=12'} 412 | cpu: [x64] 413 | os: [darwin] 414 | requiresBuild: true 415 | dev: true 416 | optional: true 417 | 418 | /@esbuild/freebsd-arm64@0.17.14: 419 | resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==} 420 | engines: {node: '>=12'} 421 | cpu: [arm64] 422 | os: [freebsd] 423 | requiresBuild: true 424 | dev: true 425 | optional: true 426 | 427 | /@esbuild/freebsd-x64@0.17.14: 428 | resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==} 429 | engines: {node: '>=12'} 430 | cpu: [x64] 431 | os: [freebsd] 432 | requiresBuild: true 433 | dev: true 434 | optional: true 435 | 436 | /@esbuild/linux-arm64@0.17.14: 437 | resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==} 438 | engines: {node: '>=12'} 439 | cpu: [arm64] 440 | os: [linux] 441 | requiresBuild: true 442 | dev: true 443 | optional: true 444 | 445 | /@esbuild/linux-arm@0.17.14: 446 | resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==} 447 | engines: {node: '>=12'} 448 | cpu: [arm] 449 | os: [linux] 450 | requiresBuild: true 451 | dev: true 452 | optional: true 453 | 454 | /@esbuild/linux-ia32@0.17.14: 455 | resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==} 456 | engines: {node: '>=12'} 457 | cpu: [ia32] 458 | os: [linux] 459 | requiresBuild: true 460 | dev: true 461 | optional: true 462 | 463 | /@esbuild/linux-loong64@0.17.14: 464 | resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==} 465 | engines: {node: '>=12'} 466 | cpu: [loong64] 467 | os: [linux] 468 | requiresBuild: true 469 | dev: true 470 | optional: true 471 | 472 | /@esbuild/linux-mips64el@0.17.14: 473 | resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==} 474 | engines: {node: '>=12'} 475 | cpu: [mips64el] 476 | os: [linux] 477 | requiresBuild: true 478 | dev: true 479 | optional: true 480 | 481 | /@esbuild/linux-ppc64@0.17.14: 482 | resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==} 483 | engines: {node: '>=12'} 484 | cpu: [ppc64] 485 | os: [linux] 486 | requiresBuild: true 487 | dev: true 488 | optional: true 489 | 490 | /@esbuild/linux-riscv64@0.17.14: 491 | resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==} 492 | engines: {node: '>=12'} 493 | cpu: [riscv64] 494 | os: [linux] 495 | requiresBuild: true 496 | dev: true 497 | optional: true 498 | 499 | /@esbuild/linux-s390x@0.17.14: 500 | resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==} 501 | engines: {node: '>=12'} 502 | cpu: [s390x] 503 | os: [linux] 504 | requiresBuild: true 505 | dev: true 506 | optional: true 507 | 508 | /@esbuild/linux-x64@0.17.14: 509 | resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==} 510 | engines: {node: '>=12'} 511 | cpu: [x64] 512 | os: [linux] 513 | requiresBuild: true 514 | dev: true 515 | optional: true 516 | 517 | /@esbuild/netbsd-x64@0.17.14: 518 | resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==} 519 | engines: {node: '>=12'} 520 | cpu: [x64] 521 | os: [netbsd] 522 | requiresBuild: true 523 | dev: true 524 | optional: true 525 | 526 | /@esbuild/openbsd-x64@0.17.14: 527 | resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==} 528 | engines: {node: '>=12'} 529 | cpu: [x64] 530 | os: [openbsd] 531 | requiresBuild: true 532 | dev: true 533 | optional: true 534 | 535 | /@esbuild/sunos-x64@0.17.14: 536 | resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==} 537 | engines: {node: '>=12'} 538 | cpu: [x64] 539 | os: [sunos] 540 | requiresBuild: true 541 | dev: true 542 | optional: true 543 | 544 | /@esbuild/win32-arm64@0.17.14: 545 | resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==} 546 | engines: {node: '>=12'} 547 | cpu: [arm64] 548 | os: [win32] 549 | requiresBuild: true 550 | dev: true 551 | optional: true 552 | 553 | /@esbuild/win32-ia32@0.17.14: 554 | resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==} 555 | engines: {node: '>=12'} 556 | cpu: [ia32] 557 | os: [win32] 558 | requiresBuild: true 559 | dev: true 560 | optional: true 561 | 562 | /@esbuild/win32-x64@0.17.14: 563 | resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==} 564 | engines: {node: '>=12'} 565 | cpu: [x64] 566 | os: [win32] 567 | requiresBuild: true 568 | dev: true 569 | optional: true 570 | 571 | /@iconify/types@2.0.0: 572 | resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} 573 | dev: true 574 | 575 | /@iconify/utils@2.1.5: 576 | resolution: {integrity: sha512-6MvDI+I6QMvXn5rK9KQGdpEE4mmLTcuQdLZEiX5N+uZB+vc4Yw9K1OtnOgkl8mp4d9X0UrILREyZgF1NUwUt+Q==} 577 | dependencies: 578 | '@antfu/install-pkg': 0.1.1 579 | '@antfu/utils': 0.7.2 580 | '@iconify/types': 2.0.0 581 | debug: 4.3.4 582 | kolorist: 1.7.0 583 | local-pkg: 0.4.3 584 | transitivePeerDependencies: 585 | - supports-color 586 | dev: true 587 | 588 | /@jridgewell/gen-mapping@0.1.1: 589 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} 590 | engines: {node: '>=6.0.0'} 591 | dependencies: 592 | '@jridgewell/set-array': 1.1.2 593 | '@jridgewell/sourcemap-codec': 1.4.14 594 | dev: true 595 | 596 | /@jridgewell/gen-mapping@0.3.2: 597 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} 598 | engines: {node: '>=6.0.0'} 599 | dependencies: 600 | '@jridgewell/set-array': 1.1.2 601 | '@jridgewell/sourcemap-codec': 1.4.14 602 | '@jridgewell/trace-mapping': 0.3.17 603 | dev: true 604 | 605 | /@jridgewell/resolve-uri@3.1.0: 606 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 607 | engines: {node: '>=6.0.0'} 608 | dev: true 609 | 610 | /@jridgewell/set-array@1.1.2: 611 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 612 | engines: {node: '>=6.0.0'} 613 | dev: true 614 | 615 | /@jridgewell/sourcemap-codec@1.4.14: 616 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 617 | dev: true 618 | 619 | /@jridgewell/trace-mapping@0.3.17: 620 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} 621 | dependencies: 622 | '@jridgewell/resolve-uri': 3.1.0 623 | '@jridgewell/sourcemap-codec': 1.4.14 624 | dev: true 625 | 626 | /@nodelib/fs.scandir@2.1.5: 627 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 628 | engines: {node: '>= 8'} 629 | dependencies: 630 | '@nodelib/fs.stat': 2.0.5 631 | run-parallel: 1.2.0 632 | dev: true 633 | 634 | /@nodelib/fs.stat@2.0.5: 635 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 636 | engines: {node: '>= 8'} 637 | dev: true 638 | 639 | /@nodelib/fs.walk@1.2.8: 640 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 641 | engines: {node: '>= 8'} 642 | dependencies: 643 | '@nodelib/fs.scandir': 2.1.5 644 | fastq: 1.13.0 645 | dev: true 646 | 647 | /@polka/url@1.0.0-next.21: 648 | resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} 649 | dev: true 650 | 651 | /@rollup/pluginutils@5.0.2: 652 | resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} 653 | engines: {node: '>=14.0.0'} 654 | peerDependencies: 655 | rollup: ^1.20.0||^2.0.0||^3.0.0 656 | peerDependenciesMeta: 657 | rollup: 658 | optional: true 659 | dependencies: 660 | '@types/estree': 1.0.0 661 | estree-walker: 2.0.2 662 | picomatch: 2.3.1 663 | dev: true 664 | 665 | /@types/babel__core@7.20.0: 666 | resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} 667 | dependencies: 668 | '@babel/parser': 7.21.2 669 | '@babel/types': 7.21.2 670 | '@types/babel__generator': 7.6.4 671 | '@types/babel__template': 7.4.1 672 | '@types/babel__traverse': 7.18.3 673 | dev: true 674 | 675 | /@types/babel__generator@7.6.4: 676 | resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} 677 | dependencies: 678 | '@babel/types': 7.21.2 679 | dev: true 680 | 681 | /@types/babel__template@7.4.1: 682 | resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} 683 | dependencies: 684 | '@babel/parser': 7.21.2 685 | '@babel/types': 7.21.2 686 | dev: true 687 | 688 | /@types/babel__traverse@7.18.3: 689 | resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} 690 | dependencies: 691 | '@babel/types': 7.21.2 692 | dev: true 693 | 694 | /@types/estree@1.0.0: 695 | resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} 696 | dev: true 697 | 698 | /@unocss/astro@0.51.4(vite@4.2.2): 699 | resolution: {integrity: sha512-denp8/PHvzfN9azfTF72+ey6xpgUB4L4416FI4DfcfKPzRMo4KjIaHlTD6xuaJwBdC8UJSOIcDRXldRGPT33Ag==} 700 | dependencies: 701 | '@unocss/core': 0.51.4 702 | '@unocss/reset': 0.51.4 703 | '@unocss/vite': 0.51.4(vite@4.2.2) 704 | transitivePeerDependencies: 705 | - rollup 706 | - vite 707 | dev: true 708 | 709 | /@unocss/cli@0.51.4: 710 | resolution: {integrity: sha512-x0SYt7wL1EE3OSlV55gKmbpXrbG9vkJHVFxTC4iH2uezfpwVejpdP1sQwyHCzIBbVFAPGPzH+pdRtdmvFU1G3Q==} 711 | engines: {node: '>=14'} 712 | hasBin: true 713 | dependencies: 714 | '@ampproject/remapping': 2.2.1 715 | '@rollup/pluginutils': 5.0.2 716 | '@unocss/config': 0.51.4 717 | '@unocss/core': 0.51.4 718 | '@unocss/preset-uno': 0.51.4 719 | cac: 6.7.14 720 | chokidar: 3.5.3 721 | colorette: 2.0.19 722 | consola: 3.1.0 723 | fast-glob: 3.2.12 724 | magic-string: 0.30.0 725 | pathe: 1.1.0 726 | perfect-debounce: 0.1.3 727 | transitivePeerDependencies: 728 | - rollup 729 | dev: true 730 | 731 | /@unocss/config@0.51.4: 732 | resolution: {integrity: sha512-DAUdVhrtdQDf8lI+tDO/8CkHcZn9jdN4M/twNKQDEfPP4IRBtLwP5TfYvDI7KcNcjyUAmACINhw0TrTkyCKHUA==} 733 | engines: {node: '>=14'} 734 | dependencies: 735 | '@unocss/core': 0.51.4 736 | unconfig: 0.3.7 737 | dev: true 738 | 739 | /@unocss/core@0.51.4: 740 | resolution: {integrity: sha512-glPBN989gJNNVzjulH6NlLAekBLuZbsFRIDqwZ1ZaoWY6teu8Z6uo3pqFCy+ibjxZSEha77BcnKfDzd2Hccsdw==} 741 | dev: true 742 | 743 | /@unocss/extractor-arbitrary-variants@0.51.4: 744 | resolution: {integrity: sha512-WfRsMEYthIkZjdTaTpzquTMtsb+GCp18tHM3CjlR9fsM7BGDF1rmMwcqWDzQc+wtiW+mzQFybL3chBgNdPloYA==} 745 | dependencies: 746 | '@unocss/core': 0.51.4 747 | dev: true 748 | 749 | /@unocss/inspector@0.51.4: 750 | resolution: {integrity: sha512-9vDhCBMl/XkYqzYPJYP3BrsyRhYFM9d9m0FvJ6BzU/ifdf5x4GED0SXqzuXeY0JctD82FyYb2uXD9O3j4I37ww==} 751 | dependencies: 752 | gzip-size: 6.0.0 753 | sirv: 2.0.2 754 | dev: true 755 | 756 | /@unocss/postcss@0.51.4(postcss@8.4.21): 757 | resolution: {integrity: sha512-Jkf7GD8svev854pHVuFx0AtZoh3LQKbFoU5DDT1Hb0Yr/l2sxUSxzx1Jb5vUun89tSlfzIZ2pKAd0BqwtqWlmw==} 758 | engines: {node: '>=14'} 759 | peerDependencies: 760 | postcss: ^8.4.21 761 | dependencies: 762 | '@unocss/config': 0.51.4 763 | '@unocss/core': 0.51.4 764 | css-tree: 2.3.1 765 | fast-glob: 3.2.12 766 | magic-string: 0.30.0 767 | postcss: 8.4.21 768 | dev: true 769 | 770 | /@unocss/preset-attributify@0.51.4: 771 | resolution: {integrity: sha512-O3pbCTB8qV1C/+6grwFx1IUlo8OEt+4A5qB0jhtiXguGSmJWlu7lk8e4JS/ryQS2Kk1es3qAQ2DX13Ew/vfC7w==} 772 | dependencies: 773 | '@unocss/core': 0.51.4 774 | dev: true 775 | 776 | /@unocss/preset-icons@0.51.4: 777 | resolution: {integrity: sha512-libPudhIkGQfKFL/ayrS60z1FcNCxYNY7+lRp6HDh/VvArZiRLs5aRfaRwqYCmRROu8vWu1qEZaYfOfPTvX7wA==} 778 | dependencies: 779 | '@iconify/utils': 2.1.5 780 | '@unocss/core': 0.51.4 781 | ofetch: 1.0.1 782 | transitivePeerDependencies: 783 | - supports-color 784 | dev: true 785 | 786 | /@unocss/preset-mini@0.51.4: 787 | resolution: {integrity: sha512-Ft/RQF+8KLooMTP/Qnl6qvxI/Gubi1ROsTTQLlgy3/cGxvoC2uBM4VpJFnTurJAX73IX9WJeA0IQSLfF+fXtIw==} 788 | dependencies: 789 | '@unocss/core': 0.51.4 790 | '@unocss/extractor-arbitrary-variants': 0.51.4 791 | dev: true 792 | 793 | /@unocss/preset-tagify@0.51.4: 794 | resolution: {integrity: sha512-+CnruBnb9r3IpSd1jy4nd/+KYOZCLUhw0A6em/7Jy2bJX301bfVLisHTl17bK/se4WTHTvsSPIgkL9sKZdL0cw==} 795 | dependencies: 796 | '@unocss/core': 0.51.4 797 | dev: true 798 | 799 | /@unocss/preset-typography@0.51.4: 800 | resolution: {integrity: sha512-r4yqNSxVdXT2CMp9Q+AJj62hGOAmyxfDnahuIws199HEeT9Ekyb9CIQdgt69pbwhUr+nzSN2q0OicHimDr2T+g==} 801 | dependencies: 802 | '@unocss/core': 0.51.4 803 | '@unocss/preset-mini': 0.51.4 804 | dev: true 805 | 806 | /@unocss/preset-uno@0.51.4: 807 | resolution: {integrity: sha512-akB0CWo60dzQ3N7WuqrfYLNOXrGlZQt7Pvtac3U7oAMw/Rmc9MXSkAF9ONpP3rm8dFucAi8L9+ZZGz18MjZL4w==} 808 | dependencies: 809 | '@unocss/core': 0.51.4 810 | '@unocss/preset-mini': 0.51.4 811 | '@unocss/preset-wind': 0.51.4 812 | dev: true 813 | 814 | /@unocss/preset-web-fonts@0.51.4: 815 | resolution: {integrity: sha512-zoCExszBv12f8tw4YNV36q8NV15HR7AMpw5xEfAWX5Yak6Vmi5WIosJA1FPz+pyI93xxrPkWoPK5GdziAgtShg==} 816 | dependencies: 817 | '@unocss/core': 0.51.4 818 | ofetch: 1.0.1 819 | dev: true 820 | 821 | /@unocss/preset-wind@0.51.4: 822 | resolution: {integrity: sha512-QrY2CLl507cetAKNtmPMOIuFBv4og8+zi5GsDwKBdHDBT/BcmQg8dq8xnlg5hVV0BlbaV+EqMeU9T9Xzgj3JyQ==} 823 | dependencies: 824 | '@unocss/core': 0.51.4 825 | '@unocss/preset-mini': 0.51.4 826 | dev: true 827 | 828 | /@unocss/reset@0.51.4: 829 | resolution: {integrity: sha512-3FnajZSOrQ4qSbpkY1IGRIFYw8I9E98SBXvjMnHqSl8k4YPbBP29W3YrgSVBMOnPNRL67hRcTaMF3nmbnBuWtQ==} 830 | dev: true 831 | 832 | /@unocss/scope@0.51.4: 833 | resolution: {integrity: sha512-EIp1AHyTQhzNiIK/jM3Gg1m4MctuvZGSHVsEgBDisAi//Lxpn0rBx0BHczTgakcx2aUq1R2I6h9xjSHwDJhhVw==} 834 | dev: true 835 | 836 | /@unocss/transformer-attributify-jsx-babel@0.51.4: 837 | resolution: {integrity: sha512-XQXH3q7eQ70uAEUTnEXyjsWy5COVCl6qTGpyovaRZQSQ9Hsa9gGN1RRdj63EVQqXfhZqYp8YACCf08A4UW+HZQ==} 838 | dependencies: 839 | '@unocss/core': 0.51.4 840 | dev: true 841 | 842 | /@unocss/transformer-attributify-jsx@0.51.4: 843 | resolution: {integrity: sha512-4ypvP3PzGmqNNellZ329OW0RvK86YzXz9P8xA8SdnO9BPLgC84Wd1Dw4F1C9QegLe6HwMWlvcPNpJXVAZbFsGg==} 844 | dependencies: 845 | '@unocss/core': 0.51.4 846 | dev: true 847 | 848 | /@unocss/transformer-compile-class@0.51.4: 849 | resolution: {integrity: sha512-U2I16SOeOMQs2I72UmqYmLzXLjwyPEW+wiosQ4s6fSvm6UNe7D5CrYwB3X7gvFJSeKFCQNzYT5bG0WxPJLlJkQ==} 850 | dependencies: 851 | '@unocss/core': 0.51.4 852 | dev: true 853 | 854 | /@unocss/transformer-directives@0.51.4: 855 | resolution: {integrity: sha512-AJvW4b+egEH7Mr9uce68J5T9CI2LJmpRL+vCOjeAVz8Mw2rYhpu94nzkAFr/nxn5UoBNsc6ZcLAwBipZoCDEuw==} 856 | dependencies: 857 | '@unocss/core': 0.51.4 858 | css-tree: 2.3.1 859 | dev: true 860 | 861 | /@unocss/transformer-variant-group@0.51.4: 862 | resolution: {integrity: sha512-4MD89Qgzqkc67/22RZ5a7mePCQQXuJR5ciCpEiszIs7utclWcRh555vbZ7oxxls6YHBVnKW7hpKcK+wiXLAnJQ==} 863 | dependencies: 864 | '@unocss/core': 0.51.4 865 | dev: true 866 | 867 | /@unocss/vite@0.51.4(vite@4.2.2): 868 | resolution: {integrity: sha512-zrACPc6c99Phipi1totFjGzUvcucP+HZoeSTr4VDPQQk/vo7CuSmYFNMzWEw2NynWJgkv/FUdLTnK0tZj08LCA==} 869 | peerDependencies: 870 | vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 871 | dependencies: 872 | '@ampproject/remapping': 2.2.1 873 | '@rollup/pluginutils': 5.0.2 874 | '@unocss/config': 0.51.4 875 | '@unocss/core': 0.51.4 876 | '@unocss/inspector': 0.51.4 877 | '@unocss/scope': 0.51.4 878 | '@unocss/transformer-directives': 0.51.4 879 | chokidar: 3.5.3 880 | fast-glob: 3.2.12 881 | magic-string: 0.30.0 882 | vite: 4.2.2 883 | transitivePeerDependencies: 884 | - rollup 885 | dev: true 886 | 887 | /acorn@8.8.2: 888 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 889 | engines: {node: '>=0.4.0'} 890 | hasBin: true 891 | dev: true 892 | 893 | /ansi-styles@3.2.1: 894 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 895 | engines: {node: '>=4'} 896 | dependencies: 897 | color-convert: 1.9.3 898 | dev: true 899 | 900 | /anymatch@3.1.2: 901 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 902 | engines: {node: '>= 8'} 903 | dependencies: 904 | normalize-path: 3.0.0 905 | picomatch: 2.3.1 906 | dev: true 907 | 908 | /babel-plugin-jsx-dom-expressions@0.36.10(@babel/core@7.21.0): 909 | resolution: {integrity: sha512-QA2k/14WGw+RgcGGnEuLWwnu4em6CGhjeXtjvgOYyFHYS2a+CzPeaVQHDOlfuiBcjq/3hWMspHMIMnPEOIzdBg==} 910 | peerDependencies: 911 | '@babel/core': ^7.20.12 912 | dependencies: 913 | '@babel/core': 7.21.0 914 | '@babel/helper-module-imports': 7.18.6 915 | '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.0) 916 | '@babel/types': 7.21.2 917 | html-entities: 2.3.3 918 | validate-html-nesting: 1.2.1 919 | dev: true 920 | 921 | /babel-preset-solid@1.7.3(@babel/core@7.21.0): 922 | resolution: {integrity: sha512-HOdyrij99zo+CBrmtDxSexBAl54vCBCfBoyueLBvcfVniaEXNd4ftKqSN6XQcLvFfCY28UFO+DHaigXzWKOfzg==} 923 | peerDependencies: 924 | '@babel/core': ^7.0.0 925 | dependencies: 926 | '@babel/core': 7.21.0 927 | babel-plugin-jsx-dom-expressions: 0.36.10(@babel/core@7.21.0) 928 | dev: true 929 | 930 | /balanced-match@1.0.2: 931 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 932 | dev: true 933 | 934 | /binary-extensions@2.2.0: 935 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 936 | engines: {node: '>=8'} 937 | dev: true 938 | 939 | /brace-expansion@2.0.1: 940 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 941 | dependencies: 942 | balanced-match: 1.0.2 943 | dev: true 944 | 945 | /braces@3.0.2: 946 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 947 | engines: {node: '>=8'} 948 | dependencies: 949 | fill-range: 7.0.1 950 | dev: true 951 | 952 | /browserslist@4.21.4: 953 | resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} 954 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 955 | hasBin: true 956 | dependencies: 957 | caniuse-lite: 1.0.30001441 958 | electron-to-chromium: 1.4.284 959 | node-releases: 2.0.6 960 | update-browserslist-db: 1.0.10(browserslist@4.21.4) 961 | dev: true 962 | 963 | /cac@6.7.14: 964 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 965 | engines: {node: '>=8'} 966 | dev: true 967 | 968 | /caniuse-lite@1.0.30001441: 969 | resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==} 970 | dev: true 971 | 972 | /chalk@2.4.2: 973 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 974 | engines: {node: '>=4'} 975 | dependencies: 976 | ansi-styles: 3.2.1 977 | escape-string-regexp: 1.0.5 978 | supports-color: 5.5.0 979 | dev: true 980 | 981 | /chokidar@3.5.3: 982 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 983 | engines: {node: '>= 8.10.0'} 984 | dependencies: 985 | anymatch: 3.1.2 986 | braces: 3.0.2 987 | glob-parent: 5.1.2 988 | is-binary-path: 2.1.0 989 | is-glob: 4.0.3 990 | normalize-path: 3.0.0 991 | readdirp: 3.6.0 992 | optionalDependencies: 993 | fsevents: 2.3.2 994 | dev: true 995 | 996 | /color-convert@1.9.3: 997 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 998 | dependencies: 999 | color-name: 1.1.3 1000 | dev: true 1001 | 1002 | /color-name@1.1.3: 1003 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1004 | dev: true 1005 | 1006 | /colorette@2.0.19: 1007 | resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 1008 | dev: true 1009 | 1010 | /consola@3.1.0: 1011 | resolution: {integrity: sha512-rrrJE6rP0qzl/Srg+C9x/AE5Kxfux7reVm1Wh0wCjuXvih6DqZgqDZe8auTD28fzJ9TF0mHlSDrPpWlujQRo1Q==} 1012 | dev: true 1013 | 1014 | /convert-source-map@1.8.0: 1015 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 1016 | dependencies: 1017 | safe-buffer: 5.1.2 1018 | dev: true 1019 | 1020 | /cross-spawn@7.0.3: 1021 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1022 | engines: {node: '>= 8'} 1023 | dependencies: 1024 | path-key: 3.1.1 1025 | shebang-command: 2.0.0 1026 | which: 2.0.2 1027 | dev: true 1028 | 1029 | /css-tree@2.3.1: 1030 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} 1031 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 1032 | dependencies: 1033 | mdn-data: 2.0.30 1034 | source-map-js: 1.0.2 1035 | dev: true 1036 | 1037 | /csstype@3.1.0: 1038 | resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==} 1039 | 1040 | /debug@4.3.4: 1041 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1042 | engines: {node: '>=6.0'} 1043 | peerDependencies: 1044 | supports-color: '*' 1045 | peerDependenciesMeta: 1046 | supports-color: 1047 | optional: true 1048 | dependencies: 1049 | ms: 2.1.2 1050 | dev: true 1051 | 1052 | /defu@6.1.2: 1053 | resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} 1054 | dev: true 1055 | 1056 | /destr@1.2.2: 1057 | resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} 1058 | dev: true 1059 | 1060 | /duplexer@0.1.2: 1061 | resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 1062 | dev: true 1063 | 1064 | /electron-to-chromium@1.4.284: 1065 | resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} 1066 | dev: true 1067 | 1068 | /esbuild@0.17.14: 1069 | resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==} 1070 | engines: {node: '>=12'} 1071 | hasBin: true 1072 | requiresBuild: true 1073 | optionalDependencies: 1074 | '@esbuild/android-arm': 0.17.14 1075 | '@esbuild/android-arm64': 0.17.14 1076 | '@esbuild/android-x64': 0.17.14 1077 | '@esbuild/darwin-arm64': 0.17.14 1078 | '@esbuild/darwin-x64': 0.17.14 1079 | '@esbuild/freebsd-arm64': 0.17.14 1080 | '@esbuild/freebsd-x64': 0.17.14 1081 | '@esbuild/linux-arm': 0.17.14 1082 | '@esbuild/linux-arm64': 0.17.14 1083 | '@esbuild/linux-ia32': 0.17.14 1084 | '@esbuild/linux-loong64': 0.17.14 1085 | '@esbuild/linux-mips64el': 0.17.14 1086 | '@esbuild/linux-ppc64': 0.17.14 1087 | '@esbuild/linux-riscv64': 0.17.14 1088 | '@esbuild/linux-s390x': 0.17.14 1089 | '@esbuild/linux-x64': 0.17.14 1090 | '@esbuild/netbsd-x64': 0.17.14 1091 | '@esbuild/openbsd-x64': 0.17.14 1092 | '@esbuild/sunos-x64': 0.17.14 1093 | '@esbuild/win32-arm64': 0.17.14 1094 | '@esbuild/win32-ia32': 0.17.14 1095 | '@esbuild/win32-x64': 0.17.14 1096 | dev: true 1097 | 1098 | /escalade@3.1.1: 1099 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1100 | engines: {node: '>=6'} 1101 | dev: true 1102 | 1103 | /escape-string-regexp@1.0.5: 1104 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1105 | engines: {node: '>=0.8.0'} 1106 | dev: true 1107 | 1108 | /escape-string-regexp@5.0.0: 1109 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1110 | engines: {node: '>=12'} 1111 | dev: true 1112 | 1113 | /estree-walker@2.0.2: 1114 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1115 | dev: true 1116 | 1117 | /execa@5.1.1: 1118 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1119 | engines: {node: '>=10'} 1120 | dependencies: 1121 | cross-spawn: 7.0.3 1122 | get-stream: 6.0.1 1123 | human-signals: 2.1.0 1124 | is-stream: 2.0.1 1125 | merge-stream: 2.0.0 1126 | npm-run-path: 4.0.1 1127 | onetime: 5.1.2 1128 | signal-exit: 3.0.7 1129 | strip-final-newline: 2.0.0 1130 | dev: true 1131 | 1132 | /fast-glob@3.2.12: 1133 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1134 | engines: {node: '>=8.6.0'} 1135 | dependencies: 1136 | '@nodelib/fs.stat': 2.0.5 1137 | '@nodelib/fs.walk': 1.2.8 1138 | glob-parent: 5.1.2 1139 | merge2: 1.4.1 1140 | micromatch: 4.0.5 1141 | dev: true 1142 | 1143 | /fastq@1.13.0: 1144 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1145 | dependencies: 1146 | reusify: 1.0.4 1147 | dev: true 1148 | 1149 | /fill-range@7.0.1: 1150 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1151 | engines: {node: '>=8'} 1152 | dependencies: 1153 | to-regex-range: 5.0.1 1154 | dev: true 1155 | 1156 | /find-up@5.0.0: 1157 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1158 | engines: {node: '>=10'} 1159 | dependencies: 1160 | locate-path: 6.0.0 1161 | path-exists: 4.0.0 1162 | dev: true 1163 | 1164 | /fsevents@2.3.2: 1165 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1166 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1167 | os: [darwin] 1168 | requiresBuild: true 1169 | dev: true 1170 | optional: true 1171 | 1172 | /function-bind@1.1.1: 1173 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1174 | dev: true 1175 | 1176 | /gensync@1.0.0-beta.2: 1177 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1178 | engines: {node: '>=6.9.0'} 1179 | dev: true 1180 | 1181 | /get-stream@6.0.1: 1182 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1183 | engines: {node: '>=10'} 1184 | dev: true 1185 | 1186 | /glob-parent@5.1.2: 1187 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1188 | engines: {node: '>= 6'} 1189 | dependencies: 1190 | is-glob: 4.0.3 1191 | dev: true 1192 | 1193 | /globals@11.12.0: 1194 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1195 | engines: {node: '>=4'} 1196 | dev: true 1197 | 1198 | /gzip-size@6.0.0: 1199 | resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} 1200 | engines: {node: '>=10'} 1201 | dependencies: 1202 | duplexer: 0.1.2 1203 | dev: true 1204 | 1205 | /has-flag@3.0.0: 1206 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1207 | engines: {node: '>=4'} 1208 | dev: true 1209 | 1210 | /has@1.0.3: 1211 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1212 | engines: {node: '>= 0.4.0'} 1213 | dependencies: 1214 | function-bind: 1.1.1 1215 | dev: true 1216 | 1217 | /html-entities@2.3.3: 1218 | resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} 1219 | dev: true 1220 | 1221 | /human-signals@2.1.0: 1222 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1223 | engines: {node: '>=10.17.0'} 1224 | dev: true 1225 | 1226 | /is-binary-path@2.1.0: 1227 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1228 | engines: {node: '>=8'} 1229 | dependencies: 1230 | binary-extensions: 2.2.0 1231 | dev: true 1232 | 1233 | /is-core-module@2.10.0: 1234 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} 1235 | dependencies: 1236 | has: 1.0.3 1237 | dev: true 1238 | 1239 | /is-extglob@2.1.1: 1240 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1241 | engines: {node: '>=0.10.0'} 1242 | dev: true 1243 | 1244 | /is-glob@4.0.3: 1245 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1246 | engines: {node: '>=0.10.0'} 1247 | dependencies: 1248 | is-extglob: 2.1.1 1249 | dev: true 1250 | 1251 | /is-number@7.0.0: 1252 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1253 | engines: {node: '>=0.12.0'} 1254 | dev: true 1255 | 1256 | /is-stream@2.0.1: 1257 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1258 | engines: {node: '>=8'} 1259 | dev: true 1260 | 1261 | /is-what@4.1.8: 1262 | resolution: {integrity: sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==} 1263 | engines: {node: '>=12.13'} 1264 | dev: true 1265 | 1266 | /isexe@2.0.0: 1267 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1268 | dev: true 1269 | 1270 | /jiti@1.17.1: 1271 | resolution: {integrity: sha512-NZIITw8uZQFuzQimqjUxIrIcEdxYDFIe/0xYfIlVXTkiBjjyBEvgasj5bb0/cHtPRD/NziPbT312sFrkI5ALpw==} 1272 | hasBin: true 1273 | dev: true 1274 | 1275 | /js-tokens@4.0.0: 1276 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1277 | dev: true 1278 | 1279 | /jsesc@2.5.2: 1280 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1281 | engines: {node: '>=4'} 1282 | hasBin: true 1283 | dev: true 1284 | 1285 | /json5@2.2.3: 1286 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1287 | engines: {node: '>=6'} 1288 | hasBin: true 1289 | dev: true 1290 | 1291 | /jsonc-parser@3.2.0: 1292 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 1293 | dev: true 1294 | 1295 | /kolorist@1.7.0: 1296 | resolution: {integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==} 1297 | dev: true 1298 | 1299 | /local-pkg@0.4.3: 1300 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} 1301 | engines: {node: '>=14'} 1302 | dev: true 1303 | 1304 | /locate-path@6.0.0: 1305 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1306 | engines: {node: '>=10'} 1307 | dependencies: 1308 | p-locate: 5.0.0 1309 | dev: true 1310 | 1311 | /lru-cache@5.1.1: 1312 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1313 | dependencies: 1314 | yallist: 3.1.1 1315 | dev: true 1316 | 1317 | /magic-string@0.30.0: 1318 | resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} 1319 | engines: {node: '>=12'} 1320 | dependencies: 1321 | '@jridgewell/sourcemap-codec': 1.4.14 1322 | dev: true 1323 | 1324 | /mdn-data@2.0.30: 1325 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 1326 | dev: true 1327 | 1328 | /merge-anything@5.1.4: 1329 | resolution: {integrity: sha512-7PWKwGOs5WWcpw+/OvbiFiAvEP6bv/QHiicigpqMGKIqPPAtGhBLR8LFJW+Zu6m9TXiR/a8+AiPlGG0ko1ruoQ==} 1330 | engines: {node: '>=12.13'} 1331 | dependencies: 1332 | is-what: 4.1.8 1333 | dev: true 1334 | 1335 | /merge-stream@2.0.0: 1336 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1337 | dev: true 1338 | 1339 | /merge2@1.4.1: 1340 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1341 | engines: {node: '>= 8'} 1342 | dev: true 1343 | 1344 | /micromatch@4.0.5: 1345 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1346 | engines: {node: '>=8.6'} 1347 | dependencies: 1348 | braces: 3.0.2 1349 | picomatch: 2.3.1 1350 | dev: true 1351 | 1352 | /mimic-fn@2.1.0: 1353 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1354 | engines: {node: '>=6'} 1355 | dev: true 1356 | 1357 | /minimatch@9.0.0: 1358 | resolution: {integrity: sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==} 1359 | engines: {node: '>=16 || 14 >=14.17'} 1360 | dependencies: 1361 | brace-expansion: 2.0.1 1362 | dev: true 1363 | 1364 | /mlly@1.2.0: 1365 | resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} 1366 | dependencies: 1367 | acorn: 8.8.2 1368 | pathe: 1.1.0 1369 | pkg-types: 1.0.2 1370 | ufo: 1.1.1 1371 | dev: true 1372 | 1373 | /mrmime@1.0.1: 1374 | resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} 1375 | engines: {node: '>=10'} 1376 | dev: true 1377 | 1378 | /ms@2.1.2: 1379 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1380 | dev: true 1381 | 1382 | /nanoid@3.3.4: 1383 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 1384 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1385 | hasBin: true 1386 | dev: true 1387 | 1388 | /node-fetch-native@1.0.2: 1389 | resolution: {integrity: sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==} 1390 | dev: true 1391 | 1392 | /node-releases@2.0.6: 1393 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} 1394 | dev: true 1395 | 1396 | /normalize-path@3.0.0: 1397 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1398 | engines: {node: '>=0.10.0'} 1399 | dev: true 1400 | 1401 | /npm-run-path@4.0.1: 1402 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1403 | engines: {node: '>=8'} 1404 | dependencies: 1405 | path-key: 3.1.1 1406 | dev: true 1407 | 1408 | /ofetch@1.0.1: 1409 | resolution: {integrity: sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==} 1410 | dependencies: 1411 | destr: 1.2.2 1412 | node-fetch-native: 1.0.2 1413 | ufo: 1.1.1 1414 | dev: true 1415 | 1416 | /onetime@5.1.2: 1417 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1418 | engines: {node: '>=6'} 1419 | dependencies: 1420 | mimic-fn: 2.1.0 1421 | dev: true 1422 | 1423 | /p-limit@3.1.0: 1424 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1425 | engines: {node: '>=10'} 1426 | dependencies: 1427 | yocto-queue: 0.1.0 1428 | dev: true 1429 | 1430 | /p-locate@5.0.0: 1431 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1432 | engines: {node: '>=10'} 1433 | dependencies: 1434 | p-limit: 3.1.0 1435 | dev: true 1436 | 1437 | /path-exists@4.0.0: 1438 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1439 | engines: {node: '>=8'} 1440 | dev: true 1441 | 1442 | /path-key@3.1.1: 1443 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1444 | engines: {node: '>=8'} 1445 | dev: true 1446 | 1447 | /path-parse@1.0.7: 1448 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1449 | dev: true 1450 | 1451 | /pathe@1.1.0: 1452 | resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} 1453 | dev: true 1454 | 1455 | /perfect-debounce@0.1.3: 1456 | resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==} 1457 | dev: true 1458 | 1459 | /picocolors@1.0.0: 1460 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1461 | dev: true 1462 | 1463 | /picomatch@2.3.1: 1464 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1465 | engines: {node: '>=8.6'} 1466 | dev: true 1467 | 1468 | /pkg-types@1.0.2: 1469 | resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} 1470 | dependencies: 1471 | jsonc-parser: 3.2.0 1472 | mlly: 1.2.0 1473 | pathe: 1.1.0 1474 | dev: true 1475 | 1476 | /postcss@8.4.21: 1477 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} 1478 | engines: {node: ^10 || ^12 || >=14} 1479 | dependencies: 1480 | nanoid: 3.3.4 1481 | picocolors: 1.0.0 1482 | source-map-js: 1.0.2 1483 | dev: true 1484 | 1485 | /queue-microtask@1.2.3: 1486 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1487 | dev: true 1488 | 1489 | /readdirp@3.6.0: 1490 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1491 | engines: {node: '>=8.10.0'} 1492 | dependencies: 1493 | picomatch: 2.3.1 1494 | dev: true 1495 | 1496 | /resolve@1.22.1: 1497 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1498 | hasBin: true 1499 | dependencies: 1500 | is-core-module: 2.10.0 1501 | path-parse: 1.0.7 1502 | supports-preserve-symlinks-flag: 1.0.0 1503 | dev: true 1504 | 1505 | /reusify@1.0.4: 1506 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1507 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1508 | dev: true 1509 | 1510 | /rollup@3.20.2: 1511 | resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} 1512 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1513 | hasBin: true 1514 | optionalDependencies: 1515 | fsevents: 2.3.2 1516 | dev: true 1517 | 1518 | /run-parallel@1.2.0: 1519 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1520 | dependencies: 1521 | queue-microtask: 1.2.3 1522 | dev: true 1523 | 1524 | /safe-buffer@5.1.2: 1525 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 1526 | dev: true 1527 | 1528 | /scule@1.0.0: 1529 | resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} 1530 | dev: true 1531 | 1532 | /semver@6.3.0: 1533 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 1534 | hasBin: true 1535 | dev: true 1536 | 1537 | /seroval@0.5.1: 1538 | resolution: {integrity: sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==} 1539 | engines: {node: '>=10'} 1540 | 1541 | /shebang-command@2.0.0: 1542 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1543 | engines: {node: '>=8'} 1544 | dependencies: 1545 | shebang-regex: 3.0.0 1546 | dev: true 1547 | 1548 | /shebang-regex@3.0.0: 1549 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1550 | engines: {node: '>=8'} 1551 | dev: true 1552 | 1553 | /signal-exit@3.0.7: 1554 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1555 | dev: true 1556 | 1557 | /sirv@2.0.2: 1558 | resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} 1559 | engines: {node: '>= 10'} 1560 | dependencies: 1561 | '@polka/url': 1.0.0-next.21 1562 | mrmime: 1.0.1 1563 | totalist: 3.0.0 1564 | dev: true 1565 | 1566 | /solid-js@1.7.3: 1567 | resolution: {integrity: sha512-4hwaF/zV/xbNeBBIYDyu3dcReOZBECbO//mrra6GqOrKy4Soyo+fnKjpZSa0nODm6j1aL0iQRh/7ofYowH+jzw==} 1568 | dependencies: 1569 | csstype: 3.1.0 1570 | seroval: 0.5.1 1571 | 1572 | /solid-refresh@0.5.2(solid-js@1.7.3): 1573 | resolution: {integrity: sha512-I69HmFj0LsGRJ3n8CEMVjyQFgVtuM2bSjznu2hCnsY+i5oOxh8ioWj00nnHBv0UYD3WpE/Sq4Q3TNw2IKmKN7A==} 1574 | peerDependencies: 1575 | solid-js: ^1.3 1576 | dependencies: 1577 | '@babel/generator': 7.21.1 1578 | '@babel/helper-module-imports': 7.18.6 1579 | '@babel/types': 7.21.2 1580 | solid-js: 1.7.3 1581 | dev: true 1582 | 1583 | /source-map-js@1.0.2: 1584 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1585 | engines: {node: '>=0.10.0'} 1586 | dev: true 1587 | 1588 | /strip-final-newline@2.0.0: 1589 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1590 | engines: {node: '>=6'} 1591 | dev: true 1592 | 1593 | /strip-literal@1.0.1: 1594 | resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} 1595 | dependencies: 1596 | acorn: 8.8.2 1597 | dev: true 1598 | 1599 | /supports-color@5.5.0: 1600 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1601 | engines: {node: '>=4'} 1602 | dependencies: 1603 | has-flag: 3.0.0 1604 | dev: true 1605 | 1606 | /supports-preserve-symlinks-flag@1.0.0: 1607 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1608 | engines: {node: '>= 0.4'} 1609 | dev: true 1610 | 1611 | /to-fast-properties@2.0.0: 1612 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1613 | engines: {node: '>=4'} 1614 | dev: true 1615 | 1616 | /to-regex-range@5.0.1: 1617 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1618 | engines: {node: '>=8.0'} 1619 | dependencies: 1620 | is-number: 7.0.0 1621 | dev: true 1622 | 1623 | /totalist@3.0.0: 1624 | resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} 1625 | engines: {node: '>=6'} 1626 | dev: true 1627 | 1628 | /typescript@5.0.4: 1629 | resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} 1630 | engines: {node: '>=12.20'} 1631 | hasBin: true 1632 | dev: true 1633 | 1634 | /ufo@1.1.1: 1635 | resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} 1636 | dev: true 1637 | 1638 | /unconfig@0.3.7: 1639 | resolution: {integrity: sha512-1589b7oGa8ILBYpta7TndM5mLHLzHUqBfhszeZxuUBrjO/RoQ52VGVWsS3w0C0GLNxO9RPmqkf6BmIvBApaRdA==} 1640 | dependencies: 1641 | '@antfu/utils': 0.5.2 1642 | defu: 6.1.2 1643 | jiti: 1.17.1 1644 | dev: true 1645 | 1646 | /unimport@3.0.6: 1647 | resolution: {integrity: sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==} 1648 | dependencies: 1649 | '@rollup/pluginutils': 5.0.2 1650 | escape-string-regexp: 5.0.0 1651 | fast-glob: 3.2.12 1652 | local-pkg: 0.4.3 1653 | magic-string: 0.30.0 1654 | mlly: 1.2.0 1655 | pathe: 1.1.0 1656 | pkg-types: 1.0.2 1657 | scule: 1.0.0 1658 | strip-literal: 1.0.1 1659 | unplugin: 1.3.1 1660 | transitivePeerDependencies: 1661 | - rollup 1662 | dev: true 1663 | 1664 | /unocss@0.51.4(postcss@8.4.21)(vite@4.2.2): 1665 | resolution: {integrity: sha512-84kRoL29Rk0AKdeS2GGZ+YduW5F0S2on3cSxA2Hh1KlI4MN8Xvxa8+f4RfFS0U5iH4yoHohvcWThRgjDhOWSeg==} 1666 | engines: {node: '>=14'} 1667 | peerDependencies: 1668 | '@unocss/webpack': 0.51.4 1669 | peerDependenciesMeta: 1670 | '@unocss/webpack': 1671 | optional: true 1672 | dependencies: 1673 | '@unocss/astro': 0.51.4(vite@4.2.2) 1674 | '@unocss/cli': 0.51.4 1675 | '@unocss/core': 0.51.4 1676 | '@unocss/extractor-arbitrary-variants': 0.51.4 1677 | '@unocss/postcss': 0.51.4(postcss@8.4.21) 1678 | '@unocss/preset-attributify': 0.51.4 1679 | '@unocss/preset-icons': 0.51.4 1680 | '@unocss/preset-mini': 0.51.4 1681 | '@unocss/preset-tagify': 0.51.4 1682 | '@unocss/preset-typography': 0.51.4 1683 | '@unocss/preset-uno': 0.51.4 1684 | '@unocss/preset-web-fonts': 0.51.4 1685 | '@unocss/preset-wind': 0.51.4 1686 | '@unocss/reset': 0.51.4 1687 | '@unocss/transformer-attributify-jsx': 0.51.4 1688 | '@unocss/transformer-attributify-jsx-babel': 0.51.4 1689 | '@unocss/transformer-compile-class': 0.51.4 1690 | '@unocss/transformer-directives': 0.51.4 1691 | '@unocss/transformer-variant-group': 0.51.4 1692 | '@unocss/vite': 0.51.4(vite@4.2.2) 1693 | transitivePeerDependencies: 1694 | - postcss 1695 | - rollup 1696 | - supports-color 1697 | - vite 1698 | dev: true 1699 | 1700 | /unplugin-auto-import@0.15.3: 1701 | resolution: {integrity: sha512-RLT8SqbPn4bT7yBshZId0uPSofKWnwr66RyDaxWaFb/+f7OTDOWAsVNz+hOQLBWSjvbekr2xZY9ccS8TDHJbCQ==} 1702 | engines: {node: '>=14'} 1703 | peerDependencies: 1704 | '@nuxt/kit': ^3.2.2 1705 | '@vueuse/core': '*' 1706 | peerDependenciesMeta: 1707 | '@nuxt/kit': 1708 | optional: true 1709 | '@vueuse/core': 1710 | optional: true 1711 | dependencies: 1712 | '@antfu/utils': 0.7.2 1713 | '@rollup/pluginutils': 5.0.2 1714 | local-pkg: 0.4.3 1715 | magic-string: 0.30.0 1716 | minimatch: 9.0.0 1717 | unimport: 3.0.6 1718 | unplugin: 1.3.1 1719 | transitivePeerDependencies: 1720 | - rollup 1721 | dev: true 1722 | 1723 | /unplugin@1.3.1: 1724 | resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==} 1725 | dependencies: 1726 | acorn: 8.8.2 1727 | chokidar: 3.5.3 1728 | webpack-sources: 3.2.3 1729 | webpack-virtual-modules: 0.5.0 1730 | dev: true 1731 | 1732 | /update-browserslist-db@1.0.10(browserslist@4.21.4): 1733 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 1734 | hasBin: true 1735 | peerDependencies: 1736 | browserslist: '>= 4.21.0' 1737 | dependencies: 1738 | browserslist: 4.21.4 1739 | escalade: 3.1.1 1740 | picocolors: 1.0.0 1741 | dev: true 1742 | 1743 | /validate-html-nesting@1.2.1: 1744 | resolution: {integrity: sha512-T1ab131NkP3BfXB7KUSgV7Rhu81R2id+L6NaJ7NypAAG5iV6gXnPpQE5RK1fvb+3JYsPTL+ihWna5sr5RN9gaQ==} 1745 | dev: true 1746 | 1747 | /vite-plugin-solid@2.7.0(solid-js@1.7.3)(vite@4.2.2): 1748 | resolution: {integrity: sha512-avp/Jl5zOp/Itfo67xtDB2O61U7idviaIp4mLsjhCa13PjKNasz+IID0jYTyqUp9SFx6/PmBr6v4KgDppqompg==} 1749 | peerDependencies: 1750 | solid-js: ^1.7.2 1751 | vite: ^3.0.0 || ^4.0.0 1752 | dependencies: 1753 | '@babel/core': 7.21.0 1754 | '@babel/preset-typescript': 7.18.6(@babel/core@7.21.0) 1755 | '@types/babel__core': 7.20.0 1756 | babel-preset-solid: 1.7.3(@babel/core@7.21.0) 1757 | merge-anything: 5.1.4 1758 | solid-js: 1.7.3 1759 | solid-refresh: 0.5.2(solid-js@1.7.3) 1760 | vite: 4.2.2 1761 | vitefu: 0.2.4(vite@4.2.2) 1762 | transitivePeerDependencies: 1763 | - supports-color 1764 | dev: true 1765 | 1766 | /vite@4.2.2: 1767 | resolution: {integrity: sha512-PcNtT5HeDxb3QaSqFYkEum8f5sCVe0R3WK20qxgIvNBZPXU/Obxs/+ubBMeE7nLWeCo2LDzv+8hRYSlcaSehig==} 1768 | engines: {node: ^14.18.0 || >=16.0.0} 1769 | hasBin: true 1770 | peerDependencies: 1771 | '@types/node': '>= 14' 1772 | less: '*' 1773 | sass: '*' 1774 | stylus: '*' 1775 | sugarss: '*' 1776 | terser: ^5.4.0 1777 | peerDependenciesMeta: 1778 | '@types/node': 1779 | optional: true 1780 | less: 1781 | optional: true 1782 | sass: 1783 | optional: true 1784 | stylus: 1785 | optional: true 1786 | sugarss: 1787 | optional: true 1788 | terser: 1789 | optional: true 1790 | dependencies: 1791 | esbuild: 0.17.14 1792 | postcss: 8.4.21 1793 | resolve: 1.22.1 1794 | rollup: 3.20.2 1795 | optionalDependencies: 1796 | fsevents: 2.3.2 1797 | dev: true 1798 | 1799 | /vitefu@0.2.4(vite@4.2.2): 1800 | resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} 1801 | peerDependencies: 1802 | vite: ^3.0.0 || ^4.0.0 1803 | peerDependenciesMeta: 1804 | vite: 1805 | optional: true 1806 | dependencies: 1807 | vite: 4.2.2 1808 | dev: true 1809 | 1810 | /webpack-sources@3.2.3: 1811 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} 1812 | engines: {node: '>=10.13.0'} 1813 | dev: true 1814 | 1815 | /webpack-virtual-modules@0.5.0: 1816 | resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} 1817 | dev: true 1818 | 1819 | /which@2.0.2: 1820 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1821 | engines: {node: '>= 8'} 1822 | hasBin: true 1823 | dependencies: 1824 | isexe: 2.0.0 1825 | dev: true 1826 | 1827 | /yallist@3.1.1: 1828 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1829 | dev: true 1830 | 1831 | /yocto-queue@0.1.0: 1832 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1833 | engines: {node: '>=10'} 1834 | dev: true 1835 | 1836 | registry.npmmirror.com/@iconify-json/carbon@1.1.16: 1837 | resolution: {integrity: sha512-AD8bcnRSGA0WfcGEass2FbA0sagrUzrpFx5WchuDy3uf7yKBWumdypdQK121DH321fQDl5+zZQ26T6gC9knwUQ==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@iconify-json/carbon/-/carbon-1.1.16.tgz} 1838 | name: '@iconify-json/carbon' 1839 | version: 1.1.16 1840 | dependencies: 1841 | '@iconify/types': registry.npmmirror.com/@iconify/types@2.0.0 1842 | dev: true 1843 | 1844 | registry.npmmirror.com/@iconify/types@2.0.0: 1845 | resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz} 1846 | name: '@iconify/types' 1847 | version: 2.0.0 1848 | dev: true 1849 | 1850 | registry.npmmirror.com/@types/howler@2.2.7: 1851 | resolution: {integrity: sha512-PEZldwZqJJw1PWRTpupyC7ajVTZA8aHd8nB/Y0n6zRZi5u8ktYDntsHj13ltEiBRqWwF06pASxBEvCTxniG8eA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@types/howler/-/howler-2.2.7.tgz} 1852 | name: '@types/howler' 1853 | version: 2.2.7 1854 | dev: true 1855 | 1856 | registry.npmmirror.com/howler@2.2.3: 1857 | resolution: {integrity: sha512-QM0FFkw0LRX1PR8pNzJVAY25JhIWvbKMBFM4gqk+QdV+kPXOhleWGCB6AiAF/goGjIHK2e/nIElplvjQwhr0jg==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/howler/-/howler-2.2.3.tgz} 1858 | name: howler 1859 | version: 2.2.3 1860 | dev: false 1861 | --------------------------------------------------------------------------------